admins-components 9.0.81 → 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.
Files changed (33) hide show
  1. package/dist/admins-components173.js +151 -89
  2. package/dist/admins-components173.js.map +1 -1
  3. package/dist/admins-components38.js +25 -19
  4. package/dist/admins-components38.js.map +1 -1
  5. package/dist/admins-components40.js.map +1 -1
  6. package/dist/admins-components46.js +44 -44
  7. package/dist/admins-components46.js.map +1 -1
  8. package/dist/admins-components48.js.map +1 -1
  9. package/dist/admins-components51.js +9 -2
  10. package/dist/admins-components51.js.map +1 -1
  11. package/dist/admins-components52.js.map +1 -1
  12. package/dist/admins-components68.js +12 -9
  13. package/dist/admins-components68.js.map +1 -1
  14. package/dist/admins-components70.js.map +1 -1
  15. package/dist/admins-components87.js +1 -1
  16. package/dist/admins-components87.js.map +1 -1
  17. package/dist/admins-components91.js +74 -82
  18. package/dist/admins-components91.js.map +1 -1
  19. package/dist/admins-components93.js.map +1 -1
  20. package/dist/main.css +1 -1
  21. package/dist/src/components/Modal.vue.d.ts +2 -0
  22. package/dist/src/utils/dataFilters.d.ts +1 -0
  23. package/dist/test.html +163 -0
  24. package/dist/test81.html +161 -0
  25. package/dist/vueformelements/ArticlePickerElement.vue_vue_type_style_index_0_scoped_0afb93e7_lang.css +1 -0
  26. package/dist/widget/dist/favicon.ico +0 -0
  27. package/dist/widget/dist/search-posts-widget.css +1 -0
  28. package/dist/widget/dist/search-posts-widget.es.js +11197 -0
  29. package/dist/widget/dist/search-posts-widget.umd.js +34 -0
  30. package/dist/widget.css +1 -0
  31. package/package.json +6 -2
  32. package/dist/main.css.map +0 -1
  33. package/dist/vueformelements/ArticlePickerElement.vue_vue_type_style_index_0_scoped_54217a66_lang.css +0 -1
@@ -1,169 +1,231 @@
1
- import './vueformelements/ArticlePickerElement.vue_vue_type_style_index_0_scoped_54217a66_lang.css';
1
+ import './vueformelements/ArticlePickerElement.vue_vue_type_style_index_0_scoped_0afb93e7_lang.css';
2
2
  import e from "./admins-components6.js";
3
- import { defineElement as t } from "./admins-components166.js";
4
- import n from "./admins-components168.js";
5
- import { apeConfig as r } from "./admins-components170.js";
6
- import { ipeConfig as i } from "./admins-components171.js";
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 a, createCommentVNode as o, createElementBlock as s, createElementVNode as c, createSlots as l, createVNode as u, nextTick 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
+ 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 x = t({
11
- components: { Button: e },
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 = i.environment, a = i.searchImageWidgetUrl, o = i.imageBaseUrl, s = i.imageViewId, c = r.searchArticleApiUrl, l = r.searchArticleWidgetUrl, u = r.showIds, m = h((/* @__PURE__ */ new Date()).getTime().toString() + "image"), g = h((/* @__PURE__ */ new Date()).getTime().toString() + "article"), _ = "00000000-0000-0000-0000-000000000000", { value: v } = t.element, y = (e) => {
15
- e.preventDefault(), d(() => {
16
- document.getElementById(m.value).showModal();
17
- });
18
- }, b = () => {
19
- d(() => {
20
- document.getElementById(g.value).showModal();
21
- });
22
- }, x = (e) => {
23
- e.preventDefault(), v.value.imageId = _;
24
- }, S = (e) => {
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
- }, C = () => `${o}/${s}/${v.value.imageId}.img`;
30
- S(a), S(l);
31
- let w = (e) => {
32
- e.detail.causationid == m.value && (document.getElementById(m.value).close(), v.value.imageId = e.detail.image.id);
33
- };
34
- return p(() => {
35
- window.removeEventListener("image-selected", w, !1);
36
- }), f(() => {
37
- window.addEventListener("image-selected", w), window.addEventListener("search_posts_selected", (e) => {
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();
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: m,
51
- articleCausationId: g,
52
- searchImageWidgetUrl: a,
54
+ imageCausationId: d,
55
+ articleCausationId: f,
56
+ searchImageWidgetUrl: r,
53
57
  environment: n,
54
58
  searchArticleApiUrl: c,
55
- selectImage: y,
56
- selectArticle: b,
57
- resetImage: x,
58
- addScript: S,
59
- value: v,
60
- getImageUrl: C,
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
- }), S = { class: "ac-component" }, C = { class: "article-picker-container" }, w = { class: "article-picker-section" }, T = {
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
- }, 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 = {
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
- }, V = { class: "article-picker-buttons" }, H = ["id"], U = [
82
+ }, H = { class: "article-picker-buttons" }, U = [
71
83
  "causationid",
72
84
  "viewid",
73
85
  "aeurl",
74
86
  "environment"
75
- ], W = ["id"], G = ["id", "apiurl"];
76
- function K(e, t, n, r, i, d) {
77
- let f = v("Button"), p = v("ElementLayout");
78
- return m(), a(p, null, l({ _: 2 }, [e.value ? {
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: b(() => [c("div", S, [
81
- c("div", C, [
82
- c("div", w, [u(f, {
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 ? (m(), s("div", T, [c("div", E, [t[3] ||= c("label", {
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), c("div", D, [c("input", {
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, O)])]), c("div", k, [t[4] ||= c("label", {
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), c("div", A, [c("input", {
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, j)])])])) : o("", !0),
108
- c("div", M, [t[5] ||= c("label", {
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), c("div", N, [c("textarea", {
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, P)])]),
118
- c("div", F, [t[6] ||= c("label", {
129
+ }, null, 40, F)])]),
130
+ l("div", I, [t[10] ||= l("label", {
119
131
  for: "articleLead",
120
132
  class: "c-label"
121
- }, "Lead", -1), c("div", I, [c("textarea", {
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, L)])]),
128
- c("div", R, [t[7] ||= c("label", { class: "c-label" }, "Kép", -1), c("img", {
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, z)]),
134
- e.value.imageId === "00000000-0000-0000-0000-000000000000" ? (m(), s("div", B, " Nincs kép kiválasztva! ")) : o("", !0),
135
- c("div", V, [u(f, {
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"]), u(f, {
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
- c("dialog", { id: e.imageCausationId }, [c("hvg-search-image", {
146
- causationid: e.imageCausationId,
147
- viewid: e.imageViewId,
148
- aeurl: e.searchArticleApiUrl,
149
- environment: e.environment,
150
- selectonly: "true"
151
- }, null, 8, U)], 8, H),
152
- c("dialog", { id: e.articleCausationId }, [c("search-posts-widget", {
153
- id: e.articleCausationId,
154
- selector: "true",
155
- apiurl: e.searchArticleApiUrl,
156
- wpurl: "",
157
- searchurl: "",
158
- style: { height: "100%" }
159
- }, null, 8, G)], 8, W)
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, g(e.elementSlots, (t, n) => ({
224
+ } : void 0, _(e.elementSlots, (t, n) => ({
163
225
  name: n,
164
- fn: b(() => [_(e.$slots, n, { el$: e.el$ }, () => [(m(), a(y(t), { el$: e.el$ }, null, 8, ["el$"]))], !0)])
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__*/ n(x, [["render", K], ["__scopeId", "data-v-54217a66"]]);
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":"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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 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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"}
@@ -1,43 +1,49 @@
1
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, renderSlot as u, toDisplayString as d } from "vue";
2
2
  //#region src/components/Modal.vue?vue&type=script&setup=true&lang.ts
3
- var f = { class: "ac-component" }, p = {
3
+ var f = { class: "ac-component" }, p = ["aria-label"], m = {
4
4
  key: 0,
5
5
  class: "c-modal-header"
6
- }, m = { class: "c-modal-title" }, h = { class: "c-modal-body c-scroll" }, g = {
6
+ }, h = { class: "c-modal-title" }, g = { class: "c-modal-body c-scroll" }, _ = {
7
7
  key: 1,
8
8
  class: "c-modal-footer"
9
- }, _ = /*@__PURE__*/ a({
9
+ }, v = /*@__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 v = _;
18
- function y(e) {
19
- e.target === e.currentTarget && v("close");
20
- }
16
+ setup(a, { emit: v }) {
17
+ let y = v;
21
18
  function b(e) {
22
- e.key === "Escape" && v("close");
19
+ e.target === e.currentTarget && y("close");
20
+ }
21
+ function x(e) {
22
+ e.key === "Escape" && y("close");
23
23
  }
24
24
  return s(() => {
25
- document.addEventListener("keydown", b);
25
+ document.addEventListener("keydown", x);
26
26
  }), c(() => {
27
- document.removeEventListener("keydown", b);
27
+ document.removeEventListener("keydown", x);
28
28
  }), (s, c) => (l(), t(e, { to: "body" }, [i("div", f, [i("div", {
29
29
  class: "c-modal-backdrop",
30
- onMousedown: y
31
- }, [i("div", { class: o(["c-modal", a.modalClass]) }, [
32
- a.title ? (l(), r("div", p, [i("h3", m, d(a.title), 1), i("button", {
30
+ onMousedown: b
31
+ }, [i("div", {
32
+ class: o(["c-modal", a.modalClass]),
33
+ role: "dialog",
34
+ "aria-modal": "true",
35
+ "aria-label": a.title
36
+ }, [
37
+ s.$slots.header || a.title ? (l(), r("div", m, [u(s.$slots, "header", {}, () => [i("h3", h, d(a.title), 1)]), i("button", {
33
38
  type: "button",
34
39
  class: "c-modal-close",
35
- onClick: c[0] ||= (e) => v("close")
40
+ "aria-label": "Bezárás",
41
+ onClick: c[0] ||= (e) => y("close")
36
42
  }, [...c[1] ||= [i("i", { class: "fa-solid fa-xmark" }, null, -1)]])])) : n("", !0),
37
- i("div", h, [u(s.$slots, "default")]),
38
- s.$slots.footer ? (l(), r("div", g, [u(s.$slots, "footer")])) : n("", !0)
39
- ], 2)], 32)])]));
43
+ i("div", g, [u(s.$slots, "default")]),
44
+ s.$slots.footer ? (l(), r("div", _, [u(s.$slots, "footer")])) : n("", !0)
45
+ ], 10, p)], 32)])]));
40
46
  }
41
47
  });
42
48
  //#endregion
43
- export { _ as default };
49
+ export { v 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 === 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 class=\"c-modal\" :class=\"modalClass\">\n <div class=\"c-modal-header\" v-if=\"title\">\n <h3 class=\"c-modal-title\">{{ title }}</h3>\n <button type=\"button\" class=\"c-modal-close\" @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,EAmBW,GAAA,EAnBD,IAAG,OAAM,GAAA,CACjB,EAiBM,OAjBN,GAiBM,CAhBJ,EAeM,OAAA;GAfD,OAAM;GAAoB,aAAW;EACxC,GAAA,CAAA,EAaM,OAAA,EAbD,OAAK,EAAA,CAAC,WAAkB,EAAA,UAAU,CAAA,EAAA,GAAA;GACH,EAAA,SAAlC,EAAA,GAAA,EAKM,OALN,GAKM,CAJJ,EAA0C,MAA1C,GAA0C,EAAb,EAAA,KAAK,GAAA,CAAA,GAClC,EAES,UAAA;IAFD,MAAK;IAAS,OAAM;IAAiB,SAAK,AAAA,EAAA,QAAA,MAAE,EAAI,OAAA;GACtD,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
+ {"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 class=\"c-modal\" :class=\"modalClass\">\n <div class=\"c-modal-header\" v-if=\"title\">\n <h3 class=\"c-modal-title\">{{ title }}</h3>\n <button type=\"button\" class=\"c-modal-close\" @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":""}
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":""}