admins-components 9.0.82 → 9.0.83
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.
- package/dist/admins-components173.js +151 -89
- package/dist/admins-components173.js.map +1 -1
- package/dist/admins-components38.js +1 -1
- package/dist/admins-components38.js.map +1 -1
- package/dist/admins-components40.js.map +1 -1
- package/dist/admins-components68.js +12 -9
- package/dist/admins-components68.js.map +1 -1
- package/dist/admins-components70.js.map +1 -1
- package/dist/src/components/Modal.vue.d.ts +2 -0
- package/dist/test.html +163 -0
- package/dist/test81.html +161 -0
- package/dist/vueformelements/ArticlePickerElement.vue_vue_type_style_index_0_scoped_0afb93e7_lang.css +1 -0
- package/dist/widget/dist/search-posts-widget.css +1 -1
- package/dist/widget/dist/search-posts-widget.es.js +5608 -5601
- package/dist/widget/dist/search-posts-widget.umd.js +13 -13
- package/package.json +1 -1
- package/dist/vueformelements/ArticlePickerElement.vue_vue_type_style_index_0_scoped_54217a66_lang.css +0 -1
|
@@ -1,169 +1,231 @@
|
|
|
1
|
-
import './vueformelements/ArticlePickerElement.
|
|
1
|
+
import './vueformelements/ArticlePickerElement.vue_vue_type_style_index_0_scoped_0afb93e7_lang.css';
|
|
2
2
|
import e from "./admins-components6.js";
|
|
3
|
-
import
|
|
4
|
-
import n from "./admins-
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
3
|
+
import t from "./admins-components40.js";
|
|
4
|
+
import { defineElement as n } from "./admins-components166.js";
|
|
5
|
+
import r from "./admins-components168.js";
|
|
6
|
+
import { apeConfig as i } from "./admins-components170.js";
|
|
7
|
+
import { ipeConfig as a } from "./admins-components171.js";
|
|
7
8
|
/* empty css */
|
|
8
|
-
import { createBlock as
|
|
9
|
+
import { createBlock as o, createCommentVNode as s, createElementBlock as c, createElementVNode as l, createSlots as u, createTextVNode as d, createVNode as f, onMounted as p, onUnmounted as m, openBlock as h, ref as g, renderList as _, renderSlot as v, resolveComponent as y, resolveDynamicComponent as b, withCtx as x } from "vue";
|
|
9
10
|
//#region src/vueformelements/ArticlePickerElement.vue
|
|
10
|
-
var
|
|
11
|
-
components: {
|
|
11
|
+
var S = n({
|
|
12
|
+
components: {
|
|
13
|
+
Button: e,
|
|
14
|
+
Modal: t
|
|
15
|
+
},
|
|
12
16
|
name: "ArticlePickerElement",
|
|
13
17
|
setup(e, t) {
|
|
14
|
-
let n =
|
|
15
|
-
e.preventDefault(),
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
},
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
},
|
|
23
|
-
e.preventDefault(),
|
|
24
|
-
},
|
|
18
|
+
let n = a.environment, r = a.searchImageWidgetUrl, o = a.imageBaseUrl, s = a.imageViewId, c = i.searchArticleApiUrl, l = i.searchArticleWidgetUrl, u = i.showIds, d = g((/* @__PURE__ */ new Date()).getTime().toString() + "image"), f = g((/* @__PURE__ */ new Date()).getTime().toString() + "article"), h = g(!1), _ = g(!1), v = "00000000-0000-0000-0000-000000000000", { value: y } = t.element, b = (e) => {
|
|
19
|
+
e.preventDefault(), h.value = !0;
|
|
20
|
+
}, x = () => {
|
|
21
|
+
_.value = !0;
|
|
22
|
+
}, S = () => {
|
|
23
|
+
h.value = !1;
|
|
24
|
+
}, C = () => {
|
|
25
|
+
_.value = !1;
|
|
26
|
+
}, w = (e) => {
|
|
27
|
+
e.preventDefault(), y.value.imageId = v;
|
|
28
|
+
}, T = (e) => {
|
|
25
29
|
if (!document.querySelector(`script[src="${e}"]`)) {
|
|
26
30
|
let t = document.createElement("script");
|
|
27
31
|
t.type = "text/javascript", t.src = e, document.head.appendChild(t);
|
|
28
32
|
}
|
|
29
|
-
},
|
|
30
|
-
|
|
31
|
-
let
|
|
32
|
-
e.detail.causationid ==
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
if (e.detail.result && e.detail.posts.length > 0) {
|
|
40
|
-
v.value.id = e.detail.posts[0].id, v.value.siteId = e.detail.posts[0].siteId, v.value.title = e.detail.posts[0].title, v.value.lead = e.detail.posts[0].lead;
|
|
41
|
-
let t = e.detail.posts[0].featuredImage;
|
|
42
|
-
v.value.imageId = t || _;
|
|
43
|
-
}
|
|
44
|
-
document.getElementById(g.value).close();
|
|
33
|
+
}, E = () => `${o}/${s}/${y.value.imageId}.img`;
|
|
34
|
+
T(r), T(l);
|
|
35
|
+
let D = (e) => {
|
|
36
|
+
e.detail.causationid == d.value && (h.value = !1, y.value.imageId = e.detail.image.id);
|
|
37
|
+
}, O = (e) => {
|
|
38
|
+
if (e.detail.id == f.value) {
|
|
39
|
+
if (e.detail.result && e.detail.posts.length > 0) {
|
|
40
|
+
y.value.id = e.detail.posts[0].id, y.value.siteId = e.detail.posts[0].siteId, y.value.title = e.detail.posts[0].title, y.value.lead = e.detail.posts[0].lead;
|
|
41
|
+
let t = e.detail.posts[0].featuredImage;
|
|
42
|
+
y.value.imageId = t || v;
|
|
45
43
|
}
|
|
46
|
-
|
|
44
|
+
C();
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
return m(() => {
|
|
48
|
+
window.removeEventListener("image-selected", D, !1), window.removeEventListener("search_posts_selected", O, !1);
|
|
49
|
+
}), p(() => {
|
|
50
|
+
window.addEventListener("image-selected", D), window.addEventListener("search_posts_selected", O);
|
|
47
51
|
}), {
|
|
48
52
|
imageViewId: s,
|
|
49
53
|
imageBaseUrl: o,
|
|
50
|
-
imageCausationId:
|
|
51
|
-
articleCausationId:
|
|
52
|
-
searchImageWidgetUrl:
|
|
54
|
+
imageCausationId: d,
|
|
55
|
+
articleCausationId: f,
|
|
56
|
+
searchImageWidgetUrl: r,
|
|
53
57
|
environment: n,
|
|
54
58
|
searchArticleApiUrl: c,
|
|
55
|
-
selectImage:
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
59
|
+
selectImage: b,
|
|
60
|
+
onArticlePicked: (e) => {
|
|
61
|
+
console.log("picked:", e), C();
|
|
62
|
+
},
|
|
63
|
+
articlePickerRef: g(null),
|
|
64
|
+
selectArticle: x,
|
|
65
|
+
closeImageModal: S,
|
|
66
|
+
closeArticleModal: C,
|
|
67
|
+
isImageModalOpen: h,
|
|
68
|
+
isArticleModalOpen: _,
|
|
69
|
+
resetImage: w,
|
|
70
|
+
addScript: T,
|
|
71
|
+
value: y,
|
|
72
|
+
getImageUrl: E,
|
|
61
73
|
showIds: u
|
|
62
74
|
};
|
|
63
75
|
}
|
|
64
|
-
}),
|
|
76
|
+
}), C = { class: "ac-component" }, w = { class: "article-picker-container" }, T = { class: "article-picker-section" }, E = {
|
|
65
77
|
key: 0,
|
|
66
78
|
class: "article-picker-ids"
|
|
67
|
-
},
|
|
79
|
+
}, D = { class: "article-picker-id-field" }, O = { class: "c-input-row" }, k = ["value"], A = { class: "article-picker-id-field" }, j = { class: "c-input-row" }, M = ["value"], N = { class: "article-picker-section" }, P = { class: "c-input-row" }, F = ["value"], I = { class: "article-picker-section" }, L = { class: "c-input-row" }, R = ["value"], z = { class: "article-picker-section" }, B = ["src"], V = {
|
|
68
80
|
key: 1,
|
|
69
81
|
class: "article-picker-no-image"
|
|
70
|
-
},
|
|
82
|
+
}, H = { class: "article-picker-buttons" }, U = [
|
|
71
83
|
"causationid",
|
|
72
84
|
"viewid",
|
|
73
85
|
"aeurl",
|
|
74
86
|
"environment"
|
|
75
|
-
], W =
|
|
76
|
-
function K(e, t, n, r, i,
|
|
77
|
-
let
|
|
78
|
-
return
|
|
87
|
+
], W = { class: "article-picker-modal-header-actions" }, G = ["id", "apiurl"];
|
|
88
|
+
function K(e, t, n, r, i, a) {
|
|
89
|
+
let p = y("Button"), m = y("Modal"), g = y("ElementLayout");
|
|
90
|
+
return h(), o(g, null, u({ _: 2 }, [e.value ? {
|
|
79
91
|
name: "element",
|
|
80
|
-
fn:
|
|
81
|
-
|
|
82
|
-
|
|
92
|
+
fn: x(() => [l("div", C, [
|
|
93
|
+
l("div", w, [
|
|
94
|
+
l("div", T, [f(p, {
|
|
83
95
|
type: "normal",
|
|
84
96
|
label: "Cikk Választás",
|
|
85
97
|
onClick: e.selectArticle
|
|
86
98
|
}, null, 8, ["onClick"])]),
|
|
87
|
-
e.showIds ? (
|
|
99
|
+
e.showIds ? (h(), c("div", E, [l("div", D, [t[7] ||= l("label", {
|
|
88
100
|
for: "articleId",
|
|
89
101
|
class: "c-label"
|
|
90
|
-
}, "Cikk azonosító", -1),
|
|
102
|
+
}, "Cikk azonosító", -1), l("div", O, [l("input", {
|
|
91
103
|
type: "text",
|
|
92
104
|
id: "articleId",
|
|
93
105
|
class: "c-input",
|
|
94
106
|
placeholder: "Cikk azonosító",
|
|
95
107
|
disabled: "",
|
|
96
108
|
value: e.value.id
|
|
97
|
-
}, null, 8,
|
|
109
|
+
}, null, 8, k)])]), l("div", A, [t[8] ||= l("label", {
|
|
98
110
|
for: "articleSiteId",
|
|
99
111
|
class: "c-label"
|
|
100
|
-
}, "Site azonosító", -1),
|
|
112
|
+
}, "Site azonosító", -1), l("div", j, [l("input", {
|
|
101
113
|
type: "text",
|
|
102
114
|
id: "articleSiteId",
|
|
103
115
|
class: "c-input",
|
|
104
116
|
placeholder: "Site azonosító",
|
|
105
117
|
disabled: "",
|
|
106
118
|
value: e.value.siteId
|
|
107
|
-
}, null, 8,
|
|
108
|
-
|
|
119
|
+
}, null, 8, M)])])])) : s("", !0),
|
|
120
|
+
l("div", N, [t[9] ||= l("label", {
|
|
109
121
|
for: "articleTitle",
|
|
110
122
|
class: "c-label"
|
|
111
|
-
}, "Címe", -1),
|
|
123
|
+
}, "Címe", -1), l("div", P, [l("textarea", {
|
|
112
124
|
id: "articleTitle",
|
|
113
125
|
class: "c-input",
|
|
114
126
|
placeholder: "Címe",
|
|
115
127
|
value: e.value.title,
|
|
116
128
|
onInput: t[0] ||= (t) => e.value.title = t.target.value
|
|
117
|
-
}, null, 40,
|
|
118
|
-
|
|
129
|
+
}, null, 40, F)])]),
|
|
130
|
+
l("div", I, [t[10] ||= l("label", {
|
|
119
131
|
for: "articleLead",
|
|
120
132
|
class: "c-label"
|
|
121
|
-
}, "Lead", -1),
|
|
133
|
+
}, "Lead", -1), l("div", L, [l("textarea", {
|
|
122
134
|
id: "articleLead",
|
|
123
135
|
class: "c-input",
|
|
124
136
|
placeholder: "Lead",
|
|
125
137
|
value: e.value.lead,
|
|
126
138
|
onInput: t[1] ||= (t) => e.value.lead = t.target.value
|
|
127
|
-
}, null, 40,
|
|
128
|
-
|
|
139
|
+
}, null, 40, R)])]),
|
|
140
|
+
l("div", z, [t[11] ||= l("label", { class: "c-label" }, "Kép", -1), l("img", {
|
|
129
141
|
alt: "",
|
|
130
142
|
src: e.getImageUrl(),
|
|
131
143
|
onInput: t[2] ||= (t) => e.value.image = t.target.value,
|
|
132
144
|
class: "article-picker-image"
|
|
133
|
-
}, null, 40,
|
|
134
|
-
e.value.imageId === "00000000-0000-0000-0000-000000000000" ? (
|
|
135
|
-
|
|
145
|
+
}, null, 40, B)]),
|
|
146
|
+
e.value.imageId === "00000000-0000-0000-0000-000000000000" ? (h(), c("div", V, " Nincs kép kiválasztva! ")) : s("", !0),
|
|
147
|
+
l("div", H, [f(p, {
|
|
136
148
|
type: "normal",
|
|
137
149
|
label: "Kép Választás",
|
|
138
150
|
onClick: e.selectImage
|
|
139
|
-
}, null, 8, ["onClick"]),
|
|
151
|
+
}, null, 8, ["onClick"]), f(p, {
|
|
140
152
|
type: "error",
|
|
141
153
|
label: "Eltávolítás",
|
|
142
154
|
onClick: e.resetImage
|
|
143
155
|
}, null, 8, ["onClick"])])
|
|
144
156
|
]),
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
},
|
|
157
|
+
e.isImageModalOpen ? (h(), o(m, {
|
|
158
|
+
key: 0,
|
|
159
|
+
title: "Kép választás",
|
|
160
|
+
"modal-class": "article-picker-image-modal",
|
|
161
|
+
onClose: e.closeImageModal
|
|
162
|
+
}, {
|
|
163
|
+
default: x(() => [l("hvg-search-image", {
|
|
164
|
+
causationid: e.imageCausationId,
|
|
165
|
+
viewid: e.imageViewId,
|
|
166
|
+
aeurl: e.searchArticleApiUrl,
|
|
167
|
+
environment: e.environment,
|
|
168
|
+
selectonly: "true"
|
|
169
|
+
}, null, 8, U)]),
|
|
170
|
+
_: 1
|
|
171
|
+
}, 8, ["onClose"])) : s("", !0),
|
|
172
|
+
e.isArticleModalOpen ? (h(), o(m, {
|
|
173
|
+
key: 1,
|
|
174
|
+
title: "Cikk választás",
|
|
175
|
+
"modal-class": "article-picker-article-modal",
|
|
176
|
+
onClose: e.closeArticleModal
|
|
177
|
+
}, {
|
|
178
|
+
header: x(() => [t[14] ||= l("h3", { class: "c-modal-title" }, "Cikk választás", -1), l("div", W, [
|
|
179
|
+
f(p, {
|
|
180
|
+
label: "Mégsem",
|
|
181
|
+
outline: "",
|
|
182
|
+
onClick: e.closeArticleModal
|
|
183
|
+
}, null, 8, ["onClick"]),
|
|
184
|
+
f(p, {
|
|
185
|
+
type: "success",
|
|
186
|
+
disabled: !e.articlePickerRef?.selectedItems?.length,
|
|
187
|
+
onClick: t[3] ||= (t) => e.articlePickerRef?.confirmSelection?.()
|
|
188
|
+
}, {
|
|
189
|
+
default: x(() => [...t[12] ||= [d("Kész", -1)]]),
|
|
190
|
+
_: 1
|
|
191
|
+
}, 8, ["disabled"]),
|
|
192
|
+
l("button", {
|
|
193
|
+
type: "button",
|
|
194
|
+
class: "c-modal-close",
|
|
195
|
+
"aria-label": "Bezárás",
|
|
196
|
+
onClick: t[4] ||= (...t) => e.closeArticleModal && e.closeArticleModal(...t)
|
|
197
|
+
}, [...t[13] ||= [l("i", { class: "fa-solid fa-xmark" }, null, -1)]])
|
|
198
|
+
])]),
|
|
199
|
+
footer: x(() => [f(p, {
|
|
200
|
+
label: "Mégsem",
|
|
201
|
+
outline: "",
|
|
202
|
+
onClick: e.closeArticleModal
|
|
203
|
+
}, null, 8, ["onClick"]), f(p, {
|
|
204
|
+
type: "success",
|
|
205
|
+
disabled: !e.articlePickerRef?.selectedItems?.length,
|
|
206
|
+
onClick: t[6] ||= (t) => e.articlePickerRef?.confirmSelection?.()
|
|
207
|
+
}, {
|
|
208
|
+
default: x(() => [...t[15] ||= [d("Kész", -1)]]),
|
|
209
|
+
_: 1
|
|
210
|
+
}, 8, ["disabled"])]),
|
|
211
|
+
default: x(() => [l("search-posts-widget", {
|
|
212
|
+
id: e.articleCausationId,
|
|
213
|
+
ref: "articlePickerRef",
|
|
214
|
+
selector: "true",
|
|
215
|
+
apiurl: e.searchArticleApiUrl,
|
|
216
|
+
wpurl: "",
|
|
217
|
+
searchurl: "",
|
|
218
|
+
onSelected: t[5] ||= (...t) => e.onArticlePicked && e.onArticlePicked(...t)
|
|
219
|
+
}, null, 40, G)]),
|
|
220
|
+
_: 1
|
|
221
|
+
}, 8, ["onClose"])) : s("", !0)
|
|
160
222
|
])]),
|
|
161
223
|
key: "0"
|
|
162
|
-
} : void 0,
|
|
224
|
+
} : void 0, _(e.elementSlots, (t, n) => ({
|
|
163
225
|
name: n,
|
|
164
|
-
fn:
|
|
226
|
+
fn: x(() => [v(e.$slots, n, { el$: e.el$ }, () => [(h(), o(b(t), { el$: e.el$ }, null, 8, ["el$"]))], !0)])
|
|
165
227
|
}))]), 1024);
|
|
166
228
|
}
|
|
167
|
-
var q = /*#__PURE__*/
|
|
229
|
+
var q = /*#__PURE__*/ r(S, [["render", K], ["__scopeId", "data-v-0afb93e7"]]);
|
|
168
230
|
//#endregion
|
|
169
231
|
export { q as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admins-components173.js","names":[],"sources":["../src/vueformelements/ArticlePickerElement.vue"],"sourcesContent":["<!-- eslint-disable-next-line vue/block-lang -->\n<script>\nimport { defineElement } from '@vueform/vueform'\nimport { ref, onUnmounted, onMounted, nextTick } from 'vue'\nimport { apeConfig } from '@/vueformelements/config/ArticlePickerElementConfig'\nimport { ipeConfig } from '@/vueformelements/config/ImagePickerElementConfig'\nimport Button from '@/components/Button.vue'\n\nexport default defineElement({\n components: { Button },\n name: 'ArticlePickerElement',\n\n setup(props, context) {\n const environment = ipeConfig.environment\n const searchImageWidgetUrl = ipeConfig.searchImageWidgetUrl\n const imageBaseUrl = ipeConfig.imageBaseUrl\n const imageViewId = ipeConfig.imageViewId\n\n const searchArticleApiUrl = apeConfig.searchArticleApiUrl\n const searchArticleWidgetUrl = apeConfig.searchArticleWidgetUrl\n const showIds = apeConfig.showIds\n\n const imageCausationId = ref(new Date().getTime().toString() + 'image')\n const articleCausationId = ref(new Date().getTime().toString() + 'article')\n\n const EMPTYGUID = '00000000-0000-0000-0000-000000000000'\n\n const { value } = context.element\n\n const selectImage = (event) => {\n event.preventDefault()\n\n nextTick(() => {\n document.getElementById(imageCausationId.value).showModal()\n })\n }\n\n const selectArticle = () => {\n nextTick(() => {\n document.getElementById(articleCausationId.value).showModal()\n })\n }\n\n const resetImage = (event) => {\n event.preventDefault()\n value.value.imageId = EMPTYGUID\n }\n\n const addScript = (url) => {\n if (!document.querySelector(`script[src=\"${url}\"]`)) {\n const script = document.createElement('script')\n script.type = 'text/javascript'\n script.src = url\n document.head.appendChild(script)\n }\n }\n\n const getImageUrl = () => {\n return `${imageBaseUrl}/${imageViewId}/${value.value.imageId}.img`\n }\n\n addScript(searchImageWidgetUrl)\n addScript(searchArticleWidgetUrl)\n\n const ImageSelectedHandler = (e) => {\n if (e.detail.causationid == imageCausationId.value) {\n document.getElementById(imageCausationId.value).close()\n value.value.imageId = e.detail.image.id\n }\n }\n\n onUnmounted(() => {\n window.removeEventListener('image-selected', ImageSelectedHandler, false)\n })\n\n onMounted(() => {\n window.addEventListener('image-selected', ImageSelectedHandler)\n\n window.addEventListener('search_posts_selected', (e) => {\n if (e.detail.id == articleCausationId.value) {\n if (e.detail.result && e.detail.posts.length > 0) {\n value.value.id = e.detail.posts[0].id\n value.value.siteId = e.detail.posts[0].siteId\n value.value.title = e.detail.posts[0].title\n value.value.lead = e.detail.posts[0].lead\n const imageId = e.detail.posts[0].featuredImage\n value.value.imageId = imageId || EMPTYGUID\n }\n\n document.getElementById(articleCausationId.value).close()\n }\n })\n })\n\n return {\n imageViewId,\n imageBaseUrl,\n imageCausationId: imageCausationId,\n articleCausationId: articleCausationId,\n searchImageWidgetUrl,\n environment,\n searchArticleApiUrl,\n selectImage,\n selectArticle,\n resetImage,\n addScript,\n value,\n getImageUrl,\n showIds,\n }\n },\n})\n</script>\n\n<template>\n <ElementLayout>\n <template v-if=\"value\" #element>\n <div class=\"ac-component\">\n <div class=\"article-picker-container\">\n <div class=\"article-picker-section\">\n <Button type=\"normal\" label=\"Cikk Választás\" @click=\"selectArticle\" />\n </div>\n\n <template v-if=\"showIds\">\n <div class=\"article-picker-ids\">\n <div class=\"article-picker-id-field\">\n <label for=\"articleId\" class=\"c-label\">Cikk azonosító</label>\n <div class=\"c-input-row\">\n <input\n type=\"text\"\n id=\"articleId\"\n class=\"c-input\"\n placeholder=\"Cikk azonosító\"\n disabled\n :value=\"value.id\"\n />\n </div>\n </div>\n <div class=\"article-picker-id-field\">\n <label for=\"articleSiteId\" class=\"c-label\">Site azonosító</label>\n <div class=\"c-input-row\">\n <input\n type=\"text\"\n id=\"articleSiteId\"\n class=\"c-input\"\n placeholder=\"Site azonosító\"\n disabled\n :value=\"value.siteId\"\n />\n </div>\n </div>\n </div>\n </template>\n\n <div class=\"article-picker-section\">\n <label for=\"articleTitle\" class=\"c-label\">Címe</label>\n <div class=\"c-input-row\">\n <textarea\n id=\"articleTitle\"\n class=\"c-input\"\n placeholder=\"Címe\"\n :value=\"value.title\"\n @input=\"value.title = $event.target.value\"\n ></textarea>\n </div>\n </div>\n\n <div class=\"article-picker-section\">\n <label for=\"articleLead\" class=\"c-label\">Lead</label>\n <div class=\"c-input-row\">\n <textarea\n id=\"articleLead\"\n class=\"c-input\"\n placeholder=\"Lead\"\n :value=\"value.lead\"\n @input=\"value.lead = $event.target.value\"\n ></textarea>\n </div>\n </div>\n\n <div class=\"article-picker-section\">\n <label class=\"c-label\">Kép</label>\n <img\n alt=\"\"\n :src=\"getImageUrl()\"\n @input=\"value.image = $event.target.value\"\n class=\"article-picker-image\"\n />\n </div>\n\n <div\n v-if=\"value.imageId === '00000000-0000-0000-0000-000000000000'\"\n class=\"article-picker-no-image\"\n >\n Nincs kép kiválasztva!\n </div>\n\n <div class=\"article-picker-buttons\">\n <Button type=\"normal\" label=\"Kép Választás\" @click=\"selectImage\" />\n <Button type=\"error\" label=\"Eltávolítás\" @click=\"resetImage\" />\n </div>\n </div>\n\n <dialog :id=\"imageCausationId\">\n <hvg-search-image\n :causationid=\"imageCausationId\"\n :viewid=\"imageViewId\"\n :aeurl=\"searchArticleApiUrl\"\n :environment=\"environment\"\n selectonly=\"true\"\n ></hvg-search-image>\n </dialog>\n <dialog :id=\"articleCausationId\">\n <search-posts-widget\n :id=\"articleCausationId\"\n selector=\"true\"\n :apiurl=\"searchArticleApiUrl\"\n wpurl=\"\"\n searchurl=\"\"\n style=\"height: 100%\"\n ></search-posts-widget>\n </dialog>\n </div>\n </template>\n\n <template v-for=\"(component, slot) in elementSlots\" #[slot]>\n <!-- eslint-disable-next-line vue/valid-attribute-name -->\n <slot :name=\"slot\" :el$=\"el$\">\n <component :is=\"component\" :el$=\"el$\" />\n </slot>\n </template>\n </ElementLayout>\n</template>\n\n<style scoped>\n.article-picker-container {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n}\n\n.article-picker-section {\n display: flex;\n flex-direction: column;\n gap: 0.375rem;\n}\n\n.article-picker-ids {\n display: flex;\n gap: 0.5rem;\n width: 100%;\n}\n\n.article-picker-id-field {\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: 0.375rem;\n}\n\n.article-picker-image {\n height: 200px;\n max-width: 100%;\n border-radius: var(--ac-field-border-radius);\n object-fit: cover;\n}\n\n.article-picker-no-image {\n padding: var(--ac-input-padding);\n color: var(--neutral-500);\n font-size: var(--ac-field-font-size);\n}\n\n.article-picker-buttons {\n display: flex;\n gap: 0.5rem;\n width: 100%;\n}\n</style>\n"],"mappings":";;;;;;;;AAQA,IAAK,IAAa,EAAW;CAC3B,YAAY,EAAE,QAAA,EAAO;CACrB,MAAM;CAEN,MAAM,GAAO,GAAS;EACpB,IAAM,IAAc,EAAU,aACxB,IAAuB,EAAU,sBACjC,IAAe,EAAU,cACzB,IAAc,EAAU,aAExB,IAAsB,EAAU,qBAChC,IAAyB,EAAU,wBACnC,IAAU,EAAU,SAEpB,IAAmB,mBAAI,IAAI,KAAK,EAAA,CAAE,QAAQ,CAAC,CAAC,SAAS,IAAI,OAAO,GAChE,IAAqB,mBAAI,IAAI,KAAK,EAAA,CAAE,QAAQ,CAAC,CAAC,SAAS,IAAI,SAAS,GAEpE,IAAY,wCAEZ,EAAE,aAAU,EAAQ,SAEpB,KAAe,MAAU;GAG7B,AAFA,EAAM,eAAe,GAErB,QAAe;IACb,SAAS,eAAe,EAAiB,KAAK,CAAC,CAAC,UAAU;GAC5D,CAAC;EACH,GAEM,UAAsB;GAC1B,QAAe;IACb,SAAS,eAAe,EAAmB,KAAK,CAAC,CAAC,UAAU;GAC9D,CAAC;EACH,GAEM,KAAc,MAAU;GAE5B,AADA,EAAM,eAAe,GACrB,EAAM,MAAM,UAAU;EACxB,GAEM,KAAa,MAAQ;GACzB,IAAI,CAAC,SAAS,cAAc,eAAe,EAAI,GAAG,GAAG;IACnD,IAAM,IAAS,SAAS,cAAc,QAAQ;IAG9C,AAFA,EAAO,OAAO,mBACd,EAAO,MAAM,GACb,SAAS,KAAK,YAAY,CAAM;GAClC;EACF,GAEM,UACG,GAAG,EAAa,GAAG,EAAY,GAAG,EAAM,MAAM,QAAQ;EAI/D,AADA,EAAU,CAAoB,GAC9B,EAAU,CAAsB;EAEhC,IAAM,KAAwB,MAAM;GAClC,AAAI,EAAE,OAAO,eAAe,EAAiB,UAC3C,SAAS,eAAe,EAAiB,KAAK,CAAC,CAAC,MAAM,GACtD,EAAM,MAAM,UAAU,EAAE,OAAO,MAAM;EAEzC;EAyBA,OAvBA,QAAkB;GAChB,OAAO,oBAAoB,kBAAkB,GAAsB,EAAK;EAC1E,CAAC,GAED,QAAgB;GAGd,AAFA,OAAO,iBAAiB,kBAAkB,CAAoB,GAE9D,OAAO,iBAAiB,0BAA0B,MAAM;IACtD,IAAI,EAAE,OAAO,MAAM,EAAmB,OAAO;KAC3C,IAAI,EAAE,OAAO,UAAU,EAAE,OAAO,MAAM,SAAS,GAAG;MAIhD,AAHA,EAAM,MAAM,KAAK,EAAE,OAAO,MAAM,EAAE,CAAC,IACnC,EAAM,MAAM,SAAS,EAAE,OAAO,MAAM,EAAE,CAAC,QACvC,EAAM,MAAM,QAAQ,EAAE,OAAO,MAAM,EAAE,CAAC,OACtC,EAAM,MAAM,OAAO,EAAE,OAAO,MAAM,EAAE,CAAC;MACrC,IAAM,IAAU,EAAE,OAAO,MAAM,EAAE,CAAC;MAClC,EAAM,MAAM,UAAU,KAAW;KACnC;KAEA,SAAS,eAAe,EAAmB,KAAK,CAAC,CAAC,MAAM;IAC1D;GACF,CAAC;EACH,CAAC,GAEM;GACL;GACA;GACkB;GACE;GACpB;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF;CACF;AACF,CAAC,GAMU,IAAA,EAAA,OAAM,eAAc,GAClB,IAAA,EAAA,OAAM,2BAA0B,GAC9B,IAAA,EAAA,OAAM,yBAAwB;;CAK5B,OAAM;GACJ,IAAA,EAAA,OAAM,0BAAyB,GAE7B,IAAA,EAAA,OAAM,cAAa,kBAWrB,IAAA,EAAA,OAAM,0BAAyB,GAE7B,IAAA,EAAA,OAAM,cAAa,kBAczB,IAAA,EAAA,OAAM,yBAAwB,GAE5B,IAAA,EAAA,OAAM,cAAa,kBAWrB,IAAA,EAAA,OAAM,yBAAwB,GAE5B,IAAA,EAAA,OAAM,cAAa,kBAWrB,IAAA,EAAA,OAAM,yBAAwB;;CAYjC,OAAM;GAKH,IAAA,EAAA,OAAM,yBAAwB;;;;;;;;CAlF3C,OAAA,EAAA,GAAA,EAoHgB,GAAA,MAAA,EAAA,EAAA,GAAA,EAAA,GAAA,CAnHE,EAAA,QAAA;EAAQ,MAAA;EACtB,IAAA,QAyGM,CAzGN,EAyGM,OAzGN,GAyGM;GAxGJ,EAmFM,OAnFN,GAmFM;IAlFJ,EAEM,OAFN,GAEM,CADJ,EAAsE,GAAA;KAA9D,MAAK;KAAS,OAAM;KAAkB,SAAO,EAAA;;IAGvC,EAAA,WACd,EAAA,GAAA,EA2BM,OA3BN,GA2BM,CA1BJ,EAYM,OAZN,GAYM,CAXJ,AAAA,EAAA,OAAA,EAA6D,SAAA;KAAtD,KAAI;KAAY,OAAM;IAAU,GAAA,kBAAc,EAAA,GACrD,EASM,OATN,GASM,CARJ,EAOE,SAAA;KANA,MAAK;KACL,IAAG;KACH,OAAM;KACN,aAAY;KACZ,UAAA;KACC,OAAO,EAAA,MAAM;IAIpB,GAAA,MAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,EAYM,OAZN,GAYM,CAXJ,AAAA,EAAA,OAAA,EAAiE,SAAA;KAA1D,KAAI;KAAgB,OAAM;IAAU,GAAA,kBAAc,EAAA,GACzD,EASM,OATN,GASM,CARJ,EAOE,SAAA;KANA,MAAK;KACL,IAAG;KACH,OAAM;KACN,aAAY;KACZ,UAAA;KACC,OAAO,EAAA,MAAM;;IAOxB,EAWM,OAXN,GAWM,CAVJ,AAAA,EAAA,OAAA,EAAsD,SAAA;KAA/C,KAAI;KAAe,OAAM;IAAU,GAAA,QAAI,EAAA,GAC9C,EAQM,OARN,GAQM,CAPJ,EAMY,YAAA;KALV,IAAG;KACH,OAAM;KACN,aAAY;KACX,OAAO,EAAA,MAAM;KACb,SAAK,AAAA,EAAA,QAAA,MAAE,EAAA,MAAM,QAAQ,EAAO,OAAO;;IAK1C,EAWM,OAXN,GAWM,CAVJ,AAAA,EAAA,OAAA,EAAqD,SAAA;KAA9C,KAAI;KAAc,OAAM;IAAU,GAAA,QAAI,EAAA,GAC7C,EAQM,OARN,GAQM,CAPJ,EAMY,YAAA;KALV,IAAG;KACH,OAAM;KACN,aAAY;KACX,OAAO,EAAA,MAAM;KACb,SAAK,AAAA,EAAA,QAAA,MAAE,EAAA,MAAM,OAAO,EAAO,OAAO;;IAKzC,EAQM,OARN,GAQM,CAPJ,AAAA,EAAA,OAAA,EAAkC,SAAA,EAA3B,OAAM,UAAS,GAAC,OAAG,EAAA,GAC1B,EAKE,OAAA;KAJA,KAAI;KACH,KAAK,EAAA,YAAW;KAChB,SAAK,AAAA,EAAA,QAAA,MAAE,EAAA,MAAM,QAAQ,EAAO,OAAO;KACpC,OAAM;;IAKF,EAAA,MAAM,YAAO,0CADrB,EAAA,GAAA,EAKM,OALN,GAGC,0BAED,KAAA,EAAA,IAAA,EAAA;IAEA,EAGM,OAHN,GAGM,CAFJ,EAAmE,GAAA;KAA3D,MAAK;KAAS,OAAM;KAAiB,SAAO,EAAA;IACpD,GAAA,MAAA,GAAA,CAAA,SAAA,CAAA,GAAA,EAA+D,GAAA;KAAvD,MAAK;KAAQ,OAAM;KAAe,SAAO,EAAA;;;GAIrD,EAQS,UAAA,EARA,IAAI,EAAA,iBAAgB,GAAA,CAC3B,EAMoB,oBAAA;IALjB,aAAa,EAAA;IACb,QAAQ,EAAA;IACR,OAAO,EAAA;IACP,aAAa,EAAA;IACd,YAAW;;GAGf,EASS,UAAA,EATA,IAAI,EAAA,mBAAkB,GAAA,CAC7B,EAOuB,uBAAA;IANpB,IAAI,EAAA;IACL,UAAS;IACR,QAAQ,EAAA;IACT,OAAM;IACN,WAAU;IACV,OAAA,EAAA,QAAA,OAAA;;;;CAM8B,IAAA,KAAA,GAAA,EAAA,EAAA,eAApB,GAAW;EAAwB,MAAA;EAEnD,IAAA,QAEO,CAFP,EAEO,EAAA,QAFM,GAAI,EAAG,KAAK,EAAA,IAAG,SAErB,EADL,EAAA,GAAA,EAAwC,EAAxB,CAAS,GAAA,EAAG,KAAK,EAAA,IAAG,GAAA,MAAA,GAAA,CAAA,KAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA"}
|
|
1
|
+
{"version":3,"file":"admins-components173.js","names":[],"sources":["../src/vueformelements/ArticlePickerElement.vue"],"sourcesContent":["<!-- eslint-disable-next-line vue/block-lang -->\n<script>\nimport { defineElement } from '@vueform/vueform'\nimport { ref, onUnmounted, onMounted } from 'vue'\nimport { apeConfig } from '@/vueformelements/config/ArticlePickerElementConfig'\nimport { ipeConfig } from '@/vueformelements/config/ImagePickerElementConfig'\nimport Button from '@/components/Button.vue'\nimport Modal from '@/components/Modal.vue'\n\nexport default defineElement({\n components: { Button, Modal },\n name: 'ArticlePickerElement',\n\n setup(props, context) {\n const environment = ipeConfig.environment\n const searchImageWidgetUrl = ipeConfig.searchImageWidgetUrl\n const imageBaseUrl = ipeConfig.imageBaseUrl\n const imageViewId = ipeConfig.imageViewId\n\n const searchArticleApiUrl = apeConfig.searchArticleApiUrl\n const searchArticleWidgetUrl = apeConfig.searchArticleWidgetUrl\n const showIds = apeConfig.showIds\n\n const imageCausationId = ref(new Date().getTime().toString() + 'image')\n const articleCausationId = ref(new Date().getTime().toString() + 'article')\n\n const isImageModalOpen = ref(false)\n const isArticleModalOpen = ref(false)\n\n const EMPTYGUID = '00000000-0000-0000-0000-000000000000'\n\n const { value } = context.element\n\n const selectImage = (event) => {\n event.preventDefault()\n isImageModalOpen.value = true\n }\n\n const selectArticle = () => {\n isArticleModalOpen.value = true\n }\n\n const closeImageModal = () => {\n isImageModalOpen.value = false\n }\n\n const closeArticleModal = () => {\n isArticleModalOpen.value = false\n }\n\n const resetImage = (event) => {\n event.preventDefault()\n value.value.imageId = EMPTYGUID\n }\n\n const addScript = (url) => {\n if (!document.querySelector(`script[src=\"${url}\"]`)) {\n const script = document.createElement('script')\n script.type = 'text/javascript'\n script.src = url\n document.head.appendChild(script)\n }\n }\n\n const getImageUrl = () => {\n return `${imageBaseUrl}/${imageViewId}/${value.value.imageId}.img`\n }\n\n addScript(searchImageWidgetUrl)\n addScript(searchArticleWidgetUrl)\n\n const imageSelectedHandler = (e) => {\n if (e.detail.causationid == imageCausationId.value) {\n isImageModalOpen.value = false\n value.value.imageId = e.detail.image.id\n }\n }\n\n const postSelectedHandler = (e) => {\n if (e.detail.id == articleCausationId.value) {\n if (e.detail.result && e.detail.posts.length > 0) {\n value.value.id = e.detail.posts[0].id\n value.value.siteId = e.detail.posts[0].siteId\n value.value.title = e.detail.posts[0].title\n value.value.lead = e.detail.posts[0].lead\n const imageId = e.detail.posts[0].featuredImage\n value.value.imageId = imageId || EMPTYGUID\n }\n\n closeArticleModal()\n }\n }\n\n onUnmounted(() => {\n window.removeEventListener('image-selected', imageSelectedHandler, false)\n window.removeEventListener('search_posts_selected', postSelectedHandler, false)\n })\n\n onMounted(() => {\n window.addEventListener('image-selected', imageSelectedHandler)\n\n window.addEventListener('search_posts_selected', postSelectedHandler)\n })\n const onArticlePicked = (payload) => {\n // payload is the PostSelectionResult from SearchPosts\n console.log('picked:', payload);\n closeArticleModal();\n }\n\n const articlePickerRef = ref(null)\n return {\n imageViewId,\n imageBaseUrl,\n imageCausationId: imageCausationId,\n articleCausationId: articleCausationId,\n searchImageWidgetUrl,\n environment,\n searchArticleApiUrl,\n selectImage,\n onArticlePicked,\n articlePickerRef,\n selectArticle,\n closeImageModal,\n closeArticleModal,\n isImageModalOpen,\n isArticleModalOpen,\n resetImage,\n addScript,\n value,\n getImageUrl,\n showIds,\n }\n }\n})\n</script>\n\n<template>\n <ElementLayout>\n <template v-if=\"value\" #element>\n <div class=\"ac-component\">\n <div class=\"article-picker-container\">\n <div class=\"article-picker-section\">\n <Button type=\"normal\" label=\"Cikk Választás\" @click=\"selectArticle\" />\n </div>\n\n <template v-if=\"showIds\">\n <div class=\"article-picker-ids\">\n <div class=\"article-picker-id-field\">\n <label for=\"articleId\" class=\"c-label\">Cikk azonosító</label>\n <div class=\"c-input-row\">\n <input\n type=\"text\"\n id=\"articleId\"\n class=\"c-input\"\n placeholder=\"Cikk azonosító\"\n disabled\n :value=\"value.id\"\n />\n </div>\n </div>\n <div class=\"article-picker-id-field\">\n <label for=\"articleSiteId\" class=\"c-label\">Site azonosító</label>\n <div class=\"c-input-row\">\n <input\n type=\"text\"\n id=\"articleSiteId\"\n class=\"c-input\"\n placeholder=\"Site azonosító\"\n disabled\n :value=\"value.siteId\"\n />\n </div>\n </div>\n </div>\n </template>\n\n <div class=\"article-picker-section\">\n <label for=\"articleTitle\" class=\"c-label\">Címe</label>\n <div class=\"c-input-row\">\n <textarea\n id=\"articleTitle\"\n class=\"c-input\"\n placeholder=\"Címe\"\n :value=\"value.title\"\n @input=\"value.title = $event.target.value\"\n ></textarea>\n </div>\n </div>\n\n <div class=\"article-picker-section\">\n <label for=\"articleLead\" class=\"c-label\">Lead</label>\n <div class=\"c-input-row\">\n <textarea\n id=\"articleLead\"\n class=\"c-input\"\n placeholder=\"Lead\"\n :value=\"value.lead\"\n @input=\"value.lead = $event.target.value\"\n ></textarea>\n </div>\n </div>\n\n <div class=\"article-picker-section\">\n <label class=\"c-label\">Kép</label>\n <img\n alt=\"\"\n :src=\"getImageUrl()\"\n @input=\"value.image = $event.target.value\"\n class=\"article-picker-image\"\n />\n </div>\n\n <div\n v-if=\"value.imageId === '00000000-0000-0000-0000-000000000000'\"\n class=\"article-picker-no-image\"\n >\n Nincs kép kiválasztva!\n </div>\n\n <div class=\"article-picker-buttons\">\n <Button type=\"normal\" label=\"Kép Választás\" @click=\"selectImage\" />\n <Button type=\"error\" label=\"Eltávolítás\" @click=\"resetImage\" />\n </div>\n </div>\n\n <Modal\n v-if=\"isImageModalOpen\"\n title=\"Kép választás\"\n modal-class=\"article-picker-image-modal\"\n @close=\"closeImageModal\"\n >\n\n <hvg-search-image\n :causationid=\"imageCausationId\"\n :viewid=\"imageViewId\"\n :aeurl=\"searchArticleApiUrl\"\n :environment=\"environment\"\n selectonly=\"true\"\n ></hvg-search-image>\n </Modal>\n <Modal\n v-if=\"isArticleModalOpen\"\n title=\"Cikk választás\"\n modal-class=\"article-picker-article-modal\"\n @close=\"closeArticleModal\"\n >\n <template #header>\n <h3 class=\"c-modal-title\">Cikk választás</h3>\n <div class=\"article-picker-modal-header-actions\">\n <Button label=\"Mégsem\" outline @click=\"closeArticleModal\" />\n <Button\n type=\"success\"\n :disabled=\"!articlePickerRef?.selectedItems?.length\"\n @click=\"articlePickerRef?.confirmSelection?.()\"\n >Kész</Button>\n <button\n type=\"button\"\n class=\"c-modal-close\"\n aria-label=\"Bezárás\"\n @click=\"closeArticleModal\"\n >\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n </template>\n\n <search-posts-widget\n :id=\"articleCausationId\"\n ref=\"articlePickerRef\"\n selector=\"true\"\n :apiurl=\"searchArticleApiUrl\"\n wpurl=\"\"\n searchurl=\"\"\n @selected=\"onArticlePicked\"\n ></search-posts-widget>\n\n <template #footer>\n <Button label=\"Mégsem\" outline @click=\"closeArticleModal\" />\n <Button\n type=\"success\"\n :disabled=\"!articlePickerRef?.selectedItems?.length\"\n @click=\"articlePickerRef?.confirmSelection?.()\"\n >Kész</Button>\n </template>\n </Modal>\n </div>\n </template>\n\n <template v-for=\"(component, slot) in elementSlots\" #[slot]>\n <!-- eslint-disable-next-line vue/valid-attribute-name -->\n <slot :name=\"slot\" :el$=\"el$\">\n <component :is=\"component\" :el$=\"el$\" />\n </slot>\n </template>\n </ElementLayout>\n</template>\n\n<style scoped>\n.article-picker-container {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n}\n\n.article-picker-section {\n display: flex;\n flex-direction: column;\n gap: 0.375rem;\n}\n\n.article-picker-ids {\n display: flex;\n gap: 0.5rem;\n width: 100%;\n}\n\n.article-picker-id-field {\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: 0.375rem;\n}\n\n.article-picker-image {\n height: 200px;\n max-width: 100%;\n border-radius: var(--ac-field-border-radius);\n object-fit: cover;\n}\n\n.article-picker-no-image {\n padding: var(--ac-input-padding);\n color: var(--neutral-500);\n font-size: var(--ac-field-font-size);\n}\n\n.article-picker-buttons {\n display: flex;\n gap: 0.5rem;\n width: 100%;\n}\n\n.article-picker-image-modal {\n width: 90vw;\n max-width: 1200px;\n height: 80vh;\n}\n\n.article-picker-image-modal :deep(.c-modal-body),\n.article-picker-article-modal :deep(.c-modal-body) {\n padding: 0;\n}\n\n.article-picker-article-modal {\n width: 95vw;\n max-width: 1600px;\n height: 90vh;\n}\n\n.article-picker-modal-header-actions {\n margin-left: auto;\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n</style>\n"],"mappings":"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"}
|
|
@@ -34,7 +34,7 @@ var f = { class: "ac-component" }, p = ["aria-label"], m = {
|
|
|
34
34
|
"aria-modal": "true",
|
|
35
35
|
"aria-label": a.title
|
|
36
36
|
}, [
|
|
37
|
-
a.title ? (l(), r("div", m, [i("h3", h, d(a.title), 1), i("button", {
|
|
37
|
+
s.$slots.header || a.title ? (l(), r("div", m, [u(s.$slots, "header", {}, () => [i("h3", h, d(a.title), 1)]), i("button", {
|
|
38
38
|
type: "button",
|
|
39
39
|
class: "c-modal-close",
|
|
40
40
|
"aria-label": "Bezárás",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admins-components38.js","names":["$slots"],"sources":["../src/components/Modal.vue"],"sourcesContent":["<script lang=\"ts\">\nexport interface ModalProps {\n title?: string\n modalClass?: string\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { onMounted, onUnmounted } from 'vue'\n\ndefineProps<ModalProps>()\n\nconst emit = defineEmits<{\n close: []\n}>()\n\nfunction onBackdropClick(e: MouseEvent) {\n if (e.target === e.currentTarget) {\n emit('close')\n }\n}\n\nfunction onKeydown(e: KeyboardEvent) {\n if (e.key === 'Escape') {\n emit('close')\n }\n}\n\nonMounted(() => {\n document.addEventListener('keydown', onKeydown)\n})\n\nonUnmounted(() => {\n document.removeEventListener('keydown', onKeydown)\n})\n</script>\n\n<template>\n <Teleport to=\"body\">\n <div class=\"ac-component\">\n <div class=\"c-modal-backdrop\" @mousedown=\"onBackdropClick\">\n <div\n class=\"c-modal\"\n :class=\"modalClass\"\n role=\"dialog\"\n aria-modal=\"true\"\n :aria-label=\"title\"\n >\n <div class=\"c-modal-header\"
|
|
1
|
+
{"version":3,"file":"admins-components38.js","names":["$slots"],"sources":["../src/components/Modal.vue"],"sourcesContent":["<script lang=\"ts\">\nexport interface ModalProps {\n title?: string\n modalClass?: string\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { onMounted, onUnmounted } from 'vue'\n\ndefineProps<ModalProps>()\n\nconst emit = defineEmits<{\n close: []\n}>()\n\nfunction onBackdropClick(e: MouseEvent) {\n if (e.target === e.currentTarget) {\n emit('close')\n }\n}\n\nfunction onKeydown(e: KeyboardEvent) {\n if (e.key === 'Escape') {\n emit('close')\n }\n}\n\nonMounted(() => {\n document.addEventListener('keydown', onKeydown)\n})\n\nonUnmounted(() => {\n document.removeEventListener('keydown', onKeydown)\n})\n</script>\n\n<template>\n <Teleport to=\"body\">\n <div class=\"ac-component\">\n <div class=\"c-modal-backdrop\" @mousedown=\"onBackdropClick\">\n <div\n class=\"c-modal\"\n :class=\"modalClass\"\n role=\"dialog\"\n aria-modal=\"true\"\n :aria-label=\"title\"\n >\n <div v-if=\"$slots.header || title\" class=\"c-modal-header\">\n <slot name=\"header\">\n <h3 class=\"c-modal-title\">{{ title }}</h3>\n </slot>\n <button type=\"button\" class=\"c-modal-close\" aria-label=\"Bezárás\" @click=\"emit('close')\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n <div class=\"c-modal-body c-scroll\">\n <slot />\n </div>\n <div v-if=\"$slots.footer\" class=\"c-modal-footer\">\n <slot name=\"footer\" />\n </div>\n </div>\n </div>\n </div>\n </Teleport>\n</template>\n\n<style lang=\"scss\" src=\"@/styles/components/modal.scss\"></style>\n"],"mappings":";;;;;;;;;;;;;;;;EAYA,IAAM,IAAO;EAIb,SAAS,EAAgB,GAAe;GACtC,AAAI,EAAE,WAAW,EAAE,iBACjB,EAAK,OAAO;EAEhB;EAEA,SAAS,EAAU,GAAkB;GACnC,AAAI,EAAE,QAAQ,YACZ,EAAK,OAAO;EAEhB;SAEA,QAAgB;GACd,SAAS,iBAAiB,WAAW,CAAS;EAChD,CAAC,GAED,QAAkB;GAChB,SAAS,oBAAoB,WAAW,CAAS;EACnD,CAAC,cAIC,EAAA,GAAA,EA2BW,GAAA,EA3BD,IAAG,OAAM,GAAA,CACjB,EAyBM,OAzBN,GAyBM,CAxBJ,EAuBM,OAAA;GAvBD,OAAM;GAAoB,aAAW;EACxC,GAAA,CAAA,EAqBM,OAAA;GApBJ,OAAK,EAAA,CAAC,WACE,EAAA,UAAU,CAAA;GAClB,MAAK;GACL,cAAW;GACV,cAAY,EAAA;;GAEFA,EAAAA,OAAO,UAAU,EAAA,SAA5B,EAAA,GAAA,EAOM,OAPN,GAOM,CANJ,EAEO,EAAA,QAAA,UAAA,CAAA,SAAA,CADL,EAA0C,MAA1C,GAA0C,EAAb,EAAA,KAAK,GAAA,CAAA,CAAA,CAAA,GAEpC,EAES,UAAA;IAFD,MAAK;IAAS,OAAM;IAAgB,cAAW;IAAW,SAAK,AAAA,EAAA,QAAA,MAAE,EAAI,OAAA;GAC3E,GAAA,CAAA,GAAA,AAAA,EAAA,OAAA,CAAA,EAAiC,KAAA,EAA9B,OAAM,oBAAmB,GAAA,MAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,EAAA,IAAA,EAAA;GAGhC,EAEM,OAFN,GAEM,CADJ,EAAQ,EAAA,QAAA,SAAA,CAAA,CAAA;GAECA,EAAAA,OAAO,UAAlB,EAAA,GAAA,EAEM,OAFN,GAEM,CADJ,EAAsB,EAAA,QAAA,QAAA,CAAA,CAAA,KAAA,EAAA,IAAA,EAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admins-components40.js","names":[],"sources":["../src/components/Modal.vue"],"sourcesContent":["<script lang=\"ts\">\nexport interface ModalProps {\n title?: string\n modalClass?: string\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { onMounted, onUnmounted } from 'vue'\n\ndefineProps<ModalProps>()\n\nconst emit = defineEmits<{\n close: []\n}>()\n\nfunction onBackdropClick(e: MouseEvent) {\n if (e.target === e.currentTarget) {\n emit('close')\n }\n}\n\nfunction onKeydown(e: KeyboardEvent) {\n if (e.key === 'Escape') {\n emit('close')\n }\n}\n\nonMounted(() => {\n document.addEventListener('keydown', onKeydown)\n})\n\nonUnmounted(() => {\n document.removeEventListener('keydown', onKeydown)\n})\n</script>\n\n<template>\n <Teleport to=\"body\">\n <div class=\"ac-component\">\n <div class=\"c-modal-backdrop\" @mousedown=\"onBackdropClick\">\n <div\n class=\"c-modal\"\n :class=\"modalClass\"\n role=\"dialog\"\n aria-modal=\"true\"\n :aria-label=\"title\"\n >\n <div class=\"c-modal-header\"
|
|
1
|
+
{"version":3,"file":"admins-components40.js","names":[],"sources":["../src/components/Modal.vue"],"sourcesContent":["<script lang=\"ts\">\nexport interface ModalProps {\n title?: string\n modalClass?: string\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { onMounted, onUnmounted } from 'vue'\n\ndefineProps<ModalProps>()\n\nconst emit = defineEmits<{\n close: []\n}>()\n\nfunction onBackdropClick(e: MouseEvent) {\n if (e.target === e.currentTarget) {\n emit('close')\n }\n}\n\nfunction onKeydown(e: KeyboardEvent) {\n if (e.key === 'Escape') {\n emit('close')\n }\n}\n\nonMounted(() => {\n document.addEventListener('keydown', onKeydown)\n})\n\nonUnmounted(() => {\n document.removeEventListener('keydown', onKeydown)\n})\n</script>\n\n<template>\n <Teleport to=\"body\">\n <div class=\"ac-component\">\n <div class=\"c-modal-backdrop\" @mousedown=\"onBackdropClick\">\n <div\n class=\"c-modal\"\n :class=\"modalClass\"\n role=\"dialog\"\n aria-modal=\"true\"\n :aria-label=\"title\"\n >\n <div v-if=\"$slots.header || title\" class=\"c-modal-header\">\n <slot name=\"header\">\n <h3 class=\"c-modal-title\">{{ title }}</h3>\n </slot>\n <button type=\"button\" class=\"c-modal-close\" aria-label=\"Bezárás\" @click=\"emit('close')\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n <div class=\"c-modal-body c-scroll\">\n <slot />\n </div>\n <div v-if=\"$slots.footer\" class=\"c-modal-footer\">\n <slot name=\"footer\" />\n </div>\n </div>\n </div>\n </div>\n </Teleport>\n</template>\n\n<style lang=\"scss\" src=\"@/styles/components/modal.scss\"></style>\n"],"mappings":""}
|
|
@@ -9,10 +9,7 @@ import { Fragment as o, computed as s, createCommentVNode as c, createElementBlo
|
|
|
9
9
|
var T = { key: 0 }, E = ["title", "onClick"], D = {
|
|
10
10
|
key: 1,
|
|
11
11
|
class: "c-actions-header"
|
|
12
|
-
}, O = { key: 0 }, k = ["onClick"], A = {
|
|
13
|
-
key: 1,
|
|
14
|
-
class: "c-actions-cell"
|
|
15
|
-
}, j = {
|
|
12
|
+
}, O = { key: 0 }, k = ["onClick"], A = ["onClick"], j = {
|
|
16
13
|
key: 1,
|
|
17
14
|
class: "c-actions-wrap"
|
|
18
15
|
}, M = { key: 1 }, N = { class: "c-table__loading-row" }, P = ["colspan"], F = { class: "c-table__loading-wrap" }, I = {
|
|
@@ -114,8 +111,10 @@ var T = { key: 0 }, E = ["title", "onClick"], D = {
|
|
|
114
111
|
key: u,
|
|
115
112
|
class: h({
|
|
116
113
|
"is-selected": i.config.selectableAttr && S(V).has(t[i.config.selectableAttr]),
|
|
117
|
-
"is-striped": i.settings.striped && u % 2 == 1
|
|
118
|
-
|
|
114
|
+
"is-striped": i.settings.striped && u % 2 == 1,
|
|
115
|
+
pointer: i.config.selectableAttr
|
|
116
|
+
}),
|
|
117
|
+
onClick: (e) => i.config.selectableAttr ? S(U)(t) : void 0
|
|
119
118
|
}, [
|
|
120
119
|
i.config.selectableAttr ? (_(), l("td", {
|
|
121
120
|
key: 0,
|
|
@@ -125,7 +124,7 @@ var T = { key: 0 }, E = ["title", "onClick"], D = {
|
|
|
125
124
|
"model-value": !!S(V).has(t[i.config.selectableAttr]),
|
|
126
125
|
"onUpdate:modelValue": (e) => S(U)(t),
|
|
127
126
|
onClick: s[0] ||= w(() => {}, ["stop"])
|
|
128
|
-
}, null, 8, ["model-value", "onUpdate:modelValue"])], 8,
|
|
127
|
+
}, null, 8, ["model-value", "onUpdate:modelValue"])], 8, A)) : c("", !0),
|
|
129
128
|
(_(!0), l(o, null, y(G.value, (e) => (_(), l("td", {
|
|
130
129
|
key: e.property,
|
|
131
130
|
class: h(["c-table__cell", [e.class, { "primary-col": e.primary }]])
|
|
@@ -141,7 +140,11 @@ var T = { key: 0 }, E = ["title", "onClick"], D = {
|
|
|
141
140
|
"col",
|
|
142
141
|
"copy"
|
|
143
142
|
])])], 2))), 128)),
|
|
144
|
-
i.config.actions ? (_(), l("td",
|
|
143
|
+
i.config.actions ? (_(), l("td", {
|
|
144
|
+
key: 1,
|
|
145
|
+
class: "c-actions-cell",
|
|
146
|
+
onClick: s[1] ||= w(() => {}, ["stop"])
|
|
147
|
+
}, [r.$slots.actions ? b(r.$slots, "actions", {
|
|
145
148
|
key: 0,
|
|
146
149
|
item: t,
|
|
147
150
|
index: u,
|
|
@@ -150,7 +153,7 @@ var T = { key: 0 }, E = ["title", "onClick"], D = {
|
|
|
150
153
|
actions: i.config.actions,
|
|
151
154
|
item: t
|
|
152
155
|
}, null, 8, ["actions", "item"])]))])) : c("", !0)
|
|
153
|
-
],
|
|
156
|
+
], 10, k))), 128))])) : (_(), l("tbody", M, [u("tr", N, [u("td", {
|
|
154
157
|
colspan: G.value.length + +!!i.config.selectableAttr + +!!i.config.actions,
|
|
155
158
|
class: "c-table__loading-cell"
|
|
156
159
|
}, [u("div", F, [f(t, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admins-components68.js","names":["$slots"],"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, onMounted, watch, nextTick } from 'vue'\nimport Checkbox from '@/components/Checkbox.vue'\nimport { useSelection } from '@/composables/useSelection'\nimport { dataTableSettingsDefaults } from '@/types/data-list'\nimport type { Column, DataListConfig, DataTableSettings, Sort } 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 initialSort?: { key: string; direction: SortDirection } | null\n }>(),\n {\n settings: () => ({ ...dataTableSettingsDefaults }),\n loading: false,\n initialSort: null,\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 tableWrapperRef = ref<HTMLElement | null>(null)\n\nwatch(\n () => props.loading,\n async (isLoading) => {\n if (isLoading) {\n await nextTick()\n tableWrapperRef.value?.scrollTo({ top: 0, behavior: 'smooth' })\n }\n },\n)\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 getSortConfig(col: Column): Sort | null {\n if (!col.sort) return null\n return typeof col.sort === 'boolean' ? null : col.sort\n}\n\nfunction isSortable(col: Column): boolean {\n return !!col.sort\n}\n\nfunction handleSort(col: Column) {\n const key = col.property\n const direction: SortDirection =\n activeSort.value?.key === key && activeSort.value.direction === 'asc' ? 'desc' : 'asc'\n\n activeSort.value = { key, direction }\n getSortConfig(col)?.callback?.(key, direction)\n\n emit('sort-change', { key, direction })\n}\n\nfunction applyInitialSort(sort: { key: string; direction: SortDirection } | null | undefined) {\n if (!sort) {\n if (activeSort.value !== null) activeSort.value = null\n return\n }\n const col = props.config.columns.find((c) => c.property === sort.key)\n if (!col) return\n if (activeSort.value?.key === sort.key && activeSort.value.direction === sort.direction) return\n activeSort.value = { key: sort.key, direction: sort.direction }\n getSortConfig(col)?.callback?.(sort.key, sort.direction)\n emit('sort-change', { key: sort.key, direction: sort.direction })\n}\n\nonMounted(() => applyInitialSort(props.initialSort))\nwatch(\n () => props.initialSort,\n (s) => {\n if (!s) {\n if (activeSort.value !== null) activeSort.value = null\n return\n }\n const col = props.config.columns.find((c) => c.property === s.key)\n if (!col) return\n if (activeSort.value?.key === s.key && activeSort.value.direction === s.direction) return\n activeSort.value = { key: s.key, direction: s.direction }\n },\n)\n</script>\n\n<template>\n <div\n ref=\"tableWrapperRef\"\n class=\"ac-component c-table-wrapper list-table-view\"\n :class=\"{ 'is-loading': loading }\"\n >\n <!-- :style=\"{ '--action-count': config.actions?.length ?? 0 }\" -->\n <table class=\"c-table\" :class=\"{ 'is-compact': settings.compact }\">\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': isSortable(col),\n 'c-sortable--sorted': activeSort?.key === col.property,\n 'primary-col': col.primary,\n },\n col.headerClass,\n ]\"\n :title=\"isSortable(col) ? `Sorrendezés ${col.label} alapján` : undefined\"\n @click=\"isSortable(col) ? handleSort(col) : undefined\"\n >\n {{ !col.hideHeader ? col.label : '' }}\n\n <span\n v-if=\"isSortable(col)\"\n class=\"c-sort-icon fa-solid\"\n :class=\"{\n 'fa-sort': activeSort?.key !== col.property,\n 'fa-sort-down': 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 <slot :name=\"`cell:${col.property}`\" :item=\"item\" :col=\"col\">\n <DataCell :item=\"item\" :col=\"col\" :copy=\"!col.hideCopyToClipboard\" />\n </slot>\n </td>\n\n <td v-if=\"config.actions\" class=\"c-actions-cell\">\n <slot\n v-if=\"$slots.actions\"\n name=\"actions\"\n :item=\"item\"\n :index=\"index\"\n :actions=\"config.actions\"\n />\n <div v-else 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</template>\n\n<style lang=\"scss\" src=\"@/styles/components/data-table/data-table.scss\"></style>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"admins-components68.js","names":["$slots"],"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, onMounted, watch, nextTick } from 'vue'\nimport Checkbox from '@/components/Checkbox.vue'\nimport { useSelection } from '@/composables/useSelection'\nimport { dataTableSettingsDefaults } from '@/types/data-list'\nimport type { Column, DataListConfig, DataTableSettings, Sort } 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 initialSort?: { key: string; direction: SortDirection } | null\n }>(),\n {\n settings: () => ({ ...dataTableSettingsDefaults }),\n loading: false,\n initialSort: null,\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 tableWrapperRef = ref<HTMLElement | null>(null)\n\nwatch(\n () => props.loading,\n async (isLoading) => {\n if (isLoading) {\n await nextTick()\n tableWrapperRef.value?.scrollTo({ top: 0, behavior: 'smooth' })\n }\n },\n)\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 getSortConfig(col: Column): Sort | null {\n if (!col.sort) return null\n return typeof col.sort === 'boolean' ? null : col.sort\n}\n\nfunction isSortable(col: Column): boolean {\n return !!col.sort\n}\n\nfunction handleSort(col: Column) {\n const key = col.property\n const direction: SortDirection =\n activeSort.value?.key === key && activeSort.value.direction === 'asc' ? 'desc' : 'asc'\n\n activeSort.value = { key, direction }\n getSortConfig(col)?.callback?.(key, direction)\n\n emit('sort-change', { key, direction })\n}\n\nfunction applyInitialSort(sort: { key: string; direction: SortDirection } | null | undefined) {\n if (!sort) {\n if (activeSort.value !== null) activeSort.value = null\n return\n }\n const col = props.config.columns.find((c) => c.property === sort.key)\n if (!col) return\n if (activeSort.value?.key === sort.key && activeSort.value.direction === sort.direction) return\n activeSort.value = { key: sort.key, direction: sort.direction }\n getSortConfig(col)?.callback?.(sort.key, sort.direction)\n emit('sort-change', { key: sort.key, direction: sort.direction })\n}\n\nonMounted(() => applyInitialSort(props.initialSort))\nwatch(\n () => props.initialSort,\n (s) => {\n if (!s) {\n if (activeSort.value !== null) activeSort.value = null\n return\n }\n const col = props.config.columns.find((c) => c.property === s.key)\n if (!col) return\n if (activeSort.value?.key === s.key && activeSort.value.direction === s.direction) return\n activeSort.value = { key: s.key, direction: s.direction }\n },\n)\n</script>\n\n<template>\n <div\n ref=\"tableWrapperRef\"\n class=\"ac-component c-table-wrapper list-table-view\"\n :class=\"{ 'is-loading': loading }\"\n >\n <!-- :style=\"{ '--action-count': config.actions?.length ?? 0 }\" -->\n <table class=\"c-table\" :class=\"{ 'is-compact': settings.compact }\">\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': isSortable(col),\n 'c-sortable--sorted': activeSort?.key === col.property,\n 'primary-col': col.primary,\n },\n col.headerClass,\n ]\"\n :title=\"isSortable(col) ? `Sorrendezés ${col.label} alapján` : undefined\"\n @click=\"isSortable(col) ? handleSort(col) : undefined\"\n >\n {{ !col.hideHeader ? col.label : '' }}\n\n <span\n v-if=\"isSortable(col)\"\n class=\"c-sort-icon fa-solid\"\n :class=\"{\n 'fa-sort': activeSort?.key !== col.property,\n 'fa-sort-down': 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 'pointer': config.selectableAttr,\n }\"\n @click=\"config.selectableAttr ? toggleRow(item) : undefined\"\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 <slot :name=\"`cell:${col.property}`\" :item=\"item\" :col=\"col\">\n <DataCell :item=\"item\" :col=\"col\" :copy=\"!col.hideCopyToClipboard\" />\n </slot>\n </td>\n\n <td v-if=\"config.actions\" class=\"c-actions-cell\" @click.stop>\n <slot\n v-if=\"$slots.actions\"\n name=\"actions\"\n :item=\"item\"\n :index=\"index\"\n :actions=\"config.actions\"\n />\n <div v-else 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</template>\n\n<style lang=\"scss\" src=\"@/styles/components/data-table/data-table.scss\"></style>\n"],"mappings":"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"}
|