admins-components 9.0.82 → 9.0.84
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-components170.js.map +1 -1
- package/dist/admins-components173.js +108 -82
- package/dist/admins-components173.js.map +1 -1
- package/dist/admins-components38.js +27 -24
- package/dist/admins-components38.js.map +1 -1
- package/dist/admins-components40.js.map +1 -1
- package/dist/admins-components51.js +78 -83
- package/dist/admins-components51.js.map +1 -1
- package/dist/admins-components52.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/admins-components71.js +38 -53
- package/dist/admins-components71.js.map +1 -1
- package/dist/admins-components73.js.map +1 -1
- package/dist/src/components/Modal.vue.d.ts +2 -0
- package/dist/src/vueformelements/config/ArticlePickerElementConfig.d.ts +1 -0
- package/dist/styles/components/data-table/data-cards.scss_vue_type_style_index_0_src_true_lang.css +1 -1
- package/dist/styles/components/modal.scss_vue_type_style_index_0_src_true_lang.css +1 -1
- package/dist/test.html +163 -0
- package/dist/test81.html +161 -0
- package/dist/vueformelements/ArticlePickerElement.vue_vue_type_style_index_0_scoped_56a4bfd6_lang.css +1 -0
- package/dist/widget/dist/hvg-search-image-style.css +1 -0
- package/dist/widget/dist/hvg-search-image.es.js +204437 -0
- package/dist/widget/dist/hvg-search-image.umd.js +506 -0
- package/dist/widget/dist/search-posts-widget.css +2 -1
- package/dist/widget/dist/search-posts-widget.es.js +9959 -11185
- package/dist/widget/dist/search-posts-widget.umd.js +5 -31
- package/dist/widget.css +1 -1
- package/package.json +1 -1
- package/dist/vueformelements/ArticlePickerElement.vue_vue_type_style_index_0_scoped_54217a66_lang.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admins-components170.js","names":[],"sources":["../src/vueformelements/config/ArticlePickerElementConfig.ts"],"sourcesContent":["export interface ArticlePickerElementConfig {\n searchArticleApiUrl: string\n searchArticleWidgetUrl: string\n showIds?: boolean\n}\n\nexport let apeConfig: ArticlePickerElementConfig = (window as any).config?.articlePicker || {}\n\nexport function configureArticlePickerElement(apec: ArticlePickerElementConfig) {\n apeConfig = {\n ...apeConfig,\n ...apec,\n }\n return apeConfig\n}\n"],"mappings":";
|
|
1
|
+
{"version":3,"file":"admins-components170.js","names":[],"sources":["../src/vueformelements/config/ArticlePickerElementConfig.ts"],"sourcesContent":["export interface ArticlePickerElementConfig {\n searchArticleApiUrl: string\n searchArticleWidgetUrl: string\n showIds?: boolean\n // Where the search-posts-widget renders its confirm/cancel buttons\n // inside its own modal. Defaults to 'footer'.\n articleModalActionsPosition?: 'header' | 'footer' | 'both'\n}\n\nexport let apeConfig: ArticlePickerElementConfig = (window as any).config?.articlePicker || {}\n\nexport function configureArticlePickerElement(apec: ArticlePickerElementConfig) {\n apeConfig = {\n ...apeConfig,\n ...apec,\n }\n return apeConfig\n}\n"],"mappings":";AASA,IAAW,IAAyC,OAAe,QAAQ,iBAAiB,CAAC;AAE7F,SAAgB,EAA8B,GAAkC;CAK9E,OAJA,IAAY;EACV,GAAG;EACH,GAAG;CACL,GACO;AACT"}
|
|
@@ -1,64 +1,74 @@
|
|
|
1
|
-
import './vueformelements/ArticlePickerElement.
|
|
1
|
+
import './vueformelements/ArticlePickerElement.vue_vue_type_style_index_0_scoped_56a4bfd6_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, createVNode as d, onMounted as f, onUnmounted as p, openBlock as m, ref as h, renderList as g, renderSlot as _, resolveComponent as v, resolveDynamicComponent as y, withCtx as b } from "vue";
|
|
9
10
|
//#region src/vueformelements/ArticlePickerElement.vue
|
|
10
|
-
var x =
|
|
11
|
-
components: {
|
|
11
|
+
var x = 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.articleEditorUrl, o = a.searchImageWidgetUrl, s = a.imageBaseUrl, c = a.imageViewId, l = i.searchArticleApiUrl, u = i.searchArticleWidgetUrl, d = i.showIds, m = i.articleModalActionsPosition ?? "footer", g = h((/* @__PURE__ */ new Date()).getTime().toString() + "image"), _ = h((/* @__PURE__ */ new Date()).getTime().toString() + "article"), v = h(!1), y = h(!1), b = "00000000-0000-0000-0000-000000000000", { value: x } = t.element, S = (e) => {
|
|
19
|
+
e.preventDefault(), v.value = !0;
|
|
20
|
+
}, C = () => {
|
|
21
|
+
y.value = !0;
|
|
22
|
+
}, w = () => {
|
|
23
|
+
v.value = !1;
|
|
24
|
+
}, T = () => {
|
|
25
|
+
y.value = !1;
|
|
26
|
+
}, E = (e) => {
|
|
27
|
+
e.preventDefault(), x.value.imageId = b;
|
|
28
|
+
}, D = (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
|
+
}, O = () => `${s}/${c}/${x.value.imageId}.img`;
|
|
34
|
+
D(o), D(u);
|
|
35
|
+
let k = (e) => {
|
|
36
|
+
e.detail.causationid == g.value && (v.value = !1, x.value.imageId = e.detail.image.id);
|
|
37
|
+
}, A = (e) => {
|
|
38
|
+
if (e.detail.id == _.value) {
|
|
39
|
+
if (e.detail.result && e.detail.posts.length > 0) {
|
|
40
|
+
x.value.id = e.detail.posts[0].id, x.value.siteId = e.detail.posts[0].siteId, x.value.title = e.detail.posts[0].title, x.value.lead = e.detail.posts[0].lead;
|
|
41
|
+
let t = e.detail.posts[0].featuredImage;
|
|
42
|
+
x.value.imageId = t || b;
|
|
43
|
+
}
|
|
44
|
+
T();
|
|
45
|
+
}
|
|
33
46
|
};
|
|
34
47
|
return p(() => {
|
|
35
|
-
window.removeEventListener("image-selected",
|
|
48
|
+
window.removeEventListener("image-selected", k, !1), window.removeEventListener("search_posts_selected", A, !1);
|
|
36
49
|
}), f(() => {
|
|
37
|
-
window.addEventListener("image-selected",
|
|
38
|
-
if (e.detail.id == g.value) {
|
|
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();
|
|
45
|
-
}
|
|
46
|
-
});
|
|
50
|
+
window.addEventListener("image-selected", k), window.addEventListener("search_posts_selected", A);
|
|
47
51
|
}), {
|
|
48
|
-
imageViewId:
|
|
49
|
-
imageBaseUrl:
|
|
50
|
-
imageCausationId:
|
|
51
|
-
articleCausationId:
|
|
52
|
-
searchImageWidgetUrl:
|
|
52
|
+
imageViewId: c,
|
|
53
|
+
imageBaseUrl: s,
|
|
54
|
+
imageCausationId: g,
|
|
55
|
+
articleCausationId: _,
|
|
56
|
+
searchImageWidgetUrl: o,
|
|
53
57
|
environment: n,
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
58
|
+
articleEditorUrl: r,
|
|
59
|
+
searchArticleApiUrl: l,
|
|
60
|
+
articleModalActionsPosition: m,
|
|
61
|
+
selectImage: S,
|
|
62
|
+
selectArticle: C,
|
|
63
|
+
closeImageModal: w,
|
|
64
|
+
closeArticleModal: T,
|
|
65
|
+
isImageModalOpen: v,
|
|
66
|
+
isArticleModalOpen: y,
|
|
67
|
+
resetImage: E,
|
|
68
|
+
addScript: D,
|
|
69
|
+
value: x,
|
|
70
|
+
getImageUrl: O,
|
|
71
|
+
showIds: d
|
|
62
72
|
};
|
|
63
73
|
}
|
|
64
74
|
}), S = { class: "ac-component" }, C = { class: "article-picker-container" }, w = { class: "article-picker-section" }, T = {
|
|
@@ -67,103 +77,119 @@ var x = t({
|
|
|
67
77
|
}, E = { class: "article-picker-id-field" }, D = { class: "c-input-row" }, O = ["value"], k = { class: "article-picker-id-field" }, A = { class: "c-input-row" }, j = ["value"], M = { class: "article-picker-section" }, N = { class: "c-input-row" }, P = ["value"], F = { class: "article-picker-section" }, I = { class: "c-input-row" }, L = ["value"], R = { class: "article-picker-section" }, z = ["src"], B = {
|
|
68
78
|
key: 1,
|
|
69
79
|
class: "article-picker-no-image"
|
|
70
|
-
}, V = { class: "article-picker-buttons" }, H = [
|
|
80
|
+
}, V = { class: "article-picker-buttons" }, H = [
|
|
71
81
|
"causationid",
|
|
72
82
|
"viewid",
|
|
73
83
|
"aeurl",
|
|
74
84
|
"environment"
|
|
75
|
-
],
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
85
|
+
], U = [
|
|
86
|
+
"id",
|
|
87
|
+
"actions-position",
|
|
88
|
+
"apiurl"
|
|
89
|
+
];
|
|
90
|
+
function W(e, t, n, r, i, a) {
|
|
91
|
+
let f = v("Button"), p = v("Modal"), h = v("ElementLayout");
|
|
92
|
+
return m(), o(h, null, u({ _: 2 }, [e.value ? {
|
|
79
93
|
name: "element",
|
|
80
|
-
fn: b(() => [
|
|
81
|
-
|
|
82
|
-
|
|
94
|
+
fn: b(() => [l("div", S, [
|
|
95
|
+
l("div", C, [
|
|
96
|
+
l("div", w, [d(f, {
|
|
83
97
|
type: "normal",
|
|
84
98
|
label: "Cikk Választás",
|
|
85
99
|
onClick: e.selectArticle
|
|
86
100
|
}, null, 8, ["onClick"])]),
|
|
87
|
-
e.showIds ? (m(),
|
|
101
|
+
e.showIds ? (m(), c("div", T, [l("div", E, [t[4] ||= l("label", {
|
|
88
102
|
for: "articleId",
|
|
89
103
|
class: "c-label"
|
|
90
|
-
}, "Cikk azonosító", -1),
|
|
104
|
+
}, "Cikk azonosító", -1), l("div", D, [l("input", {
|
|
91
105
|
type: "text",
|
|
92
106
|
id: "articleId",
|
|
93
107
|
class: "c-input",
|
|
94
108
|
placeholder: "Cikk azonosító",
|
|
95
109
|
disabled: "",
|
|
96
110
|
value: e.value.id
|
|
97
|
-
}, null, 8, O)])]),
|
|
111
|
+
}, null, 8, O)])]), l("div", k, [t[5] ||= l("label", {
|
|
98
112
|
for: "articleSiteId",
|
|
99
113
|
class: "c-label"
|
|
100
|
-
}, "Site azonosító", -1),
|
|
114
|
+
}, "Site azonosító", -1), l("div", A, [l("input", {
|
|
101
115
|
type: "text",
|
|
102
116
|
id: "articleSiteId",
|
|
103
117
|
class: "c-input",
|
|
104
118
|
placeholder: "Site azonosító",
|
|
105
119
|
disabled: "",
|
|
106
120
|
value: e.value.siteId
|
|
107
|
-
}, null, 8, j)])])])) :
|
|
108
|
-
|
|
121
|
+
}, null, 8, j)])])])) : s("", !0),
|
|
122
|
+
l("div", M, [t[6] ||= l("label", {
|
|
109
123
|
for: "articleTitle",
|
|
110
124
|
class: "c-label"
|
|
111
|
-
}, "Címe", -1),
|
|
125
|
+
}, "Címe", -1), l("div", N, [l("textarea", {
|
|
112
126
|
id: "articleTitle",
|
|
113
127
|
class: "c-input",
|
|
114
128
|
placeholder: "Címe",
|
|
115
129
|
value: e.value.title,
|
|
116
130
|
onInput: t[0] ||= (t) => e.value.title = t.target.value
|
|
117
131
|
}, null, 40, P)])]),
|
|
118
|
-
|
|
132
|
+
l("div", F, [t[7] ||= l("label", {
|
|
119
133
|
for: "articleLead",
|
|
120
134
|
class: "c-label"
|
|
121
|
-
}, "Lead", -1),
|
|
135
|
+
}, "Lead", -1), l("div", I, [l("textarea", {
|
|
122
136
|
id: "articleLead",
|
|
123
137
|
class: "c-input",
|
|
124
138
|
placeholder: "Lead",
|
|
125
139
|
value: e.value.lead,
|
|
126
140
|
onInput: t[1] ||= (t) => e.value.lead = t.target.value
|
|
127
141
|
}, null, 40, L)])]),
|
|
128
|
-
|
|
142
|
+
l("div", R, [t[8] ||= l("label", { class: "c-label" }, "Kép", -1), l("img", {
|
|
129
143
|
alt: "",
|
|
130
144
|
src: e.getImageUrl(),
|
|
131
145
|
onInput: t[2] ||= (t) => e.value.image = t.target.value,
|
|
132
146
|
class: "article-picker-image"
|
|
133
147
|
}, null, 40, z)]),
|
|
134
|
-
e.value.imageId === "00000000-0000-0000-0000-000000000000" ? (m(),
|
|
135
|
-
|
|
148
|
+
e.value.imageId === "00000000-0000-0000-0000-000000000000" ? (m(), c("div", B, " Nincs kép kiválasztva! ")) : s("", !0),
|
|
149
|
+
l("div", V, [d(f, {
|
|
136
150
|
type: "normal",
|
|
137
151
|
label: "Kép Választás",
|
|
138
152
|
onClick: e.selectImage
|
|
139
|
-
}, null, 8, ["onClick"]),
|
|
153
|
+
}, null, 8, ["onClick"]), d(f, {
|
|
140
154
|
type: "error",
|
|
141
155
|
label: "Eltávolítás",
|
|
142
156
|
onClick: e.resetImage
|
|
143
157
|
}, null, 8, ["onClick"])])
|
|
144
158
|
]),
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
159
|
+
e.isImageModalOpen ? (m(), o(p, {
|
|
160
|
+
key: 0,
|
|
161
|
+
title: "Kép választás",
|
|
162
|
+
"modal-class": "article-picker-image-modal",
|
|
163
|
+
onClose: e.closeImageModal
|
|
164
|
+
}, {
|
|
165
|
+
default: b(() => [l("hvg-search-image", {
|
|
166
|
+
causationid: e.imageCausationId,
|
|
167
|
+
viewid: e.imageViewId,
|
|
168
|
+
aeurl: e.articleEditorUrl,
|
|
169
|
+
environment: e.environment,
|
|
170
|
+
selectonly: "true"
|
|
171
|
+
}, null, 8, H)]),
|
|
172
|
+
_: 1
|
|
173
|
+
}, 8, ["onClose"])) : s("", !0),
|
|
174
|
+
e.isArticleModalOpen ? (m(), c("search-posts-widget", {
|
|
175
|
+
key: 1,
|
|
153
176
|
id: e.articleCausationId,
|
|
154
|
-
selector: "
|
|
177
|
+
selector: "",
|
|
178
|
+
modal: "",
|
|
179
|
+
"modal-title": "Cikk választása",
|
|
180
|
+
"actions-position": e.articleModalActionsPosition,
|
|
155
181
|
apiurl: e.searchArticleApiUrl,
|
|
156
182
|
wpurl: "",
|
|
157
183
|
searchurl: "",
|
|
158
|
-
|
|
159
|
-
}, null,
|
|
184
|
+
onClose: t[3] ||= (...t) => e.closeArticleModal && e.closeArticleModal(...t)
|
|
185
|
+
}, null, 40, U)) : s("", !0)
|
|
160
186
|
])]),
|
|
161
187
|
key: "0"
|
|
162
188
|
} : void 0, g(e.elementSlots, (t, n) => ({
|
|
163
189
|
name: n,
|
|
164
|
-
fn: b(() => [_(e.$slots, n, { el$: e.el$ }, () => [(m(),
|
|
190
|
+
fn: b(() => [_(e.$slots, n, { el$: e.el$ }, () => [(m(), o(y(t), { el$: e.el$ }, null, 8, ["el$"]))], !0)])
|
|
165
191
|
}))]), 1024);
|
|
166
192
|
}
|
|
167
|
-
var
|
|
193
|
+
var G = /*#__PURE__*/ r(x, [["render", W], ["__scopeId", "data-v-56a4bfd6"]]);
|
|
168
194
|
//#endregion
|
|
169
|
-
export {
|
|
195
|
+
export { G 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":"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"}
|
|
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 articleEditorUrl = ipeConfig.articleEditorUrl\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 const articleModalActionsPosition = apeConfig.articleModalActionsPosition ?? 'footer'\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 // Image picker posts `image-selected` (custom event from the\n // hvg-search-image widget). Article picker posts\n // `search_posts_selected` from its own `fireSelections`.\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 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 window.addEventListener('search_posts_selected', postSelectedHandler)\n })\n\n return {\n imageViewId,\n imageBaseUrl,\n imageCausationId,\n articleCausationId,\n searchImageWidgetUrl,\n environment,\n articleEditorUrl,\n searchArticleApiUrl,\n articleModalActionsPosition,\n selectImage,\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 <hvg-search-image\n :causationid=\"imageCausationId\"\n :viewid=\"imageViewId\"\n :aeurl=\"articleEditorUrl\"\n :environment=\"environment\"\n selectonly=\"true\"\n ></hvg-search-image>\n </Modal>\n\n <!--\n The widget owns its own modal (dialog + header/footer actions)\n when `modal` is set, so no outer Modal wrapper is needed here -\n the widget renders as an opaque custom element and can't expose\n internal refs/slots to an outer Modal component. Selecting \"Kész\"\n fires the `search_posts_selected` window event consumed by\n `postSelectedHandler` above; `close` is emitted for both confirm\n and cancel/backdrop-dismiss.\n -->\n <search-posts-widget\n v-if=\"isArticleModalOpen\"\n :id=\"articleCausationId\"\n selector\n modal\n modal-title=\"Cikk választása\"\n :actions-position=\"articleModalActionsPosition\"\n :apiurl=\"searchArticleApiUrl\"\n wpurl=\"\"\n searchurl=\"\"\n @close=\"closeArticleModal\"\n ></search-posts-widget>\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 padding: 0;\n}\n</style>\n"],"mappings":"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"}
|
|
@@ -1,49 +1,52 @@
|
|
|
1
|
-
import { Teleport as e, createBlock as t, createCommentVNode as n, createElementBlock as r, createElementVNode as i, defineComponent as a, normalizeClass as o, onMounted as s, onUnmounted as c, openBlock as l,
|
|
1
|
+
import { Teleport as e, createBlock as t, createCommentVNode as n, createElementBlock as r, createElementVNode as i, defineComponent as a, normalizeClass as o, onMounted as s, onUnmounted as c, openBlock as l, ref as u, renderSlot as d, toDisplayString as f } from "vue";
|
|
2
2
|
//#region src/components/Modal.vue?vue&type=script&setup=true&lang.ts
|
|
3
|
-
var
|
|
3
|
+
var p = { class: "ac-component" }, m = ["aria-label"], h = {
|
|
4
4
|
key: 0,
|
|
5
5
|
class: "c-modal-header"
|
|
6
|
-
},
|
|
6
|
+
}, g = { class: "c-modal-header__content" }, _ = { class: "c-modal-title" }, v = { class: "c-modal-body c-scroll" }, y = {
|
|
7
7
|
key: 1,
|
|
8
8
|
class: "c-modal-footer"
|
|
9
|
-
},
|
|
9
|
+
}, b = /*@__PURE__*/ a({
|
|
10
10
|
__name: "Modal",
|
|
11
11
|
props: {
|
|
12
12
|
title: {},
|
|
13
13
|
modalClass: {}
|
|
14
14
|
},
|
|
15
15
|
emits: ["close"],
|
|
16
|
-
setup(a, { emit:
|
|
17
|
-
let
|
|
18
|
-
function
|
|
19
|
-
e.target ===
|
|
16
|
+
setup(a, { emit: b }) {
|
|
17
|
+
let x = b, S = u(null);
|
|
18
|
+
function C(e) {
|
|
19
|
+
e.target === S.value && x("close");
|
|
20
20
|
}
|
|
21
|
-
function
|
|
22
|
-
e.
|
|
21
|
+
function w(e) {
|
|
22
|
+
e.target instanceof Node && !S.value?.contains(e.target) && x("close");
|
|
23
|
+
}
|
|
24
|
+
function T(e) {
|
|
25
|
+
e.preventDefault(), x("close");
|
|
23
26
|
}
|
|
24
27
|
return s(() => {
|
|
25
|
-
document.addEventListener("
|
|
28
|
+
S.value?.showModal(), document.addEventListener("mousedown", w);
|
|
26
29
|
}), c(() => {
|
|
27
|
-
document.removeEventListener("
|
|
28
|
-
}), (s, c) => (l(), t(e, { to: "body" }, [i("div",
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}, [i("div", {
|
|
30
|
+
document.removeEventListener("mousedown", w);
|
|
31
|
+
}), (s, c) => (l(), t(e, { to: "body" }, [i("div", p, [i("dialog", {
|
|
32
|
+
ref_key: "dialogElement",
|
|
33
|
+
ref: S,
|
|
32
34
|
class: o(["c-modal", a.modalClass]),
|
|
33
|
-
role: "dialog",
|
|
34
35
|
"aria-modal": "true",
|
|
35
|
-
"aria-label": a.title
|
|
36
|
+
"aria-label": a.title,
|
|
37
|
+
onMousedown: C,
|
|
38
|
+
onCancel: T
|
|
36
39
|
}, [
|
|
37
|
-
a.title ? (l(), r("div",
|
|
40
|
+
s.$slots.header || a.title ? (l(), r("header", h, [i("div", g, [d(s.$slots, "header", {}, () => [i("h3", _, f(a.title), 1)])]), i("button", {
|
|
38
41
|
type: "button",
|
|
39
42
|
class: "c-modal-close",
|
|
40
43
|
"aria-label": "Bezárás",
|
|
41
|
-
onClick: c[0] ||= (e) =>
|
|
44
|
+
onClick: c[0] ||= (e) => x("close")
|
|
42
45
|
}, [...c[1] ||= [i("i", { class: "fa-solid fa-xmark" }, null, -1)]])])) : n("", !0),
|
|
43
|
-
i("div",
|
|
44
|
-
s.$slots.footer ? (l(), r("
|
|
45
|
-
],
|
|
46
|
+
i("div", v, [d(s.$slots, "default")]),
|
|
47
|
+
s.$slots.footer ? (l(), r("footer", y, [d(s.$slots, "footer")])) : n("", !0)
|
|
48
|
+
], 42, m)])]));
|
|
46
49
|
}
|
|
47
50
|
});
|
|
48
51
|
//#endregion
|
|
49
|
-
export {
|
|
52
|
+
export { b as default };
|
|
@@ -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 ===
|
|
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, ref } from 'vue'\n\ndefineProps<ModalProps>()\n\nconst emit = defineEmits<{\n close: []\n}>()\n\nconst dialogElement = ref<HTMLDialogElement | null>(null)\n\nfunction onBackdropClick(e: MouseEvent) {\n if (e.target === dialogElement.value) {\n emit('close')\n }\n}\n\nfunction onDocumentMousedown(e: MouseEvent) {\n if (e.target instanceof Node && !dialogElement.value?.contains(e.target)) {\n emit('close')\n }\n}\n\nfunction onCancel(e: Event) {\n e.preventDefault()\n emit('close')\n}\n\nonMounted(() => {\n dialogElement.value?.showModal()\n document.addEventListener('mousedown', onDocumentMousedown)\n})\n\nonUnmounted(() => {\n document.removeEventListener('mousedown', onDocumentMousedown)\n})\n</script>\n\n<template>\n <Teleport to=\"body\">\n <div class=\"ac-component\">\n <dialog\n ref=\"dialogElement\"\n class=\"c-modal\"\n :class=\"modalClass\"\n aria-modal=\"true\"\n :aria-label=\"title\"\n @mousedown=\"onBackdropClick\"\n @cancel=\"onCancel\"\n >\n <header v-if=\"$slots.header || title\" class=\"c-modal-header\">\n <div class=\"c-modal-header__content\">\n <slot name=\"header\">\n <h3 class=\"c-modal-title\">{{ title }}</h3>\n </slot>\n </div>\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 </header>\n <div class=\"c-modal-body c-scroll\">\n <slot />\n </div>\n <footer v-if=\"$slots.footer\" class=\"c-modal-footer\">\n <slot name=\"footer\" />\n </footer>\n </dialog>\n </div>\n </Teleport>\n</template>\n\n<style lang=\"scss\" src=\"@/styles/components/modal.scss\"></style>\n"],"mappings":";;;;;;;;;;;;;;;;EAYA,IAAM,IAAO,GAIP,IAAgB,EAA8B,IAAI;EAExD,SAAS,EAAgB,GAAe;GACtC,AAAI,EAAE,WAAW,EAAc,SAC7B,EAAK,OAAO;EAEhB;EAEA,SAAS,EAAoB,GAAe;GAC1C,AAAI,EAAE,kBAAkB,QAAQ,CAAC,EAAc,OAAO,SAAS,EAAE,MAAM,KACrE,EAAK,OAAO;EAEhB;EAEA,SAAS,EAAS,GAAU;GAE1B,AADA,EAAE,eAAe,GACjB,EAAK,OAAO;EACd;SAEA,QAAgB;GAEd,AADA,EAAc,OAAO,UAAU,GAC/B,SAAS,iBAAiB,aAAa,CAAmB;EAC5D,CAAC,GAED,QAAkB;GAChB,SAAS,oBAAoB,aAAa,CAAmB;EAC/D,CAAC,cAIC,EAAA,GAAA,EA6BW,GAAA,EA7BD,IAAG,OAAM,GAAA,CACjB,EA2BM,OA3BN,GA2BM,CA1BJ,EAyBS,UAAA;GAxBH,SAAA;GAAJ,KAAI;GACJ,OAAK,EAAA,CAAC,WACE,EAAA,UAAU,CAAA;GAClB,cAAW;GACV,cAAY,EAAA;GACZ,aAAW;GACH;;GAEKA,EAAAA,OAAO,UAAU,EAAA,SAA/B,EAAA,GAAA,EASS,UATT,GASS,CARP,EAIM,OAJN,GAIM,CAHJ,EAEO,EAAA,QAAA,UAAA,CAAA,SAAA,CADL,EAA0C,MAA1C,GAA0C,EAAb,EAAA,KAAK,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAGtC,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;GAEIA,EAAAA,OAAO,UAArB,EAAA,GAAA,EAES,UAFT,GAES,CADP,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 ===
|
|
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, ref } from 'vue'\n\ndefineProps<ModalProps>()\n\nconst emit = defineEmits<{\n close: []\n}>()\n\nconst dialogElement = ref<HTMLDialogElement | null>(null)\n\nfunction onBackdropClick(e: MouseEvent) {\n if (e.target === dialogElement.value) {\n emit('close')\n }\n}\n\nfunction onDocumentMousedown(e: MouseEvent) {\n if (e.target instanceof Node && !dialogElement.value?.contains(e.target)) {\n emit('close')\n }\n}\n\nfunction onCancel(e: Event) {\n e.preventDefault()\n emit('close')\n}\n\nonMounted(() => {\n dialogElement.value?.showModal()\n document.addEventListener('mousedown', onDocumentMousedown)\n})\n\nonUnmounted(() => {\n document.removeEventListener('mousedown', onDocumentMousedown)\n})\n</script>\n\n<template>\n <Teleport to=\"body\">\n <div class=\"ac-component\">\n <dialog\n ref=\"dialogElement\"\n class=\"c-modal\"\n :class=\"modalClass\"\n aria-modal=\"true\"\n :aria-label=\"title\"\n @mousedown=\"onBackdropClick\"\n @cancel=\"onCancel\"\n >\n <header v-if=\"$slots.header || title\" class=\"c-modal-header\">\n <div class=\"c-modal-header__content\">\n <slot name=\"header\">\n <h3 class=\"c-modal-title\">{{ title }}</h3>\n </slot>\n </div>\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 </header>\n <div class=\"c-modal-body c-scroll\">\n <slot />\n </div>\n <footer v-if=\"$slots.footer\" class=\"c-modal-footer\">\n <slot name=\"footer\" />\n </footer>\n </dialog>\n </div>\n </Teleport>\n</template>\n\n<style lang=\"scss\" src=\"@/styles/components/modal.scss\"></style>\n"],"mappings":""}
|