@duxweb/dvha-pro 1.0.48 → 1.0.50
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/cjs/components/card/card.cjs +1 -1
- package/dist/cjs/components/form/formItem.cjs +1 -1
- package/dist/cjs/components/panel/collapse.cjs +1 -1
- package/dist/cjs/components/status/blockEmpty.cjs +1 -1
- package/dist/cjs/components/table/table.cjs +1 -1
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/langs/en-US.json.cjs +1 -1
- package/dist/cjs/langs/zh-CN.json.cjs +1 -1
- package/dist/cjs/pages/menu/menuApp.cjs +1 -1
- package/dist/cjs/pages/menu/notice.cjs +1 -1
- package/dist/cjs/pages/pageException.cjs +1 -0
- package/dist/cjs/pages/pageStatus.cjs +1 -1
- package/dist/cjs/theme/naiveTheme.cjs +1 -1
- package/dist/cjs/theme/uno.css.cjs +9 -3
- package/dist/esm/components/card/card.js +2 -2
- package/dist/esm/components/form/formItem.js +8 -8
- package/dist/esm/components/panel/collapse.js +4 -4
- package/dist/esm/components/status/blockEmpty.js +6 -6
- package/dist/esm/components/table/table.js +1 -1
- package/dist/esm/index.js +72 -72
- package/dist/esm/langs/en-US.json.js +1 -1
- package/dist/esm/langs/zh-CN.json.js +1 -1
- package/dist/esm/pages/menu/menuApp.js +14 -14
- package/dist/esm/pages/menu/notice.js +65 -59
- package/dist/esm/pages/pageException.js +45 -0
- package/dist/esm/pages/pageStatus.js +1 -1
- package/dist/esm/theme/naiveTheme.js +10 -19
- package/dist/esm/theme/uno.css.js +9 -3
- package/dist/types/index.d.ts +0 -1
- package/dist/types/main.d.ts +1 -4
- package/dist/types/pages/index.d.ts +1 -0
- package/dist/types/pages/pageException.d.ts +1 -0
- package/package.json +3 -3
|
@@ -15,14 +15,14 @@ const n = /* @__PURE__ */ i({
|
|
|
15
15
|
default: !1
|
|
16
16
|
}
|
|
17
17
|
},
|
|
18
|
-
setup(
|
|
18
|
+
setup(e) {
|
|
19
19
|
const {
|
|
20
|
-
t:
|
|
20
|
+
t: r
|
|
21
21
|
} = o();
|
|
22
22
|
return () => t("div", {
|
|
23
23
|
class: "flex justify-center p-2"
|
|
24
24
|
}, [t("div", {
|
|
25
|
-
class: l(["flex flex-row items-center",
|
|
25
|
+
class: l(["flex flex-row items-center", e.simple ? "flex-col gap-2" : "gap-2"])
|
|
26
26
|
}, [t("div", null, [t("svg", {
|
|
27
27
|
class: "size-60px",
|
|
28
28
|
viewBox: "0 0 200 200",
|
|
@@ -146,10 +146,10 @@ const n = /* @__PURE__ */ i({
|
|
|
146
146
|
}, null)])])])]), t("div", {
|
|
147
147
|
class: "flex flex-col gap-0"
|
|
148
148
|
}, [t("div", {
|
|
149
|
-
class: l([
|
|
150
|
-
}, [
|
|
149
|
+
class: l([e.simple ? "text-center text-muted" : "text-default"])
|
|
150
|
+
}, [e.text || r("pages.empty.title")]), !e.simple && t("div", {
|
|
151
151
|
class: "text-muted"
|
|
152
|
-
}, [
|
|
152
|
+
}, [e.desc || r("pages.empty.desc")])])])]);
|
|
153
153
|
}
|
|
154
154
|
});
|
|
155
155
|
export {
|
|
@@ -120,7 +120,7 @@ const zt = /* @__PURE__ */ f({
|
|
|
120
120
|
bordered: !1
|
|
121
121
|
}, null)
|
|
122
122
|
}), o.pagination && i("div", {
|
|
123
|
-
class: "flex justify-end"
|
|
123
|
+
class: "flex justify-end p-4 border-t border-muted"
|
|
124
124
|
}, [i(x, m(r.tablePagination.value, {
|
|
125
125
|
simple: a.value < 768
|
|
126
126
|
}), {
|
package/dist/esm/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DuxApp as a } from "./app.js";
|
|
2
2
|
import { DuxCard as f } from "./components/card/card.js";
|
|
3
3
|
import { DuxStatsStore as l, DuxStatsStoreItem as s } from "./components/card/store.js";
|
|
4
|
-
import { DuxCarousel as
|
|
4
|
+
import { DuxCarousel as d } from "./components/carousel/carousel.js";
|
|
5
5
|
import { DuxChart as g } from "./components/chart/echart.js";
|
|
6
6
|
import { DuxCodeEditor as c } from "./components/code/code.js";
|
|
7
7
|
import { DuxImageCrop as C } from "./components/crop/imageCrop.js";
|
|
@@ -16,9 +16,9 @@ import "@duxweb/dvha-core";
|
|
|
16
16
|
import "naive-ui";
|
|
17
17
|
import { useAction as B, useActionButton as U, useActionDropdown as k } from "./hooks/action.js";
|
|
18
18
|
import { useDialog as W } from "./hooks/dialog.js";
|
|
19
|
-
import { useDownload as
|
|
20
|
-
import { useDrawer as
|
|
21
|
-
import { useEchartBar as z, useEchartCommon as
|
|
19
|
+
import { useDownload as H } from "./hooks/download.js";
|
|
20
|
+
import { useDrawer as V } from "./hooks/drawer.js";
|
|
21
|
+
import { useEchartBar as z, useEchartCommon as Y, useEchartFunnel as j, useEchartLine as q, useEchartMap as J, useEchartPie as K, useEchartRadar as X, useEchartRing as Z, useEchartRose as $, useEchartTreeMap as oo, useEchartType as ro } from "./hooks/echart.js";
|
|
22
22
|
import { useImagePreview as to } from "./hooks/image.js";
|
|
23
23
|
import { useLevel as mo } from "./hooks/level.js";
|
|
24
24
|
import { useModal as ao } from "./hooks/modal.js";
|
|
@@ -37,11 +37,11 @@ import { default as Ao } from "./components/modal/modalTab.js";
|
|
|
37
37
|
import { duxFormEditorGrid as vo } from "./components/designEditor/components/grid.js";
|
|
38
38
|
import { DuxDesignEditor as Uo } from "./components/designEditor/editor.js";
|
|
39
39
|
import { useEditor as Oo } from "./components/designEditor/editor/hook.js";
|
|
40
|
-
import { DuxWidgetEditorPreview as
|
|
41
|
-
import { WidgetEditorSetting as
|
|
40
|
+
import { DuxWidgetEditorPreview as Go } from "./components/designEditor/editor/preview.js";
|
|
41
|
+
import { WidgetEditorSetting as Qo, WidgetEditorSettingCard as Vo } from "./components/designEditor/editor/setting.js";
|
|
42
42
|
import { default as zo } from "./components/dialog/dialog.js";
|
|
43
|
-
import { DuxDrawApps as
|
|
44
|
-
import { DuxDrawAuth as
|
|
43
|
+
import { DuxDrawApps as jo } from "./components/draw/drawApps.js";
|
|
44
|
+
import { DuxDrawAuth as Jo } from "./components/draw/drawAuth.js";
|
|
45
45
|
import { DuxDrawEmpty as Xo } from "./components/draw/drawEmpty.js";
|
|
46
46
|
import { DuxDrawEmptyForm as $o } from "./components/draw/drawEmptyForm.js";
|
|
47
47
|
import { DuxDrawError as rr } from "./components/draw/drawError.js";
|
|
@@ -50,7 +50,7 @@ import { DuxDrawerPage as mr } from "./components/drawer/drawerPage.js";
|
|
|
50
50
|
import { DuxAiEditor as ar } from "./components/editor/aiEditor.js";
|
|
51
51
|
import { FlowNodeCard as fr } from "./components/flowEditor/components/nodeCard.js";
|
|
52
52
|
import { FlowSetting as lr } from "./components/flowEditor/components/setting.js";
|
|
53
|
-
import { FlowToolbar as
|
|
53
|
+
import { FlowToolbar as ir } from "./components/flowEditor/components/toolbar.js";
|
|
54
54
|
import { DuxFlowEditor as nr } from "./components/flowEditor/flowEditor.js";
|
|
55
55
|
import { defaultNodes as Er } from "./components/flowEditor/nodes/index.js";
|
|
56
56
|
import { FIELD_TYPE_OPTIONS as Pr, getFieldTypeOptions as Cr, useNodeDataFlow as Tr } from "./components/flowEditor/utils/nodeDataUtils.js";
|
|
@@ -63,13 +63,13 @@ import { DuxPageTabForm as Rr } from "./components/form/pageTabForm.js";
|
|
|
63
63
|
import { DuxSettingForm as Br } from "./components/form/settingForm.js";
|
|
64
64
|
import { DuxFormEditor as kr } from "./components/formEditor/editor.js";
|
|
65
65
|
import { DuxFormRenderer as Wr } from "./components/formEditor/renderer.js";
|
|
66
|
-
import { DuxIconPicker as
|
|
66
|
+
import { DuxIconPicker as Hr } from "./components/icon/icon.js";
|
|
67
67
|
import "@iconify-json/tabler/icons.json";
|
|
68
68
|
import "@vueuse/core";
|
|
69
|
-
import { DuxTableFilter as
|
|
69
|
+
import { DuxTableFilter as Vr } from "./components/layout/filter.js";
|
|
70
70
|
import { DuxFilterLayout as zr } from "./components/layout/filterLayout.js";
|
|
71
|
-
import { DuxGrid as
|
|
72
|
-
import { DuxListLayout as
|
|
71
|
+
import { DuxGrid as jr } from "./components/layout/grid.js";
|
|
72
|
+
import { DuxListLayout as Jr } from "./components/layout/list.js";
|
|
73
73
|
import { DuxTableLayout as Xr } from "./components/layout/table.js";
|
|
74
74
|
import { DuxTableTools as $r } from "./components/layout/tools.js";
|
|
75
75
|
import { DuxLevel as re } from "./components/level/level.js";
|
|
@@ -78,7 +78,7 @@ import { DuxListPage as me } from "./components/list/list.js";
|
|
|
78
78
|
import { DuxMedia as ae } from "./components/media/media.js";
|
|
79
79
|
import { DuxPanelAlert as fe } from "./components/panel/alert.js";
|
|
80
80
|
import { DuxPanelCard as le } from "./components/panel/setting.js";
|
|
81
|
-
import { DuxCollapsePanel as
|
|
81
|
+
import { DuxCollapsePanel as ie } from "./components/panel/collapse.js";
|
|
82
82
|
import { elementConfigs as ne, elementRegistry as ge, getElementConfig as Ee, getElementsByCategory as ce } from "./components/posterEditor/elements/index.js";
|
|
83
83
|
import { usePosterEditor as Ce } from "./components/posterEditor/hooks/usePosterEditor.js";
|
|
84
84
|
import { DuxPosterEditor as Fe } from "./components/posterEditor/posterEditor.js";
|
|
@@ -90,12 +90,12 @@ import { DuxListEmpty as Ae } from "./components/status/listEmpty.js";
|
|
|
90
90
|
import { DuxTable as ve } from "./components/table/table.js";
|
|
91
91
|
import { DuxTablePage as Ue } from "./components/table/tablePage.js";
|
|
92
92
|
import { DuxTreeFilter as Oe } from "./components/tree/treeFilter.js";
|
|
93
|
-
import { DuxFileUpload as
|
|
94
|
-
import { DuxImageUpload as
|
|
93
|
+
import { DuxFileUpload as Ge } from "./components/upload/file.js";
|
|
94
|
+
import { DuxImageUpload as Qe } from "./components/upload/image.js";
|
|
95
95
|
import { default as _e } from "./components/upload/manager.js";
|
|
96
|
-
import { DuxSelectUpload as
|
|
97
|
-
import { DuxAvatar as
|
|
98
|
-
import { DuxWidgetConnect as
|
|
96
|
+
import { DuxSelectUpload as Ye } from "./components/upload/selectFile.js";
|
|
97
|
+
import { DuxAvatar as qe } from "./components/widget/avatar.js";
|
|
98
|
+
import { DuxWidgetConnect as Ke } from "./components/widget/connect.js";
|
|
99
99
|
import { DuxPlaceholder as Ze } from "./components/widget/placeholder.js";
|
|
100
100
|
import { DuxAuthLayout as ot } from "./pages/authLayout.js";
|
|
101
101
|
import { DuxLayout as et } from "./pages/layout.js";
|
|
@@ -104,7 +104,7 @@ import { default as ut } from "./pages/menu/avatar.js";
|
|
|
104
104
|
import { default as pt } from "./pages/menu/button.js";
|
|
105
105
|
import { DuxMenuCmd as Dt } from "./pages/menu/cmd.js";
|
|
106
106
|
import { default as st } from "./pages/menu/dark.js";
|
|
107
|
-
import { DuxMenuApp as
|
|
107
|
+
import { DuxMenuApp as dt } from "./pages/menu/menuApp.js";
|
|
108
108
|
import { DuxMenuMain as gt } from "./pages/menu/menuMain.js";
|
|
109
109
|
import { default as ct } from "./pages/menu/notice.js";
|
|
110
110
|
import { DuxMobileMenu as Ct } from "./pages/menu/mobile.js";
|
|
@@ -113,41 +113,41 @@ import { DuxPage403 as ht } from "./pages/page403.js";
|
|
|
113
113
|
import { DuxPage404 as Mt } from "./pages/page404.js";
|
|
114
114
|
import { DuxPage500 as wt } from "./pages/page500.js";
|
|
115
115
|
import { DuxPageEmpty as Lt } from "./pages/pageEmpty.js";
|
|
116
|
-
import {
|
|
117
|
-
import {
|
|
118
|
-
import {
|
|
119
|
-
import {
|
|
120
|
-
import {
|
|
121
|
-
import {
|
|
122
|
-
import { default as zt } from "./langs/
|
|
123
|
-
import {
|
|
124
|
-
import {
|
|
125
|
-
import {
|
|
126
|
-
import {
|
|
127
|
-
import {
|
|
116
|
+
import { DuxPageException as At } from "./pages/pageException.js";
|
|
117
|
+
import { DuxPageLoading as vt } from "./pages/pageLoading.js";
|
|
118
|
+
import { DuxPageStatus as Ut } from "./pages/pageStatus.js";
|
|
119
|
+
import { generateRainbowFromColor as Ot, getTheme as Wt } from "./config/echart.js";
|
|
120
|
+
import { config as Ht } from "./config/uno.js";
|
|
121
|
+
import { initVeeValidate as Vt } from "./config/validate.js";
|
|
122
|
+
import { default as zt } from "./langs/en-US.json.js";
|
|
123
|
+
import { default as jt } from "./langs/zh-CN.json.js";
|
|
124
|
+
import { createDuxPro as Jt } from "./main.js";
|
|
125
|
+
import { useUIStore as Xt } from "./stores/ui.js";
|
|
126
|
+
import { themeOverrides as $t } from "./theme/naiveTheme.js";
|
|
127
|
+
import { presetTheme as rx } from "./theme/presetTheme.js";
|
|
128
128
|
import { EndNode as tx, EndNodeSetting as xx, getEndNodeRegistry as mx } from "./components/flowEditor/nodes/endNode.js";
|
|
129
129
|
import { ProcessNode as ax, ProcessNodeSetting as px, getProcessNodeRegistry as fx } from "./components/flowEditor/nodes/processNode.js";
|
|
130
|
-
import { StartNode as lx, StartNodeSetting as sx, getStartNodeRegistry as
|
|
130
|
+
import { StartNode as lx, StartNodeSetting as sx, getStartNodeRegistry as ix } from "./components/flowEditor/nodes/startNode.js";
|
|
131
131
|
export {
|
|
132
132
|
ar as DuxAiEditor,
|
|
133
133
|
a as DuxApp,
|
|
134
134
|
ot as DuxAuthLayout,
|
|
135
|
-
|
|
135
|
+
qe as DuxAvatar,
|
|
136
136
|
Le as DuxBlockEmpty,
|
|
137
137
|
f as DuxCard,
|
|
138
138
|
te as DuxCardPage,
|
|
139
|
-
|
|
139
|
+
d as DuxCarousel,
|
|
140
140
|
g as DuxChart,
|
|
141
141
|
c as DuxCodeEditor,
|
|
142
|
-
|
|
142
|
+
ie as DuxCollapsePanel,
|
|
143
143
|
h as DuxDashboardHello,
|
|
144
144
|
M as DuxDashboardHelloBig,
|
|
145
145
|
w as DuxDashboardQuick,
|
|
146
146
|
N as DuxDashboardQuickItem,
|
|
147
147
|
Uo as DuxDesignEditor,
|
|
148
148
|
zo as DuxDialog,
|
|
149
|
-
|
|
150
|
-
|
|
149
|
+
jo as DuxDrawApps,
|
|
150
|
+
Jo as DuxDrawAuth,
|
|
151
151
|
Xo as DuxDrawEmpty,
|
|
152
152
|
$o as DuxDrawEmptyForm,
|
|
153
153
|
rr as DuxDrawError,
|
|
@@ -157,26 +157,26 @@ export {
|
|
|
157
157
|
I as DuxDynamicData,
|
|
158
158
|
R as DuxDynamicSelect,
|
|
159
159
|
_e as DuxFileManage,
|
|
160
|
-
|
|
160
|
+
Ge as DuxFileUpload,
|
|
161
161
|
zr as DuxFilterLayout,
|
|
162
162
|
nr as DuxFlowEditor,
|
|
163
163
|
kr as DuxFormEditor,
|
|
164
164
|
br as DuxFormItem,
|
|
165
165
|
yr as DuxFormLayout,
|
|
166
166
|
Wr as DuxFormRenderer,
|
|
167
|
-
|
|
168
|
-
|
|
167
|
+
jr as DuxGrid,
|
|
168
|
+
Hr as DuxIconPicker,
|
|
169
169
|
C as DuxImageCrop,
|
|
170
170
|
F as DuxImageCropModal,
|
|
171
|
-
|
|
171
|
+
Qe as DuxImageUpload,
|
|
172
172
|
et as DuxLayout,
|
|
173
173
|
re as DuxLevel,
|
|
174
174
|
Ae as DuxListEmpty,
|
|
175
|
-
|
|
175
|
+
Jr as DuxListLayout,
|
|
176
176
|
me as DuxListPage,
|
|
177
177
|
xt as DuxLoginPage,
|
|
178
178
|
ae as DuxMedia,
|
|
179
|
-
|
|
179
|
+
dt as DuxMenuApp,
|
|
180
180
|
ut as DuxMenuAvatar,
|
|
181
181
|
pt as DuxMenuButton,
|
|
182
182
|
Dt as DuxMenuCmd,
|
|
@@ -193,72 +193,72 @@ export {
|
|
|
193
193
|
Mt as DuxPage404,
|
|
194
194
|
wt as DuxPage500,
|
|
195
195
|
Lt as DuxPageEmpty,
|
|
196
|
+
At as DuxPageException,
|
|
196
197
|
Ir as DuxPageForm,
|
|
197
|
-
|
|
198
|
-
|
|
198
|
+
vt as DuxPageLoading,
|
|
199
|
+
Ut as DuxPageStatus,
|
|
199
200
|
Rr as DuxPageTabForm,
|
|
200
201
|
fe as DuxPanelAlert,
|
|
201
202
|
le as DuxPanelCard,
|
|
202
203
|
Ze as DuxPlaceholder,
|
|
203
204
|
Fe as DuxPosterEditor,
|
|
204
205
|
he as DuxSelectCard,
|
|
205
|
-
|
|
206
|
+
Ye as DuxSelectUpload,
|
|
206
207
|
Br as DuxSettingForm,
|
|
207
208
|
Me as DuxStatsNumber,
|
|
208
209
|
we as DuxStatsRealTime,
|
|
209
210
|
l as DuxStatsStore,
|
|
210
211
|
s as DuxStatsStoreItem,
|
|
211
212
|
ve as DuxTable,
|
|
212
|
-
|
|
213
|
+
Vr as DuxTableFilter,
|
|
213
214
|
Xr as DuxTableLayout,
|
|
214
215
|
Ue as DuxTablePage,
|
|
215
216
|
$r as DuxTableTools,
|
|
216
217
|
Oe as DuxTreeFilter,
|
|
217
|
-
|
|
218
|
-
|
|
218
|
+
Ke as DuxWidgetConnect,
|
|
219
|
+
Go as DuxWidgetEditorPreview,
|
|
219
220
|
tx as EndNode,
|
|
220
221
|
xx as EndNodeSetting,
|
|
221
222
|
Pr as FIELD_TYPE_OPTIONS,
|
|
222
223
|
fr as FlowNodeCard,
|
|
223
224
|
lr as FlowSetting,
|
|
224
|
-
|
|
225
|
+
ir as FlowToolbar,
|
|
225
226
|
ax as ProcessNode,
|
|
226
227
|
px as ProcessNodeSetting,
|
|
227
228
|
lx as StartNode,
|
|
228
229
|
sx as StartNodeSetting,
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
Yt as createDuxPro,
|
|
230
|
+
Qo as WidgetEditorSetting,
|
|
231
|
+
Vo as WidgetEditorSettingCard,
|
|
232
|
+
Ht as config,
|
|
233
|
+
Jt as createDuxPro,
|
|
234
234
|
Er as defaultNodes,
|
|
235
235
|
vo as duxFormEditorGrid,
|
|
236
236
|
ne as elementConfigs,
|
|
237
237
|
ge as elementRegistry,
|
|
238
|
-
|
|
239
|
-
|
|
238
|
+
zt as enUS,
|
|
239
|
+
Ot as generateRainbowFromColor,
|
|
240
240
|
Ee as getElementConfig,
|
|
241
241
|
ce as getElementsByCategory,
|
|
242
242
|
mx as getEndNodeRegistry,
|
|
243
243
|
Cr as getFieldTypeOptions,
|
|
244
244
|
fx as getProcessNodeRegistry,
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
245
|
+
ix as getStartNodeRegistry,
|
|
246
|
+
Wt as getTheme,
|
|
247
|
+
Vt as initVeeValidate,
|
|
248
|
+
rx as presetTheme,
|
|
249
|
+
$t as themeOverrides,
|
|
250
250
|
B as useAction,
|
|
251
251
|
U as useActionButton,
|
|
252
252
|
k as useActionDropdown,
|
|
253
253
|
W as useDialog,
|
|
254
|
-
|
|
255
|
-
|
|
254
|
+
H as useDownload,
|
|
255
|
+
V as useDrawer,
|
|
256
256
|
z as useEchartBar,
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
257
|
+
Y as useEchartCommon,
|
|
258
|
+
j as useEchartFunnel,
|
|
259
|
+
q as useEchartLine,
|
|
260
|
+
J as useEchartMap,
|
|
261
|
+
K as useEchartPie,
|
|
262
262
|
X as useEchartRadar,
|
|
263
263
|
Z as useEchartRing,
|
|
264
264
|
$ as useEchartRose,
|
|
@@ -279,6 +279,6 @@ export {
|
|
|
279
279
|
Fo as useTableColumnStatus,
|
|
280
280
|
ho as useTableColumnSwitch,
|
|
281
281
|
Mo as useUI,
|
|
282
|
-
|
|
283
|
-
|
|
282
|
+
Xt as useUIStore,
|
|
283
|
+
jt as zhCN
|
|
284
284
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const e = { search: "Search", empty: "No data", menu: "Menu", theme: "Theme", dark: "Dark", light: "Light", back: "Back", loading: "Loading...", success: "Success", error: "Error", unknownError: "Unknown error", preview: "Preview" }, a = { tab: { lock: "Lock", closeOther: "Close Other", closeLeft: "Close Left", closeRight: "Close Right" }, dialog: { confirm: { title: "Confirm", content: "Are you sure you want to confirm?" }, cancel: { title: "Cancel", content: "Are you sure you want to cancel?" }, success: { title: "Success", content: "Your operation has been successful" }, error: { title: "Error", content: "Your operation has been failed" }, prompt: { title: "Prompt" } }, button: { confirm: "Confirm", cancel: "Cancel", submit: "Submit", reset: "Reset", delete: "Delete", search: "Search", advanced: "Advanced", export: "Export", import: "Import", autoRefresh: "Auto Refresh", filter: "Filter", refresh: "Refresh", select: "Select", create: "Create", download: "Download", rename: "Rename", preview: "Preview" }, form: { edit: "Edit", create: "Create" }, list: { selectAll: "Select All", columnSetting: "Column Setting", selectedItems: "Selected Items: {num}", total: "Total: {total}", batchTitle: "Batch Operation Confirmation", batchContent: "Are you sure you want to execute this batch operation?" }, editor: { placeholder: "Please enter content" }, upload: { fileManager: "File Manager", uploadFile: "Upload File", cancel: "Cancel", delete: "Delete", error: "Upload failed", empty: "No files", desc: "Click or drag files to this area", dropHere: "Drop files here", allFormats: "Support any format files", supportFormats: "Support {formats} format files", maxSize: "Max file size: {size}MB", success: "Upload success", failed: "Upload failed", fileExtension: "{ext} file", status: { pending: "Pending", uploading: "Uploading", success: "Success", cancelled: "Cancelled", error: "Error" }, file: { name: "File Name", size: "Size", type: "Type", status: "Status" }, actions: "Actions", selectUpload: { clickOrDrag: "Click to select files or drag here", selectedFiles: "Selected {count} files", multipleSupport: "Support multiple file selection", defaultDesc: "Support uploading specified file types", acceptDesc: "Only support uploading {accept} format files", maxFiles: "Max {max} files" } }, uploadManage: { title: "File Manager", all: "All", image: "Images", media: "Media", docs: "Documents", upload: "Upload", empty: "No files", emptyDesc: "No more files, please upload files", back: "Back to parent", parentLevel: "Parent Level", namePlaceholder: "Please enter name", createError: "Create failed", editError: "Edit failed", delError: "Delete failed", delTitle: "Confirm Delete", delDesc: "Are you sure you want to delete the selected files? This action cannot be undone." }, crop: { title: "Crop", select: "Select", confirm: "Confirm" }, stats: { realTimeData: "Real-time Data" }, data: { selectTitle: "Please select data" }, menu: { language: "Language", chinese: "中文", english: "English", color: "Color", primaryColor: "Primary Color", neutralColor: "Neutral Color", theme: "Theme", followSystem: "Follow System", lightMode: "Light", darkMode: "Dark", logout: "Logout", notice: "Notice", noNotice: "No notices", markAllRead: "Mark all read", viewAllNotices: "View all notices", themeToggle: "Theme Toggle" }, iconPicker: { title: "Icon Picker" }, designEditor: { layout: "Layout", all: "All", grid: { label: "Grid", title: "Grid Settings", columns: "Columns", spacing: "Spacing", columnsPlaceholder: "Enter columns", spacingPlaceholder: "Enter spacing" } }, flowEditor: { properties: "Properties", nodeInfo: "Node Info", nodeConfig: "Node Config", label: "Label", description: "Description", descriptionPlaceholder: "Please enter node description", selectNodeOrEdge: "Select a node or edge to configure", edgeSettings: "Edge Settings", edgeDescription: "Configure connection properties between nodes", editJSON: "Edit JSON", saveFlow: "Save Flow", clearFlow: "Clear Flow", flowCleared: "Flow cleared", flowSaved: "Flow data saved", editFlowJSON: "Edit Flow JSON", deleteEdge: "Delete Edge", edgeDeleted: "Edge deleted", from: "From", to: "To", connectionType: "Connection Type", pass: "Pass", reject: "Reject", categories: { start: "Start", process: "Process", condition: "Condition", end: "End" }, nodes: { start: { label: "Start", description: "Starting node of the process" }, end: { label: "End", description: "Ending node of the process" } }, fieldTypes: { text: "Text", number: "Number", boolean: "Boolean", date: "Date", array: "Array", object: "Object" }, toolbar: { releaseToAdd: "Release to add node" }, setting: { operations: "Operations", node: "Node", connection: "Connection" }, nodeCard: { delete: "Delete", copy: "Copy" }, jsonEditor: { copiedToClipboard: "Copied to clipboard", dataApplied: "Data applied to flow", jsonFormatError: "JSON format error" }, processNode: { label: "Process", description: "Generic process node" }, startNode: { label: "Start", description: "Starting node of the process", configTitle: "Start Node Configuration" } }, formEditor: { config: "Component Config", options: "Option Config", data: "Data", common: { componentConfig: "Component Config", optionConfig: "Option Config", optionData: "Option Data", dataConfig: "Data Config", dataEdit: "Data Edit", label: "Label", placeholder: "Placeholder", disabled: "Disabled", clearable: "Clearable", multiple: "Multiple", defaultValue: "Default Value", readonly: "Readonly", showCount: "Show Count", prefix: "Prefix", suffix: "Suffix", status: "Status", minLength: "Min Length", maxLength: "Max Length", minValue: "Min Value", maxValue: "Max Value", minCount: "Min Count", maxCount: "Max Count", optionLabel: "Option Label", optionValue: "Option Value", labelField: "Label Field", valueField: "Value Field", dataInterface: "Data Interface", cascade: "Cascade", showPath: "Show Path", uploadUrl: "Upload URL", showAlpha: "Show Alpha", timeFormat: "Time Format", hour12: "12 Hours", dateType: "Date Type", inputType: "Input Type", formDirection: "Form Direction", leftAlign: "Left Align", topAlign: "Top Align", settingAlign: "Setting Layout", pageAlign: "Page Layout", name: "Name", desc: "Description" }, setting: { title: "Form Settings" }, validation: "Validation Rules", componentConfig: "Component Config", input: { label: "Text", types: { text: "Text", textarea: "Textarea", password: "Password" } }, inputNumber: { label: "Number" }, select: { label: "Select", configDesc: "Config options" }, radio: { label: "Radio", configDesc: "Config options" }, checkbox: { label: "Checkbox", configDesc: "Config options" }, switch: { label: "Switch" }, date: { label: "Date", placeholder: "Select date", dateType: "Date Type", date: "Date", daterange: "Date Range", datetime: "DateTime", datetimerange: "DateTime Range", month: "Month", monthrange: "Month Range", year: "Year", yearrange: "Year Range", quarter: "Quarter", quarterrange: "Quarter Range", week: "Week" }, time: { label: "Time", placeholder: "Select time", timeFormat: "Format", use12Hours: "12 Hours" }, color: { label: "Color", showAlpha: "Show Alpha" }, cascader: { label: "Cascader", desc: "Cascader options data in JSON array format", configDesc: "Config options", optionDesc: "JSON array format", optionsDescription: "Config cascader options", cascade: "Cascade", showPath: "Show Path" }, cascaderAsync: { label: "Cascader", dataApi: "Data API", apiPlaceholder: "Enter API URL", cascade: "Cascade", showPath: "Show Path" }, dynamicInput: { label: "Dynamic" }, editor: { label: "Editor", placeholder: "Enter content", uploadUrlDesc: "Editor image upload URL" }, aiEditor: { label: "Editor", uploadUrl: "Upload URL", uploadUrlFeedback: "Image upload URL" }, sider: { name: "Slider", step: "Step", min: "Min", max: "Max" }, dynamicTags: { name: "Tags", max: "Max Count" }, mentionAsync: { name: "Mention", clearable: "Clearable", path: "Data API", labelField: "Label Field", valueField: "Value Field" }, region: { name: "Region", Path: "Data API", labelField: "Label Field", valueField: "Value Field" }, selectAsync: { name: "Select", pagination: "Pagination", path: "Data API", labelField: "Label Field", valueField: "Value Field", imageField: "Image Field", descField: "Desc Field" }, transferAsync: { name: "Transfer" }, treeSelect: { name: "Tree" }, treeSelectAsync: { name: "Tree Select", path: "Data API", labelField: "Label Field", keyField: "Key Field" }, tree: { disabled: "Disabled" }, groups: { form: "Form", select: "Selector", async: "Async" }, imageUpload: { label: "Image Upload", maxSize: "Max File Size (MB)", maxSizePlaceholder: "Enter max file size", maxNumPlaceholder: "Enter max file count", manager: "File Manager" }, fileUpload: { label: "File Upload", accept: "Accept File Types", acceptPlaceholder: "Enter accepted file types, e.g.: image/*,video/*", maxSize: "Max File Size (MB)", maxSizePlaceholder: "Enter max file size", maxNumPlaceholder: "Enter max file count", manager: "File Manager" }, main: { label: "Main Content", categories: { form: "Form", select: "Selector", async: "Async" }, actions: { jsonOutput: "Json Output", save: "Save" } } } }, t = { table: { exportSuccess: "Export data successfully", exportProgress: "Exporting data, please wait...", exportFailed: "Export data failed", exportSuccessContent: "Successfully exported {count} records", exportProgressContent: "Page {page} data", exportFailedContent: "Export data failed: {error}", importSuccess: "Import data successfully", importProgress: "Importing data, please wait...", importFailed: "Import data failed", importSuccessContent: "Successfully imported {count} records", importProgressContent: "{processed} / {total} records", importFailedContent: "Import data failed: {error}", saveSuccess: "Save successfully", copySuccess: "Copy successfully", copyFailed: "Copy failed" }, download: { failed: "Download failed" } }, o = { 400: { title: "400", desc: "Request error" }, 401: { title: "401", desc: "You do not have permission to access this page" }, 403: { title: "403", desc: "You do not have permission to access this page" }, 404: { title: "404", desc: "Page not found" }, 500: { title: "500", desc: "Server error" }, empty: { title: "No data", desc: "No more data, please try again later" }, loading: { title: "Loading", desc: "Data is loading, please try again later" }, login: { success: "Login success", error: "Login failed, please check your username and password", placeholder: { username: "Please enter username", password: "Please enter password" }, buttons: { login: "Login" } } }, l = { "zh-CN": "Chinese", "en-US": "English", "ja-JP": "Japanese", "ko-KR": "Korean", "ru-RU": "Russian" }, i = {
|
|
1
|
+
const e = { search: "Search", empty: "No data", menu: "Menu", theme: "Theme", dark: "Dark", light: "Light", back: "Back", loading: "Loading...", success: "Success", error: "Error", unknownError: "Unknown error", preview: "Preview" }, a = { tab: { lock: "Lock", closeOther: "Close Other", closeLeft: "Close Left", closeRight: "Close Right" }, dialog: { confirm: { title: "Confirm", content: "Are you sure you want to confirm?" }, cancel: { title: "Cancel", content: "Are you sure you want to cancel?" }, success: { title: "Success", content: "Your operation has been successful" }, error: { title: "Error", content: "Your operation has been failed" }, prompt: { title: "Prompt" } }, button: { confirm: "Confirm", cancel: "Cancel", submit: "Submit", reset: "Reset", delete: "Delete", search: "Search", advanced: "Advanced", export: "Export", import: "Import", autoRefresh: "Auto Refresh", filter: "Filter", refresh: "Refresh", select: "Select", create: "Create", download: "Download", rename: "Rename", preview: "Preview" }, form: { edit: "Edit", create: "Create" }, list: { selectAll: "Select All", columnSetting: "Column Setting", selectedItems: "Selected Items: {num}", total: "Total: {total}", batchTitle: "Batch Operation Confirmation", batchContent: "Are you sure you want to execute this batch operation?" }, editor: { placeholder: "Please enter content" }, upload: { fileManager: "File Manager", uploadFile: "Upload File", cancel: "Cancel", delete: "Delete", error: "Upload failed", empty: "No files", desc: "Click or drag files to this area", dropHere: "Drop files here", allFormats: "Support any format files", supportFormats: "Support {formats} format files", maxSize: "Max file size: {size}MB", success: "Upload success", failed: "Upload failed", fileExtension: "{ext} file", status: { pending: "Pending", uploading: "Uploading", success: "Success", cancelled: "Cancelled", error: "Error" }, file: { name: "File Name", size: "Size", type: "Type", status: "Status" }, actions: "Actions", selectUpload: { clickOrDrag: "Click to select files or drag here", selectedFiles: "Selected {count} files", multipleSupport: "Support multiple file selection", defaultDesc: "Support uploading specified file types", acceptDesc: "Only support uploading {accept} format files", maxFiles: "Max {max} files" } }, uploadManage: { title: "File Manager", all: "All", image: "Images", media: "Media", docs: "Documents", upload: "Upload", empty: "No files", emptyDesc: "No more files, please upload files", back: "Back to parent", parentLevel: "Parent Level", namePlaceholder: "Please enter name", createError: "Create failed", editError: "Edit failed", delError: "Delete failed", delTitle: "Confirm Delete", delDesc: "Are you sure you want to delete the selected files? This action cannot be undone." }, crop: { title: "Crop", select: "Select", confirm: "Confirm" }, stats: { realTimeData: "Real-time Data" }, data: { selectTitle: "Please select data" }, menu: { language: "Language", chinese: "中文", english: "English", color: "Color", primaryColor: "Primary Color", neutralColor: "Neutral Color", theme: "Theme", followSystem: "Follow System", lightMode: "Light", darkMode: "Dark", logout: "Logout", notice: "Notice", noNotice: "No notices", markAllRead: "Mark all read", viewAllNotices: "View all notices", themeToggle: "Theme Toggle" }, iconPicker: { title: "Icon Picker" }, designEditor: { layout: "Layout", all: "All", grid: { label: "Grid", title: "Grid Settings", columns: "Columns", spacing: "Spacing", columnsPlaceholder: "Enter columns", spacingPlaceholder: "Enter spacing" } }, flowEditor: { properties: "Properties", nodeInfo: "Node Info", nodeConfig: "Node Config", label: "Label", description: "Description", descriptionPlaceholder: "Please enter node description", selectNodeOrEdge: "Select a node or edge to configure", edgeSettings: "Edge Settings", edgeDescription: "Configure connection properties between nodes", editJSON: "Edit JSON", saveFlow: "Save Flow", clearFlow: "Clear Flow", flowCleared: "Flow cleared", flowSaved: "Flow data saved", editFlowJSON: "Edit Flow JSON", deleteEdge: "Delete Edge", edgeDeleted: "Edge deleted", from: "From", to: "To", connectionType: "Connection Type", pass: "Pass", reject: "Reject", categories: { start: "Start", process: "Process", condition: "Condition", end: "End" }, nodes: { start: { label: "Start", description: "Starting node of the process" }, end: { label: "End", description: "Ending node of the process" } }, fieldTypes: { text: "Text", number: "Number", boolean: "Boolean", date: "Date", array: "Array", object: "Object" }, toolbar: { releaseToAdd: "Release to add node" }, setting: { operations: "Operations", node: "Node", connection: "Connection" }, nodeCard: { delete: "Delete", copy: "Copy" }, jsonEditor: { copiedToClipboard: "Copied to clipboard", dataApplied: "Data applied to flow", jsonFormatError: "JSON format error" }, processNode: { label: "Process", description: "Generic process node" }, startNode: { label: "Start", description: "Starting node of the process", configTitle: "Start Node Configuration" } }, formEditor: { config: "Component Config", options: "Option Config", data: "Data", common: { componentConfig: "Component Config", optionConfig: "Option Config", optionData: "Option Data", dataConfig: "Data Config", dataEdit: "Data Edit", label: "Label", placeholder: "Placeholder", disabled: "Disabled", clearable: "Clearable", multiple: "Multiple", defaultValue: "Default Value", readonly: "Readonly", showCount: "Show Count", prefix: "Prefix", suffix: "Suffix", status: "Status", minLength: "Min Length", maxLength: "Max Length", minValue: "Min Value", maxValue: "Max Value", minCount: "Min Count", maxCount: "Max Count", optionLabel: "Option Label", optionValue: "Option Value", labelField: "Label Field", valueField: "Value Field", dataInterface: "Data Interface", cascade: "Cascade", showPath: "Show Path", uploadUrl: "Upload URL", showAlpha: "Show Alpha", timeFormat: "Time Format", hour12: "12 Hours", dateType: "Date Type", inputType: "Input Type", formDirection: "Form Direction", leftAlign: "Left Align", topAlign: "Top Align", settingAlign: "Setting Layout", pageAlign: "Page Layout", name: "Name", desc: "Description" }, setting: { title: "Form Settings" }, validation: "Validation Rules", componentConfig: "Component Config", input: { label: "Text", types: { text: "Text", textarea: "Textarea", password: "Password" } }, inputNumber: { label: "Number" }, select: { label: "Select", configDesc: "Config options" }, radio: { label: "Radio", configDesc: "Config options" }, checkbox: { label: "Checkbox", configDesc: "Config options" }, switch: { label: "Switch" }, date: { label: "Date", placeholder: "Select date", dateType: "Date Type", date: "Date", daterange: "Date Range", datetime: "DateTime", datetimerange: "DateTime Range", month: "Month", monthrange: "Month Range", year: "Year", yearrange: "Year Range", quarter: "Quarter", quarterrange: "Quarter Range", week: "Week" }, time: { label: "Time", placeholder: "Select time", timeFormat: "Format", use12Hours: "12 Hours" }, color: { label: "Color", showAlpha: "Show Alpha" }, cascader: { label: "Cascader", desc: "Cascader options data in JSON array format", configDesc: "Config options", optionDesc: "JSON array format", optionsDescription: "Config cascader options", cascade: "Cascade", showPath: "Show Path" }, cascaderAsync: { label: "Cascader", dataApi: "Data API", apiPlaceholder: "Enter API URL", cascade: "Cascade", showPath: "Show Path" }, dynamicInput: { label: "Dynamic" }, editor: { label: "Editor", placeholder: "Enter content", uploadUrlDesc: "Editor image upload URL" }, aiEditor: { label: "Editor", uploadUrl: "Upload URL", uploadUrlFeedback: "Image upload URL" }, sider: { name: "Slider", step: "Step", min: "Min", max: "Max" }, dynamicTags: { name: "Tags", max: "Max Count" }, mentionAsync: { name: "Mention", clearable: "Clearable", path: "Data API", labelField: "Label Field", valueField: "Value Field" }, region: { name: "Region", Path: "Data API", labelField: "Label Field", valueField: "Value Field" }, selectAsync: { name: "Select", pagination: "Pagination", path: "Data API", labelField: "Label Field", valueField: "Value Field", imageField: "Image Field", descField: "Desc Field" }, transferAsync: { name: "Transfer" }, treeSelect: { name: "Tree" }, treeSelectAsync: { name: "Tree Select", path: "Data API", labelField: "Label Field", keyField: "Key Field" }, tree: { disabled: "Disabled" }, groups: { form: "Form", select: "Selector", async: "Async" }, imageUpload: { label: "Image Upload", maxSize: "Max File Size (MB)", maxSizePlaceholder: "Enter max file size", maxNumPlaceholder: "Enter max file count", manager: "File Manager" }, fileUpload: { label: "File Upload", accept: "Accept File Types", acceptPlaceholder: "Enter accepted file types, e.g.: image/*,video/*", maxSize: "Max File Size (MB)", maxSizePlaceholder: "Enter max file size", maxNumPlaceholder: "Enter max file count", manager: "File Manager" }, main: { label: "Main Content", categories: { form: "Form", select: "Selector", async: "Async" }, actions: { jsonOutput: "Json Output", save: "Save" } } } }, t = { table: { exportSuccess: "Export data successfully", exportProgress: "Exporting data, please wait...", exportFailed: "Export data failed", exportSuccessContent: "Successfully exported {count} records", exportProgressContent: "Page {page} data", exportFailedContent: "Export data failed: {error}", importSuccess: "Import data successfully", importProgress: "Importing data, please wait...", importFailed: "Import data failed", importSuccessContent: "Successfully imported {count} records", importProgressContent: "{processed} / {total} records", importFailedContent: "Import data failed: {error}", saveSuccess: "Save successfully", copySuccess: "Copy successfully", copyFailed: "Copy failed" }, download: { failed: "Download failed" } }, o = { 400: { title: "400", desc: "Request error" }, 401: { title: "401", desc: "You do not have permission to access this page" }, 403: { title: "403", desc: "You do not have permission to access this page" }, 404: { title: "404", desc: "Page not found" }, 500: { title: "500", desc: "Server error" }, empty: { title: "No data", desc: "No more data, please try again later" }, loading: { title: "Loading", desc: "Data is loading, please try again later" }, exception: { title: "System Exception", desc: "A system exception occurred. Please check the console for details" }, login: { success: "Login success", error: "Login failed, please check your username and password", placeholder: { username: "Please enter username", password: "Please enter password" }, buttons: { login: "Login" } } }, l = { "zh-CN": "Chinese", "en-US": "English", "ja-JP": "Japanese", "ko-KR": "Korean", "ru-RU": "Russian" }, i = {
|
|
2
2
|
common: e,
|
|
3
3
|
components: a,
|
|
4
4
|
hooks: t,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const e = { search: "搜索", empty: "暂无数据", menu: "菜单", theme: "主题", dark: "暗色模式", light: "亮色模式", back: "返回", loading: "加载中...", success: "操作成功", error: "操作失败", unknownError: "未知错误", keyword: "请输入关键字", preview: "预览" }, t = { tab: { lock: "锁定", closeOther: "关闭其他", closeLeft: "关闭左侧", closeRight: "关闭右侧" }, dialog: { confirm: { title: "确定", content: "确定要确认吗?" }, cancel: { title: "取消", content: "确定要取消吗?" }, success: { title: "成功", content: "您的操作已成功" }, error: { title: "错误", content: "您的操作已失败" }, prompt: { title: "提示" } }, button: { confirm: "确定", cancel: "取消", submit: "提交", reset: "重置", delete: "删除", search: "查询", advanced: "高级", export: "导出", import: "导入", autoRefresh: "自动刷新", filter: "筛选", refresh: "刷新", select: "选择", create: "新建", download: "下载", rename: "重命名", preview: "预览", sideLeft: "左侧", sideRight: "右侧" }, form: { edit: "编辑", create: "新增", success: "保存成功", error: "保存失败" }, list: { selectAll: "全选", columnSetting: "列设置", selectedItems: "选中项: {num}", total: "共 {total} 条", batchTitle: "批量操作确认", batchContent: "确定要执行此批量操作吗?" }, editor: { placeholder: "请输入内容" }, upload: { fileManager: "文件管理器", uploadFile: "上传文件", cancel: "取消", delete: "删除", error: "上传失败", empty: "暂无文件", desc: "点击或拖拽文件到此区域", dropHere: "拖拽文件到此处", allFormats: "支持任意格式文件", supportFormats: "支持 {formats} 格式文件", maxSize: "最大文件大小: {size}MB", success: "上传成功", failed: "上传失败", fileExtension: "{ext}文件", status: { pending: "待上传", uploading: "上传中", success: "已上传", cancelled: "已取消", error: "失败" }, file: { name: "文件名", size: "大小", type: "类型", status: "状态" }, actions: "操作", selectUpload: { clickOrDrag: "点击选择文件或拖拽到此处", selectedFiles: "已选择 {count} 个文件", multipleSupport: "支持多文件选择", defaultDesc: "支持上传指定类型文件", acceptDesc: "仅支持上传 {accept} 格式文件", maxFiles: "最多 {max} 个文件" } }, uploadManage: { title: "文件管理", all: "全部", image: "图片", media: "媒体", docs: "文档", upload: "上传", empty: "暂无文件", emptyDesc: "暂无更多文件,请先上传文件", back: "返回上一级", parentLevel: "上一级", namePlaceholder: "请输入名称", createError: "创建失败", editError: "修改失败", delError: "删除失败", delTitle: "确认删除", delDesc: "确定要删除选中的文件吗?删除后不可恢复。" }, crop: { title: "裁剪", select: "选择", confirm: "确认" }, stats: { realTimeData: "实时数据" }, data: { selectTitle: "请选择数据" }, menu: { language: "语言", chinese: "中文", english: "English", color: "颜色", primaryColor: "主题色", neutralColor: "中性色", theme: "主题", followSystem: "跟随系统", lightMode: "亮色", darkMode: "暗色", logout: "退出登录", notice: "通知", noNotice: "暂无通知", markAllRead: "一键已读", viewAllNotices: "查看全部消息", themeToggle: "主题切换" }, iconPicker: { title: "图标选择" }, designEditor: { layout: "布局", all: "全部", grid: { label: "网格", title: "网格设置", columns: "列数", spacing: "间距", columnsPlaceholder: "请输入列数", spacingPlaceholder: "请输入间距" } }, flowEditor: { properties: "属性", nodeInfo: "节点信息", nodeConfig: "节点配置", label: "标签", description: "描述", descriptionPlaceholder: "请输入节点描述", selectNodeOrEdge: "选择节点或连接线进行配置", edgeSettings: "连接线设置", edgeDescription: "配置节点间的连接属性", editJSON: "编辑JSON", saveFlow: "保存流程", clearFlow: "清空流程", flowCleared: "流程已清空", flowSaved: "流程数据已保存", editFlowJSON: "编辑流程 JSON", deleteEdge: "删除连接线", edgeDeleted: "连接线已删除", from: "从", to: "到", connectionType: "连接类型", pass: "通过", reject: "退回", categories: { start: "开始", process: "处理", condition: "条件", end: "结束" }, nodes: { start: { label: "开始", description: "流程的起始节点" }, end: { label: "结束", description: "流程的结束节点" } }, fieldTypes: { text: "文本", number: "数字", boolean: "布尔", date: "日期", array: "数组", object: "对象" }, toolbar: { releaseToAdd: "释放以添加节点" }, setting: { operations: "操作", node: "节点", connection: "连接" }, nodeCard: { delete: "删除", copy: "复制" }, jsonEditor: { copiedToClipboard: "已复制到剪贴板", dataApplied: "数据已应用到流程", jsonFormatError: "JSON 格式错误" }, processNode: { label: "处理", description: "通用处理节点" }, startNode: { label: "开始", description: "流程的起始节点", configTitle: "开始节点配置" } }, formEditor: { config: "组件配置", options: "选项配置", data: "数据", common: { componentConfig: "组件配置", optionConfig: "选项配置", optionData: "选项数据", dataConfig: "数据配置", dataEdit: "数据编辑", label: "标签", disabled: "禁用", clearable: "可清除", readonly: "只读", showCount: "显示字数", placeholder: "占位符", prefix: "前缀", suffix: "后缀", status: "状态", defaultValue: "默认值", minLength: "最小长度", maxLength: "最大长度", minValue: "最小值", maxValue: "最大值", labelField: "标签字段", valueField: "值字段", optionLabel: "选项标签", optionValue: "选项值", dataInterface: "数据接口", multiple: "多选", cascade: "级联", showPath: "显示路径", minCount: "最小数量", maxCount: "最大数量", uploadUrl: "上传地址", showAlpha: "显示透明度", timeFormat: "时间格式", hour12: "12小时制", dateType: "日期类型", inputType: "输入类型", formDirection: "表单方向", leftAlign: "左对齐", topAlign: "上对齐", settingAlign: "设置布局", pageAlign: "页面布局", name: "名称", desc: "描述" }, setting: { title: "表单设置" }, validation: "验证规则", componentConfig: "组件配置", input: { label: "文本", types: { text: "文本", textarea: "多行文本", password: "密码" } }, inputNumber: { label: "数字" }, select: { label: "选择", configDesc: "配置选项数据" }, radio: { label: "单选", configDesc: "配置单选框选项数据" }, checkbox: { label: "复选", configDesc: "配置复选框选项数据" }, switch: { label: "开关" }, date: { label: "日期", placeholder: "选择日期", dateType: "日期类型", date: "日期", daterange: "日期范围", datetime: "日期时间", datetimerange: "日期时间范围", month: "月份", monthrange: "月份范围", year: "年份", yearrange: "年份范围", quarter: "季度", quarterrange: "季度范围", week: "周" }, time: { label: "时间", placeholder: "选择时间", timeFormat: "格式", use12Hours: "12小时制" }, color: { label: "颜色", showAlpha: "显示透明度" }, cascader: { label: "级联", desc: "级联选择器选项数据,格式为 JSON 数组", configDesc: "配置选项", optionDesc: "JSON 数组格式", optionsDescription: "配置级联选择器选项数据", cascade: "级联", showPath: "显示路径" }, cascaderAsync: { label: "级联", dataApi: "数据接口", apiPlaceholder: "输入接口地址", cascade: "级联", showPath: "显示路径" }, dynamicInput: { label: "动态" }, editor: { label: "编辑器", placeholder: "输入内容", uploadUrlDesc: "编辑器图片上传地址" }, aiEditor: { label: "编辑器", uploadUrl: "上传地址", uploadUrlFeedback: "编辑器图片上传地址" }, sider: { name: "滑块", step: "步长", min: "最小", max: "最大" }, dynamicTags: { name: "标签", max: "最大数量" }, mentionAsync: { name: "提及", clearable: "可清除", path: "数据接口", labelField: "标签字段", valueField: "值字段" }, region: { name: "地区", Path: "数据接口", labelField: "标签字段", valueField: "值字段" }, selectAsync: { name: "选择", pagination: "分页", path: "数据接口", labelField: "标签字段", valueField: "值字段", imageField: "图片字段", descField: "描述字段" }, transferAsync: { name: "穿梭框" }, treeSelect: { name: "树选择" }, treeSelectAsync: { name: "异步树选择", path: "数据接口", labelField: "标签字段", keyField: "键字段" }, tree: { disabled: "禁用" }, groups: { form: "表单", select: "选择器", async: "异步" }, imageUpload: { label: "图片上传", maxSize: "最大文件大小(MB)", maxSizePlaceholder: "请输入最大文件大小", maxNumPlaceholder: "请输入最大文件数量", manager: "文件管理器" }, fileUpload: { label: "文件上传", accept: "接受文件类型", acceptPlaceholder: "请输入接受的文件类型,如:image/*,video/*", maxSize: "最大文件大小(MB)", maxSizePlaceholder: "请输入最大文件大小", maxNumPlaceholder: "请输入最大文件数量", manager: "文件管理器" }, main: { label: "主要内容", categories: { form: "表单", select: "选择器", async: "异步" }, actions: { jsonOutput: "Json 输出", save: "保存" } } } }, a = { table: { exportSuccess: "导出数据成功", exportProgress: "导出数据中, 请稍后...", exportFailed: "导出数据失败", exportSuccessContent: "成功导出 {count} 条数据", exportProgressContent: "第 {page} 页数据", exportFailedContent: "导出数据失败:{error}", importSuccess: "导入数据成功", importProgress: "导入数据中, 请稍后...", importFailed: "导入数据失败", importSuccessContent: "成功导入 {count} 条数据", importProgressContent: "{processed} / {total} 条数据", importFailedContent: "导入数据失败:{error}", saveSuccess: "保存成功", copySuccess: "复制成功", copyFailed: "复制失败" }, download: { failed: "下载失败" } }, l = { 400: { title: "400", desc: "请求错误" }, 401: { title: "401", desc: "您没有权限访问该页面" }, 403: { title: "403", desc: "您没有权限访问该页面" }, 404: { title: "404", desc: "页面不存在" }, 500: { title: "500", desc: "服务器错误" }, empty: { title: "暂无数据", desc: "暂无更多数据,请先创建数据" }, loading: { title: "加载中", desc: "数据正在加载中,请稍后..." }, login: { success: "登录成功", error: "登录失败,请检查用户名和密码", placeholder: { username: "请输入用户名", password: "请输入密码" }, buttons: { login: "登录" } } }, o = { "zh-CN": "中文", "en-US": "English", "ja-JP": "日本語", "ko-KR": "한국어", "ru-RU": "Русский" }, i = {
|
|
1
|
+
const e = { search: "搜索", empty: "暂无数据", menu: "菜单", theme: "主题", dark: "暗色模式", light: "亮色模式", back: "返回", loading: "加载中...", success: "操作成功", error: "操作失败", unknownError: "未知错误", keyword: "请输入关键字", preview: "预览" }, t = { tab: { lock: "锁定", closeOther: "关闭其他", closeLeft: "关闭左侧", closeRight: "关闭右侧" }, dialog: { confirm: { title: "确定", content: "确定要确认吗?" }, cancel: { title: "取消", content: "确定要取消吗?" }, success: { title: "成功", content: "您的操作已成功" }, error: { title: "错误", content: "您的操作已失败" }, prompt: { title: "提示" } }, button: { confirm: "确定", cancel: "取消", submit: "提交", reset: "重置", delete: "删除", search: "查询", advanced: "高级", export: "导出", import: "导入", autoRefresh: "自动刷新", filter: "筛选", refresh: "刷新", select: "选择", create: "新建", download: "下载", rename: "重命名", preview: "预览", sideLeft: "左侧", sideRight: "右侧" }, form: { edit: "编辑", create: "新增", success: "保存成功", error: "保存失败" }, list: { selectAll: "全选", columnSetting: "列设置", selectedItems: "选中项: {num}", total: "共 {total} 条", batchTitle: "批量操作确认", batchContent: "确定要执行此批量操作吗?" }, editor: { placeholder: "请输入内容" }, upload: { fileManager: "文件管理器", uploadFile: "上传文件", cancel: "取消", delete: "删除", error: "上传失败", empty: "暂无文件", desc: "点击或拖拽文件到此区域", dropHere: "拖拽文件到此处", allFormats: "支持任意格式文件", supportFormats: "支持 {formats} 格式文件", maxSize: "最大文件大小: {size}MB", success: "上传成功", failed: "上传失败", fileExtension: "{ext}文件", status: { pending: "待上传", uploading: "上传中", success: "已上传", cancelled: "已取消", error: "失败" }, file: { name: "文件名", size: "大小", type: "类型", status: "状态" }, actions: "操作", selectUpload: { clickOrDrag: "点击选择文件或拖拽到此处", selectedFiles: "已选择 {count} 个文件", multipleSupport: "支持多文件选择", defaultDesc: "支持上传指定类型文件", acceptDesc: "仅支持上传 {accept} 格式文件", maxFiles: "最多 {max} 个文件" } }, uploadManage: { title: "文件管理", all: "全部", image: "图片", media: "媒体", docs: "文档", upload: "上传", empty: "暂无文件", emptyDesc: "暂无更多文件,请先上传文件", back: "返回上一级", parentLevel: "上一级", namePlaceholder: "请输入名称", createError: "创建失败", editError: "修改失败", delError: "删除失败", delTitle: "确认删除", delDesc: "确定要删除选中的文件吗?删除后不可恢复。" }, crop: { title: "裁剪", select: "选择", confirm: "确认" }, stats: { realTimeData: "实时数据" }, data: { selectTitle: "请选择数据" }, menu: { language: "语言", chinese: "中文", english: "English", color: "颜色", primaryColor: "主题色", neutralColor: "中性色", theme: "主题", followSystem: "跟随系统", lightMode: "亮色", darkMode: "暗色", logout: "退出登录", notice: "通知", noNotice: "暂无通知", markAllRead: "一键已读", viewAllNotices: "查看全部消息", themeToggle: "主题切换" }, iconPicker: { title: "图标选择" }, designEditor: { layout: "布局", all: "全部", grid: { label: "网格", title: "网格设置", columns: "列数", spacing: "间距", columnsPlaceholder: "请输入列数", spacingPlaceholder: "请输入间距" } }, flowEditor: { properties: "属性", nodeInfo: "节点信息", nodeConfig: "节点配置", label: "标签", description: "描述", descriptionPlaceholder: "请输入节点描述", selectNodeOrEdge: "选择节点或连接线进行配置", edgeSettings: "连接线设置", edgeDescription: "配置节点间的连接属性", editJSON: "编辑JSON", saveFlow: "保存流程", clearFlow: "清空流程", flowCleared: "流程已清空", flowSaved: "流程数据已保存", editFlowJSON: "编辑流程 JSON", deleteEdge: "删除连接线", edgeDeleted: "连接线已删除", from: "从", to: "到", connectionType: "连接类型", pass: "通过", reject: "退回", categories: { start: "开始", process: "处理", condition: "条件", end: "结束" }, nodes: { start: { label: "开始", description: "流程的起始节点" }, end: { label: "结束", description: "流程的结束节点" } }, fieldTypes: { text: "文本", number: "数字", boolean: "布尔", date: "日期", array: "数组", object: "对象" }, toolbar: { releaseToAdd: "释放以添加节点" }, setting: { operations: "操作", node: "节点", connection: "连接" }, nodeCard: { delete: "删除", copy: "复制" }, jsonEditor: { copiedToClipboard: "已复制到剪贴板", dataApplied: "数据已应用到流程", jsonFormatError: "JSON 格式错误" }, processNode: { label: "处理", description: "通用处理节点" }, startNode: { label: "开始", description: "流程的起始节点", configTitle: "开始节点配置" } }, formEditor: { config: "组件配置", options: "选项配置", data: "数据", common: { componentConfig: "组件配置", optionConfig: "选项配置", optionData: "选项数据", dataConfig: "数据配置", dataEdit: "数据编辑", label: "标签", disabled: "禁用", clearable: "可清除", readonly: "只读", showCount: "显示字数", placeholder: "占位符", prefix: "前缀", suffix: "后缀", status: "状态", defaultValue: "默认值", minLength: "最小长度", maxLength: "最大长度", minValue: "最小值", maxValue: "最大值", labelField: "标签字段", valueField: "值字段", optionLabel: "选项标签", optionValue: "选项值", dataInterface: "数据接口", multiple: "多选", cascade: "级联", showPath: "显示路径", minCount: "最小数量", maxCount: "最大数量", uploadUrl: "上传地址", showAlpha: "显示透明度", timeFormat: "时间格式", hour12: "12小时制", dateType: "日期类型", inputType: "输入类型", formDirection: "表单方向", leftAlign: "左对齐", topAlign: "上对齐", settingAlign: "设置布局", pageAlign: "页面布局", name: "名称", desc: "描述" }, setting: { title: "表单设置" }, validation: "验证规则", componentConfig: "组件配置", input: { label: "文本", types: { text: "文本", textarea: "多行文本", password: "密码" } }, inputNumber: { label: "数字" }, select: { label: "选择", configDesc: "配置选项数据" }, radio: { label: "单选", configDesc: "配置单选框选项数据" }, checkbox: { label: "复选", configDesc: "配置复选框选项数据" }, switch: { label: "开关" }, date: { label: "日期", placeholder: "选择日期", dateType: "日期类型", date: "日期", daterange: "日期范围", datetime: "日期时间", datetimerange: "日期时间范围", month: "月份", monthrange: "月份范围", year: "年份", yearrange: "年份范围", quarter: "季度", quarterrange: "季度范围", week: "周" }, time: { label: "时间", placeholder: "选择时间", timeFormat: "格式", use12Hours: "12小时制" }, color: { label: "颜色", showAlpha: "显示透明度" }, cascader: { label: "级联", desc: "级联选择器选项数据,格式为 JSON 数组", configDesc: "配置选项", optionDesc: "JSON 数组格式", optionsDescription: "配置级联选择器选项数据", cascade: "级联", showPath: "显示路径" }, cascaderAsync: { label: "级联", dataApi: "数据接口", apiPlaceholder: "输入接口地址", cascade: "级联", showPath: "显示路径" }, dynamicInput: { label: "动态" }, editor: { label: "编辑器", placeholder: "输入内容", uploadUrlDesc: "编辑器图片上传地址" }, aiEditor: { label: "编辑器", uploadUrl: "上传地址", uploadUrlFeedback: "编辑器图片上传地址" }, sider: { name: "滑块", step: "步长", min: "最小", max: "最大" }, dynamicTags: { name: "标签", max: "最大数量" }, mentionAsync: { name: "提及", clearable: "可清除", path: "数据接口", labelField: "标签字段", valueField: "值字段" }, region: { name: "地区", Path: "数据接口", labelField: "标签字段", valueField: "值字段" }, selectAsync: { name: "选择", pagination: "分页", path: "数据接口", labelField: "标签字段", valueField: "值字段", imageField: "图片字段", descField: "描述字段" }, transferAsync: { name: "穿梭框" }, treeSelect: { name: "树选择" }, treeSelectAsync: { name: "异步树选择", path: "数据接口", labelField: "标签字段", keyField: "键字段" }, tree: { disabled: "禁用" }, groups: { form: "表单", select: "选择器", async: "异步" }, imageUpload: { label: "图片上传", maxSize: "最大文件大小(MB)", maxSizePlaceholder: "请输入最大文件大小", maxNumPlaceholder: "请输入最大文件数量", manager: "文件管理器" }, fileUpload: { label: "文件上传", accept: "接受文件类型", acceptPlaceholder: "请输入接受的文件类型,如:image/*,video/*", maxSize: "最大文件大小(MB)", maxSizePlaceholder: "请输入最大文件大小", maxNumPlaceholder: "请输入最大文件数量", manager: "文件管理器" }, main: { label: "主要内容", categories: { form: "表单", select: "选择器", async: "异步" }, actions: { jsonOutput: "Json 输出", save: "保存" } } } }, a = { table: { exportSuccess: "导出数据成功", exportProgress: "导出数据中, 请稍后...", exportFailed: "导出数据失败", exportSuccessContent: "成功导出 {count} 条数据", exportProgressContent: "第 {page} 页数据", exportFailedContent: "导出数据失败:{error}", importSuccess: "导入数据成功", importProgress: "导入数据中, 请稍后...", importFailed: "导入数据失败", importSuccessContent: "成功导入 {count} 条数据", importProgressContent: "{processed} / {total} 条数据", importFailedContent: "导入数据失败:{error}", saveSuccess: "保存成功", copySuccess: "复制成功", copyFailed: "复制失败" }, download: { failed: "下载失败" } }, l = { 400: { title: "400", desc: "请求错误" }, 401: { title: "401", desc: "您没有权限访问该页面" }, 403: { title: "403", desc: "您没有权限访问该页面" }, 404: { title: "404", desc: "页面不存在" }, 500: { title: "500", desc: "服务器错误" }, empty: { title: "暂无数据", desc: "暂无更多数据,请先创建数据" }, loading: { title: "加载中", desc: "数据正在加载中,请稍后..." }, exception: { title: "系统异常", desc: "系统发生异常,具体原因请查看控制台" }, login: { success: "登录成功", error: "登录失败,请检查用户名和密码", placeholder: { username: "请输入用户名", password: "请输入密码" }, buttons: { login: "登录" } } }, o = { "zh-CN": "中文", "en-US": "English", "ja-JP": "日本語", "ko-KR": "한국어", "ru-RU": "Русский" }, i = {
|
|
2
2
|
common: e,
|
|
3
3
|
components: t,
|
|
4
4
|
hooks: a,
|
|
@@ -78,7 +78,7 @@ const Ye = /* @__PURE__ */ z({
|
|
|
78
78
|
setCmdVisible: x,
|
|
79
79
|
setMenuCollapsed: h
|
|
80
80
|
} = U(), {
|
|
81
|
-
config:
|
|
81
|
+
config: r
|
|
82
82
|
} = w(), {
|
|
83
83
|
t: g
|
|
84
84
|
} = k(), {
|
|
@@ -94,7 +94,7 @@ const Ye = /* @__PURE__ */ z({
|
|
|
94
94
|
h(!1);
|
|
95
95
|
});
|
|
96
96
|
const i = (o) => o.map((t) => {
|
|
97
|
-
const
|
|
97
|
+
const l = {
|
|
98
98
|
...t,
|
|
99
99
|
key: t.name,
|
|
100
100
|
icon: t?.icon ? () => m("div", {
|
|
@@ -109,10 +109,10 @@ const Ye = /* @__PURE__ */ z({
|
|
|
109
109
|
default: () => t.label
|
|
110
110
|
}) : t.label
|
|
111
111
|
};
|
|
112
|
-
return
|
|
112
|
+
return l.children && l.children.length > 0 && (l.children = i(l.children)), l;
|
|
113
113
|
}), C = n(() => i(u(b.value))), D = n(() => i(u(y.value)));
|
|
114
114
|
return () => e("div", {
|
|
115
|
-
class: "flex h-screen gap-2
|
|
115
|
+
class: "flex h-screen gap-2 pl-2 pr-4 py-2"
|
|
116
116
|
}, [e(v, {
|
|
117
117
|
class: "bg-primary-950 w-16 text-inverted z-1"
|
|
118
118
|
}, {
|
|
@@ -122,14 +122,14 @@ const Ye = /* @__PURE__ */ z({
|
|
|
122
122
|
class: "py-4 px-2 hidden lg:flex justify-center items-center"
|
|
123
123
|
}, [e("div", {
|
|
124
124
|
class: "bg-white dark:bg-primary-950 rounded-full p-2 shadow group-hover:shadow-lg"
|
|
125
|
-
}, [
|
|
125
|
+
}, [r.theme?.appLogo ? e("img", {
|
|
126
126
|
class: "size-4",
|
|
127
|
-
src:
|
|
127
|
+
src: r.theme?.appLogo
|
|
128
128
|
}, null) : e(T, {
|
|
129
129
|
highlight: "fill-primary",
|
|
130
130
|
class: "size-4"
|
|
131
131
|
}, null)])]), e("div", {
|
|
132
|
-
class: "flex-1"
|
|
132
|
+
class: "flex-1 min-h-0"
|
|
133
133
|
}, [e(d, null, {
|
|
134
134
|
default: () => [e(c, {
|
|
135
135
|
inverted: !0,
|
|
@@ -142,7 +142,7 @@ const Ye = /* @__PURE__ */ z({
|
|
|
142
142
|
}, null)]
|
|
143
143
|
})]), e("div", {
|
|
144
144
|
class: "flex-none hidden lg:flex flex-col items-center gap-2 p-2"
|
|
145
|
-
}, [
|
|
145
|
+
}, [r.notice?.status && e(F, {
|
|
146
146
|
collapsed: !0
|
|
147
147
|
}, null), e(B, null, null), e(L, {
|
|
148
148
|
collapsed: !0
|
|
@@ -156,10 +156,10 @@ const Ye = /* @__PURE__ */ z({
|
|
|
156
156
|
leaveFromClass: "opacity-100 translate-x-0",
|
|
157
157
|
leaveToClass: "opacity-0 translate-x-[-50%]"
|
|
158
158
|
}, {
|
|
159
|
-
default: () => [M.value && e(v, {
|
|
160
|
-
class: "w-160px overflow-hidden flex flex-col gap-2"
|
|
161
|
-
}, {
|
|
159
|
+
default: () => [M.value && e(v, null, {
|
|
162
160
|
default: () => [e("div", {
|
|
161
|
+
class: "w-160px overflow-hidden flex flex-col h-full"
|
|
162
|
+
}, [e("div", {
|
|
163
163
|
class: "p-2 flex-none"
|
|
164
164
|
}, [e(S, {
|
|
165
165
|
collapsed: !1,
|
|
@@ -186,9 +186,9 @@ const Ye = /* @__PURE__ */ z({
|
|
|
186
186
|
}, {
|
|
187
187
|
default: () => [s("K")]
|
|
188
188
|
})])])
|
|
189
|
-
})]), e(
|
|
189
|
+
})]), e("div", {
|
|
190
190
|
class: "flex-1 min-h-0"
|
|
191
|
-
}, {
|
|
191
|
+
}, [e(d, null, {
|
|
192
192
|
default: () => [e(c, {
|
|
193
193
|
rootIndent: 20,
|
|
194
194
|
indent: 15,
|
|
@@ -197,7 +197,7 @@ const Ye = /* @__PURE__ */ z({
|
|
|
197
197
|
collapsed: !1,
|
|
198
198
|
onUpdateValue: (o) => p.value = o
|
|
199
199
|
}, null)]
|
|
200
|
-
})]
|
|
200
|
+
})])])]
|
|
201
201
|
})]
|
|
202
202
|
})]);
|
|
203
203
|
}
|