admins-components 9.0.40 → 9.0.42

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 (80) hide show
  1. package/dist/admins-components.js +6 -6
  2. package/dist/admins-components169.js +1 -1
  3. package/dist/admins-components172.js +1 -1
  4. package/dist/admins-components173.js +1 -1
  5. package/dist/admins-components175.js +1 -1
  6. package/dist/admins-components23.js +20 -187
  7. package/dist/admins-components23.js.map +1 -1
  8. package/dist/admins-components25.js +2 -2
  9. package/dist/admins-components25.js.map +1 -1
  10. package/dist/admins-components26.js +214 -70
  11. package/dist/admins-components26.js.map +1 -1
  12. package/dist/admins-components28.js +6 -51
  13. package/dist/admins-components28.js.map +1 -1
  14. package/dist/admins-components29.js +71 -67
  15. package/dist/admins-components29.js.map +1 -1
  16. package/dist/{admins-components27.js → admins-components30.js} +1 -1
  17. package/dist/admins-components30.js.map +1 -0
  18. package/dist/admins-components31.js +51 -6
  19. package/dist/admins-components31.js.map +1 -1
  20. package/dist/admins-components32.js +68 -59
  21. package/dist/admins-components32.js.map +1 -1
  22. package/dist/admins-components34.js +2 -2
  23. package/dist/admins-components34.js.map +1 -1
  24. package/dist/admins-components35.js +61 -35
  25. package/dist/admins-components35.js.map +1 -1
  26. package/dist/admins-components37.js +2 -2
  27. package/dist/admins-components37.js.map +1 -1
  28. package/dist/admins-components38.js +37 -34
  29. package/dist/admins-components38.js.map +1 -1
  30. package/dist/admins-components40.js +6 -32
  31. package/dist/admins-components40.js.map +1 -1
  32. package/dist/admins-components41.js +37 -0
  33. package/dist/{admins-components39.js.map → admins-components41.js.map} +1 -1
  34. package/dist/admins-components42.js +2 -4
  35. package/dist/admins-components42.js.map +1 -1
  36. package/dist/admins-components43.js +28 -142
  37. package/dist/admins-components43.js.map +1 -1
  38. package/dist/admins-components45.js +2 -2
  39. package/dist/admins-components45.js.map +1 -1
  40. package/dist/admins-components46.js +132 -110
  41. package/dist/admins-components46.js.map +1 -1
  42. package/dist/admins-components48.js +6 -179
  43. package/dist/admins-components48.js.map +1 -1
  44. package/dist/admins-components49.js +124 -4
  45. package/dist/admins-components49.js.map +1 -1
  46. package/dist/admins-components50.js +4 -19
  47. package/dist/admins-components50.js.map +1 -1
  48. package/dist/admins-components51.js +180 -0
  49. package/dist/admins-components51.js.map +1 -0
  50. package/dist/admins-components52.js +2 -4
  51. package/dist/admins-components52.js.map +1 -1
  52. package/dist/admins-components58.js.map +1 -1
  53. package/dist/admins-components61.js +6 -6
  54. package/dist/admins-components63.js +21 -16
  55. package/dist/admins-components63.js.map +1 -1
  56. package/dist/admins-components64.js.map +1 -1
  57. package/dist/admins-components65.js +3 -3
  58. package/dist/admins-components65.js.map +1 -1
  59. package/dist/admins-components67.js.map +1 -1
  60. package/dist/admins-components68.js +18 -19
  61. package/dist/admins-components68.js.map +1 -1
  62. package/dist/admins-components70.js.map +1 -1
  63. package/dist/admins-components72.js +1 -1
  64. package/dist/admins-components81.js +1 -1
  65. package/dist/admins-components84.js +2 -2
  66. package/dist/admins-components90.js +1 -1
  67. package/dist/main.css +1 -1
  68. package/dist/main.css.map +1 -1
  69. package/dist/src/components/DropdownMenu.vue.d.ts +1 -0
  70. package/dist/src/components/DropdownSelect.vue.d.ts +3 -0
  71. package/dist/src/components/Loader.vue.d.ts +4 -1
  72. package/dist/src/styles/components/data-table/data-table.scss_vue_type_style_index_0_src_true_lang.css +1 -1
  73. package/dist/src/styles/components/dropdown-select.scss_vue_type_style_index_0_src_true_lang.css +1 -1
  74. package/dist/src/styles/components/loader.scss_vue_type_style_index_0_src_true_lang.css +1 -1
  75. package/dist/src/types/data-list.d.ts +2 -2
  76. package/package.json +1 -1
  77. package/dist/admins-components27.js.map +0 -1
  78. package/dist/admins-components39.js +0 -5
  79. package/dist/admins-components47.js +0 -5
  80. package/dist/admins-components47.js.map +0 -1
@@ -1,5 +1,125 @@
1
- import e from "./admins-components48.js";
2
- //#region src/components/custom/InternalArticleOffer.vue
3
- var t = e;
1
+ import e from "./admins-components28.js";
2
+ import t from "./admins-components48.js";
3
+ import { createElementBlock as n, createElementVNode as r, createVNode as i, defineComponent as a, openBlock as o, ref as s, watch as c } from "vue";
4
+ //#region src/components/custom/ExternalArticleOffer.vue?vue&type=script&setup=true&lang.ts
5
+ var l = { class: "ac-component" }, u = { class: "d-flex flex-column gap-2" }, d = { class: "c-input-row" }, f = ["value"], p = { class: "c-input-row" }, m = ["value"], h = { class: "c-input-row" }, g = ["value"], _ = /* @__PURE__ */ a({
6
+ __name: "ExternalArticleOffer",
7
+ props: {
8
+ modelValue: {},
9
+ onArticleUrlChanged: { type: Function },
10
+ articleEditorUrl: {},
11
+ environment: {},
12
+ searchImageWidgetUrl: {},
13
+ imageBaseUrl: {},
14
+ imageViewId: {},
15
+ formats: {}
16
+ },
17
+ emits: ["update:modelValue"],
18
+ setup(a, { emit: _ }) {
19
+ let v = {
20
+ article: {
21
+ url: "",
22
+ imageUrl: "",
23
+ imageId: "",
24
+ title: "",
25
+ lead: ""
26
+ },
27
+ format: ""
28
+ }, y = _, b = a, x = s(v), S = s({
29
+ id: x.value.article.imageId,
30
+ url: "",
31
+ source: "",
32
+ title: "",
33
+ isAdult: !1
34
+ });
35
+ c(() => b.modelValue, (e) => {
36
+ e ? x.value = e : x.value = v;
37
+ }, {
38
+ deep: !0,
39
+ immediate: !0
40
+ }), c(() => x, (e) => {
41
+ y("update:modelValue", x.value), S.value.id = e.value.article.imageId, S.value.url = e.value.article.imageUrl;
42
+ }, {
43
+ deep: !0,
44
+ immediate: !0
45
+ }), c(() => S.value.id, (e) => {
46
+ x.value.article.imageId = e;
47
+ }, {
48
+ deep: !0,
49
+ immediate: !0
50
+ }), c(() => S.value.url, (e) => {
51
+ x.value.article.imageUrl = e;
52
+ }, {
53
+ deep: !0,
54
+ immediate: !0
55
+ });
56
+ let C = (e) => {
57
+ x.value.article.url = e.target?.value || "", x.value.article.url && b.onArticleUrlChanged(x.value.article.url, (e) => {
58
+ x.value.article = e;
59
+ });
60
+ };
61
+ return ((e) => {
62
+ if (!customElements.get("hvg-search-image") && !document.querySelector(`script[src="${e}"]`)) {
63
+ let t = document.createElement("script");
64
+ t.type = "text/javascript", t.src = e, document.head.appendChild(t);
65
+ }
66
+ })(b.searchImageWidgetUrl), (a, s) => (o(), n("div", l, [r("div", u, [
67
+ r("div", null, [s[4] ||= r("label", {
68
+ for: "articleUrl",
69
+ class: "c-label"
70
+ }, "Article URL", -1), r("div", d, [r("textarea", {
71
+ id: "articleUrl",
72
+ class: "c-input",
73
+ placeholder: "Article URL",
74
+ value: x.value.article.url,
75
+ onInput: C
76
+ }, null, 40, f)])]),
77
+ r("div", null, [s[5] ||= r("label", {
78
+ for: "articleTitle",
79
+ class: "c-label"
80
+ }, "Title", -1), r("div", p, [r("textarea", {
81
+ id: "articleTitle",
82
+ class: "c-input",
83
+ placeholder: "Article title",
84
+ value: x.value.article.title,
85
+ onInput: s[0] ||= (e) => x.value.article.title = e.target?.value || ""
86
+ }, null, 40, m)])]),
87
+ r("div", null, [s[6] ||= r("label", {
88
+ for: "articleLead",
89
+ class: "c-label"
90
+ }, "Lead", -1), r("div", h, [r("textarea", {
91
+ id: "articleLead",
92
+ class: "c-input",
93
+ placeholder: "Article lead / description",
94
+ value: x.value.article.lead,
95
+ onInput: s[1] ||= (e) => x.value.article.lead = e.target?.value || ""
96
+ }, null, 40, g)])]),
97
+ r("div", null, [i(t, {
98
+ modelValue: S.value,
99
+ "onUpdate:modelValue": s[2] ||= (e) => S.value = e,
100
+ details: !1,
101
+ editable: !1,
102
+ environment: b.environment,
103
+ "article-editor-url": b.articleEditorUrl,
104
+ "search-image-widget-url": b.searchImageWidgetUrl,
105
+ "image-base-url": b.imageBaseUrl,
106
+ "image-view-id": b.imageViewId
107
+ }, null, 8, [
108
+ "modelValue",
109
+ "environment",
110
+ "article-editor-url",
111
+ "search-image-widget-url",
112
+ "image-base-url",
113
+ "image-view-id"
114
+ ])]),
115
+ r("div", null, [s[7] ||= r("label", { class: "c-label" }, "Format", -1), i(e, {
116
+ modelValue: x.value.format,
117
+ "onUpdate:modelValue": s[3] ||= (e) => x.value.format = e,
118
+ options: b.formats,
119
+ config: { placeholder: "Select format..." }
120
+ }, null, 8, ["modelValue", "options"])])
121
+ ])]));
122
+ }
123
+ });
4
124
  //#endregion
5
- export { t as default };
125
+ export { _ as default };
@@ -1 +1 @@
1
- {"version":3,"file":"admins-components49.js","names":[],"sources":["../src/components/custom/InternalArticleOffer.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { onMounted, onUnmounted, ref, watch } from 'vue'\nimport ImagePicker from '@/components/custom/ImagePicker.vue'\nimport DropdownSelect from '@/components/DropdownSelect.vue'\nimport Modal from '@/components/Modal.vue'\nimport Button from '@/components/Button.vue'\n\nexport interface Article {\n siteId: string\n id: string\n imageId: string\n title: string\n lead: string\n}\n\nexport interface InternalArticleOfferModel {\n article: Article\n format: string\n}\n\nconst defaultValue: InternalArticleOfferModel = {\n article: {\n siteId: '',\n id: '',\n imageId: '',\n title: '',\n lead: '',\n },\n format: '',\n}\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', v: InternalArticleOfferModel): void\n}>()\n\nconst props = withDefaults(\n defineProps<{\n modelValue?: InternalArticleOfferModel\n searchArticleApiUrl: string\n searchArticleWidgetUrl: string\n environment: string\n searchImageWidgetUrl: string\n imageBaseUrl: string\n imageViewId: string\n showIds?: boolean\n formats: { label: string; value: string }[]\n }>(),\n {\n showIds: true,\n },\n)\n\nconst localModel = ref<InternalArticleOfferModel>(defaultValue)\nconst imageModel = ref({\n id: localModel.value.article.imageId || '',\n url: '',\n source: '',\n title: '',\n isAdult: false,\n})\nconst showArticleModal = ref(false)\n\nwatch(\n () => props.modelValue,\n (newVal) => {\n if (!newVal) {\n localModel.value = defaultValue\n } else {\n localModel.value = newVal\n }\n },\n { deep: true, immediate: true },\n)\n\nwatch(\n () => localModel,\n (newVal) => {\n emit('update:modelValue', localModel.value)\n imageModel.value.id = newVal.value.article.imageId\n },\n { deep: true, immediate: true },\n)\n\nwatch(\n () => imageModel.value.id,\n (id) => {\n localModel.value.article.imageId = id\n },\n { deep: true, immediate: true },\n)\n\nconst articleCausationId = ref(new Date().getTime().toString() + 'article')\nconst EMPTYGUID = '00000000-0000-0000-0000-000000000000'\n\nonUnmounted(() => {\n window.removeEventListener('search_posts_selected', onPostSelected)\n})\n\nonMounted(() => {\n window.addEventListener('search_posts_selected', onPostSelected)\n})\n\nconst onPostSelected = (e: any) => {\n if (e.detail.id == articleCausationId.value) {\n if (e.detail.result && e.detail.posts.length > 0) {\n localModel.value.article.id = e.detail.posts[0].id\n localModel.value.article.siteId = e.detail.posts[0].siteId\n localModel.value.article.title = e.detail.posts[0].title\n localModel.value.article.lead = e.detail.posts[0].lead\n const imageId = e.detail.posts[0].featuredImage\n localModel.value.article.imageId = imageId || EMPTYGUID\n }\n\n showArticleModal.value = false\n }\n}\n\nconst selectArticle = () => {\n showArticleModal.value = true\n}\n\nconst addScript = (url: string) => {\n if (!customElements.get('search-posts-widget')) {\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\nif (!customElements.get('hvg-search-image')) {\n if (!document.querySelector(`script[src=\"${props.searchImageWidgetUrl}\"]`)) {\n const script = document.createElement('script')\n script.type = 'text/javascript'\n script.src = props.searchImageWidgetUrl\n script.async = true\n document.head.appendChild(script)\n }\n}\n\naddScript(props.searchArticleWidgetUrl)\n</script>\n\n<template>\n <div class=\"ac-component\">\n <div class=\"d-flex flex-column gap-2\">\n <div>\n <Button\n type=\"success\"\n label=\"Cikk kiválasztása\"\n class=\"nowrap\"\n @click=\"selectArticle\"\n icon=\"fa-solid fa-newspaper\"\n />\n </div>\n\n <template v-if=\"showIds\">\n <div class=\"flex gap-2\">\n <div>\n <label for=\"articleId\" class=\"c-label\">Article ID</label>\n <div class=\"c-input-row\">\n <input\n id=\"articleId\"\n type=\"text\"\n class=\"c-input\"\n placeholder=\"Article ID\"\n disabled\n :value=\"localModel.article.id\"\n />\n </div>\n </div>\n\n <div>\n <label for=\"articleSiteId\" class=\"c-label\">Site ID</label>\n <div class=\"c-input-row\">\n <input\n id=\"articleSiteId\"\n type=\"text\"\n class=\"c-input\"\n placeholder=\"Site ID\"\n disabled\n :value=\"localModel.article.siteId\"\n />\n </div>\n </div>\n </div>\n </template>\n\n <div>\n <label for=\"articleTitle\" class=\"c-label\">Title</label>\n <div class=\"c-input-row\">\n <textarea\n id=\"articleTitle\"\n class=\"c-input\"\n placeholder=\"Article title\"\n :value=\"localModel.article.title\"\n @input=\"localModel.article.title = ($event.target as any)?.value || ''\"\n />\n </div>\n </div>\n\n <div>\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=\"Article lead / description\"\n :value=\"localModel.article.lead\"\n @input=\"localModel.article.lead = ($event.target as any)?.value || ''\"\n />\n </div>\n </div>\n\n <hr class=\"separator\" />\n\n <div>\n <ImagePicker\n v-model=\"imageModel\"\n :details=\"false\"\n :editable=\"false\"\n :environment=\"props.environment\"\n :article-editor-url=\"props.searchArticleApiUrl\"\n :search-image-widget-url=\"props.searchImageWidgetUrl\"\n :image-base-url=\"props.imageBaseUrl\"\n :image-view-id=\"props.imageViewId\"\n />\n </div>\n\n <div>\n <label class=\"c-label\">Format</label>\n <DropdownSelect\n v-model=\"localModel.format\"\n :options=\"props.formats\"\n :config=\"{ placeholder: 'Select format...' }\"\n />\n </div>\n\n <Modal v-if=\"showArticleModal\" title=\"Search Article\" @close=\"showArticleModal = false\">\n <search-posts-widget\n :id=\"articleCausationId\"\n selector=\"true\"\n :apiurl=\"props.searchArticleApiUrl\"\n wpurl=\"\"\n searchurl=\"\"\n style=\"height: 500px\"\n />\n </Modal>\n </div>\n </div>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"admins-components49.js","names":[],"sources":["../src/components/custom/ExternalArticleOffer.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref, watch } from 'vue'\nimport ImagePicker from '@/components/custom/ImagePicker.vue'\nimport DropdownSelect from '@/components/DropdownSelect.vue'\n\nexport interface Article {\n url: string\n imageUrl: string\n imageId: string\n title: string\n lead: string\n}\n\nexport interface ExternalArticleOfferModel {\n article: Article\n format: string\n}\n\nconst defaultValue: ExternalArticleOfferModel = {\n article: {\n url: '',\n imageUrl: '',\n imageId: '',\n title: '',\n lead: '',\n },\n format: '',\n}\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', v: ExternalArticleOfferModel): void\n}>()\n\nconst props = defineProps<{\n modelValue?: ExternalArticleOfferModel\n onArticleUrlChanged: (url: string, callback: (article: Article) => void) => void\n articleEditorUrl: string\n environment: string\n searchImageWidgetUrl: string\n imageBaseUrl: string\n imageViewId: string\n formats: { label: string; value: string }[]\n}>()\n\nconst localModel = ref<ExternalArticleOfferModel>(defaultValue)\nconst imageModel = ref({\n id: localModel.value.article.imageId,\n url: '',\n source: '',\n title: '',\n isAdult: false,\n})\n\nwatch(\n () => props.modelValue,\n (newVal) => {\n if (!newVal) {\n localModel.value = defaultValue\n } else {\n localModel.value = newVal\n }\n },\n { deep: true, immediate: true },\n)\n\nwatch(\n () => localModel,\n (newVal) => {\n emit('update:modelValue', localModel.value)\n imageModel.value.id = newVal.value.article.imageId\n imageModel.value.url = newVal.value.article.imageUrl\n },\n { deep: true, immediate: true },\n)\n\nwatch(\n () => imageModel.value.id,\n (id) => {\n localModel.value.article.imageId = id\n },\n { deep: true, immediate: true },\n)\n\nwatch(\n () => imageModel.value.url,\n (url) => {\n localModel.value.article.imageUrl = url\n },\n { deep: true, immediate: true },\n)\n\nconst onUrlChanged = (event: Event) => {\n localModel.value.article.url = (event.target as any)?.value || ''\n if (!localModel.value.article.url) return\n\n props.onArticleUrlChanged(localModel.value.article.url, (article) => {\n localModel.value.article = article\n })\n}\n\nconst addScript = (url: string) => {\n if (!customElements.get('hvg-search-image')) {\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\naddScript(props.searchImageWidgetUrl)\n</script>\n\n<template>\n <div class=\"ac-component\">\n <div class=\"d-flex flex-column gap-2\">\n <div>\n <label for=\"articleUrl\" class=\"c-label\">Article URL</label>\n <div class=\"c-input-row\">\n <textarea\n id=\"articleUrl\"\n class=\"c-input\"\n placeholder=\"Article URL\"\n :value=\"localModel.article.url\"\n @input=\"onUrlChanged\"\n />\n </div>\n </div>\n\n <div>\n <label for=\"articleTitle\" class=\"c-label\">Title</label>\n <div class=\"c-input-row\">\n <textarea\n id=\"articleTitle\"\n class=\"c-input\"\n placeholder=\"Article title\"\n :value=\"localModel.article.title\"\n @input=\"localModel.article.title = ($event.target as any)?.value || ''\"\n />\n </div>\n </div>\n\n <div>\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=\"Article lead / description\"\n :value=\"localModel.article.lead\"\n @input=\"localModel.article.lead = ($event.target as any)?.value || ''\"\n />\n </div>\n </div>\n\n <div>\n <ImagePicker\n v-model=\"imageModel\"\n :details=\"false\"\n :editable=\"false\"\n :environment=\"props.environment\"\n :article-editor-url=\"props.articleEditorUrl\"\n :search-image-widget-url=\"props.searchImageWidgetUrl\"\n :image-base-url=\"props.imageBaseUrl\"\n :image-view-id=\"props.imageViewId\"\n />\n </div>\n\n <div>\n <label class=\"c-label\">Format</label>\n <DropdownSelect\n v-model=\"localModel.format\"\n :options=\"props.formats\"\n :config=\"{ placeholder: 'Select format...' }\"\n />\n </div>\n </div>\n </div>\n</template>\n"],"mappings":"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"}
@@ -1,20 +1,5 @@
1
- import { createElementBlock as e, defineComponent as t, normalizeStyle as n, openBlock as r } from "vue";
2
- //#region src/components/Loader.vue?vue&type=script&setup=true&lang.ts
3
- var i = /* @__PURE__ */ t({
4
- __name: "Loader",
5
- props: {
6
- loading: { type: Boolean },
7
- size: { default: "2rem" }
8
- },
9
- setup(t) {
10
- return (i, a) => (r(), e("div", {
11
- class: "loader",
12
- style: n({
13
- width: t.size,
14
- "--loader-thickness": `calc(${t.size} / 6)`
15
- })
16
- }, null, 4));
17
- }
18
- });
1
+ import e from "./admins-components49.js";
2
+ //#region src/components/custom/ExternalArticleOffer.vue
3
+ var t = e;
19
4
  //#endregion
20
- export { i as default };
5
+ export { t as default };
@@ -1 +1 @@
1
- {"version":3,"file":"admins-components50.js","names":[],"sources":["../src/components/Loader.vue"],"sourcesContent":["<script setup lang=\"ts\">\nwithDefaults(\n defineProps<{\n loading: boolean\n size?: string\n }>(),\n {\n size: '2rem',\n },\n)\n</script>\n<template>\n <div class=\"loader\" :style=\"{ width: size, '--loader-thickness': `calc(${size} / 6)` }\"></div>\n</template>\n\n<style lang=\"scss\" src=\"@/styles/components/loader.scss\"></style>\n"],"mappings":";;;;;;;;;yBAYE,EAA8F,OAAA;GAAzF,OAAM;GAAU,OAAK,EAAA;IAAA,OAAW,EAAA;IAAI,sBAAA,QAAgC,EAAA,KAAI;GAAA,CAAA"}
1
+ {"version":3,"file":"admins-components50.js","names":[],"sources":["../src/components/custom/ExternalArticleOffer.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref, watch } from 'vue'\nimport ImagePicker from '@/components/custom/ImagePicker.vue'\nimport DropdownSelect from '@/components/DropdownSelect.vue'\n\nexport interface Article {\n url: string\n imageUrl: string\n imageId: string\n title: string\n lead: string\n}\n\nexport interface ExternalArticleOfferModel {\n article: Article\n format: string\n}\n\nconst defaultValue: ExternalArticleOfferModel = {\n article: {\n url: '',\n imageUrl: '',\n imageId: '',\n title: '',\n lead: '',\n },\n format: '',\n}\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', v: ExternalArticleOfferModel): void\n}>()\n\nconst props = defineProps<{\n modelValue?: ExternalArticleOfferModel\n onArticleUrlChanged: (url: string, callback: (article: Article) => void) => void\n articleEditorUrl: string\n environment: string\n searchImageWidgetUrl: string\n imageBaseUrl: string\n imageViewId: string\n formats: { label: string; value: string }[]\n}>()\n\nconst localModel = ref<ExternalArticleOfferModel>(defaultValue)\nconst imageModel = ref({\n id: localModel.value.article.imageId,\n url: '',\n source: '',\n title: '',\n isAdult: false,\n})\n\nwatch(\n () => props.modelValue,\n (newVal) => {\n if (!newVal) {\n localModel.value = defaultValue\n } else {\n localModel.value = newVal\n }\n },\n { deep: true, immediate: true },\n)\n\nwatch(\n () => localModel,\n (newVal) => {\n emit('update:modelValue', localModel.value)\n imageModel.value.id = newVal.value.article.imageId\n imageModel.value.url = newVal.value.article.imageUrl\n },\n { deep: true, immediate: true },\n)\n\nwatch(\n () => imageModel.value.id,\n (id) => {\n localModel.value.article.imageId = id\n },\n { deep: true, immediate: true },\n)\n\nwatch(\n () => imageModel.value.url,\n (url) => {\n localModel.value.article.imageUrl = url\n },\n { deep: true, immediate: true },\n)\n\nconst onUrlChanged = (event: Event) => {\n localModel.value.article.url = (event.target as any)?.value || ''\n if (!localModel.value.article.url) return\n\n props.onArticleUrlChanged(localModel.value.article.url, (article) => {\n localModel.value.article = article\n })\n}\n\nconst addScript = (url: string) => {\n if (!customElements.get('hvg-search-image')) {\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\naddScript(props.searchImageWidgetUrl)\n</script>\n\n<template>\n <div class=\"ac-component\">\n <div class=\"d-flex flex-column gap-2\">\n <div>\n <label for=\"articleUrl\" class=\"c-label\">Article URL</label>\n <div class=\"c-input-row\">\n <textarea\n id=\"articleUrl\"\n class=\"c-input\"\n placeholder=\"Article URL\"\n :value=\"localModel.article.url\"\n @input=\"onUrlChanged\"\n />\n </div>\n </div>\n\n <div>\n <label for=\"articleTitle\" class=\"c-label\">Title</label>\n <div class=\"c-input-row\">\n <textarea\n id=\"articleTitle\"\n class=\"c-input\"\n placeholder=\"Article title\"\n :value=\"localModel.article.title\"\n @input=\"localModel.article.title = ($event.target as any)?.value || ''\"\n />\n </div>\n </div>\n\n <div>\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=\"Article lead / description\"\n :value=\"localModel.article.lead\"\n @input=\"localModel.article.lead = ($event.target as any)?.value || ''\"\n />\n </div>\n </div>\n\n <div>\n <ImagePicker\n v-model=\"imageModel\"\n :details=\"false\"\n :editable=\"false\"\n :environment=\"props.environment\"\n :article-editor-url=\"props.articleEditorUrl\"\n :search-image-widget-url=\"props.searchImageWidgetUrl\"\n :image-base-url=\"props.imageBaseUrl\"\n :image-view-id=\"props.imageViewId\"\n />\n </div>\n\n <div>\n <label class=\"c-label\">Format</label>\n <DropdownSelect\n v-model=\"localModel.format\"\n :options=\"props.formats\"\n :config=\"{ placeholder: 'Select format...' }\"\n />\n </div>\n </div>\n </div>\n</template>\n"],"mappings":""}
@@ -0,0 +1,180 @@
1
+ import e from "./admins-components6.js";
2
+ import t from "./admins-components28.js";
3
+ import n from "./admins-components40.js";
4
+ import r from "./admins-components48.js";
5
+ import { createBlock as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, createVNode as c, defineComponent as l, onMounted as u, onUnmounted as d, openBlock as f, ref as p, watch as m, withCtx as h } from "vue";
6
+ //#region src/components/custom/InternalArticleOffer.vue?vue&type=script&setup=true&lang.ts
7
+ var g = { class: "ac-component" }, _ = { class: "d-flex flex-column gap-2" }, v = {
8
+ key: 0,
9
+ class: "flex gap-2"
10
+ }, y = { class: "c-input-row" }, b = ["value"], x = { class: "c-input-row" }, S = ["value"], C = { class: "c-input-row" }, w = ["value"], T = { class: "c-input-row" }, E = ["value"], D = ["id", "apiurl"], O = "00000000-0000-0000-0000-000000000000", k = /* @__PURE__ */ l({
11
+ __name: "InternalArticleOffer",
12
+ props: {
13
+ modelValue: {},
14
+ searchArticleApiUrl: {},
15
+ searchArticleWidgetUrl: {},
16
+ environment: {},
17
+ searchImageWidgetUrl: {},
18
+ imageBaseUrl: {},
19
+ imageViewId: {},
20
+ showIds: {
21
+ type: Boolean,
22
+ default: !0
23
+ },
24
+ formats: {}
25
+ },
26
+ emits: ["update:modelValue"],
27
+ setup(l, { emit: k }) {
28
+ let A = {
29
+ article: {
30
+ siteId: "",
31
+ id: "",
32
+ imageId: "",
33
+ title: "",
34
+ lead: ""
35
+ },
36
+ format: ""
37
+ }, j = k, M = l, N = p(A), P = p({
38
+ id: N.value.article.imageId || "",
39
+ url: "",
40
+ source: "",
41
+ title: "",
42
+ isAdult: !1
43
+ }), F = p(!1);
44
+ m(() => M.modelValue, (e) => {
45
+ e ? N.value = e : N.value = A;
46
+ }, {
47
+ deep: !0,
48
+ immediate: !0
49
+ }), m(() => N, (e) => {
50
+ j("update:modelValue", N.value), P.value.id = e.value.article.imageId;
51
+ }, {
52
+ deep: !0,
53
+ immediate: !0
54
+ }), m(() => P.value.id, (e) => {
55
+ N.value.article.imageId = e;
56
+ }, {
57
+ deep: !0,
58
+ immediate: !0
59
+ });
60
+ let I = p((/* @__PURE__ */ new Date()).getTime().toString() + "article");
61
+ d(() => {
62
+ window.removeEventListener("search_posts_selected", L);
63
+ }), u(() => {
64
+ window.addEventListener("search_posts_selected", L);
65
+ });
66
+ let L = (e) => {
67
+ if (e.detail.id == I.value) {
68
+ if (e.detail.result && e.detail.posts.length > 0) {
69
+ N.value.article.id = e.detail.posts[0].id, N.value.article.siteId = e.detail.posts[0].siteId, N.value.article.title = e.detail.posts[0].title, N.value.article.lead = e.detail.posts[0].lead;
70
+ let t = e.detail.posts[0].featuredImage;
71
+ N.value.article.imageId = t || O;
72
+ }
73
+ F.value = !1;
74
+ }
75
+ }, R = () => {
76
+ F.value = !0;
77
+ }, z = (e) => {
78
+ if (!customElements.get("search-posts-widget") && !document.querySelector(`script[src="${e}"]`)) {
79
+ let t = document.createElement("script");
80
+ t.type = "text/javascript", t.src = e, document.head.appendChild(t);
81
+ }
82
+ };
83
+ if (!customElements.get("hvg-search-image") && !document.querySelector(`script[src="${M.searchImageWidgetUrl}"]`)) {
84
+ let e = document.createElement("script");
85
+ e.type = "text/javascript", e.src = M.searchImageWidgetUrl, e.async = !0, document.head.appendChild(e);
86
+ }
87
+ return z(M.searchArticleWidgetUrl), (u, d) => (f(), o("div", g, [s("div", _, [
88
+ s("div", null, [c(e, {
89
+ type: "success",
90
+ label: "Cikk kiválasztása",
91
+ class: "nowrap",
92
+ onClick: R,
93
+ icon: "fa-solid fa-newspaper"
94
+ })]),
95
+ l.showIds ? (f(), o("div", v, [s("div", null, [d[5] ||= s("label", {
96
+ for: "articleId",
97
+ class: "c-label"
98
+ }, "Article ID", -1), s("div", y, [s("input", {
99
+ id: "articleId",
100
+ type: "text",
101
+ class: "c-input",
102
+ placeholder: "Article ID",
103
+ disabled: "",
104
+ value: N.value.article.id
105
+ }, null, 8, b)])]), s("div", null, [d[6] ||= s("label", {
106
+ for: "articleSiteId",
107
+ class: "c-label"
108
+ }, "Site ID", -1), s("div", x, [s("input", {
109
+ id: "articleSiteId",
110
+ type: "text",
111
+ class: "c-input",
112
+ placeholder: "Site ID",
113
+ disabled: "",
114
+ value: N.value.article.siteId
115
+ }, null, 8, S)])])])) : a("", !0),
116
+ s("div", null, [d[7] ||= s("label", {
117
+ for: "articleTitle",
118
+ class: "c-label"
119
+ }, "Title", -1), s("div", C, [s("textarea", {
120
+ id: "articleTitle",
121
+ class: "c-input",
122
+ placeholder: "Article title",
123
+ value: N.value.article.title,
124
+ onInput: d[0] ||= (e) => N.value.article.title = e.target?.value || ""
125
+ }, null, 40, w)])]),
126
+ s("div", null, [d[8] ||= s("label", {
127
+ for: "articleLead",
128
+ class: "c-label"
129
+ }, "Lead", -1), s("div", T, [s("textarea", {
130
+ id: "articleLead",
131
+ class: "c-input",
132
+ placeholder: "Article lead / description",
133
+ value: N.value.article.lead,
134
+ onInput: d[1] ||= (e) => N.value.article.lead = e.target?.value || ""
135
+ }, null, 40, E)])]),
136
+ d[10] ||= s("hr", { class: "separator" }, null, -1),
137
+ s("div", null, [c(r, {
138
+ modelValue: P.value,
139
+ "onUpdate:modelValue": d[2] ||= (e) => P.value = e,
140
+ details: !1,
141
+ editable: !1,
142
+ environment: M.environment,
143
+ "article-editor-url": M.searchArticleApiUrl,
144
+ "search-image-widget-url": M.searchImageWidgetUrl,
145
+ "image-base-url": M.imageBaseUrl,
146
+ "image-view-id": M.imageViewId
147
+ }, null, 8, [
148
+ "modelValue",
149
+ "environment",
150
+ "article-editor-url",
151
+ "search-image-widget-url",
152
+ "image-base-url",
153
+ "image-view-id"
154
+ ])]),
155
+ s("div", null, [d[9] ||= s("label", { class: "c-label" }, "Format", -1), c(t, {
156
+ modelValue: N.value.format,
157
+ "onUpdate:modelValue": d[3] ||= (e) => N.value.format = e,
158
+ options: M.formats,
159
+ config: { placeholder: "Select format..." }
160
+ }, null, 8, ["modelValue", "options"])]),
161
+ F.value ? (f(), i(n, {
162
+ key: 1,
163
+ title: "Search Article",
164
+ onClose: d[4] ||= (e) => F.value = !1
165
+ }, {
166
+ default: h(() => [s("search-posts-widget", {
167
+ id: I.value,
168
+ selector: "true",
169
+ apiurl: M.searchArticleApiUrl,
170
+ wpurl: "",
171
+ searchurl: "",
172
+ style: { height: "500px" }
173
+ }, null, 8, D)]),
174
+ _: 1
175
+ })) : a("", !0)
176
+ ])]));
177
+ }
178
+ });
179
+ //#endregion
180
+ export { k as default };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admins-components51.js","names":[],"sources":["../src/components/custom/InternalArticleOffer.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { onMounted, onUnmounted, ref, watch } from 'vue'\nimport ImagePicker from '@/components/custom/ImagePicker.vue'\nimport DropdownSelect from '@/components/DropdownSelect.vue'\nimport Modal from '@/components/Modal.vue'\nimport Button from '@/components/Button.vue'\n\nexport interface Article {\n siteId: string\n id: string\n imageId: string\n title: string\n lead: string\n}\n\nexport interface InternalArticleOfferModel {\n article: Article\n format: string\n}\n\nconst defaultValue: InternalArticleOfferModel = {\n article: {\n siteId: '',\n id: '',\n imageId: '',\n title: '',\n lead: '',\n },\n format: '',\n}\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', v: InternalArticleOfferModel): void\n}>()\n\nconst props = withDefaults(\n defineProps<{\n modelValue?: InternalArticleOfferModel\n searchArticleApiUrl: string\n searchArticleWidgetUrl: string\n environment: string\n searchImageWidgetUrl: string\n imageBaseUrl: string\n imageViewId: string\n showIds?: boolean\n formats: { label: string; value: string }[]\n }>(),\n {\n showIds: true,\n },\n)\n\nconst localModel = ref<InternalArticleOfferModel>(defaultValue)\nconst imageModel = ref({\n id: localModel.value.article.imageId || '',\n url: '',\n source: '',\n title: '',\n isAdult: false,\n})\nconst showArticleModal = ref(false)\n\nwatch(\n () => props.modelValue,\n (newVal) => {\n if (!newVal) {\n localModel.value = defaultValue\n } else {\n localModel.value = newVal\n }\n },\n { deep: true, immediate: true },\n)\n\nwatch(\n () => localModel,\n (newVal) => {\n emit('update:modelValue', localModel.value)\n imageModel.value.id = newVal.value.article.imageId\n },\n { deep: true, immediate: true },\n)\n\nwatch(\n () => imageModel.value.id,\n (id) => {\n localModel.value.article.imageId = id\n },\n { deep: true, immediate: true },\n)\n\nconst articleCausationId = ref(new Date().getTime().toString() + 'article')\nconst EMPTYGUID = '00000000-0000-0000-0000-000000000000'\n\nonUnmounted(() => {\n window.removeEventListener('search_posts_selected', onPostSelected)\n})\n\nonMounted(() => {\n window.addEventListener('search_posts_selected', onPostSelected)\n})\n\nconst onPostSelected = (e: any) => {\n if (e.detail.id == articleCausationId.value) {\n if (e.detail.result && e.detail.posts.length > 0) {\n localModel.value.article.id = e.detail.posts[0].id\n localModel.value.article.siteId = e.detail.posts[0].siteId\n localModel.value.article.title = e.detail.posts[0].title\n localModel.value.article.lead = e.detail.posts[0].lead\n const imageId = e.detail.posts[0].featuredImage\n localModel.value.article.imageId = imageId || EMPTYGUID\n }\n\n showArticleModal.value = false\n }\n}\n\nconst selectArticle = () => {\n showArticleModal.value = true\n}\n\nconst addScript = (url: string) => {\n if (!customElements.get('search-posts-widget')) {\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\nif (!customElements.get('hvg-search-image')) {\n if (!document.querySelector(`script[src=\"${props.searchImageWidgetUrl}\"]`)) {\n const script = document.createElement('script')\n script.type = 'text/javascript'\n script.src = props.searchImageWidgetUrl\n script.async = true\n document.head.appendChild(script)\n }\n}\n\naddScript(props.searchArticleWidgetUrl)\n</script>\n\n<template>\n <div class=\"ac-component\">\n <div class=\"d-flex flex-column gap-2\">\n <div>\n <Button\n type=\"success\"\n label=\"Cikk kiválasztása\"\n class=\"nowrap\"\n @click=\"selectArticle\"\n icon=\"fa-solid fa-newspaper\"\n />\n </div>\n\n <template v-if=\"showIds\">\n <div class=\"flex gap-2\">\n <div>\n <label for=\"articleId\" class=\"c-label\">Article ID</label>\n <div class=\"c-input-row\">\n <input\n id=\"articleId\"\n type=\"text\"\n class=\"c-input\"\n placeholder=\"Article ID\"\n disabled\n :value=\"localModel.article.id\"\n />\n </div>\n </div>\n\n <div>\n <label for=\"articleSiteId\" class=\"c-label\">Site ID</label>\n <div class=\"c-input-row\">\n <input\n id=\"articleSiteId\"\n type=\"text\"\n class=\"c-input\"\n placeholder=\"Site ID\"\n disabled\n :value=\"localModel.article.siteId\"\n />\n </div>\n </div>\n </div>\n </template>\n\n <div>\n <label for=\"articleTitle\" class=\"c-label\">Title</label>\n <div class=\"c-input-row\">\n <textarea\n id=\"articleTitle\"\n class=\"c-input\"\n placeholder=\"Article title\"\n :value=\"localModel.article.title\"\n @input=\"localModel.article.title = ($event.target as any)?.value || ''\"\n />\n </div>\n </div>\n\n <div>\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=\"Article lead / description\"\n :value=\"localModel.article.lead\"\n @input=\"localModel.article.lead = ($event.target as any)?.value || ''\"\n />\n </div>\n </div>\n\n <hr class=\"separator\" />\n\n <div>\n <ImagePicker\n v-model=\"imageModel\"\n :details=\"false\"\n :editable=\"false\"\n :environment=\"props.environment\"\n :article-editor-url=\"props.searchArticleApiUrl\"\n :search-image-widget-url=\"props.searchImageWidgetUrl\"\n :image-base-url=\"props.imageBaseUrl\"\n :image-view-id=\"props.imageViewId\"\n />\n </div>\n\n <div>\n <label class=\"c-label\">Format</label>\n <DropdownSelect\n v-model=\"localModel.format\"\n :options=\"props.formats\"\n :config=\"{ placeholder: 'Select format...' }\"\n />\n </div>\n\n <Modal v-if=\"showArticleModal\" title=\"Search Article\" @close=\"showArticleModal = false\">\n <search-posts-widget\n :id=\"articleCausationId\"\n selector=\"true\"\n :apiurl=\"props.searchArticleApiUrl\"\n wpurl=\"\"\n searchurl=\"\"\n style=\"height: 500px\"\n />\n </Modal>\n </div>\n </div>\n</template>\n"],"mappings":"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"}
@@ -1,7 +1,5 @@
1
- import './src/styles/components/loader.scss_vue_type_style_index_0_src_true_lang.css';
2
- import e from "./admins-components50.js";
3
- /* empty css */
4
- //#region src/components/Loader.vue
1
+ import e from "./admins-components51.js";
2
+ //#region src/components/custom/InternalArticleOffer.vue
5
3
  var t = e;
6
4
  //#endregion
7
5
  export { t as default };
@@ -1 +1 @@
1
- {"version":3,"file":"admins-components52.js","names":[],"sources":["../src/components/Loader.vue"],"sourcesContent":["<script setup lang=\"ts\">\nwithDefaults(\n defineProps<{\n loading: boolean\n size?: string\n }>(),\n {\n size: '2rem',\n },\n)\n</script>\n<template>\n <div class=\"loader\" :style=\"{ width: size, '--loader-thickness': `calc(${size} / 6)` }\"></div>\n</template>\n\n<style lang=\"scss\" src=\"@/styles/components/loader.scss\"></style>\n"],"mappings":""}
1
+ {"version":3,"file":"admins-components52.js","names":[],"sources":["../src/components/custom/InternalArticleOffer.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { onMounted, onUnmounted, ref, watch } from 'vue'\nimport ImagePicker from '@/components/custom/ImagePicker.vue'\nimport DropdownSelect from '@/components/DropdownSelect.vue'\nimport Modal from '@/components/Modal.vue'\nimport Button from '@/components/Button.vue'\n\nexport interface Article {\n siteId: string\n id: string\n imageId: string\n title: string\n lead: string\n}\n\nexport interface InternalArticleOfferModel {\n article: Article\n format: string\n}\n\nconst defaultValue: InternalArticleOfferModel = {\n article: {\n siteId: '',\n id: '',\n imageId: '',\n title: '',\n lead: '',\n },\n format: '',\n}\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', v: InternalArticleOfferModel): void\n}>()\n\nconst props = withDefaults(\n defineProps<{\n modelValue?: InternalArticleOfferModel\n searchArticleApiUrl: string\n searchArticleWidgetUrl: string\n environment: string\n searchImageWidgetUrl: string\n imageBaseUrl: string\n imageViewId: string\n showIds?: boolean\n formats: { label: string; value: string }[]\n }>(),\n {\n showIds: true,\n },\n)\n\nconst localModel = ref<InternalArticleOfferModel>(defaultValue)\nconst imageModel = ref({\n id: localModel.value.article.imageId || '',\n url: '',\n source: '',\n title: '',\n isAdult: false,\n})\nconst showArticleModal = ref(false)\n\nwatch(\n () => props.modelValue,\n (newVal) => {\n if (!newVal) {\n localModel.value = defaultValue\n } else {\n localModel.value = newVal\n }\n },\n { deep: true, immediate: true },\n)\n\nwatch(\n () => localModel,\n (newVal) => {\n emit('update:modelValue', localModel.value)\n imageModel.value.id = newVal.value.article.imageId\n },\n { deep: true, immediate: true },\n)\n\nwatch(\n () => imageModel.value.id,\n (id) => {\n localModel.value.article.imageId = id\n },\n { deep: true, immediate: true },\n)\n\nconst articleCausationId = ref(new Date().getTime().toString() + 'article')\nconst EMPTYGUID = '00000000-0000-0000-0000-000000000000'\n\nonUnmounted(() => {\n window.removeEventListener('search_posts_selected', onPostSelected)\n})\n\nonMounted(() => {\n window.addEventListener('search_posts_selected', onPostSelected)\n})\n\nconst onPostSelected = (e: any) => {\n if (e.detail.id == articleCausationId.value) {\n if (e.detail.result && e.detail.posts.length > 0) {\n localModel.value.article.id = e.detail.posts[0].id\n localModel.value.article.siteId = e.detail.posts[0].siteId\n localModel.value.article.title = e.detail.posts[0].title\n localModel.value.article.lead = e.detail.posts[0].lead\n const imageId = e.detail.posts[0].featuredImage\n localModel.value.article.imageId = imageId || EMPTYGUID\n }\n\n showArticleModal.value = false\n }\n}\n\nconst selectArticle = () => {\n showArticleModal.value = true\n}\n\nconst addScript = (url: string) => {\n if (!customElements.get('search-posts-widget')) {\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\nif (!customElements.get('hvg-search-image')) {\n if (!document.querySelector(`script[src=\"${props.searchImageWidgetUrl}\"]`)) {\n const script = document.createElement('script')\n script.type = 'text/javascript'\n script.src = props.searchImageWidgetUrl\n script.async = true\n document.head.appendChild(script)\n }\n}\n\naddScript(props.searchArticleWidgetUrl)\n</script>\n\n<template>\n <div class=\"ac-component\">\n <div class=\"d-flex flex-column gap-2\">\n <div>\n <Button\n type=\"success\"\n label=\"Cikk kiválasztása\"\n class=\"nowrap\"\n @click=\"selectArticle\"\n icon=\"fa-solid fa-newspaper\"\n />\n </div>\n\n <template v-if=\"showIds\">\n <div class=\"flex gap-2\">\n <div>\n <label for=\"articleId\" class=\"c-label\">Article ID</label>\n <div class=\"c-input-row\">\n <input\n id=\"articleId\"\n type=\"text\"\n class=\"c-input\"\n placeholder=\"Article ID\"\n disabled\n :value=\"localModel.article.id\"\n />\n </div>\n </div>\n\n <div>\n <label for=\"articleSiteId\" class=\"c-label\">Site ID</label>\n <div class=\"c-input-row\">\n <input\n id=\"articleSiteId\"\n type=\"text\"\n class=\"c-input\"\n placeholder=\"Site ID\"\n disabled\n :value=\"localModel.article.siteId\"\n />\n </div>\n </div>\n </div>\n </template>\n\n <div>\n <label for=\"articleTitle\" class=\"c-label\">Title</label>\n <div class=\"c-input-row\">\n <textarea\n id=\"articleTitle\"\n class=\"c-input\"\n placeholder=\"Article title\"\n :value=\"localModel.article.title\"\n @input=\"localModel.article.title = ($event.target as any)?.value || ''\"\n />\n </div>\n </div>\n\n <div>\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=\"Article lead / description\"\n :value=\"localModel.article.lead\"\n @input=\"localModel.article.lead = ($event.target as any)?.value || ''\"\n />\n </div>\n </div>\n\n <hr class=\"separator\" />\n\n <div>\n <ImagePicker\n v-model=\"imageModel\"\n :details=\"false\"\n :editable=\"false\"\n :environment=\"props.environment\"\n :article-editor-url=\"props.searchArticleApiUrl\"\n :search-image-widget-url=\"props.searchImageWidgetUrl\"\n :image-base-url=\"props.imageBaseUrl\"\n :image-view-id=\"props.imageViewId\"\n />\n </div>\n\n <div>\n <label class=\"c-label\">Format</label>\n <DropdownSelect\n v-model=\"localModel.format\"\n :options=\"props.formats\"\n :config=\"{ placeholder: 'Select format...' }\"\n />\n </div>\n\n <Modal v-if=\"showArticleModal\" title=\"Search Article\" @close=\"showArticleModal = false\">\n <search-posts-widget\n :id=\"articleCausationId\"\n selector=\"true\"\n :apiurl=\"props.searchArticleApiUrl\"\n wpurl=\"\"\n searchurl=\"\"\n style=\"height: 500px\"\n />\n </Modal>\n </div>\n </div>\n</template>\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"admins-components58.js","names":[],"sources":["../src/types/data-list.ts"],"sourcesContent":["import type { Ref } from 'vue'\nimport type { DropdownOption } from '@/components/DropdownSelect.vue'\nimport type { PickedDate, PickedUtcRange } from '@/types/types'\nimport type { ButtonType } from '@/components/Button.vue'\nimport type { ConfirmModalProps } from '@/components/ConfirmModal.vue'\n\nexport type FilterValue = string | PickedDate | PickedUtcRange | string[] | null | undefined\n\nexport interface FilterConfig {\n type: 'text' | 'date' | 'date-range' | 'select' | 'multi-select'\n key: string\n placeholder?: string\n options?: DropdownOption[]\n}\n\nexport type LayoutMode = 'table' | 'cards' | 'screen'\n\nexport interface DataTableSettings {\n striped: boolean\n compact: boolean\n}\n\nexport interface DataCardsSettings {\n compact: boolean\n}\n\nexport interface DataListSettings extends DataTableSettings, DataCardsSettings {\n layout: LayoutMode\n columns: Record<string, boolean>\n cardHeaderColumns: Record<string, boolean>\n columnOrder: string[]\n cardHeaderOrder: string[]\n}\n\nexport interface PageSettings {\n page: number\n pageSize: number\n}\n\nexport interface PaginatorSettings extends PageSettings {\n total: number\n}\n\nexport interface DataListConfig {\n selectableAttr?: string | undefined\n columns: Column[]\n\n actions?: Array<Action | ActionGroup> | undefined\n actionHeader?: string | undefined\n}\n\nexport type ColumnType = 'normal' | 'uuid' | 'date' | 'datetime'\n\nexport interface Column {\n visible?: boolean | undefined\n primary?: boolean | undefined\n label: string\n property: string\n sort?: undefined | Sort\n type?: ColumnType\n class?: string | undefined\n headerClass?: string | undefined\n hideCopyToClipboard?: boolean | undefined\n\n converter?: undefined | ((v: any, item: any) => any)\n loading?: (() => boolean) | undefined\n}\n\nexport type SortDirection = 'asc' | 'desc' | null\n\nexport interface Sort {\n label: string\n active: Ref<boolean> | undefined\n direction?: Ref<SortDirection> | undefined\n callback: (property: string, direction: SortDirection) => any\n}\n\nexport interface Action {\n icon: string\n label?: string\n ariaLabel?: string\n cardLabel?: string\n type?: ButtonType\n config?: Record<string, any> | undefined\n disabled?: (item: any) => boolean\n callback: (item: any) => any\n confirm?: boolean\n confirmConfig?: ConfirmModalProps\n}\n\nexport interface ActionGroup {\n isGroup: true\n icon?: string\n label?: string\n ariaLabel?: string\n cardLabel?: string\n config?: Record<string, any> | undefined\n items: Action[]\n disabled?: (item: any) => boolean\n}\n\nexport const dataTableSettingsDefaults: DataTableSettings = {\n striped: true,\n compact: false,\n}\n\nexport const dataCardsSettingsDefaults: DataCardsSettings = {\n compact: false,\n}\n\nexport const dataListSettingsDefaults: Partial<DataListSettings> = {\n layout: 'screen',\n compact: false,\n}\n"],"mappings":";AAqGA,IAAa,IAA+C;CAC1D,SAAS;CACT,SAAS;AACX,GAEa,IAA+C,EAC1D,SAAS,GACX,GAEa,IAAsD;CACjE,QAAQ;CACR,SAAS;AACX"}
1
+ {"version":3,"file":"admins-components58.js","names":[],"sources":["../src/types/data-list.ts"],"sourcesContent":["import type { Ref } from 'vue'\nimport type { DropdownOption } from '@/components/DropdownSelect.vue'\nimport type { PickedDate, PickedUtcRange } from '@/types/types'\nimport type { ButtonType } from '@/components/Button.vue'\nimport type { ConfirmModalProps } from '@/components/ConfirmModal.vue'\n\nexport type FilterValue = string | PickedDate | PickedUtcRange | string[] | null | undefined\n\nexport interface FilterConfig {\n type: 'text' | 'date' | 'date-range' | 'select' | 'multi-select'\n key: string\n placeholder?: string\n options?: DropdownOption[]\n}\n\nexport type LayoutMode = 'table' | 'cards' | 'screen'\n\nexport interface DataTableSettings {\n striped: boolean\n compact: boolean\n}\n\nexport interface DataCardsSettings {\n compact: boolean\n}\n\nexport interface DataListSettings extends DataTableSettings, DataCardsSettings {\n layout: LayoutMode\n columns: Record<string, boolean>\n cardHeaderColumns: Record<string, boolean>\n columnOrder: string[]\n cardHeaderOrder: string[]\n}\n\nexport interface PageSettings {\n page: number\n pageSize: number\n}\n\nexport interface PaginatorSettings extends PageSettings {\n total: number\n}\n\nexport interface DataListConfig {\n selectableAttr?: string | undefined\n columns: Column[]\n\n actions?: Array<Action | ActionGroup> | undefined\n actionHeader?: string | undefined\n}\n\nexport type ColumnType = 'normal' | 'uuid' | 'date' | 'datetime'\n\nexport interface Column {\n visible?: boolean | undefined\n primary?: boolean | undefined\n label: string\n property: string\n sort?: undefined | Sort\n type?: ColumnType\n class?: string | undefined\n headerClass?: string | undefined\n hideCopyToClipboard?: boolean | undefined\n\n converter?: undefined | ((v: any, item: any) => any)\n loading?: (() => boolean) | undefined\n}\n\nexport type SortDirection = 'asc' | 'desc' | null\n\nexport interface Sort {\n label: string\n active: Ref<boolean> | undefined\n direction?: Ref<SortDirection> | undefined\n callback: (property: string, direction: SortDirection) => any\n}\n\nexport interface Action {\n icon: string\n label?: string\n ariaLabel?: string\n cardLabel?: string\n type?: ButtonType\n config?: Record<string, any> | undefined\n disabled?: (item: any) => boolean\n callback: (item: any) => any\n withConfirm?: boolean\n withConfirmConfig?: ConfirmModalProps\n}\n\nexport interface ActionGroup {\n isGroup: true\n icon?: string\n label?: string\n ariaLabel?: string\n cardLabel?: string\n config?: Record<string, any> | undefined\n items: Action[]\n disabled?: (item: any) => boolean\n}\n\nexport const dataTableSettingsDefaults: DataTableSettings = {\n striped: true,\n compact: false,\n}\n\nexport const dataCardsSettingsDefaults: DataCardsSettings = {\n compact: false,\n}\n\nexport const dataListSettingsDefaults: Partial<DataListSettings> = {\n layout: 'screen',\n compact: false,\n}\n"],"mappings":";AAqGA,IAAa,IAA+C;CAC1D,SAAS;CACT,SAAS;AACX,GAEa,IAA+C,EAC1D,SAAS,GACX,GAEa,IAAsD;CACjE,QAAQ;CACR,SAAS;AACX"}
@@ -1,5 +1,5 @@
1
- import e from "./admins-components42.js";
2
- import t from "./admins-components52.js";
1
+ import e from "./admins-components25.js";
2
+ import t from "./admins-components45.js";
3
3
  import { getColumnValue as n } from "./admins-components59.js";
4
4
  import { shortUuid as r } from "./admins-components60.js";
5
5
  import { computed as i, createBlock as a, createCommentVNode as o, createElementBlock as s, createElementVNode as c, createVNode as l, defineComponent as u, isVNode as d, openBlock as f, resolveDirective as p, resolveDynamicComponent as m, toDisplayString as h, withDirectives as g } from "vue";
@@ -42,21 +42,21 @@ var _ = {
42
42
  });
43
43
  return (n, r) => {
44
44
  let i = p("tooltip");
45
- return u.col.loading?.() ? (f(), s("span", _, [l(t, {
45
+ return u.col.loading?.() ? (f(), s("span", _, [l(e, {
46
46
  loading: !0,
47
47
  size: "1rem"
48
- })])) : O.value ? (f(), a(m(D.value), { key: 1 })) : u.col.type === "uuid" ? g((f(), s("span", v, [c("span", { innerHTML: k.value }, null, 8, y), u.copy && D.value ? (f(), a(e, {
48
+ })])) : O.value ? (f(), a(m(D.value), { key: 1 })) : u.col.type === "uuid" ? g((f(), s("span", v, [c("span", { innerHTML: k.value }, null, 8, y), u.copy && D.value ? (f(), a(t, {
49
49
  key: 0,
50
50
  value: D.value
51
51
  }, null, 8, ["value"])) : o("", !0)])), [[i, D.value]]) : u.col.type === "datetime" ? (f(), s("span", b, [
52
52
  c("span", x, h(A.value?.date), 1),
53
53
  A.value?.time ? (f(), s("span", S)) : o("", !0),
54
54
  c("span", C, h(A.value?.time), 1),
55
- u.copy && D.value ? (f(), a(e, {
55
+ u.copy && D.value ? (f(), a(t, {
56
56
  key: 1,
57
57
  value: D.value
58
58
  }, null, 8, ["value"])) : o("", !0)
59
- ])) : (f(), s("span", w, [c("span", { innerHTML: D.value }, null, 8, T), u.copy && D.value ? (f(), a(e, {
59
+ ])) : (f(), s("span", w, [c("span", { innerHTML: D.value }, null, 8, T), u.copy && D.value ? (f(), a(t, {
60
60
  key: 0,
61
61
  value: D.value
62
62
  }, null, 8, ["value"])) : o("", !0)]));
@@ -1,6 +1,6 @@
1
1
  import e from "./admins-components6.js";
2
- import t from "./admins-components27.js";
3
- import n from "./admins-components39.js";
2
+ import t from "./admins-components30.js";
3
+ import n from "./admins-components42.js";
4
4
  import { Fragment as r, createBlock as i, createCommentVNode as a, createElementBlock as o, defineComponent as s, mergeProps as c, openBlock as l, ref as u, renderList as d } from "vue";
5
5
  //#region src/components/data-table/DataListActions.vue?vue&type=script&setup=true&lang.ts
6
6
  var f = /* @__PURE__ */ s({
@@ -12,14 +12,15 @@ var f = /* @__PURE__ */ s({
12
12
  setup(s) {
13
13
  let f = u(null);
14
14
  function p(e) {
15
- return e.confirmConfig ?? {
15
+ return {
16
16
  title: e.label ?? "Megerősítés",
17
17
  message: "Biztosan végrehajta a műveletet?",
18
- type: e.type
18
+ type: e.type,
19
+ ...e.withConfirmConfig
19
20
  };
20
21
  }
21
22
  function m(e, t) {
22
- e.confirm ? f.value = {
23
+ e.withConfirm ? f.value = {
23
24
  action: e,
24
25
  item: t
25
26
  } : e.callback(t);
@@ -31,13 +32,17 @@ var f = /* @__PURE__ */ s({
31
32
  return e.isGroup === !0 && Array.isArray(e.items);
32
33
  }
33
34
  function _(e, t) {
34
- return e.items.map((e) => ({
35
- icon: e.icon,
36
- label: e.label ?? "",
37
- type: e.type,
38
- size: e.label ? "small" : "normal",
39
- callback: () => m(e, t)
40
- }));
35
+ return e.items.map((e) => {
36
+ let n = e.disabled;
37
+ return {
38
+ icon: e.icon,
39
+ label: e.label ?? "",
40
+ type: e.type,
41
+ size: e.label ? "small" : "normal",
42
+ callback: () => m(e, t),
43
+ disabled: n ? () => n(t) : void 0
44
+ };
45
+ });
41
46
  }
42
47
  return (u, v) => (l(), o(r, null, [(l(!0), o(r, null, d(s.actions, (n, a) => (l(), o(r, { key: a }, [g(n) ? (l(), i(t, c({
43
48
  key: 0,
@@ -53,19 +58,19 @@ var f = /* @__PURE__ */ s({
53
58
  icon: n.icon,
54
59
  label: n.label,
55
60
  type: n.type,
56
- disabled: n.disabled ? n.disabled(s.item) : !1,
57
61
  size: n.label ? "small" : "normal",
58
62
  ariaLabel: n.ariaLabel,
59
63
  outline: "",
60
- callback: () => m(n, s.item)
64
+ callback: () => m(n, s.item),
65
+ disabled: n.disabled ? n.disabled(s.item) : !1
61
66
  }, { ref_for: !0 }, n.config), null, 16, [
62
67
  "icon",
63
68
  "label",
64
69
  "type",
65
- "disabled",
66
70
  "size",
67
71
  "ariaLabel",
68
- "callback"
72
+ "callback",
73
+ "disabled"
69
74
  ]))], 64))), 128)), f.value ? (l(), i(n, c({ key: 0 }, p(f.value.action), {
70
75
  onConfirm: h,
71
76
  onCancel: v[0] ||= (e) => f.value = null
@@ -1 +1 @@
1
- {"version":3,"file":"admins-components63.js","names":[],"sources":["../src/components/data-table/DataListActions.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref } from 'vue'\nimport type { Action, ActionGroup } from '@/types/data-list'\nimport type { ConfirmModalProps } from '@/components/ConfirmModal.vue'\nimport Button from '@/components/Button.vue'\nimport DropdownMenu from '@/components/DropdownMenu.vue'\nimport ConfirmModal from '@/components/ConfirmModal.vue'\nimport type { DropdownMenuItem } from '@/components/DropdownMenu.vue'\n\ndefineProps<{\n actions: Array<Action | ActionGroup>\n item?: Record<string, unknown>\n}>()\n\nconst activeConfirm = ref<{\n action: Action\n item?: Record<string, unknown>\n} | null>(null)\n\nfunction getConfirmConfig(action: Action): ConfirmModalProps {\n return action.confirmConfig ?? {\n title: action.label ?? 'Megerősítés',\n message: 'Biztosan végrehajta a műveletet?',\n type: action.type,\n }\n}\n\nfunction handleOnClick(action: Action, item?: Record<string, unknown>) {\n if (action.confirm) {\n activeConfirm.value = { action, item }\n } else {\n action.callback(item)\n }\n}\n\nfunction handleConfirm() {\n if (activeConfirm.value) {\n activeConfirm.value.action.callback(activeConfirm.value.item)\n activeConfirm.value = null\n }\n}\n\nfunction isActionGroup(entry: Action | ActionGroup): entry is ActionGroup {\n return (entry as ActionGroup).isGroup === true && Array.isArray((entry as ActionGroup).items)\n}\n\nfunction buildActionGroupMenuItems(\n group: ActionGroup,\n item?: Record<string, unknown>,\n): DropdownMenuItem[] {\n return group.items.map((action: Action) => ({\n icon: action.icon,\n label: action.label ?? '',\n type: action.type,\n size: action.label ? 'small' : 'normal',\n callback: () => handleOnClick(action, item),\n }))\n}\n</script>\n\n<template>\n <template v-for=\"(action, ai) in actions\" :key=\"ai\">\n <DropdownMenu\n v-if=\"isActionGroup(action)\"\n :icon=\"action.icon\"\n :label=\"action.label\"\n :items=\"buildActionGroupMenuItems(action, item)\"\n v-bind=\"action.config\"\n />\n\n <Button\n v-else\n :icon=\"action.icon\"\n :label=\"action.label\"\n :type=\"action.type\"\n :disabled=\"action.disabled ? action.disabled(item) : false\"\n :size=\"action.label ? 'small' : 'normal'\"\n :ariaLabel=\"action.ariaLabel\"\n outline\n :callback=\"() => handleOnClick(action, item)\"\n v-bind=\"action.config\"\n />\n </template>\n\n <ConfirmModal\n v-if=\"activeConfirm\"\n v-bind=\"getConfirmConfig(activeConfirm.action)\"\n @confirm=\"handleConfirm\"\n @cancel=\"activeConfirm = null\"\n />\n</template>\n"],"mappings":";;;;;;;;;;;;EAcA,IAAM,IAAgB,EAGZ,IAAI;EAEd,SAAS,EAAiB,GAAmC;GAC3D,OAAO,EAAO,iBAAiB;IAC7B,OAAO,EAAO,SAAS;IACvB,SAAS;IACT,MAAM,EAAO;GACf;EACF;EAEA,SAAS,EAAc,GAAgB,GAAgC;GACrE,AAAI,EAAO,UACT,EAAc,QAAQ;IAAE;IAAQ;GAAK,IAErC,EAAO,SAAS,CAAI;EAExB;EAEA,SAAS,IAAgB;GACvB,AAEE,EAAc,WADd,EAAc,MAAM,OAAO,SAAS,EAAc,MAAM,IAAI,GACtC;EAE1B;EAEA,SAAS,EAAc,GAAmD;GACxE,OAAQ,EAAsB,YAAY,MAAQ,MAAM,QAAS,EAAsB,KAAK;EAC9F;EAEA,SAAS,EACP,GACA,GACoB;GACpB,OAAO,EAAM,MAAM,KAAK,OAAoB;IAC1C,MAAM,EAAO;IACb,OAAO,EAAO,SAAS;IACvB,MAAM,EAAO;IACb,MAAM,EAAO,QAAQ,UAAU;IAC/B,gBAAgB,EAAc,GAAQ,CAAI;GAC5C,EAAE;EACJ;6CAIE,EAqBW,GAAA,MAAA,EArBsB,EAAA,UAAf,GAAQ,wBAAsB,EAAE,GAAA,CAExC,EAAc,CAAM,KAAA,EAAA,GAD5B,EAME,GANF,EAME;;GAJC,MAAM,EAAO;GACb,OAAO,EAAO;GACd,OAAO,EAA0B,GAAQ,EAAA,IAAI;sBACtC,EAAO,MAAM,GAAA,MAAA,IAAA;GAAA;GAAA;GAAA;EAAA,CAAA,MAAA,EAAA,GAGvB,EAWE,GAXF,EAWE;;GATC,MAAM,EAAO;GACb,OAAO,EAAO;GACd,MAAM,EAAO;GACb,UAAU,EAAO,WAAW,EAAO,SAAS,EAAA,IAAI,IAAA;GAChD,MAAM,EAAO,QAAK,UAAA;GAClB,WAAW,EAAO;GACnB,SAAA;GACC,gBAAgB,EAAc,GAAQ,EAAA,IAAI;sBACnC,EAAO,MAAM,GAAA,MAAA,IAAA;GAAA;GAAA;GAAA;GAAA;GAAA;GAAA;GAAA;EAAA,CAAA,EAAA,GAAA,EAAA,YAKjB,EAAA,SAAA,EAAA,GADR,EAKE,GALF,EAKE,EAAA,KAAA,EAAA,GAHQ,EAAiB,EAAA,MAAc,MAAM,GAAA;GAC5C,WAAS;GACT,UAAM,AAAA,EAAA,QAAA,MAAE,EAAA,QAAa"}
1
+ {"version":3,"file":"admins-components63.js","names":[],"sources":["../src/components/data-table/DataListActions.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref } from 'vue'\nimport type { Action, ActionGroup } from '@/types/data-list'\nimport type { ConfirmModalProps } from '@/components/ConfirmModal.vue'\nimport Button from '@/components/Button.vue'\nimport DropdownMenu from '@/components/DropdownMenu.vue'\nimport ConfirmModal from '@/components/ConfirmModal.vue'\nimport type { DropdownMenuItem } from '@/components/DropdownMenu.vue'\n\ndefineProps<{\n actions: Array<Action | ActionGroup>\n item?: Record<string, unknown>\n}>()\n\nconst activeConfirm = ref<{\n action: Action\n item?: Record<string, unknown>\n} | null>(null)\n\nfunction getConfirmConfig(action: Action): ConfirmModalProps {\n const defaultConfig = {\n title: action.label ?? 'Megerősítés',\n message: 'Biztosan végrehajta a műveletet?',\n type: action.type,\n }\n return {\n ...defaultConfig,\n ...action.withConfirmConfig,\n }\n}\n\nfunction handleOnClick(action: Action, item?: Record<string, unknown>) {\n if (action.withConfirm) {\n activeConfirm.value = { action, item }\n } else {\n action.callback(item)\n }\n}\n\nfunction handleConfirm() {\n if (activeConfirm.value) {\n activeConfirm.value.action.callback(activeConfirm.value.item)\n activeConfirm.value = null\n }\n}\n\nfunction isActionGroup(entry: Action | ActionGroup): entry is ActionGroup {\n return (entry as ActionGroup).isGroup === true && Array.isArray((entry as ActionGroup).items)\n}\n\nfunction buildActionGroupMenuItems(\n group: ActionGroup,\n item?: Record<string, unknown>,\n): DropdownMenuItem[] {\n return group.items.map((action: Action) => {\n const isDisabled = action.disabled\n return {\n icon: action.icon,\n label: action.label ?? '',\n type: action.type,\n size: action.label ? 'small' : 'normal',\n callback: () => handleOnClick(action, item),\n disabled: isDisabled ? () => isDisabled(item) : undefined,\n }\n })\n}\n</script>\n\n<template>\n <template v-for=\"(action, ai) in actions\" :key=\"ai\">\n <DropdownMenu\n v-if=\"isActionGroup(action)\"\n :icon=\"action.icon\"\n :label=\"action.label\"\n :items=\"buildActionGroupMenuItems(action, item)\"\n v-bind=\"action.config\"\n />\n\n <Button\n v-else\n :icon=\"action.icon\"\n :label=\"action.label\"\n :type=\"action.type\"\n :size=\"action.label ? 'small' : 'normal'\"\n :ariaLabel=\"action.ariaLabel\"\n outline\n :callback=\"() => handleOnClick(action, item)\"\n :disabled=\"action.disabled ? action.disabled(item) : false\"\n v-bind=\"action.config\"\n />\n </template>\n\n <ConfirmModal\n v-if=\"activeConfirm\"\n v-bind=\"getConfirmConfig(activeConfirm.action)\"\n @confirm=\"handleConfirm\"\n @cancel=\"activeConfirm = null\"\n />\n</template>\n"],"mappings":";;;;;;;;;;;;EAcA,IAAM,IAAgB,EAGZ,IAAI;EAEd,SAAS,EAAiB,GAAmC;GAM3D,OAAO;IAJL,OAAO,EAAO,SAAS;IACvB,SAAS;IACT,MAAM,EAAO;IAIb,GAAG,EAAO;GACZ;EACF;EAEA,SAAS,EAAc,GAAgB,GAAgC;GACrE,AAAI,EAAO,cACT,EAAc,QAAQ;IAAE;IAAQ;GAAK,IAErC,EAAO,SAAS,CAAI;EAExB;EAEA,SAAS,IAAgB;GACvB,AAEE,EAAc,WADd,EAAc,MAAM,OAAO,SAAS,EAAc,MAAM,IAAI,GACtC;EAE1B;EAEA,SAAS,EAAc,GAAmD;GACxE,OAAQ,EAAsB,YAAY,MAAQ,MAAM,QAAS,EAAsB,KAAK;EAC9F;EAEA,SAAS,EACP,GACA,GACoB;GACpB,OAAO,EAAM,MAAM,KAAK,MAAmB;IACzC,IAAM,IAAa,EAAO;IAC1B,OAAO;KACL,MAAM,EAAO;KACb,OAAO,EAAO,SAAS;KACvB,MAAM,EAAO;KACb,MAAM,EAAO,QAAQ,UAAU;KAC/B,gBAAgB,EAAc,GAAQ,CAAI;KAC1C,UAAU,UAAmB,EAAW,CAAI,IAAI,KAAA;IAClD;GACF,CAAC;EACH;6CAIE,EAqBW,GAAA,MAAA,EArBsB,EAAA,UAAf,GAAQ,wBAAsB,EAAE,GAAA,CAExC,EAAc,CAAM,KAAA,EAAA,GAD5B,EAME,GANF,EAME;;GAJC,MAAM,EAAO;GACb,OAAO,EAAO;GACd,OAAO,EAA0B,GAAQ,EAAA,IAAI;sBACtC,EAAO,MAAM,GAAA,MAAA,IAAA;GAAA;GAAA;GAAA;EAAA,CAAA,MAAA,EAAA,GAGvB,EAWE,GAXF,EAWE;;GATC,MAAM,EAAO;GACb,OAAO,EAAO;GACd,MAAM,EAAO;GACb,MAAM,EAAO,QAAK,UAAA;GAClB,WAAW,EAAO;GACnB,SAAA;GACC,gBAAgB,EAAc,GAAQ,EAAA,IAAI;GAC1C,UAAU,EAAO,WAAW,EAAO,SAAS,EAAA,IAAI,IAAA;sBACzC,EAAO,MAAM,GAAA,MAAA,IAAA;GAAA;GAAA;GAAA;GAAA;GAAA;GAAA;GAAA;EAAA,CAAA,EAAA,GAAA,EAAA,YAKjB,EAAA,SAAA,EAAA,GADR,EAKE,GALF,EAKE,EAAA,KAAA,EAAA,GAHQ,EAAiB,EAAA,MAAc,MAAM,GAAA;GAC5C,WAAS;GACT,UAAM,AAAA,EAAA,QAAA,MAAE,EAAA,QAAa"}
@@ -1 +1 @@
1
- {"version":3,"file":"admins-components64.js","names":[],"sources":["../src/components/data-table/DataListActions.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref } from 'vue'\nimport type { Action, ActionGroup } from '@/types/data-list'\nimport type { ConfirmModalProps } from '@/components/ConfirmModal.vue'\nimport Button from '@/components/Button.vue'\nimport DropdownMenu from '@/components/DropdownMenu.vue'\nimport ConfirmModal from '@/components/ConfirmModal.vue'\nimport type { DropdownMenuItem } from '@/components/DropdownMenu.vue'\n\ndefineProps<{\n actions: Array<Action | ActionGroup>\n item?: Record<string, unknown>\n}>()\n\nconst activeConfirm = ref<{\n action: Action\n item?: Record<string, unknown>\n} | null>(null)\n\nfunction getConfirmConfig(action: Action): ConfirmModalProps {\n return action.confirmConfig ?? {\n title: action.label ?? 'Megerősítés',\n message: 'Biztosan végrehajta a műveletet?',\n type: action.type,\n }\n}\n\nfunction handleOnClick(action: Action, item?: Record<string, unknown>) {\n if (action.confirm) {\n activeConfirm.value = { action, item }\n } else {\n action.callback(item)\n }\n}\n\nfunction handleConfirm() {\n if (activeConfirm.value) {\n activeConfirm.value.action.callback(activeConfirm.value.item)\n activeConfirm.value = null\n }\n}\n\nfunction isActionGroup(entry: Action | ActionGroup): entry is ActionGroup {\n return (entry as ActionGroup).isGroup === true && Array.isArray((entry as ActionGroup).items)\n}\n\nfunction buildActionGroupMenuItems(\n group: ActionGroup,\n item?: Record<string, unknown>,\n): DropdownMenuItem[] {\n return group.items.map((action: Action) => ({\n icon: action.icon,\n label: action.label ?? '',\n type: action.type,\n size: action.label ? 'small' : 'normal',\n callback: () => handleOnClick(action, item),\n }))\n}\n</script>\n\n<template>\n <template v-for=\"(action, ai) in actions\" :key=\"ai\">\n <DropdownMenu\n v-if=\"isActionGroup(action)\"\n :icon=\"action.icon\"\n :label=\"action.label\"\n :items=\"buildActionGroupMenuItems(action, item)\"\n v-bind=\"action.config\"\n />\n\n <Button\n v-else\n :icon=\"action.icon\"\n :label=\"action.label\"\n :type=\"action.type\"\n :disabled=\"action.disabled ? action.disabled(item) : false\"\n :size=\"action.label ? 'small' : 'normal'\"\n :ariaLabel=\"action.ariaLabel\"\n outline\n :callback=\"() => handleOnClick(action, item)\"\n v-bind=\"action.config\"\n />\n </template>\n\n <ConfirmModal\n v-if=\"activeConfirm\"\n v-bind=\"getConfirmConfig(activeConfirm.action)\"\n @confirm=\"handleConfirm\"\n @cancel=\"activeConfirm = null\"\n />\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"admins-components64.js","names":[],"sources":["../src/components/data-table/DataListActions.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref } from 'vue'\nimport type { Action, ActionGroup } from '@/types/data-list'\nimport type { ConfirmModalProps } from '@/components/ConfirmModal.vue'\nimport Button from '@/components/Button.vue'\nimport DropdownMenu from '@/components/DropdownMenu.vue'\nimport ConfirmModal from '@/components/ConfirmModal.vue'\nimport type { DropdownMenuItem } from '@/components/DropdownMenu.vue'\n\ndefineProps<{\n actions: Array<Action | ActionGroup>\n item?: Record<string, unknown>\n}>()\n\nconst activeConfirm = ref<{\n action: Action\n item?: Record<string, unknown>\n} | null>(null)\n\nfunction getConfirmConfig(action: Action): ConfirmModalProps {\n const defaultConfig = {\n title: action.label ?? 'Megerősítés',\n message: 'Biztosan végrehajta a műveletet?',\n type: action.type,\n }\n return {\n ...defaultConfig,\n ...action.withConfirmConfig,\n }\n}\n\nfunction handleOnClick(action: Action, item?: Record<string, unknown>) {\n if (action.withConfirm) {\n activeConfirm.value = { action, item }\n } else {\n action.callback(item)\n }\n}\n\nfunction handleConfirm() {\n if (activeConfirm.value) {\n activeConfirm.value.action.callback(activeConfirm.value.item)\n activeConfirm.value = null\n }\n}\n\nfunction isActionGroup(entry: Action | ActionGroup): entry is ActionGroup {\n return (entry as ActionGroup).isGroup === true && Array.isArray((entry as ActionGroup).items)\n}\n\nfunction buildActionGroupMenuItems(\n group: ActionGroup,\n item?: Record<string, unknown>,\n): DropdownMenuItem[] {\n return group.items.map((action: Action) => {\n const isDisabled = action.disabled\n return {\n icon: action.icon,\n label: action.label ?? '',\n type: action.type,\n size: action.label ? 'small' : 'normal',\n callback: () => handleOnClick(action, item),\n disabled: isDisabled ? () => isDisabled(item) : undefined,\n }\n })\n}\n</script>\n\n<template>\n <template v-for=\"(action, ai) in actions\" :key=\"ai\">\n <DropdownMenu\n v-if=\"isActionGroup(action)\"\n :icon=\"action.icon\"\n :label=\"action.label\"\n :items=\"buildActionGroupMenuItems(action, item)\"\n v-bind=\"action.config\"\n />\n\n <Button\n v-else\n :icon=\"action.icon\"\n :label=\"action.label\"\n :type=\"action.type\"\n :size=\"action.label ? 'small' : 'normal'\"\n :ariaLabel=\"action.ariaLabel\"\n outline\n :callback=\"() => handleOnClick(action, item)\"\n :disabled=\"action.disabled ? action.disabled(item) : false\"\n v-bind=\"action.config\"\n />\n </template>\n\n <ConfirmModal\n v-if=\"activeConfirm\"\n v-bind=\"getConfirmConfig(activeConfirm.action)\"\n @confirm=\"handleConfirm\"\n @cancel=\"activeConfirm = null\"\n />\n</template>\n"],"mappings":""}