admins-components 9.0.65 → 9.0.66

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 (51) hide show
  1. package/dist/admins-components.js +36 -36
  2. package/dist/admins-components100.js +104 -99
  3. package/dist/admins-components100.js.map +1 -1
  4. package/dist/admins-components102.js.map +1 -1
  5. package/dist/admins-components21.js +2 -2
  6. package/dist/admins-components21.js.map +1 -1
  7. package/dist/admins-components22.js.map +1 -1
  8. package/dist/admins-components29.js +6 -3
  9. package/dist/admins-components29.js.map +1 -1
  10. package/dist/admins-components30.js.map +1 -1
  11. package/dist/admins-components5.js +4 -2
  12. package/dist/admins-components5.js.map +1 -1
  13. package/dist/admins-components58.js.map +1 -1
  14. package/dist/admins-components6.js.map +1 -1
  15. package/dist/admins-components63.js +7 -2
  16. package/dist/admins-components63.js.map +1 -1
  17. package/dist/admins-components64.js.map +1 -1
  18. package/dist/admins-components65.js +56 -56
  19. package/dist/admins-components65.js.map +1 -1
  20. package/dist/admins-components67.js.map +1 -1
  21. package/dist/admins-components68.js +11 -11
  22. package/dist/admins-components68.js.map +1 -1
  23. package/dist/admins-components70.js.map +1 -1
  24. package/dist/admins-components76.js +8 -1
  25. package/dist/admins-components76.js.map +1 -1
  26. package/dist/admins-components77.js +47 -47
  27. package/dist/admins-components77.js.map +1 -1
  28. package/dist/admins-components79.js.map +1 -1
  29. package/dist/admins-components88.js +1 -1
  30. package/dist/admins-components88.js.map +1 -1
  31. package/dist/admins-components90.js.map +1 -1
  32. package/dist/admins-components91.js +53 -20
  33. package/dist/admins-components91.js.map +1 -1
  34. package/dist/admins-components93.js.map +1 -1
  35. package/dist/main.css +1 -1
  36. package/dist/main.css.map +1 -1
  37. package/dist/src/components/Button.vue.d.ts +6 -1
  38. package/dist/src/components/DropdownMenu.vue.d.ts +6 -0
  39. package/dist/src/components/data-table/DataList.vue.d.ts +8 -0
  40. package/dist/src/components/data-table/FilterTags.vue.d.ts +7 -0
  41. package/dist/src/index.d.ts +1 -1
  42. package/dist/src/styles/components/data-table/data-cards.scss_vue_type_style_index_0_src_true_lang.css +1 -1
  43. package/dist/src/styles/components/data-table/data-list.scss_vue_type_style_index_0_src_true_lang.css +1 -1
  44. package/dist/src/styles/components/data-table/data-paginator.scss_vue_type_style_index_0_src_true_lang.css +1 -1
  45. package/dist/src/styles/components/data-table/filter-tags.scss_vue_type_style_index_0_src_true_lang.css +1 -1
  46. package/dist/src/styles/components/datepickers.scss_vue_type_style_index_1_src_true_lang.css +1 -1
  47. package/dist/src/styles/components/header.scss_vue_type_style_index_0_src_true_lang.css +1 -1
  48. package/dist/src/styles/components/sidebar.scss_vue_type_style_index_0_src_true_lang.css +1 -1
  49. package/dist/src/types/data-list.d.ts +2 -0
  50. package/dist/src/utils/url.d.ts +1 -0
  51. package/package.json +1 -1
@@ -27,39 +27,39 @@ import J from "./admins-components70.js";
27
27
  import { deepMerge as Y } from "./admins-components71.js";
28
28
  import X from "./admins-components74.js";
29
29
  import { getFullStorageKey as Z } from "./admins-components75.js";
30
- import { getUrlParam as Q, joinUrl as $, removeUrlParam as ee, setUrlParam as te } from "./admins-components76.js";
31
- import { getDefaultPaginator as ne } from "./admins-components77.js";
32
- import re from "./admins-components79.js";
33
- import { getDefaultSort as ie } from "./admins-components80.js";
34
- import { filterEmptyValues as ae, getDefaultFilters as oe, getDefaultSavedFilter as se, getFilterUrlParams as ce, getSavedFilters as le, writeFilterParams as ue } from "./admins-components84.js";
35
- import de from "./admins-components87.js";
36
- import fe from "./admins-components90.js";
37
- import pe from "./admins-components93.js";
38
- import { getDefaultSearch as me } from "./admins-components97.js";
39
- import { dataListDefaults as he, getDefaultFetchData as ge } from "./admins-components100.js";
40
- import _e from "./admins-components102.js";
41
- import { isIpInUrl as ve } from "./admins-components103.js";
42
- import { getCurrentSite as ye } from "./admins-components104.js";
43
- import { vTooltip as be } from "./admins-components105.js";
44
- import { createNativeFetch as xe } from "./admins-components106.js";
45
- import { FetchDetails as Se, FetchError as Ce, Methods as we, initRequest as Te } from "./admins-components107.js";
46
- import { useArticleEditorService as Ee } from "./admins-components108.js";
47
- import { useCurrentUser as De } from "./admins-components109.js";
48
- import { BackendService as Oe, useBackendService as ke } from "./admins-components110.js";
49
- import { aoeConfig as Ae, configureArticleOfferElement as je } from "./admins-components163.js";
50
- import Me from "./admins-components165.js";
51
- import { apeConfig as Ne, configureArticlePickerElement as Pe } from "./admins-components166.js";
52
- import { configureImagePickerElement as Fe, ipeConfig as Ie } from "./admins-components167.js";
53
- import Le from "./admins-components169.js";
54
- import Re from "./admins-components170.js";
55
- import { configureExternalArticleOfferElement as ze, eaoeConfig as Be } from "./admins-components171.js";
56
- import Ve from "./admins-components172.js";
57
- import { configureGalleryImageSelectorElement as He, gisConfig as Ue } from "./admins-components173.js";
58
- import We from "./admins-components174.js";
59
- import Ge from "./admins-components175.js";
60
- import Ke from "./admins-components176.js";
61
- import { configureInternalArticleOfferElement as qe, iaoeConfig as Je } from "./admins-components177.js";
62
- import Ye from "./admins-components178.js";
63
- import { configurePartnerPickerElement as Xe, ppeconfig as Ze } from "./admins-components179.js";
64
- import Qe from "./admins-components181.js";
65
- export { Me as ArticleOfferElement, Le as ArticlePickerElement, Oe as BackendService, u as Button, m as Calendar, v as Checkbox, E as ConfirmModal, D as CopyToClipboard, J as DataCards, fe as DataFilters, _e as DataList, X as DataListOptions, re as DataPaginator, q as DataTable, h as DatePicker, y as DateRangePicker, Re as DateTimePickerElement, S as DropdownMenu, x as DropdownSelect, k as ExternalArticleOffer, Ve as ExternalArticleOfferElement, Se as FetchDetails, Ce as FetchError, pe as FilterTags, de as FiltersHistory, We as GalleryImageSelectorElement, w as HeaderComponent, O as ImagePicker, Ke as ImagePickerDetailsElement, Ge as ImagePickerElement, A as InternalArticleOffer, Ye as InternalArticleOfferElement, b as Loader, we as Methods, T as Modal, Qe as PartnerPickerElement, C as Sidebar, _ as TextInput, M as ToastNotification, Ae as aoeConfig, Ne as apeConfig, I as booleanToString, d as calendarConfigDefaults, e as castToDate, je as configureArticleOfferElement, Pe as configureArticlePickerElement, ze as configureExternalArticleOfferElement, He as configureGalleryImageSelectorElement, Fe as configureImagePickerElement, qe as configureInternalArticleOfferElement, Xe as configurePartnerPickerElement, xe as createNativeFetch, N as dataCardsSettingsDefaults, L as dataListConverters, he as dataListDefaults, P as dataListSettingsDefaults, F as dataTableSettingsDefaults, f as datePickerConfigDefaults, p as dateRangePickerConfigDefaults, g as debounce, Y as deepMerge, Be as eaoeConfig, t as earlierOf, n as endOfDay, R as enumMap, ae as filterEmptyValues, z as formatCurrency, r as formatDate, B as formatNumber, ye as getCurrentSite, ge as getDefaultFetchData, oe as getDefaultFilters, ne as getDefaultPaginator, se as getDefaultSavedFilter, me as getDefaultSearch, ie as getDefaultSort, ce as getFilterUrlParams, Z as getFullStorageKey, le as getSavedFilters, Q as getUrlParam, Ue as gisConfig, Je as iaoeConfig, V as identity, Te as initRequest, Ie as ipeConfig, ve as isIpInUrl, $ as joinUrl, i as laterOf, H as listToString, U as localToLocalString, a as localToUTCString, o as parseDate, Ze as ppeconfig, ee as removeUrlParam, te as setUrlParam, W as shortUuid, s as startOfDay, c as startOfWeek, G as textEllipse, j as toast, Ee as useArticleEditorService, ke as useBackendService, De as useCurrentUser, K as utcToLocalString, l as utcToString, be as vTooltip, ue as writeFilterParams };
30
+ import { getUrlParam as Q, joinUrl as $, navigateIframe as ee, removeUrlParam as te, setUrlParam as ne } from "./admins-components76.js";
31
+ import { getDefaultPaginator as re } from "./admins-components77.js";
32
+ import ie from "./admins-components79.js";
33
+ import { getDefaultSort as ae } from "./admins-components80.js";
34
+ import { filterEmptyValues as oe, getDefaultFilters as se, getDefaultSavedFilter as ce, getFilterUrlParams as le, getSavedFilters as ue, writeFilterParams as de } from "./admins-components84.js";
35
+ import fe from "./admins-components87.js";
36
+ import pe from "./admins-components90.js";
37
+ import me from "./admins-components93.js";
38
+ import { getDefaultSearch as he } from "./admins-components97.js";
39
+ import { dataListDefaults as ge, getDefaultFetchData as _e } from "./admins-components100.js";
40
+ import ve from "./admins-components102.js";
41
+ import { isIpInUrl as ye } from "./admins-components103.js";
42
+ import { getCurrentSite as be } from "./admins-components104.js";
43
+ import { vTooltip as xe } from "./admins-components105.js";
44
+ import { createNativeFetch as Se } from "./admins-components106.js";
45
+ import { FetchDetails as Ce, FetchError as we, Methods as Te, initRequest as Ee } from "./admins-components107.js";
46
+ import { useArticleEditorService as De } from "./admins-components108.js";
47
+ import { useCurrentUser as Oe } from "./admins-components109.js";
48
+ import { BackendService as ke, useBackendService as Ae } from "./admins-components110.js";
49
+ import { aoeConfig as je, configureArticleOfferElement as Me } from "./admins-components163.js";
50
+ import Ne from "./admins-components165.js";
51
+ import { apeConfig as Pe, configureArticlePickerElement as Fe } from "./admins-components166.js";
52
+ import { configureImagePickerElement as Ie, ipeConfig as Le } from "./admins-components167.js";
53
+ import Re from "./admins-components169.js";
54
+ import ze from "./admins-components170.js";
55
+ import { configureExternalArticleOfferElement as Be, eaoeConfig as Ve } from "./admins-components171.js";
56
+ import He from "./admins-components172.js";
57
+ import { configureGalleryImageSelectorElement as Ue, gisConfig as We } from "./admins-components173.js";
58
+ import Ge from "./admins-components174.js";
59
+ import Ke from "./admins-components175.js";
60
+ import qe from "./admins-components176.js";
61
+ import { configureInternalArticleOfferElement as Je, iaoeConfig as Ye } from "./admins-components177.js";
62
+ import Xe from "./admins-components178.js";
63
+ import { configurePartnerPickerElement as Ze, ppeconfig as Qe } from "./admins-components179.js";
64
+ import $e from "./admins-components181.js";
65
+ export { Ne as ArticleOfferElement, Re as ArticlePickerElement, ke as BackendService, u as Button, m as Calendar, v as Checkbox, E as ConfirmModal, D as CopyToClipboard, J as DataCards, pe as DataFilters, ve as DataList, X as DataListOptions, ie as DataPaginator, q as DataTable, h as DatePicker, y as DateRangePicker, ze as DateTimePickerElement, S as DropdownMenu, x as DropdownSelect, k as ExternalArticleOffer, He as ExternalArticleOfferElement, Ce as FetchDetails, we as FetchError, me as FilterTags, fe as FiltersHistory, Ge as GalleryImageSelectorElement, w as HeaderComponent, O as ImagePicker, qe as ImagePickerDetailsElement, Ke as ImagePickerElement, A as InternalArticleOffer, Xe as InternalArticleOfferElement, b as Loader, Te as Methods, T as Modal, $e as PartnerPickerElement, C as Sidebar, _ as TextInput, M as ToastNotification, je as aoeConfig, Pe as apeConfig, I as booleanToString, d as calendarConfigDefaults, e as castToDate, Me as configureArticleOfferElement, Fe as configureArticlePickerElement, Be as configureExternalArticleOfferElement, Ue as configureGalleryImageSelectorElement, Ie as configureImagePickerElement, Je as configureInternalArticleOfferElement, Ze as configurePartnerPickerElement, Se as createNativeFetch, N as dataCardsSettingsDefaults, L as dataListConverters, ge as dataListDefaults, P as dataListSettingsDefaults, F as dataTableSettingsDefaults, f as datePickerConfigDefaults, p as dateRangePickerConfigDefaults, g as debounce, Y as deepMerge, Ve as eaoeConfig, t as earlierOf, n as endOfDay, R as enumMap, oe as filterEmptyValues, z as formatCurrency, r as formatDate, B as formatNumber, be as getCurrentSite, _e as getDefaultFetchData, se as getDefaultFilters, re as getDefaultPaginator, ce as getDefaultSavedFilter, he as getDefaultSearch, ae as getDefaultSort, le as getFilterUrlParams, Z as getFullStorageKey, ue as getSavedFilters, Q as getUrlParam, We as gisConfig, Ye as iaoeConfig, V as identity, Ee as initRequest, Le as ipeConfig, ye as isIpInUrl, $ as joinUrl, i as laterOf, H as listToString, U as localToLocalString, a as localToUTCString, ee as navigateIframe, o as parseDate, Qe as ppeconfig, te as removeUrlParam, ne as setUrlParam, W as shortUuid, s as startOfDay, c as startOfWeek, G as textEllipse, j as toast, De as useArticleEditorService, Ae as useBackendService, Oe as useCurrentUser, K as utcToLocalString, l as utcToString, xe as vTooltip, de as writeFilterParams };
@@ -7,26 +7,27 @@ import a from "./admins-components79.js";
7
7
  import { getDefaultSort as o } from "./admins-components80.js";
8
8
  import s from "./admins-components82.js";
9
9
  import { getDefaultFilters as c } from "./admins-components84.js";
10
- import l from "./admins-components90.js";
11
- import ee from "./admins-components93.js";
12
- import te from "./admins-components96.js";
13
- import { getDefaultSearch as u } from "./admins-components97.js";
14
- import ne from "./admins-components99.js";
15
- import { computed as d, createBlock as f, createCommentVNode as p, createElementBlock as m, createElementVNode as h, createSlots as g, createVNode as _, defineComponent as v, guardReactiveProps as y, mergeDefaults as b, mergeProps as x, normalizeProps as S, onBeforeUnmount as C, onMounted as w, openBlock as T, ref as E, renderList as D, renderSlot as O, withCtx as k } from "vue";
10
+ import ee from "./admins-components90.js";
11
+ import l from "./admins-components93.js";
12
+ import u from "./admins-components96.js";
13
+ import { getDefaultSearch as d } from "./admins-components97.js";
14
+ import te from "./admins-components99.js";
15
+ import { computed as f, createBlock as p, createCommentVNode as m, createElementBlock as h, createElementVNode as g, createSlots as _, createVNode as v, defineComponent as y, guardReactiveProps as b, mergeDefaults as x, mergeProps as S, normalizeClass as ne, normalizeProps as C, onBeforeUnmount as w, onMounted as re, openBlock as T, ref as E, renderList as D, renderSlot as O, withCtx as k } from "vue";
16
16
  //#region src/components/data-table/DataList.vue?vue&type=script&setup=true&lang.ts
17
- var re = { class: "ac-component" }, A = { class: "c-data-list__toolbar" }, j = {
17
+ var A = { class: "c-data-list__toolbar" }, j = {
18
18
  key: 2,
19
19
  class: "flex-center gap-1 flex-center-wrap-on-mobile"
20
- }, M = { class: "flex-center ml-auto nowrap" }, N = {
20
+ }, M = { class: "c-data-list__toolbar__right" }, N = {
21
21
  layoutBreakpoint: 768,
22
22
  orderable: !0,
23
23
  loading: !1,
24
24
  useSearch: !0,
25
25
  useFilters: !0,
26
- handleUrl: !1
26
+ handleUrl: !1,
27
+ fillHeight: !1
27
28
  };
28
29
  function P(e, t) {
29
- let n = i(t), r = o(), a = u(), s = c(e, t, !0);
30
+ let n = i(t), r = o(), a = d(), s = c(e, t, !0);
30
31
  return {
31
32
  ...n,
32
33
  ...r,
@@ -34,9 +35,9 @@ function P(e, t) {
34
35
  ...s
35
36
  };
36
37
  }
37
- var F = /* @__PURE__ */ v({
38
+ var F = /* @__PURE__ */ y({
38
39
  __name: "DataList",
39
- props: /* @__PURE__ */ b({
40
+ props: /* @__PURE__ */ x({
40
41
  config: {},
41
42
  items: {},
42
43
  settings: {},
@@ -49,7 +50,8 @@ var F = /* @__PURE__ */ v({
49
50
  useSearch: { type: Boolean },
50
51
  useFilters: { type: Boolean },
51
52
  searchConfig: {},
52
- filterConfig: {}
53
+ filterConfig: {},
54
+ fillHeight: { type: Boolean }
53
55
  }, {
54
56
  ...N,
55
57
  searchConfig: void 0,
@@ -63,32 +65,32 @@ var F = /* @__PURE__ */ v({
63
65
  "sort-change",
64
66
  "search-change"
65
67
  ],
66
- setup(i, { expose: u, emit: v }) {
67
- let b = E(null), N = i;
68
+ setup(i, { expose: d, emit: y }) {
69
+ let x = E(null), N = i;
68
70
  function P(e) {
69
71
  let t = N[e];
70
72
  return t && Object.hasOwn(t, "handleUrl") ? t.handleUrl : N.handleUrl;
71
73
  }
72
- let F = d(() => ({
74
+ let F = f(() => ({
73
75
  ...N.searchConfig,
74
76
  handleUrl: P("searchConfig")
75
- })), ie = d(() => ({
77
+ })), I = f(() => ({
76
78
  ...N.filterConfig,
77
79
  handleUrl: P("filterConfig")
78
- })), I = v, L = E(!1), R = E(!1), z = E(null), B = E(!1), V = E(null), H = E(!1), U = E(N.filterConfig?.items ? c(N.filterConfig.items, N.id, !1) : {}), W = null;
79
- w(() => {
80
- W = new ResizeObserver((e) => {
81
- B.value = (e[0]?.contentRect.width ?? 0) < N.layoutBreakpoint;
82
- }), V.value && W.observe(V.value);
83
- }), C(() => W?.disconnect());
84
- let G = d(() => {
85
- let e = z.value?.layout;
86
- return e === "table" || e === "cards" ? e : B.value ? "cards" : "table";
87
- }), K = d(() => {
88
- if (!z.value) return N.config;
89
- let e = z.value.columnOrder, t = N.config.columns.map((e) => ({
80
+ })), L = y, R = E(!1), z = E(!1), B = E(null), V = E(!1), H = E(null), U = E(!1), W = E(N.filterConfig?.items ? c(N.filterConfig.items, N.id, !1) : {}), G = null;
81
+ re(() => {
82
+ G = new ResizeObserver((e) => {
83
+ V.value = (e[0]?.contentRect.width ?? 0) < N.layoutBreakpoint;
84
+ }), H.value && G.observe(H.value);
85
+ }), w(() => G?.disconnect());
86
+ let K = f(() => {
87
+ let e = B.value?.layout;
88
+ return e === "table" || e === "cards" ? e : V.value ? "cards" : "table";
89
+ }), q = f(() => {
90
+ if (!B.value) return N.config;
91
+ let e = B.value.columnOrder, t = N.config.columns.map((e) => ({
90
92
  ...e,
91
- visible: z.value.columns[e.property] ?? e.visible !== !1
93
+ visible: B.value.columns[e.property] ?? e.visible !== !1
92
94
  }));
93
95
  return e?.length && t.sort((t, n) => {
94
96
  let r = e.indexOf(t.property), i = e.indexOf(n.property);
@@ -98,55 +100,56 @@ var F = /* @__PURE__ */ v({
98
100
  columns: t
99
101
  };
100
102
  });
101
- function q(e) {
102
- z.value = e, I("settings-change", e);
103
+ function J(e) {
104
+ B.value = e, L("settings-change", e);
103
105
  }
104
- u({
105
- openOptions: () => L.value = !0,
106
- closeOptions: () => L.value = !1,
107
- openFilters: () => H.value = !0,
108
- closeFilters: () => H.value = !1
106
+ d({
107
+ openOptions: () => R.value = !0,
108
+ closeOptions: () => R.value = !1,
109
+ openFilters: () => U.value = !0,
110
+ closeFilters: () => U.value = !1
109
111
  });
110
- async function J(e) {
111
- H.value = !0, setTimeout(() => {
112
- b.value?.focusFilter(e);
112
+ async function Y(e) {
113
+ U.value = !0, setTimeout(() => {
114
+ x.value?.focusFilter(e);
113
115
  }, 300);
114
116
  }
115
- function ae(e) {
116
- U.value = e.values, I("filter-change", e.transformed);
117
+ function ie(e) {
118
+ W.value = e.values, L("filter-change", e.transformed);
117
119
  }
118
- let Y = d(() => Object.values(U.value).filter((e) => e != null && e !== "").length), X = d(() => !!N.pagination && (N.items.length > 0 || !N.loading)), oe = (e) => {
119
- I("search-change", e);
120
- }, Z = d(() => N.config.columns.filter((e) => e.sort).map((e) => ({
120
+ let X = f(() => Object.values(W.value).filter((e) => e != null && e !== "").length), ae = f(() => !!N.pagination && (N.items.length > 0 || !N.loading)), oe = (e) => {
121
+ L("search-change", e);
122
+ }, Z = f(() => N.config.columns.filter((e) => e.sort).map((e) => ({
121
123
  value: e.property,
122
124
  label: e.label
123
125
  }))), Q = E(N.handleUrl ? o() : null), $ = (e) => {
124
- Q.value = e, I("sort-change", e);
126
+ Q.value = e, L("sort-change", e);
125
127
  };
126
- return (o, c) => (T(), m("div", re, [h("div", {
128
+ return (o, c) => (T(), h("div", {
127
129
  ref_key: "root",
128
- ref: V,
129
- class: "c-data-list"
130
+ ref: H,
131
+ class: ne(["ac-component c-data-list", { "c-data-list--fill-height": i.fillHeight }])
130
132
  }, [
131
- h("div", A, [
132
- i.useSearch ? (T(), f(ne, x({ key: 0 }, F.value, { onSearchChange: oe }), null, 16)) : p("", !0),
133
- i.useFilters && i.filterConfig?.items && i.filterConfig.items.length > 0 ? (T(), f(e, {
133
+ g("div", A, [
134
+ i.useSearch ? (T(), p(te, S({ key: 0 }, F.value, { onSearchChange: oe }), null, 16)) : m("", !0),
135
+ i.useFilters && i.filterConfig?.items && i.filterConfig.items.length > 0 ? (T(), p(e, {
134
136
  key: 1,
135
137
  label: "Szűrők",
136
138
  icon: "fa-solid fa-filter",
137
- onClick: c[0] ||= (e) => H.value = !0,
139
+ onClick: c[0] ||= (e) => U.value = !0,
138
140
  style: { "flex-shrink": "0" },
139
- type: Y.value > 0 ? "info" : "normal",
140
- indicator: Y.value > 0 ? Y.value : void 0
141
- }, null, 8, ["type", "indicator"])) : p("", !0),
142
- i.useFilters && i.filterConfig?.items && i.filterConfig.items.length > 0 ? (T(), m("div", j, [_(ee, {
143
- filters: U.value,
141
+ type: X.value > 0 ? "primary" : "normal",
142
+ indicator: X.value > 0 ? X.value : void 0
143
+ }, null, 8, ["type", "indicator"])) : m("", !0),
144
+ i.useFilters && i.filterConfig?.items && i.filterConfig.items.length > 0 ? (T(), h("div", j, [v(l, {
145
+ filters: W.value,
144
146
  items: i.filterConfig.items,
145
- onRemove: c[1] ||= (e) => b.value?.clearFilter(e),
146
- onOpenFilter: J
147
- }, null, 8, ["filters", "items"])])) : p("", !0),
148
- h("div", M, [
149
- Z.value.length > 0 ? (T(), f(s, {
147
+ compact: "",
148
+ onRemove: c[1] ||= (e) => x.value?.clearFilter(e),
149
+ onOpenFilter: Y
150
+ }, null, 8, ["filters", "items"])])) : m("", !0),
151
+ g("div", M, [
152
+ Z.value.length > 0 ? (T(), p(s, {
150
153
  key: 0,
151
154
  modelValue: Q.value,
152
155
  "onUpdate:modelValue": c[2] ||= (e) => Q.value = e,
@@ -157,87 +160,89 @@ var F = /* @__PURE__ */ v({
157
160
  "modelValue",
158
161
  "options",
159
162
  "handle-url"
160
- ])) : p("", !0),
161
- _(e, {
163
+ ])) : m("", !0),
164
+ v(e, {
162
165
  icon: "fa-solid fa-gear",
163
166
  class: "lh-normal settings-btn",
164
- onClick: c[3] ||= (e) => L.value = !0
167
+ ariaLabel: "Beállítások",
168
+ onClick: c[3] ||= (e) => R.value = !0
165
169
  }),
166
- _(e, {
170
+ v(e, {
167
171
  icon: "fa-solid fa-question",
168
172
  class: "lh-normal",
169
- onClick: c[4] ||= (e) => R.value = !0
173
+ onClick: c[4] ||= (e) => z.value = !0,
174
+ ariaLabel: "Súgó"
170
175
  })
171
176
  ])
172
177
  ]),
173
- i.useFilters && i.filterConfig?.items && i.filterConfig.items.length > 0 ? (T(), f(l, x({
178
+ i.useFilters && i.filterConfig?.items && i.filterConfig.items.length > 0 ? (T(), p(ee, S({
174
179
  key: 0,
175
180
  ref_key: "dataFiltersRef",
176
- ref: b
177
- }, ie.value, {
181
+ ref: x
182
+ }, I.value, {
178
183
  "storage-key": i.id,
179
- open: H.value,
180
- onClose: c[5] ||= (e) => H.value = !1,
181
- onChange: ae
182
- }), null, 16, ["storage-key", "open"])) : p("", !0),
183
- _(te, {
184
- open: R.value,
185
- onClose: c[6] ||= (e) => R.value = !1
184
+ open: U.value,
185
+ onClose: c[5] ||= (e) => U.value = !1,
186
+ onChange: ie
187
+ }), null, 16, ["storage-key", "open"])) : m("", !0),
188
+ v(u, {
189
+ open: z.value,
190
+ onClose: c[6] ||= (e) => z.value = !1
186
191
  }, null, 8, ["open"]),
187
- G.value === "table" ? (T(), f(t, {
192
+ K.value === "table" ? (T(), p(t, {
188
193
  key: 1,
189
- config: K.value,
194
+ config: q.value,
190
195
  loading: i.loading,
191
196
  items: i.items,
192
- settings: z.value ?? void 0,
197
+ settings: B.value ?? void 0,
193
198
  "initial-sort": Q.value,
194
- onFilterChange: c[7] ||= (e) => I("filter-change", e),
195
- onSelectionChange: c[8] ||= (e) => I("selection-change", e),
199
+ onFilterChange: c[7] ||= (e) => L("filter-change", e),
200
+ onSelectionChange: c[8] ||= (e) => L("selection-change", e),
196
201
  onSortChange: $
197
- }, g({ _: 2 }, [D(K.value.columns, (e) => ({
202
+ }, _({ _: 2 }, [D(q.value.columns, (e) => ({
198
203
  name: `cell:${e.property}`,
199
- fn: k((t) => [O(o.$slots, `cell:${e.property}`, S(y(t)))])
204
+ fn: k((t) => [O(o.$slots, `cell:${e.property}`, C(b(t)))])
200
205
  }))]), 1032, [
201
206
  "config",
202
207
  "loading",
203
208
  "items",
204
209
  "settings",
205
210
  "initial-sort"
206
- ])) : (T(), f(n, {
211
+ ])) : (T(), p(n, {
207
212
  key: 2,
208
- config: K.value,
213
+ config: q.value,
209
214
  loading: i.loading,
210
215
  items: i.items,
211
- settings: z.value ?? void 0,
212
- onSelectionChange: c[9] ||= (e) => I("selection-change", e)
213
- }, g({ _: 2 }, [D(K.value.columns, (e) => ({
216
+ settings: B.value ?? void 0,
217
+ onSelectionChange: c[9] ||= (e) => L("selection-change", e)
218
+ }, _({ _: 2 }, [D(q.value.columns, (e) => ({
214
219
  name: `cell:${e.property}`,
215
- fn: k((t) => [O(o.$slots, `cell:${e.property}`, S(y(t)))])
220
+ fn: k((t) => [O(o.$slots, `cell:${e.property}`, C(b(t)))])
216
221
  }))]), 1032, [
217
222
  "config",
218
223
  "loading",
219
224
  "items",
220
225
  "settings"
221
226
  ])),
222
- i.pagination && X.value ? (T(), f(a, {
227
+ i.pagination && ae.value ? (T(), p(a, {
223
228
  key: 3,
224
229
  settings: i.pagination,
225
230
  "storage-key": i.id,
226
231
  "handle-url": i.handleUrl,
227
- "onUpdate:pagination": c[10] ||= (e) => I("pagination-change", e)
232
+ "onUpdate:pagination": c[10] ||= (e) => L("pagination-change", e)
228
233
  }, null, 8, [
229
234
  "settings",
230
235
  "storage-key",
231
236
  "handle-url"
232
- ])) : p("", !0),
233
- _(r, {
234
- open: L.value,
237
+ ])) : m("", !0),
238
+ v(r, {
239
+ open: R.value,
235
240
  columns: i.config.columns,
236
241
  settings: i.settings ?? {},
237
242
  "storage-key": i.id,
238
243
  orderable: i.orderable,
239
- onClose: c[11] ||= (e) => L.value = !1,
240
- onChange: q
244
+ onClose: c[11] ||= (e) => R.value = !1,
245
+ onChange: J
241
246
  }, null, 8, [
242
247
  "open",
243
248
  "columns",
@@ -245,7 +250,7 @@ var F = /* @__PURE__ */ v({
245
250
  "storage-key",
246
251
  "orderable"
247
252
  ])
248
- ], 512)]));
253
+ ], 2));
249
254
  }
250
255
  });
251
256
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"admins-components100.js","names":[],"sources":["../src/components/data-table/DataList.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type { PaginatorSettings } from '@/types/data-list'\nexport type { DataSearchProps } from './DataSearch.vue'\nexport type { DataFiltersProps } from './DataFilters.vue'\n\nexport interface DataListProps {\n config: DataListConfig\n items: Record<string, unknown>[]\n settings?: Partial<DataListSettings>\n id: string\n layoutBreakpoint?: number\n orderable?: boolean\n pagination?: PaginatorSettings\n loading?: boolean\n handleUrl?: boolean\n useSearch?: boolean\n useFilters?: boolean\n searchConfig?: DataSearchProps\n filterConfig?: DataFiltersProps\n}\n\nexport const dataListDefaults = {\n layoutBreakpoint: 768,\n orderable: true,\n loading: false,\n useSearch: true,\n useFilters: true,\n handleUrl: false,\n}\n\nexport function getDefaultFetchData(filters: FilterItem[], storageKey: string) {\n const defaultPaginator = getDefaultPaginator(storageKey)\n const defaultSort = getDefaultSort()\n const defaultSearch = getDefaultSearch()\n const defaultFilters = getDefaultFilters(filters, storageKey, true)\n\n return {\n ...defaultPaginator,\n ...defaultSort,\n ...defaultSearch,\n ...defaultFilters,\n }\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { ref, computed, onMounted, onBeforeUnmount } from 'vue'\nimport DataTable from '@/components/data-table/DataTable.vue'\nimport DataCards from '@/components/data-table/DataCards.vue'\nimport DataListOptions from '@/components/data-table/DataListOptions.vue'\nimport DataPaginator, { getDefaultPaginator } from '@/components/data-table/DataPaginator.vue'\nimport Button from '@/components/Button.vue'\nimport DataSort, { getDefaultSort, type DataSortOption } from '@/components/data-table/DataSort.vue'\nimport type {\n DataListConfig,\n DataListSettings,\n PageSettings,\n PaginatorSettings,\n} from '@/types/data-list'\nimport type { FilterValue } from '@/types/data-list'\nimport DataFilters, {\n type FilterResponse,\n type DataFiltersProps,\n type FilterItem,\n} from '@/components/data-table/DataFilters.vue'\nimport FilterTags from '@/components/data-table/FilterTags.vue'\nimport DataListGuide from '@/components/data-table/DataListGuide.vue'\nimport DataSearch, { getDefaultSearch, type DataSearchProps } from './DataSearch.vue'\nimport { getDefaultFilters } from '@/utils/dataFilters.ts'\n\nconst dataFiltersRef = ref<InstanceType<typeof DataFilters> | null>(null)\n\nconst props = withDefaults(defineProps<DataListProps>(), {\n ...dataListDefaults,\n searchConfig: undefined,\n filterConfig: undefined,\n})\n\nfunction resolvedHandleUrl(side: 'searchConfig' | 'filterConfig'): boolean | undefined {\n const sideConfig = props[side]\n if (sideConfig && Object.hasOwn(sideConfig as object, 'handleUrl')) {\n return (sideConfig as { handleUrl?: boolean }).handleUrl\n }\n return props.handleUrl\n}\n\nconst mergedSearchConfig = computed<DataSearchProps>(() => ({\n ...props.searchConfig,\n handleUrl: resolvedHandleUrl('searchConfig'),\n}))\n\nconst mergedFilterConfig = computed<DataFiltersProps>(() => ({\n ...(props.filterConfig as DataFiltersProps),\n handleUrl: resolvedHandleUrl('filterConfig'),\n}))\n\nconst emit = defineEmits<{\n 'filter-change': [filters: Record<string, FilterValue>]\n 'selection-change': [selected: unknown[]]\n 'settings-change': [settings: DataListSettings]\n 'pagination-change': [pagination: PageSettings]\n 'sort-change': [sort: { key: string; direction: 'asc' | 'desc' } | null]\n 'search-change': [filters: Record<string, string | boolean>]\n}>()\n\nconst showOptions = ref(false)\nconst showGuide = ref(false)\nconst resolvedSettings = ref<DataListSettings | null>(null)\nconst isMobile = ref(false)\nconst root = ref<HTMLElement | null>(null)\nconst showFilters = ref(false)\n\nconst activeFilters = ref<Record<string, unknown>>(\n props.filterConfig?.items ? getDefaultFilters(props.filterConfig.items, props.id, false) : {},\n)\nlet resizeObserver: ResizeObserver | null = null\n\nonMounted(() => {\n resizeObserver = new ResizeObserver((entries) => {\n isMobile.value = (entries[0]?.contentRect.width ?? 0) < props.layoutBreakpoint\n })\n if (root.value) resizeObserver.observe(root.value)\n})\n\nonBeforeUnmount(() => resizeObserver?.disconnect())\n\nconst effectiveLayout = computed<'table' | 'cards'>(() => {\n const layout = resolvedSettings.value?.layout\n if (layout === 'table' || layout === 'cards') return layout\n return isMobile.value ? 'cards' : 'table'\n})\n\nconst internalConfig = computed<DataListConfig>(() => {\n if (!resolvedSettings.value) return props.config\n const order = resolvedSettings.value.columnOrder\n const mapped = props.config.columns.map((c) => ({\n ...c,\n visible: resolvedSettings.value!.columns[c.property] ?? c.visible !== false,\n }))\n if (order?.length) {\n mapped.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 { ...props.config, columns: mapped }\n})\n\nfunction onSettingsChange(s: DataListSettings) {\n resolvedSettings.value = s\n emit('settings-change', s)\n}\n\ndefineExpose({\n openOptions: () => (showOptions.value = true),\n closeOptions: () => (showOptions.value = false),\n openFilters: () => (showFilters.value = true),\n closeFilters: () => (showFilters.value = false),\n})\n\nasync function openFilter(key: string) {\n showFilters.value = true\n setTimeout(() => {\n dataFiltersRef.value?.focusFilter(key)\n }, 300)\n}\n\nfunction onFilterChange(response: FilterResponse) {\n activeFilters.value = response.values\n emit('filter-change', response.transformed)\n}\n\nconst activeFiltersCount = computed(\n () => Object.values(activeFilters.value).filter((v) => v != null && v !== '').length,\n)\n\nconst showPaginator = computed(\n () => !!props.pagination && (props.items.length > 0 || !props.loading),\n)\n\nconst searchChange = (value: Record<string, string | boolean>) => {\n emit('search-change', value)\n}\n\nconst sortableColumns = computed<DataSortOption[]>(() =>\n props.config.columns.filter((c) => c.sort).map((c) => ({ value: c.property, label: c.label })),\n)\n\nconst currentSort = ref<{ key: string; direction: 'asc' | 'desc' } | null>(\n props.handleUrl ? getDefaultSort() : null,\n)\n\nconst onSortChange = (sort: { key: string; direction: 'asc' | 'desc' } | null) => {\n currentSort.value = sort\n // DataSort already writes the URL when handleUrl: true; we only emit.\n emit('sort-change', sort)\n}\n</script>\n\n<template>\n <div class=\"ac-component\">\n <div ref=\"root\" class=\"c-data-list\">\n <div class=\"c-data-list__toolbar\">\n <DataSearch v-if=\"useSearch\" v-bind=\"mergedSearchConfig\" @search-change=\"searchChange\" />\n <Button\n v-if=\"useFilters && filterConfig?.items && filterConfig.items.length > 0\"\n label=\"Szűrők\"\n icon=\"fa-solid fa-filter\"\n @click=\"showFilters = true\"\n style=\"flex-shrink: 0\"\n :type=\"activeFiltersCount > 0 ? 'info' : 'normal'\"\n :indicator=\"activeFiltersCount > 0 ? activeFiltersCount : undefined\"\n />\n <div\n class=\"flex-center gap-1 flex-center-wrap-on-mobile\"\n v-if=\"useFilters && filterConfig?.items && filterConfig.items.length > 0\"\n >\n <FilterTags\n :filters=\"activeFilters\"\n :items=\"filterConfig.items\"\n @remove=\"(key: string) => dataFiltersRef?.clearFilter(key)\"\n @openFilter=\"openFilter\"\n />\n </div>\n <div class=\"flex-center ml-auto nowrap\">\n <DataSort\n v-if=\"sortableColumns.length > 0\"\n v-model=\"currentSort\"\n :options=\"sortableColumns\"\n :handle-url=\"handleUrl\"\n @sort-change=\"onSortChange\"\n />\n\n <Button\n icon=\"fa-solid fa-gear\"\n class=\"lh-normal settings-btn\"\n @click=\"showOptions = true\"\n />\n <Button icon=\"fa-solid fa-question\" class=\"lh-normal\" @click=\"showGuide = true\" />\n </div>\n </div>\n <DataFilters\n ref=\"dataFiltersRef\"\n v-if=\"useFilters && filterConfig?.items && filterConfig.items.length > 0\"\n v-bind=\"mergedFilterConfig\"\n :storage-key=\"id\"\n :open=\"showFilters\"\n @close=\"showFilters = false\"\n @change=\"onFilterChange\"\n />\n <DataListGuide :open=\"showGuide\" @close=\"showGuide = false\" />\n <DataTable\n v-if=\"effectiveLayout === 'table'\"\n :config=\"internalConfig\"\n :loading=\"loading\"\n :items=\"items\"\n :settings=\"resolvedSettings ?? undefined\"\n :initial-sort=\"currentSort\"\n @filter-change=\"emit('filter-change', $event)\"\n @selection-change=\"emit('selection-change', $event)\"\n @sort-change=\"onSortChange\"\n >\n <template\n v-for=\"col in internalConfig.columns\"\n :key=\"col.property\"\n #[`cell:${col.property}`]=\"slotProps\"\n >\n <slot :name=\"`cell:${col.property}`\" v-bind=\"slotProps\" />\n </template>\n </DataTable>\n\n <DataCards\n v-else\n :config=\"internalConfig\"\n :loading=\"loading\"\n :items=\"items\"\n :settings=\"resolvedSettings ?? undefined\"\n @selection-change=\"emit('selection-change', $event)\"\n >\n <template\n v-for=\"col in internalConfig.columns\"\n :key=\"col.property\"\n #[`cell:${col.property}`]=\"slotProps\"\n >\n <slot :name=\"`cell:${col.property}`\" v-bind=\"slotProps\" />\n </template>\n </DataCards>\n\n <DataPaginator\n v-if=\"pagination && showPaginator\"\n :settings=\"pagination\"\n :storage-key=\"id\"\n :handle-url=\"handleUrl\"\n @update:pagination=\"emit('pagination-change', $event)\"\n />\n\n <DataListOptions\n :open=\"showOptions\"\n :columns=\"config.columns\"\n :settings=\"settings ?? {}\"\n :storage-key=\"id\"\n :orderable=\"orderable\"\n @close=\"showOptions = false\"\n @change=\"onSettingsChange\"\n />\n </div>\n </div>\n</template>\n\n<style lang=\"scss\" src=\"@/styles/components/data-table/data-list.scss\"></style>\n"],"mappings":"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"}
1
+ {"version":3,"file":"admins-components100.js","names":[],"sources":["../src/components/data-table/DataList.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type { PaginatorSettings } from '@/types/data-list'\nexport type { DataSearchProps } from './DataSearch.vue'\nexport type { DataFiltersProps } from './DataFilters.vue'\n\nexport interface DataListProps {\n config: DataListConfig\n items: Record<string, unknown>[]\n settings?: Partial<DataListSettings>\n id: string\n layoutBreakpoint?: number\n orderable?: boolean\n pagination?: PaginatorSettings\n loading?: boolean\n handleUrl?: boolean\n useSearch?: boolean\n useFilters?: boolean\n searchConfig?: DataSearchProps\n filterConfig?: DataFiltersProps\n /**\n * If true, the table wrapper fills its parent column instead of capping\n * at `--data-list-max-height`. The parent must be a flex column with a\n * definite height for the tbody to scroll inside the wrapper.\n */\n fillHeight?: boolean\n}\n\nexport const dataListDefaults = {\n layoutBreakpoint: 768,\n orderable: true,\n loading: false,\n useSearch: true,\n useFilters: true,\n handleUrl: false,\n fillHeight: false,\n}\n\nexport function getDefaultFetchData(filters: FilterItem[], storageKey: string) {\n const defaultPaginator = getDefaultPaginator(storageKey)\n const defaultSort = getDefaultSort()\n const defaultSearch = getDefaultSearch()\n const defaultFilters = getDefaultFilters(filters, storageKey, true)\n\n return {\n ...defaultPaginator,\n ...defaultSort,\n ...defaultSearch,\n ...defaultFilters,\n }\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { ref, computed, onMounted, onBeforeUnmount } from 'vue'\nimport DataTable from '@/components/data-table/DataTable.vue'\nimport DataCards from '@/components/data-table/DataCards.vue'\nimport DataListOptions from '@/components/data-table/DataListOptions.vue'\nimport DataPaginator, { getDefaultPaginator } from '@/components/data-table/DataPaginator.vue'\nimport Button from '@/components/Button.vue'\nimport DataSort, { getDefaultSort, type DataSortOption } from '@/components/data-table/DataSort.vue'\nimport type {\n DataListConfig,\n DataListSettings,\n PageSettings,\n PaginatorSettings,\n} from '@/types/data-list'\nimport type { FilterValue } from '@/types/data-list'\nimport DataFilters, {\n type FilterResponse,\n type DataFiltersProps,\n type FilterItem,\n} from '@/components/data-table/DataFilters.vue'\nimport FilterTags from '@/components/data-table/FilterTags.vue'\nimport DataListGuide from '@/components/data-table/DataListGuide.vue'\nimport DataSearch, { getDefaultSearch, type DataSearchProps } from './DataSearch.vue'\nimport { getDefaultFilters } from '@/utils/dataFilters.ts'\n\nconst dataFiltersRef = ref<InstanceType<typeof DataFilters> | null>(null)\n\nconst props = withDefaults(defineProps<DataListProps>(), {\n ...dataListDefaults,\n searchConfig: undefined,\n filterConfig: undefined,\n})\n\nfunction resolvedHandleUrl(side: 'searchConfig' | 'filterConfig'): boolean | undefined {\n const sideConfig = props[side]\n if (sideConfig && Object.hasOwn(sideConfig as object, 'handleUrl')) {\n return (sideConfig as { handleUrl?: boolean }).handleUrl\n }\n return props.handleUrl\n}\n\nconst mergedSearchConfig = computed<DataSearchProps>(() => ({\n ...props.searchConfig,\n handleUrl: resolvedHandleUrl('searchConfig'),\n}))\n\nconst mergedFilterConfig = computed<DataFiltersProps>(() => ({\n ...(props.filterConfig as DataFiltersProps),\n handleUrl: resolvedHandleUrl('filterConfig'),\n}))\n\nconst emit = defineEmits<{\n 'filter-change': [filters: Record<string, FilterValue>]\n 'selection-change': [selected: unknown[]]\n 'settings-change': [settings: DataListSettings]\n 'pagination-change': [pagination: PageSettings]\n 'sort-change': [sort: { key: string; direction: 'asc' | 'desc' } | null]\n 'search-change': [filters: Record<string, string | boolean>]\n}>()\n\nconst showOptions = ref(false)\nconst showGuide = ref(false)\nconst resolvedSettings = ref<DataListSettings | null>(null)\nconst isMobile = ref(false)\nconst root = ref<HTMLElement | null>(null)\nconst showFilters = ref(false)\n\nconst activeFilters = ref<Record<string, unknown>>(\n props.filterConfig?.items ? getDefaultFilters(props.filterConfig.items, props.id, false) : {},\n)\nlet resizeObserver: ResizeObserver | null = null\n\nonMounted(() => {\n resizeObserver = new ResizeObserver((entries) => {\n isMobile.value = (entries[0]?.contentRect.width ?? 0) < props.layoutBreakpoint\n })\n if (root.value) resizeObserver.observe(root.value)\n})\n\nonBeforeUnmount(() => resizeObserver?.disconnect())\n\nconst effectiveLayout = computed<'table' | 'cards'>(() => {\n const layout = resolvedSettings.value?.layout\n if (layout === 'table' || layout === 'cards') return layout\n return isMobile.value ? 'cards' : 'table'\n})\n\nconst internalConfig = computed<DataListConfig>(() => {\n if (!resolvedSettings.value) return props.config\n const order = resolvedSettings.value.columnOrder\n const mapped = props.config.columns.map((c) => ({\n ...c,\n visible: resolvedSettings.value!.columns[c.property] ?? c.visible !== false,\n }))\n if (order?.length) {\n mapped.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 { ...props.config, columns: mapped }\n})\n\nfunction onSettingsChange(s: DataListSettings) {\n resolvedSettings.value = s\n emit('settings-change', s)\n}\n\ndefineExpose({\n openOptions: () => (showOptions.value = true),\n closeOptions: () => (showOptions.value = false),\n openFilters: () => (showFilters.value = true),\n closeFilters: () => (showFilters.value = false),\n})\n\nasync function openFilter(key: string) {\n showFilters.value = true\n setTimeout(() => {\n dataFiltersRef.value?.focusFilter(key)\n }, 300)\n}\n\nfunction onFilterChange(response: FilterResponse) {\n activeFilters.value = response.values\n emit('filter-change', response.transformed)\n}\n\nconst activeFiltersCount = computed(\n () => Object.values(activeFilters.value).filter((v) => v != null && v !== '').length,\n)\n\nconst showPaginator = computed(\n () => !!props.pagination && (props.items.length > 0 || !props.loading),\n)\n\nconst searchChange = (value: Record<string, string | boolean>) => {\n emit('search-change', value)\n}\n\nconst sortableColumns = computed<DataSortOption[]>(() =>\n props.config.columns.filter((c) => c.sort).map((c) => ({ value: c.property, label: c.label })),\n)\n\nconst currentSort = ref<{ key: string; direction: 'asc' | 'desc' } | null>(\n props.handleUrl ? getDefaultSort() : null,\n)\n\nconst onSortChange = (sort: { key: string; direction: 'asc' | 'desc' } | null) => {\n currentSort.value = sort\n // DataSort already writes the URL when handleUrl: true; we only emit.\n emit('sort-change', sort)\n}\n</script>\n\n<template>\n <div\n ref=\"root\"\n class=\"ac-component c-data-list\"\n :class=\"{ 'c-data-list--fill-height': fillHeight }\"\n >\n <div class=\"c-data-list__toolbar\">\n <DataSearch v-if=\"useSearch\" v-bind=\"mergedSearchConfig\" @search-change=\"searchChange\" />\n <Button\n v-if=\"useFilters && filterConfig?.items && filterConfig.items.length > 0\"\n label=\"Szűrők\"\n icon=\"fa-solid fa-filter\"\n @click=\"showFilters = true\"\n style=\"flex-shrink: 0\"\n :type=\"activeFiltersCount > 0 ? 'primary' : 'normal'\"\n :indicator=\"activeFiltersCount > 0 ? activeFiltersCount : undefined\"\n />\n <div\n class=\"flex-center gap-1 flex-center-wrap-on-mobile\"\n v-if=\"useFilters && filterConfig?.items && filterConfig.items.length > 0\"\n >\n <FilterTags\n :filters=\"activeFilters\"\n :items=\"filterConfig.items\"\n compact\n @remove=\"(key: string) => dataFiltersRef?.clearFilter(key)\"\n @openFilter=\"openFilter\"\n />\n </div>\n <div class=\"c-data-list__toolbar__right\">\n <DataSort\n v-if=\"sortableColumns.length > 0\"\n v-model=\"currentSort\"\n :options=\"sortableColumns\"\n :handle-url=\"handleUrl\"\n @sort-change=\"onSortChange\"\n />\n\n <Button\n icon=\"fa-solid fa-gear\"\n class=\"lh-normal settings-btn\"\n ariaLabel=\"Beállítások\"\n @click=\"showOptions = true\"\n />\n <Button\n icon=\"fa-solid fa-question\"\n class=\"lh-normal\"\n @click=\"showGuide = true\"\n ariaLabel=\"Súgó\"\n />\n </div>\n </div>\n <DataFilters\n ref=\"dataFiltersRef\"\n v-if=\"useFilters && filterConfig?.items && filterConfig.items.length > 0\"\n v-bind=\"mergedFilterConfig\"\n :storage-key=\"id\"\n :open=\"showFilters\"\n @close=\"showFilters = false\"\n @change=\"onFilterChange\"\n />\n <DataListGuide :open=\"showGuide\" @close=\"showGuide = false\" />\n <DataTable\n v-if=\"effectiveLayout === 'table'\"\n :config=\"internalConfig\"\n :loading=\"loading\"\n :items=\"items\"\n :settings=\"resolvedSettings ?? undefined\"\n :initial-sort=\"currentSort\"\n @filter-change=\"emit('filter-change', $event)\"\n @selection-change=\"emit('selection-change', $event)\"\n @sort-change=\"onSortChange\"\n >\n <template\n v-for=\"col in internalConfig.columns\"\n :key=\"col.property\"\n #[`cell:${col.property}`]=\"slotProps\"\n >\n <slot :name=\"`cell:${col.property}`\" v-bind=\"slotProps\" />\n </template>\n </DataTable>\n\n <DataCards\n v-else\n :config=\"internalConfig\"\n :loading=\"loading\"\n :items=\"items\"\n :settings=\"resolvedSettings ?? undefined\"\n @selection-change=\"emit('selection-change', $event)\"\n >\n <template\n v-for=\"col in internalConfig.columns\"\n :key=\"col.property\"\n #[`cell:${col.property}`]=\"slotProps\"\n >\n <slot :name=\"`cell:${col.property}`\" v-bind=\"slotProps\" />\n </template>\n </DataCards>\n\n <DataPaginator\n v-if=\"pagination && showPaginator\"\n :settings=\"pagination\"\n :storage-key=\"id\"\n :handle-url=\"handleUrl\"\n @update:pagination=\"emit('pagination-change', $event)\"\n />\n\n <DataListOptions\n :open=\"showOptions\"\n :columns=\"config.columns\"\n :settings=\"settings ?? {}\"\n :storage-key=\"id\"\n :orderable=\"orderable\"\n @close=\"showOptions = false\"\n @change=\"onSettingsChange\"\n />\n </div>\n</template>\n\n<style lang=\"scss\" src=\"@/styles/components/data-table/data-list.scss\"></style>\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"admins-components102.js","names":[],"sources":["../src/components/data-table/DataList.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type { PaginatorSettings } from '@/types/data-list'\nexport type { DataSearchProps } from './DataSearch.vue'\nexport type { DataFiltersProps } from './DataFilters.vue'\n\nexport interface DataListProps {\n config: DataListConfig\n items: Record<string, unknown>[]\n settings?: Partial<DataListSettings>\n id: string\n layoutBreakpoint?: number\n orderable?: boolean\n pagination?: PaginatorSettings\n loading?: boolean\n handleUrl?: boolean\n useSearch?: boolean\n useFilters?: boolean\n searchConfig?: DataSearchProps\n filterConfig?: DataFiltersProps\n}\n\nexport const dataListDefaults = {\n layoutBreakpoint: 768,\n orderable: true,\n loading: false,\n useSearch: true,\n useFilters: true,\n handleUrl: false,\n}\n\nexport function getDefaultFetchData(filters: FilterItem[], storageKey: string) {\n const defaultPaginator = getDefaultPaginator(storageKey)\n const defaultSort = getDefaultSort()\n const defaultSearch = getDefaultSearch()\n const defaultFilters = getDefaultFilters(filters, storageKey, true)\n\n return {\n ...defaultPaginator,\n ...defaultSort,\n ...defaultSearch,\n ...defaultFilters,\n }\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { ref, computed, onMounted, onBeforeUnmount } from 'vue'\nimport DataTable from '@/components/data-table/DataTable.vue'\nimport DataCards from '@/components/data-table/DataCards.vue'\nimport DataListOptions from '@/components/data-table/DataListOptions.vue'\nimport DataPaginator, { getDefaultPaginator } from '@/components/data-table/DataPaginator.vue'\nimport Button from '@/components/Button.vue'\nimport DataSort, { getDefaultSort, type DataSortOption } from '@/components/data-table/DataSort.vue'\nimport type {\n DataListConfig,\n DataListSettings,\n PageSettings,\n PaginatorSettings,\n} from '@/types/data-list'\nimport type { FilterValue } from '@/types/data-list'\nimport DataFilters, {\n type FilterResponse,\n type DataFiltersProps,\n type FilterItem,\n} from '@/components/data-table/DataFilters.vue'\nimport FilterTags from '@/components/data-table/FilterTags.vue'\nimport DataListGuide from '@/components/data-table/DataListGuide.vue'\nimport DataSearch, { getDefaultSearch, type DataSearchProps } from './DataSearch.vue'\nimport { getDefaultFilters } from '@/utils/dataFilters.ts'\n\nconst dataFiltersRef = ref<InstanceType<typeof DataFilters> | null>(null)\n\nconst props = withDefaults(defineProps<DataListProps>(), {\n ...dataListDefaults,\n searchConfig: undefined,\n filterConfig: undefined,\n})\n\nfunction resolvedHandleUrl(side: 'searchConfig' | 'filterConfig'): boolean | undefined {\n const sideConfig = props[side]\n if (sideConfig && Object.hasOwn(sideConfig as object, 'handleUrl')) {\n return (sideConfig as { handleUrl?: boolean }).handleUrl\n }\n return props.handleUrl\n}\n\nconst mergedSearchConfig = computed<DataSearchProps>(() => ({\n ...props.searchConfig,\n handleUrl: resolvedHandleUrl('searchConfig'),\n}))\n\nconst mergedFilterConfig = computed<DataFiltersProps>(() => ({\n ...(props.filterConfig as DataFiltersProps),\n handleUrl: resolvedHandleUrl('filterConfig'),\n}))\n\nconst emit = defineEmits<{\n 'filter-change': [filters: Record<string, FilterValue>]\n 'selection-change': [selected: unknown[]]\n 'settings-change': [settings: DataListSettings]\n 'pagination-change': [pagination: PageSettings]\n 'sort-change': [sort: { key: string; direction: 'asc' | 'desc' } | null]\n 'search-change': [filters: Record<string, string | boolean>]\n}>()\n\nconst showOptions = ref(false)\nconst showGuide = ref(false)\nconst resolvedSettings = ref<DataListSettings | null>(null)\nconst isMobile = ref(false)\nconst root = ref<HTMLElement | null>(null)\nconst showFilters = ref(false)\n\nconst activeFilters = ref<Record<string, unknown>>(\n props.filterConfig?.items ? getDefaultFilters(props.filterConfig.items, props.id, false) : {},\n)\nlet resizeObserver: ResizeObserver | null = null\n\nonMounted(() => {\n resizeObserver = new ResizeObserver((entries) => {\n isMobile.value = (entries[0]?.contentRect.width ?? 0) < props.layoutBreakpoint\n })\n if (root.value) resizeObserver.observe(root.value)\n})\n\nonBeforeUnmount(() => resizeObserver?.disconnect())\n\nconst effectiveLayout = computed<'table' | 'cards'>(() => {\n const layout = resolvedSettings.value?.layout\n if (layout === 'table' || layout === 'cards') return layout\n return isMobile.value ? 'cards' : 'table'\n})\n\nconst internalConfig = computed<DataListConfig>(() => {\n if (!resolvedSettings.value) return props.config\n const order = resolvedSettings.value.columnOrder\n const mapped = props.config.columns.map((c) => ({\n ...c,\n visible: resolvedSettings.value!.columns[c.property] ?? c.visible !== false,\n }))\n if (order?.length) {\n mapped.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 { ...props.config, columns: mapped }\n})\n\nfunction onSettingsChange(s: DataListSettings) {\n resolvedSettings.value = s\n emit('settings-change', s)\n}\n\ndefineExpose({\n openOptions: () => (showOptions.value = true),\n closeOptions: () => (showOptions.value = false),\n openFilters: () => (showFilters.value = true),\n closeFilters: () => (showFilters.value = false),\n})\n\nasync function openFilter(key: string) {\n showFilters.value = true\n setTimeout(() => {\n dataFiltersRef.value?.focusFilter(key)\n }, 300)\n}\n\nfunction onFilterChange(response: FilterResponse) {\n activeFilters.value = response.values\n emit('filter-change', response.transformed)\n}\n\nconst activeFiltersCount = computed(\n () => Object.values(activeFilters.value).filter((v) => v != null && v !== '').length,\n)\n\nconst showPaginator = computed(\n () => !!props.pagination && (props.items.length > 0 || !props.loading),\n)\n\nconst searchChange = (value: Record<string, string | boolean>) => {\n emit('search-change', value)\n}\n\nconst sortableColumns = computed<DataSortOption[]>(() =>\n props.config.columns.filter((c) => c.sort).map((c) => ({ value: c.property, label: c.label })),\n)\n\nconst currentSort = ref<{ key: string; direction: 'asc' | 'desc' } | null>(\n props.handleUrl ? getDefaultSort() : null,\n)\n\nconst onSortChange = (sort: { key: string; direction: 'asc' | 'desc' } | null) => {\n currentSort.value = sort\n // DataSort already writes the URL when handleUrl: true; we only emit.\n emit('sort-change', sort)\n}\n</script>\n\n<template>\n <div class=\"ac-component\">\n <div ref=\"root\" class=\"c-data-list\">\n <div class=\"c-data-list__toolbar\">\n <DataSearch v-if=\"useSearch\" v-bind=\"mergedSearchConfig\" @search-change=\"searchChange\" />\n <Button\n v-if=\"useFilters && filterConfig?.items && filterConfig.items.length > 0\"\n label=\"Szűrők\"\n icon=\"fa-solid fa-filter\"\n @click=\"showFilters = true\"\n style=\"flex-shrink: 0\"\n :type=\"activeFiltersCount > 0 ? 'info' : 'normal'\"\n :indicator=\"activeFiltersCount > 0 ? activeFiltersCount : undefined\"\n />\n <div\n class=\"flex-center gap-1 flex-center-wrap-on-mobile\"\n v-if=\"useFilters && filterConfig?.items && filterConfig.items.length > 0\"\n >\n <FilterTags\n :filters=\"activeFilters\"\n :items=\"filterConfig.items\"\n @remove=\"(key: string) => dataFiltersRef?.clearFilter(key)\"\n @openFilter=\"openFilter\"\n />\n </div>\n <div class=\"flex-center ml-auto nowrap\">\n <DataSort\n v-if=\"sortableColumns.length > 0\"\n v-model=\"currentSort\"\n :options=\"sortableColumns\"\n :handle-url=\"handleUrl\"\n @sort-change=\"onSortChange\"\n />\n\n <Button\n icon=\"fa-solid fa-gear\"\n class=\"lh-normal settings-btn\"\n @click=\"showOptions = true\"\n />\n <Button icon=\"fa-solid fa-question\" class=\"lh-normal\" @click=\"showGuide = true\" />\n </div>\n </div>\n <DataFilters\n ref=\"dataFiltersRef\"\n v-if=\"useFilters && filterConfig?.items && filterConfig.items.length > 0\"\n v-bind=\"mergedFilterConfig\"\n :storage-key=\"id\"\n :open=\"showFilters\"\n @close=\"showFilters = false\"\n @change=\"onFilterChange\"\n />\n <DataListGuide :open=\"showGuide\" @close=\"showGuide = false\" />\n <DataTable\n v-if=\"effectiveLayout === 'table'\"\n :config=\"internalConfig\"\n :loading=\"loading\"\n :items=\"items\"\n :settings=\"resolvedSettings ?? undefined\"\n :initial-sort=\"currentSort\"\n @filter-change=\"emit('filter-change', $event)\"\n @selection-change=\"emit('selection-change', $event)\"\n @sort-change=\"onSortChange\"\n >\n <template\n v-for=\"col in internalConfig.columns\"\n :key=\"col.property\"\n #[`cell:${col.property}`]=\"slotProps\"\n >\n <slot :name=\"`cell:${col.property}`\" v-bind=\"slotProps\" />\n </template>\n </DataTable>\n\n <DataCards\n v-else\n :config=\"internalConfig\"\n :loading=\"loading\"\n :items=\"items\"\n :settings=\"resolvedSettings ?? undefined\"\n @selection-change=\"emit('selection-change', $event)\"\n >\n <template\n v-for=\"col in internalConfig.columns\"\n :key=\"col.property\"\n #[`cell:${col.property}`]=\"slotProps\"\n >\n <slot :name=\"`cell:${col.property}`\" v-bind=\"slotProps\" />\n </template>\n </DataCards>\n\n <DataPaginator\n v-if=\"pagination && showPaginator\"\n :settings=\"pagination\"\n :storage-key=\"id\"\n :handle-url=\"handleUrl\"\n @update:pagination=\"emit('pagination-change', $event)\"\n />\n\n <DataListOptions\n :open=\"showOptions\"\n :columns=\"config.columns\"\n :settings=\"settings ?? {}\"\n :storage-key=\"id\"\n :orderable=\"orderable\"\n @close=\"showOptions = false\"\n @change=\"onSettingsChange\"\n />\n </div>\n </div>\n</template>\n\n<style lang=\"scss\" src=\"@/styles/components/data-table/data-list.scss\"></style>\n"],"mappings":""}
1
+ {"version":3,"file":"admins-components102.js","names":[],"sources":["../src/components/data-table/DataList.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type { PaginatorSettings } from '@/types/data-list'\nexport type { DataSearchProps } from './DataSearch.vue'\nexport type { DataFiltersProps } from './DataFilters.vue'\n\nexport interface DataListProps {\n config: DataListConfig\n items: Record<string, unknown>[]\n settings?: Partial<DataListSettings>\n id: string\n layoutBreakpoint?: number\n orderable?: boolean\n pagination?: PaginatorSettings\n loading?: boolean\n handleUrl?: boolean\n useSearch?: boolean\n useFilters?: boolean\n searchConfig?: DataSearchProps\n filterConfig?: DataFiltersProps\n /**\n * If true, the table wrapper fills its parent column instead of capping\n * at `--data-list-max-height`. The parent must be a flex column with a\n * definite height for the tbody to scroll inside the wrapper.\n */\n fillHeight?: boolean\n}\n\nexport const dataListDefaults = {\n layoutBreakpoint: 768,\n orderable: true,\n loading: false,\n useSearch: true,\n useFilters: true,\n handleUrl: false,\n fillHeight: false,\n}\n\nexport function getDefaultFetchData(filters: FilterItem[], storageKey: string) {\n const defaultPaginator = getDefaultPaginator(storageKey)\n const defaultSort = getDefaultSort()\n const defaultSearch = getDefaultSearch()\n const defaultFilters = getDefaultFilters(filters, storageKey, true)\n\n return {\n ...defaultPaginator,\n ...defaultSort,\n ...defaultSearch,\n ...defaultFilters,\n }\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { ref, computed, onMounted, onBeforeUnmount } from 'vue'\nimport DataTable from '@/components/data-table/DataTable.vue'\nimport DataCards from '@/components/data-table/DataCards.vue'\nimport DataListOptions from '@/components/data-table/DataListOptions.vue'\nimport DataPaginator, { getDefaultPaginator } from '@/components/data-table/DataPaginator.vue'\nimport Button from '@/components/Button.vue'\nimport DataSort, { getDefaultSort, type DataSortOption } from '@/components/data-table/DataSort.vue'\nimport type {\n DataListConfig,\n DataListSettings,\n PageSettings,\n PaginatorSettings,\n} from '@/types/data-list'\nimport type { FilterValue } from '@/types/data-list'\nimport DataFilters, {\n type FilterResponse,\n type DataFiltersProps,\n type FilterItem,\n} from '@/components/data-table/DataFilters.vue'\nimport FilterTags from '@/components/data-table/FilterTags.vue'\nimport DataListGuide from '@/components/data-table/DataListGuide.vue'\nimport DataSearch, { getDefaultSearch, type DataSearchProps } from './DataSearch.vue'\nimport { getDefaultFilters } from '@/utils/dataFilters.ts'\n\nconst dataFiltersRef = ref<InstanceType<typeof DataFilters> | null>(null)\n\nconst props = withDefaults(defineProps<DataListProps>(), {\n ...dataListDefaults,\n searchConfig: undefined,\n filterConfig: undefined,\n})\n\nfunction resolvedHandleUrl(side: 'searchConfig' | 'filterConfig'): boolean | undefined {\n const sideConfig = props[side]\n if (sideConfig && Object.hasOwn(sideConfig as object, 'handleUrl')) {\n return (sideConfig as { handleUrl?: boolean }).handleUrl\n }\n return props.handleUrl\n}\n\nconst mergedSearchConfig = computed<DataSearchProps>(() => ({\n ...props.searchConfig,\n handleUrl: resolvedHandleUrl('searchConfig'),\n}))\n\nconst mergedFilterConfig = computed<DataFiltersProps>(() => ({\n ...(props.filterConfig as DataFiltersProps),\n handleUrl: resolvedHandleUrl('filterConfig'),\n}))\n\nconst emit = defineEmits<{\n 'filter-change': [filters: Record<string, FilterValue>]\n 'selection-change': [selected: unknown[]]\n 'settings-change': [settings: DataListSettings]\n 'pagination-change': [pagination: PageSettings]\n 'sort-change': [sort: { key: string; direction: 'asc' | 'desc' } | null]\n 'search-change': [filters: Record<string, string | boolean>]\n}>()\n\nconst showOptions = ref(false)\nconst showGuide = ref(false)\nconst resolvedSettings = ref<DataListSettings | null>(null)\nconst isMobile = ref(false)\nconst root = ref<HTMLElement | null>(null)\nconst showFilters = ref(false)\n\nconst activeFilters = ref<Record<string, unknown>>(\n props.filterConfig?.items ? getDefaultFilters(props.filterConfig.items, props.id, false) : {},\n)\nlet resizeObserver: ResizeObserver | null = null\n\nonMounted(() => {\n resizeObserver = new ResizeObserver((entries) => {\n isMobile.value = (entries[0]?.contentRect.width ?? 0) < props.layoutBreakpoint\n })\n if (root.value) resizeObserver.observe(root.value)\n})\n\nonBeforeUnmount(() => resizeObserver?.disconnect())\n\nconst effectiveLayout = computed<'table' | 'cards'>(() => {\n const layout = resolvedSettings.value?.layout\n if (layout === 'table' || layout === 'cards') return layout\n return isMobile.value ? 'cards' : 'table'\n})\n\nconst internalConfig = computed<DataListConfig>(() => {\n if (!resolvedSettings.value) return props.config\n const order = resolvedSettings.value.columnOrder\n const mapped = props.config.columns.map((c) => ({\n ...c,\n visible: resolvedSettings.value!.columns[c.property] ?? c.visible !== false,\n }))\n if (order?.length) {\n mapped.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 { ...props.config, columns: mapped }\n})\n\nfunction onSettingsChange(s: DataListSettings) {\n resolvedSettings.value = s\n emit('settings-change', s)\n}\n\ndefineExpose({\n openOptions: () => (showOptions.value = true),\n closeOptions: () => (showOptions.value = false),\n openFilters: () => (showFilters.value = true),\n closeFilters: () => (showFilters.value = false),\n})\n\nasync function openFilter(key: string) {\n showFilters.value = true\n setTimeout(() => {\n dataFiltersRef.value?.focusFilter(key)\n }, 300)\n}\n\nfunction onFilterChange(response: FilterResponse) {\n activeFilters.value = response.values\n emit('filter-change', response.transformed)\n}\n\nconst activeFiltersCount = computed(\n () => Object.values(activeFilters.value).filter((v) => v != null && v !== '').length,\n)\n\nconst showPaginator = computed(\n () => !!props.pagination && (props.items.length > 0 || !props.loading),\n)\n\nconst searchChange = (value: Record<string, string | boolean>) => {\n emit('search-change', value)\n}\n\nconst sortableColumns = computed<DataSortOption[]>(() =>\n props.config.columns.filter((c) => c.sort).map((c) => ({ value: c.property, label: c.label })),\n)\n\nconst currentSort = ref<{ key: string; direction: 'asc' | 'desc' } | null>(\n props.handleUrl ? getDefaultSort() : null,\n)\n\nconst onSortChange = (sort: { key: string; direction: 'asc' | 'desc' } | null) => {\n currentSort.value = sort\n // DataSort already writes the URL when handleUrl: true; we only emit.\n emit('sort-change', sort)\n}\n</script>\n\n<template>\n <div\n ref=\"root\"\n class=\"ac-component c-data-list\"\n :class=\"{ 'c-data-list--fill-height': fillHeight }\"\n >\n <div class=\"c-data-list__toolbar\">\n <DataSearch v-if=\"useSearch\" v-bind=\"mergedSearchConfig\" @search-change=\"searchChange\" />\n <Button\n v-if=\"useFilters && filterConfig?.items && filterConfig.items.length > 0\"\n label=\"Szűrők\"\n icon=\"fa-solid fa-filter\"\n @click=\"showFilters = true\"\n style=\"flex-shrink: 0\"\n :type=\"activeFiltersCount > 0 ? 'primary' : 'normal'\"\n :indicator=\"activeFiltersCount > 0 ? activeFiltersCount : undefined\"\n />\n <div\n class=\"flex-center gap-1 flex-center-wrap-on-mobile\"\n v-if=\"useFilters && filterConfig?.items && filterConfig.items.length > 0\"\n >\n <FilterTags\n :filters=\"activeFilters\"\n :items=\"filterConfig.items\"\n compact\n @remove=\"(key: string) => dataFiltersRef?.clearFilter(key)\"\n @openFilter=\"openFilter\"\n />\n </div>\n <div class=\"c-data-list__toolbar__right\">\n <DataSort\n v-if=\"sortableColumns.length > 0\"\n v-model=\"currentSort\"\n :options=\"sortableColumns\"\n :handle-url=\"handleUrl\"\n @sort-change=\"onSortChange\"\n />\n\n <Button\n icon=\"fa-solid fa-gear\"\n class=\"lh-normal settings-btn\"\n ariaLabel=\"Beállítások\"\n @click=\"showOptions = true\"\n />\n <Button\n icon=\"fa-solid fa-question\"\n class=\"lh-normal\"\n @click=\"showGuide = true\"\n ariaLabel=\"Súgó\"\n />\n </div>\n </div>\n <DataFilters\n ref=\"dataFiltersRef\"\n v-if=\"useFilters && filterConfig?.items && filterConfig.items.length > 0\"\n v-bind=\"mergedFilterConfig\"\n :storage-key=\"id\"\n :open=\"showFilters\"\n @close=\"showFilters = false\"\n @change=\"onFilterChange\"\n />\n <DataListGuide :open=\"showGuide\" @close=\"showGuide = false\" />\n <DataTable\n v-if=\"effectiveLayout === 'table'\"\n :config=\"internalConfig\"\n :loading=\"loading\"\n :items=\"items\"\n :settings=\"resolvedSettings ?? undefined\"\n :initial-sort=\"currentSort\"\n @filter-change=\"emit('filter-change', $event)\"\n @selection-change=\"emit('selection-change', $event)\"\n @sort-change=\"onSortChange\"\n >\n <template\n v-for=\"col in internalConfig.columns\"\n :key=\"col.property\"\n #[`cell:${col.property}`]=\"slotProps\"\n >\n <slot :name=\"`cell:${col.property}`\" v-bind=\"slotProps\" />\n </template>\n </DataTable>\n\n <DataCards\n v-else\n :config=\"internalConfig\"\n :loading=\"loading\"\n :items=\"items\"\n :settings=\"resolvedSettings ?? undefined\"\n @selection-change=\"emit('selection-change', $event)\"\n >\n <template\n v-for=\"col in internalConfig.columns\"\n :key=\"col.property\"\n #[`cell:${col.property}`]=\"slotProps\"\n >\n <slot :name=\"`cell:${col.property}`\" v-bind=\"slotProps\" />\n </template>\n </DataCards>\n\n <DataPaginator\n v-if=\"pagination && showPaginator\"\n :settings=\"pagination\"\n :storage-key=\"id\"\n :handle-url=\"handleUrl\"\n @update:pagination=\"emit('pagination-change', $event)\"\n />\n\n <DataListOptions\n :open=\"showOptions\"\n :columns=\"config.columns\"\n :settings=\"settings ?? {}\"\n :storage-key=\"id\"\n :orderable=\"orderable\"\n @close=\"showOptions = false\"\n @change=\"onSettingsChange\"\n />\n </div>\n</template>\n\n<style lang=\"scss\" src=\"@/styles/components/data-table/data-list.scss\"></style>\n"],"mappings":""}
@@ -206,7 +206,7 @@ var ce = { class: "ac-component" }, le = { class: "drp-input" }, ue = { class: "
206
206
  P.value.showPresets ? (b(), h("div", xe, [
207
207
  T((b(), h("span", Se, [_(a, {
208
208
  icon: "fa-solid fa-chevron-left",
209
- class: "drp-toolbar__stepper left",
209
+ class: "drp-toolbar__stepper drp-toolbar__stepper--left",
210
210
  disabled: !X.value,
211
211
  onClick: t[2] ||= (e) => Q(-1)
212
212
  }, null, 8, ["disabled"])])), [[n, X.value ? "Intervallum mozgatása visszafelé" : "Nem léphető tovább a minimum dátum miatt"]]),
@@ -223,7 +223,7 @@ var ce = { class: "ac-component" }, le = { class: "drp-input" }, ue = { class: "
223
223
  icon: "fa-solid fa-chevron-right",
224
224
  disabled: !Z.value,
225
225
  onClick: t[3] ||= (e) => Q(1),
226
- class: "drp-toolbar__stepper right"
226
+ class: "drp-toolbar__stepper drp-toolbar__stepper--right"
227
227
  }, null, 8, ["disabled"])])), [[n, Z.value ? "Intervallum mozgatása előre" : "Nem léphető tovább a maximum dátum miatt"]])
228
228
  ])) : m("", !0),
229
229
  P.value.showClearButton || P.value.showOkButton || P.value.lazy ? (b(), h("div", k, [P.value.showClearButton ? (b(), p(a, {