@feedmepos/mf-media 0.0.10-dev.3 → 1.0.1-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{AiStudio-9f9c1203.js → AiStudio-a685be4a.js} +79 -78
- package/dist/{AssetLibrary-7609684b.js → AssetLibrary-bb6b1fb8.js} +73 -71
- package/dist/app.js +18 -18
- package/dist/media-picker-9b94d32f.js +4754 -0
- package/dist/tsconfig.app.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/dist/media-picker-cf281640.js +0 -4297
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
import { defineComponent as de, computed as C, ref as
|
|
1
|
+
import { defineComponent as de, computed as C, ref as n, onMounted as ce, watch as O, resolveComponent as k, openBlock as w, createElementBlock as S, createElementVNode as c, toDisplayString as _, unref as t, createVNode as u, createBlock as ve, createCommentVNode as H, withCtx as U } from "vue";
|
|
2
2
|
import { useCoreStore as me, useI18n as fe } from "@feedmepos/mf-common";
|
|
3
3
|
import { useDialog as pe } from "@feedmepos/ui-library";
|
|
4
|
-
import {
|
|
5
|
-
const
|
|
4
|
+
import { J as ge, O as ye, m as be, o as we, t as N, a as _e, q as xe, s as he, L as Be, b as Ce, r as ke, T as Se, w as K, n as Ve } from "./media-picker-9b94d32f.js";
|
|
5
|
+
const De = { class: "p-24 relative min-h-full" }, Ie = { class: "flex items-center justify-between mb-8" }, Te = { class: "fm-typo-en-title-md-600 fm-step-title line-clamp-2" }, ze = { class: "flex gap-8" }, Pe = { class: "flex flex-col gap-12 mb-16" }, Ae = { class: "flex items-center gap-12" }, Fe = { class: "flex-1 text-xs text-fm-color-typo-secondary" }, Re = {
|
|
6
6
|
key: 0,
|
|
7
7
|
class: "text-fm-color-typo-primary font-semibold"
|
|
8
|
-
},
|
|
8
|
+
}, Oe = { key: 1 }, Ue = {
|
|
9
9
|
key: 0,
|
|
10
10
|
class: "fixed bottom-24 left-1/2 -translate-x-1/2 flex items-center gap-12 bg-white border rounded-lg shadow-lg px-16 py-8 z-30"
|
|
11
|
-
},
|
|
11
|
+
}, Ne = { class: "text-sm font-semibold" }, Me = { class: "flex justify-end gap-8 w-full" }, Ge = /* @__PURE__ */ de({
|
|
12
12
|
__name: "AssetLibrary",
|
|
13
|
-
setup(
|
|
14
|
-
const
|
|
13
|
+
setup(Le) {
|
|
14
|
+
const M = me(), { t: l } = fe(), r = C(() => {
|
|
15
15
|
var e;
|
|
16
|
-
return ((e =
|
|
17
|
-
}),
|
|
16
|
+
return ((e = M.currentBusiness.value) == null ? void 0 : e.id) ?? "";
|
|
17
|
+
}), L = C(() => {
|
|
18
18
|
var e;
|
|
19
|
-
return (e =
|
|
20
|
-
}), x = pe(), h =
|
|
19
|
+
return (e = M.currentRestaurant.value) == null ? void 0 : e._id;
|
|
20
|
+
}), x = pe(), h = n(""), g = n([]), p = n([]), y = n([]), V = n(!1), v = n(1), D = n(0), I = n(0), T = n(!1), $ = n("recent"), Q = {
|
|
21
21
|
recent: { sortBy: "createdAt", descending: !0 },
|
|
22
22
|
name: { sortBy: "fileName", descending: !1 },
|
|
23
23
|
size: { sortBy: "fileSizeBytes", descending: !0 }
|
|
24
|
-
},
|
|
24
|
+
}, j = [{ icon: "grid_view" }, { icon: "view_list" }], z = n(j[0]), W = C(() => z.value.icon === "grid_view" ? "grid" : "list"), P = ge(() => r.value);
|
|
25
25
|
async function m() {
|
|
26
26
|
if (r.value) {
|
|
27
|
-
p.value.length === 0 && (V.value = !0),
|
|
27
|
+
p.value.length === 0 && (V.value = !0), T.value = !0;
|
|
28
28
|
try {
|
|
29
29
|
const [e, a] = await Promise.all([
|
|
30
30
|
he({
|
|
31
31
|
businessId: r.value,
|
|
32
|
-
restaurantId:
|
|
32
|
+
restaurantId: L.value,
|
|
33
33
|
search: h.value || void 0,
|
|
34
34
|
tags: g.value.length ? g.value : void 0,
|
|
35
35
|
// AI-composed images are assets from the moment their bytes land — they have to be, or
|
|
@@ -38,45 +38,47 @@ const Ve = { class: "p-24 relative min-h-full" }, De = { class: "flex items-cent
|
|
|
38
38
|
excludeTags: [Be],
|
|
39
39
|
skip: Ce(v.value, N),
|
|
40
40
|
limit: N,
|
|
41
|
-
...Q[
|
|
41
|
+
...Q[$.value]
|
|
42
42
|
}),
|
|
43
43
|
ke(r.value)
|
|
44
44
|
]);
|
|
45
|
-
p.value = e.resources, D.value = e.meta.totalResources,
|
|
45
|
+
p.value = e.resources, D.value = e.meta.totalResources, I.value = e.meta.totalPages, y.value = a, await P.load(
|
|
46
|
+
e.resources.filter((s) => !Se(s)).map((s) => s.refId).filter((s) => !!s)
|
|
47
|
+
);
|
|
46
48
|
} finally {
|
|
47
|
-
V.value = !1,
|
|
49
|
+
V.value = !1, T.value = !1;
|
|
48
50
|
}
|
|
49
51
|
}
|
|
50
52
|
}
|
|
51
|
-
async function
|
|
53
|
+
async function A() {
|
|
52
54
|
v.value = 1, B(), await m();
|
|
53
55
|
}
|
|
54
56
|
async function F() {
|
|
55
57
|
await m();
|
|
56
|
-
const e =
|
|
58
|
+
const e = Ve(v.value, I.value);
|
|
57
59
|
e !== v.value && (v.value = e, await m());
|
|
58
60
|
}
|
|
59
61
|
async function X(e) {
|
|
60
62
|
e !== v.value && (v.value = e, B(), await m());
|
|
61
63
|
}
|
|
62
|
-
ce(m),
|
|
63
|
-
let
|
|
64
|
-
|
|
65
|
-
clearTimeout(
|
|
64
|
+
ce(m), O(r, A), O([g, $], A);
|
|
65
|
+
let q;
|
|
66
|
+
O(h, () => {
|
|
67
|
+
clearTimeout(q), q = setTimeout(A, 250);
|
|
66
68
|
});
|
|
67
|
-
const
|
|
69
|
+
const i = n(/* @__PURE__ */ new Set());
|
|
68
70
|
function Y(e) {
|
|
69
|
-
const a = new Set(
|
|
70
|
-
a.has(e.id) ? a.delete(e.id) : a.add(e.id),
|
|
71
|
+
const a = new Set(i.value);
|
|
72
|
+
a.has(e.id) ? a.delete(e.id) : a.add(e.id), i.value = a;
|
|
71
73
|
}
|
|
72
74
|
function B() {
|
|
73
|
-
|
|
75
|
+
i.value = /* @__PURE__ */ new Set();
|
|
74
76
|
}
|
|
75
77
|
function Z() {
|
|
76
|
-
|
|
78
|
+
i.value = new Set(p.value.map((e) => e.id));
|
|
77
79
|
}
|
|
78
80
|
function ee() {
|
|
79
|
-
const e =
|
|
81
|
+
const e = i.value.size;
|
|
80
82
|
x.open({
|
|
81
83
|
title: l("media.library.deleteBulkTitle"),
|
|
82
84
|
message: l("media.library.deleteBulkMessage", { count: e, disclaimer: l("media.library.deleteDisclaimer") }),
|
|
@@ -84,9 +86,9 @@ const Ve = { class: "p-24 relative min-h-full" }, De = { class: "flex items-cent
|
|
|
84
86
|
secondaryActions: { text: l("media.library.cancelButton"), close: !0 }
|
|
85
87
|
}).onPrimary(async () => {
|
|
86
88
|
await Promise.all(
|
|
87
|
-
[...
|
|
88
|
-
const
|
|
89
|
-
return
|
|
89
|
+
[...i.value].map((a) => {
|
|
90
|
+
const s = p.value.find((R) => R.id === a);
|
|
91
|
+
return s ? K(r.value, s) : Promise.resolve();
|
|
90
92
|
})
|
|
91
93
|
), B(), await F(), x.close();
|
|
92
94
|
});
|
|
@@ -99,20 +101,20 @@ const Ve = { class: "p-24 relative min-h-full" }, De = { class: "flex items-cent
|
|
|
99
101
|
secondaryActions: { text: l("media.library.cancelButton"), close: !0 }
|
|
100
102
|
}).onPrimary(async () => {
|
|
101
103
|
await K(r.value, e);
|
|
102
|
-
const a = new Set(
|
|
103
|
-
a.delete(e.id),
|
|
104
|
+
const a = new Set(i.value);
|
|
105
|
+
a.delete(e.id), i.value = a, await F(), x.close();
|
|
104
106
|
});
|
|
105
107
|
}
|
|
106
|
-
const d =
|
|
108
|
+
const d = n(null), le = C(
|
|
107
109
|
() => {
|
|
108
110
|
var e;
|
|
109
|
-
return (e = d.value) != null && e.refId ?
|
|
111
|
+
return (e = d.value) != null && e.refId ? P.byRefId.value.get(d.value.refId) ?? null : null;
|
|
110
112
|
}
|
|
111
113
|
);
|
|
112
114
|
function te(e) {
|
|
113
115
|
d.value = e;
|
|
114
116
|
}
|
|
115
|
-
async function
|
|
117
|
+
async function E() {
|
|
116
118
|
await m(), d.value && (d.value = p.value.find((e) => {
|
|
117
119
|
var a;
|
|
118
120
|
return e.id === ((a = d.value) == null ? void 0 : a.id);
|
|
@@ -121,7 +123,7 @@ const Ve = { class: "p-24 relative min-h-full" }, De = { class: "flex items-cent
|
|
|
121
123
|
async function se() {
|
|
122
124
|
d.value = null, await F();
|
|
123
125
|
}
|
|
124
|
-
const b =
|
|
126
|
+
const b = n(!1), f = n(null);
|
|
125
127
|
function ne() {
|
|
126
128
|
var e;
|
|
127
129
|
(e = f.value) == null || e.reset(), b.value = !0;
|
|
@@ -131,12 +133,12 @@ const Ve = { class: "p-24 relative min-h-full" }, De = { class: "flex items-cent
|
|
|
131
133
|
(e = f.value) != null && e.stagedCount || (b.value = !1), await m();
|
|
132
134
|
}
|
|
133
135
|
return (e, a) => {
|
|
134
|
-
const
|
|
135
|
-
return w(), S("div",
|
|
136
|
-
c("div",
|
|
137
|
-
c("h1",
|
|
138
|
-
c("div",
|
|
139
|
-
u(
|
|
136
|
+
const s = k("FmButton"), R = k("FmSearch"), oe = k("FmButtonGroup"), ue = k("FmDialog");
|
|
137
|
+
return w(), S("div", De, [
|
|
138
|
+
c("div", Ie, [
|
|
139
|
+
c("h1", Te, _(t(l)("media.title")), 1),
|
|
140
|
+
c("div", ze, [
|
|
141
|
+
u(s, {
|
|
140
142
|
label: t(l)("media.library.uploadButton"),
|
|
141
143
|
"prepend-icon": "add",
|
|
142
144
|
variant: "primary",
|
|
@@ -144,7 +146,7 @@ const Ve = { class: "p-24 relative min-h-full" }, De = { class: "flex items-cent
|
|
|
144
146
|
}, null, 8, ["label"])
|
|
145
147
|
])
|
|
146
148
|
]),
|
|
147
|
-
c("div",
|
|
149
|
+
c("div", Pe, [
|
|
148
150
|
u(R, {
|
|
149
151
|
modelValue: h.value,
|
|
150
152
|
"onUpdate:modelValue": a[0] || (a[0] = (o) => h.value = o),
|
|
@@ -156,21 +158,21 @@ const Ve = { class: "p-24 relative min-h-full" }, De = { class: "flex items-cent
|
|
|
156
158
|
modelValue: g.value,
|
|
157
159
|
"onUpdate:modelValue": a[1] || (a[1] = (o) => g.value = o),
|
|
158
160
|
tags: y.value
|
|
159
|
-
}, null, 8, ["modelValue", "tags"])) :
|
|
160
|
-
c("div",
|
|
161
|
-
c("div",
|
|
162
|
-
|
|
161
|
+
}, null, 8, ["modelValue", "tags"])) : H("", !0),
|
|
162
|
+
c("div", Ae, [
|
|
163
|
+
c("div", Fe, [
|
|
164
|
+
i.value.size > 0 ? (w(), S("span", Re, _(t(l)("media.library.selectedCount", { count: i.value.size })), 1)) : (w(), S("span", Oe, _(t(l)("media.library.totalSummary", { count: D.value })), 1))
|
|
163
165
|
]),
|
|
164
|
-
u(
|
|
166
|
+
u(s, {
|
|
165
167
|
label: t(l)("media.library.selectAllButton"),
|
|
166
168
|
variant: "tertiary",
|
|
167
169
|
size: "md",
|
|
168
170
|
onClick: Z
|
|
169
171
|
}, null, 8, ["label"]),
|
|
170
172
|
u(oe, {
|
|
171
|
-
modelValue:
|
|
172
|
-
"onUpdate:modelValue": a[2] || (a[2] = (o) =>
|
|
173
|
-
items:
|
|
173
|
+
modelValue: z.value,
|
|
174
|
+
"onUpdate:modelValue": a[2] || (a[2] = (o) => z.value = o),
|
|
175
|
+
items: j
|
|
174
176
|
}, null, 8, ["modelValue"])
|
|
175
177
|
])
|
|
176
178
|
]),
|
|
@@ -179,8 +181,8 @@ const Ve = { class: "p-24 relative min-h-full" }, De = { class: "flex items-cent
|
|
|
179
181
|
loading: V.value,
|
|
180
182
|
view: W.value,
|
|
181
183
|
selectable: "",
|
|
182
|
-
"selected-ids":
|
|
183
|
-
"variants-by-ref-id": t(
|
|
184
|
+
"selected-ids": i.value,
|
|
185
|
+
"variants-by-ref-id": t(P).byRefId.value,
|
|
184
186
|
onOpen: te,
|
|
185
187
|
onToggle: Y,
|
|
186
188
|
onDelete: ae
|
|
@@ -189,34 +191,34 @@ const Ve = { class: "p-24 relative min-h-full" }, De = { class: "flex items-cent
|
|
|
189
191
|
page: v.value,
|
|
190
192
|
"page-size": t(N),
|
|
191
193
|
"total-resources": D.value,
|
|
192
|
-
"total-pages":
|
|
193
|
-
disabled:
|
|
194
|
+
"total-pages": I.value,
|
|
195
|
+
disabled: T.value,
|
|
194
196
|
"onUpdate:page": X
|
|
195
197
|
}, null, 8, ["page", "page-size", "total-resources", "total-pages", "disabled"]),
|
|
196
|
-
|
|
197
|
-
c("span",
|
|
198
|
-
u(
|
|
198
|
+
i.value.size > 0 ? (w(), S("div", Ue, [
|
|
199
|
+
c("span", Ne, _(t(l)("media.library.selectedCount", { count: i.value.size })), 1),
|
|
200
|
+
u(s, {
|
|
199
201
|
label: t(l)("media.library.cancelButton"),
|
|
200
202
|
variant: "tertiary",
|
|
201
203
|
size: "md",
|
|
202
204
|
onClick: B
|
|
203
205
|
}, null, 8, ["label"]),
|
|
204
|
-
u(
|
|
206
|
+
u(s, {
|
|
205
207
|
label: t(l)("media.library.deleteSelectedButton"),
|
|
206
208
|
variant: "destructive",
|
|
207
209
|
size: "md",
|
|
208
210
|
"prepend-icon": "delete",
|
|
209
211
|
onClick: ee
|
|
210
212
|
}, null, 8, ["label"])
|
|
211
|
-
])) :
|
|
213
|
+
])) : H("", !0),
|
|
212
214
|
u(t(_e), {
|
|
213
215
|
asset: d.value,
|
|
214
216
|
image: le.value,
|
|
215
217
|
"business-id": r.value,
|
|
216
218
|
onClose: a[3] || (a[3] = (o) => d.value = null),
|
|
217
|
-
onRenamed:
|
|
219
|
+
onRenamed: E,
|
|
218
220
|
onDeleted: se,
|
|
219
|
-
onChanged:
|
|
221
|
+
onChanged: E
|
|
220
222
|
}, null, 8, ["asset", "image", "business-id"]),
|
|
221
223
|
u(ue, {
|
|
222
224
|
modelValue: b.value,
|
|
@@ -229,19 +231,19 @@ const Ve = { class: "p-24 relative min-h-full" }, De = { class: "flex items-cent
|
|
|
229
231
|
"dialog-footer": U(() => {
|
|
230
232
|
var o, G;
|
|
231
233
|
return [
|
|
232
|
-
c("div",
|
|
233
|
-
u(
|
|
234
|
+
c("div", Me, [
|
|
235
|
+
u(s, {
|
|
234
236
|
label: t(l)("media.library.cancelButton"),
|
|
235
237
|
variant: "tertiary",
|
|
236
238
|
onClick: a[5] || (a[5] = (re) => b.value = !1)
|
|
237
239
|
}, null, 8, ["label"]),
|
|
238
|
-
u(
|
|
240
|
+
u(s, {
|
|
239
241
|
label: t(l)("media.library.uploadSubmitButton", { count: ((o = f.value) == null ? void 0 : o.stagedCount) ?? 0 }),
|
|
240
242
|
variant: "primary",
|
|
241
243
|
disabled: !((G = f.value) != null && G.stagedCount) || f.value.uploading,
|
|
242
244
|
onClick: a[6] || (a[6] = (re) => {
|
|
243
|
-
var
|
|
244
|
-
return (
|
|
245
|
+
var J;
|
|
246
|
+
return (J = f.value) == null ? void 0 : J.upload();
|
|
245
247
|
})
|
|
246
248
|
}, null, 8, ["label", "disabled"])
|
|
247
249
|
])
|
|
@@ -252,7 +254,7 @@ const Ve = { class: "p-24 relative min-h-full" }, De = { class: "flex items-cent
|
|
|
252
254
|
ref_key: "uploadPanelRef",
|
|
253
255
|
ref: f,
|
|
254
256
|
"business-id": r.value,
|
|
255
|
-
"restaurant-id":
|
|
257
|
+
"restaurant-id": L.value,
|
|
256
258
|
"available-tags": y.value,
|
|
257
259
|
onTagCreated: a[4] || (a[4] = (o) => y.value.push(o)),
|
|
258
260
|
onUploaded: ie
|
|
@@ -265,5 +267,5 @@ const Ve = { class: "p-24 relative min-h-full" }, De = { class: "flex items-cent
|
|
|
265
267
|
}
|
|
266
268
|
});
|
|
267
269
|
export {
|
|
268
|
-
|
|
270
|
+
Ge as default
|
|
269
271
|
};
|
package/dist/app.js
CHANGED
|
@@ -90,7 +90,7 @@ const _e = {
|
|
|
90
90
|
}
|
|
91
91
|
},
|
|
92
92
|
library: {
|
|
93
|
-
uploadButton: "Upload
|
|
93
|
+
uploadButton: "Upload Media",
|
|
94
94
|
testPickerButton: "Test Picker Dialog",
|
|
95
95
|
searchPlaceholder: "Search file name…",
|
|
96
96
|
selectAllButton: "Select All",
|
|
@@ -100,7 +100,7 @@ const _e = {
|
|
|
100
100
|
deleteSelectedButton: "Delete Selected",
|
|
101
101
|
uploadDialogTitle: "Upload Assets",
|
|
102
102
|
uploadSubmitButton: "Upload {count}",
|
|
103
|
-
deleteDisclaimer: "If any business module is still using this
|
|
103
|
+
deleteDisclaimer: "If any business module is still using this asset, it will show as broken wherever it's referenced after deletion — make sure it's no longer needed.",
|
|
104
104
|
deleteOneTitle: "Delete Asset",
|
|
105
105
|
deleteOneMessage: 'Delete "{fileName}"? {disclaimer}',
|
|
106
106
|
deleteBulkTitle: "Delete Selected Assets",
|
|
@@ -198,7 +198,7 @@ const _e = {
|
|
|
198
198
|
}
|
|
199
199
|
},
|
|
200
200
|
library: {
|
|
201
|
-
uploadButton: "Importer des
|
|
201
|
+
uploadButton: "Importer des médias",
|
|
202
202
|
testPickerButton: "Tester la fenêtre de sélection",
|
|
203
203
|
searchPlaceholder: "Rechercher un nom de fichier…",
|
|
204
204
|
selectAllButton: "Tout sélectionner",
|
|
@@ -208,7 +208,7 @@ const _e = {
|
|
|
208
208
|
deleteSelectedButton: "Supprimer la sélection",
|
|
209
209
|
uploadDialogTitle: "Importer un média",
|
|
210
210
|
uploadSubmitButton: "Importer {count}",
|
|
211
|
-
deleteDisclaimer: "Après suppression, si un module métier utilise encore
|
|
211
|
+
deleteDisclaimer: "Après suppression, si un module métier utilise encore cet élément, il apparaîtra comme cassé à l'endroit où il est référencé. Assurez-vous qu'il n'est plus nécessaire.",
|
|
212
212
|
deleteOneTitle: "Supprimer le média",
|
|
213
213
|
deleteOneMessage: "Supprimer « {fileName} » ? {disclaimer}",
|
|
214
214
|
deleteBulkTitle: "Supprimer les médias sélectionnés",
|
|
@@ -306,7 +306,7 @@ const _e = {
|
|
|
306
306
|
}
|
|
307
307
|
},
|
|
308
308
|
library: {
|
|
309
|
-
uploadButton: "Unggah
|
|
309
|
+
uploadButton: "Unggah Media",
|
|
310
310
|
testPickerButton: "Uji Dialog Pemilih",
|
|
311
311
|
searchPlaceholder: "Cari nama file…",
|
|
312
312
|
selectAllButton: "Pilih Semua",
|
|
@@ -316,7 +316,7 @@ const _e = {
|
|
|
316
316
|
deleteSelectedButton: "Hapus yang Dipilih",
|
|
317
317
|
uploadDialogTitle: "Unggah Media",
|
|
318
318
|
uploadSubmitButton: "Unggah {count}",
|
|
319
|
-
deleteDisclaimer: "Setelah dihapus, jika ada modul bisnis yang masih menggunakan
|
|
319
|
+
deleteDisclaimer: "Setelah dihapus, jika ada modul bisnis yang masih menggunakan aset ini, aset akan tampil rusak di tempat penggunaannya. Pastikan aset ini sudah tidak diperlukan lagi.",
|
|
320
320
|
deleteOneTitle: "Hapus Media",
|
|
321
321
|
deleteOneMessage: 'Hapus "{fileName}"? {disclaimer}',
|
|
322
322
|
deleteBulkTitle: "Hapus Media yang Dipilih",
|
|
@@ -414,7 +414,7 @@ const _e = {
|
|
|
414
414
|
}
|
|
415
415
|
},
|
|
416
416
|
library: {
|
|
417
|
-
uploadButton: "
|
|
417
|
+
uploadButton: "メディアをアップロード",
|
|
418
418
|
testPickerButton: "画像選択ダイアログのテスト",
|
|
419
419
|
searchPlaceholder: "ファイル名で検索…",
|
|
420
420
|
selectAllButton: "すべて選択",
|
|
@@ -424,7 +424,7 @@ const _e = {
|
|
|
424
424
|
deleteSelectedButton: "選択した項目を削除",
|
|
425
425
|
uploadDialogTitle: "素材をアップロード",
|
|
426
426
|
uploadSubmitButton: "{count} 件をアップロード",
|
|
427
|
-
deleteDisclaimer: "
|
|
427
|
+
deleteDisclaimer: "削除後、この素材を使用している業務モジュールがある場合、参照元では表示されなくなります。不要であることを確認してください。",
|
|
428
428
|
deleteOneTitle: "素材を削除",
|
|
429
429
|
deleteOneMessage: "「{fileName}」を削除しますか?{disclaimer}",
|
|
430
430
|
deleteBulkTitle: "選択した素材を削除",
|
|
@@ -522,7 +522,7 @@ const _e = {
|
|
|
522
522
|
}
|
|
523
523
|
},
|
|
524
524
|
library: {
|
|
525
|
-
uploadButton: "
|
|
525
|
+
uploadButton: "อัปโหลดสื่อ",
|
|
526
526
|
testPickerButton: "ทดสอบหน้าต่างเลือกรูป",
|
|
527
527
|
searchPlaceholder: "ค้นหาชื่อไฟล์…",
|
|
528
528
|
selectAllButton: "เลือกทั้งหมด",
|
|
@@ -532,7 +532,7 @@ const _e = {
|
|
|
532
532
|
deleteSelectedButton: "ลบที่เลือก",
|
|
533
533
|
uploadDialogTitle: "อัปโหลดสื่อ",
|
|
534
534
|
uploadSubmitButton: "อัปโหลด {count} รายการ",
|
|
535
|
-
deleteDisclaimer: "หลังลบแล้ว
|
|
535
|
+
deleteDisclaimer: "หลังลบแล้ว หากมีโมดูลธุรกิจใดกำลังใช้สื่อนี้อยู่ สื่อจะแสดงเป็นลิงก์เสียในตำแหน่งที่ถูกใช้งาน กรุณายืนยันว่าไม่จำเป็นต้องใช้แล้ว",
|
|
536
536
|
deleteOneTitle: "ลบสื่อ",
|
|
537
537
|
deleteOneMessage: "ยืนยันลบ “{fileName}” ใช่หรือไม่? {disclaimer}",
|
|
538
538
|
deleteBulkTitle: "ลบสื่อที่เลือก",
|
|
@@ -630,7 +630,7 @@ const _e = {
|
|
|
630
630
|
}
|
|
631
631
|
},
|
|
632
632
|
library: {
|
|
633
|
-
uploadButton: "
|
|
633
|
+
uploadButton: "上传素材",
|
|
634
634
|
testPickerButton: "测试选图弹窗",
|
|
635
635
|
searchPlaceholder: "搜索文件名…",
|
|
636
636
|
selectAllButton: "全选",
|
|
@@ -639,8 +639,8 @@ const _e = {
|
|
|
639
639
|
cancelButton: "取消",
|
|
640
640
|
deleteSelectedButton: "删除所选",
|
|
641
641
|
uploadDialogTitle: "上传素材",
|
|
642
|
-
uploadSubmitButton: "上传 {count}
|
|
643
|
-
deleteDisclaimer: "
|
|
642
|
+
uploadSubmitButton: "上传 {count} 个",
|
|
643
|
+
deleteDisclaimer: "删除后如有业务模块正在使用这个素材,引用处会显示失效,请确认已不再需要。",
|
|
644
644
|
deleteOneTitle: "删除素材",
|
|
645
645
|
deleteOneMessage: "确定删除「{fileName}」吗?{disclaimer}",
|
|
646
646
|
deleteBulkTitle: "删除所选素材",
|
|
@@ -738,7 +738,7 @@ const _e = {
|
|
|
738
738
|
}
|
|
739
739
|
},
|
|
740
740
|
library: {
|
|
741
|
-
uploadButton: "
|
|
741
|
+
uploadButton: "上傳素材",
|
|
742
742
|
testPickerButton: "測試選圖彈窗",
|
|
743
743
|
searchPlaceholder: "搜尋檔案名稱…",
|
|
744
744
|
selectAllButton: "全選",
|
|
@@ -747,8 +747,8 @@ const _e = {
|
|
|
747
747
|
cancelButton: "取消",
|
|
748
748
|
deleteSelectedButton: "刪除所選",
|
|
749
749
|
uploadDialogTitle: "上傳素材",
|
|
750
|
-
uploadSubmitButton: "上傳 {count}
|
|
751
|
-
deleteDisclaimer: "
|
|
750
|
+
uploadSubmitButton: "上傳 {count} 個",
|
|
751
|
+
deleteDisclaimer: "刪除後如有業務模組正在使用這個素材,引用處會顯示失效,請確認已不再需要。",
|
|
752
752
|
deleteOneTitle: "刪除素材",
|
|
753
753
|
deleteOneMessage: "確定刪除「{fileName}」嗎?{disclaimer}",
|
|
754
754
|
deleteBulkTitle: "刪除所選素材",
|
|
@@ -2531,7 +2531,7 @@ const ka = [
|
|
|
2531
2531
|
{
|
|
2532
2532
|
path: "/library",
|
|
2533
2533
|
name: "$media-library",
|
|
2534
|
-
component: Ae(S(() => import("./AssetLibrary-
|
|
2534
|
+
component: Ae(S(() => import("./AssetLibrary-bb6b1fb8.js"))),
|
|
2535
2535
|
meta: {
|
|
2536
2536
|
validationManifest: {
|
|
2537
2537
|
requiredCaslPermissions: [
|
|
@@ -2546,7 +2546,7 @@ const ka = [
|
|
|
2546
2546
|
{
|
|
2547
2547
|
path: "/studio",
|
|
2548
2548
|
name: "$media-studio",
|
|
2549
|
-
component: Ae(S(() => import("./AiStudio-
|
|
2549
|
+
component: Ae(S(() => import("./AiStudio-a685be4a.js"))),
|
|
2550
2550
|
meta: {
|
|
2551
2551
|
validationManifest: {
|
|
2552
2552
|
requiredCaslPermissions: [
|