@das-fed/web 6.4.0-test.8.2 → 7.0.0
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/{index-DGluLInD.js → index-Do-hi0sT.js} +5039 -4842
- package/index-Do-hi0sT.js.gz +0 -0
- package/index-Ho3juDFP.js +10 -0
- package/{packages/main-app-framework/index-BNKYCeAC.js → index-ybkIe7Qx.js} +36 -31
- package/index-ybkIe7Qx.js.gz +0 -0
- package/index.js +1 -1
- package/package.json +6 -6
- package/packages/i18n/index.js +23 -21
- package/packages/i18n/index.js.gz +0 -0
- package/packages/layout/index.js +284 -282
- package/packages/layout/index.js.gz +0 -0
- package/packages/layout/style.css +1 -1
- package/packages/layout/style.css.gz +0 -0
- package/packages/main-app-framework/{index-WJZZ_VcX.js → index-By_I7kxF.js} +3682 -3501
- package/packages/main-app-framework/index-By_I7kxF.js.gz +0 -0
- package/packages/main-app-framework/index-D6tSxSCm.js +10 -0
- package/{index-tX8Sh7Y3.js → packages/main-app-framework/index-uy_tfCFy.js} +36 -31
- package/packages/main-app-framework/index-uy_tfCFy.js.gz +0 -0
- package/packages/main-app-framework/index.js +1 -1
- package/packages/main-app-framework/style.css +1 -1
- package/packages/main-app-framework/style.css.gz +0 -0
- package/packages/micro-frontend/index.js +266 -259
- package/packages/micro-frontend/index.js.gz +0 -0
- package/packages/style/style.css +1 -1
- package/packages/style/style.css.gz +0 -0
- package/style.css +1 -1
- package/style.css.gz +0 -0
- package/types/i18n/global.d.ts +10 -0
- package/types/i18n/index.d.ts +1 -1
- package/types/layout/store/index.d.ts +1 -1
- package/types/layout/store/nav.d.ts +1 -1
- package/types/main-app-framework/business/message-notify/index.d.ts +1 -0
- package/types/main-app-framework/business/remote-control/apis.d.ts +2 -0
- package/types/main-app-framework/business/remote-control/utils.d.ts +7 -0
- package/types/main-app-framework/components/person-set-dialog/src/api.d.ts +2 -0
- package/types/main-app-framework/components/person-set-dialog/src/components/index.d.ts +1 -0
- package/types/main-app-framework/components/person-set-dialog/src/components/set-home/api.d.ts +1 -1
- package/types/main-app-framework/i18n/index.d.ts +20 -0
- package/types/main-app-framework/init-config/get-nav-config/index.d.ts +2 -1
- package/types/main-app-framework/init-config/get-system-config/api.d.ts +2 -0
- package/types/main-app-framework/init-config/get-system-config/index.d.ts +4 -2
- package/types/main-app-framework/init-config/get-tenant-config/api.d.ts +3 -1
- package/types/main-app-framework/init-config/get-tenant-config/index.d.ts +2 -0
- package/types/main-app-framework/init-layout/hooks/nav-slots/index.d.ts +1 -0
- package/types/main-app-framework/init-layout/hooks/nav-slots/use-ai-helper.d.ts +4 -0
- package/types/main-app-framework/init-layout/hooks/use-initialization.d.ts +1 -0
- package/types/main-app-framework/utils/src/set-common-info.d.ts +2 -0
- package/index-DGluLInD.js.gz +0 -0
- package/index-DSr0lbga.js +0 -10
- package/index-tX8Sh7Y3.js.gz +0 -0
- package/packages/main-app-framework/index-BNKYCeAC.js.gz +0 -0
- package/packages/main-app-framework/index-DfAg8at4.js +0 -10
- package/packages/main-app-framework/index-WJZZ_VcX.js.gz +0 -0
package/packages/layout/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import '@das-fed/web/packages/layout/style.css';
|
|
2
|
-
import { reactive as z, ref as
|
|
3
|
-
import { useRouter as
|
|
2
|
+
import { reactive as z, ref as U, defineComponent as Q, computed as c, watch as te, createElementBlock as C, openBlock as g, Fragment as Y, createBlock as V, createCommentVNode as L, TransitionGroup as ge, normalizeProps as ne, mergeProps as ae, withCtx as W, renderList as oe, withDirectives as D, resolveDynamicComponent as O, vShow as M, unref as b, nextTick as ie, resolveComponent as pe, createElementVNode as H, normalizeStyle as ye, normalizeClass as we, renderSlot as N, createVNode as Z, Transition as le, guardReactiveProps as ce, KeepAlive as ue, h as ee, onBeforeMount as be, onMounted as Le, onUnmounted as _e } from "vue";
|
|
3
|
+
import { useRouter as Ie, useRoute as fe } from "vue-router";
|
|
4
4
|
import { setHtmlMinWH as Ce } from "@das-fed/utils/common-tools/setHtmlMinWH";
|
|
5
|
-
import { createCeNav as
|
|
5
|
+
import { createCeNav as ke, createCeTabs as Te, createCeMenu as Ae } from "@das-fed/web-components/das-web-app";
|
|
6
6
|
import { flatTree as Ee } from "@das-fed/utils/common-tools/nest-tree-format";
|
|
7
7
|
const h = z({
|
|
8
8
|
visible: !1,
|
|
@@ -16,7 +16,7 @@ const h = z({
|
|
|
16
16
|
// activeItem: '',
|
|
17
17
|
// activeProject: {},
|
|
18
18
|
eventListeners: {}
|
|
19
|
-
}),
|
|
19
|
+
}), ve = {
|
|
20
20
|
show: () => {
|
|
21
21
|
h.visible = !0;
|
|
22
22
|
},
|
|
@@ -92,31 +92,31 @@ const h = z({
|
|
|
92
92
|
remove: l
|
|
93
93
|
};
|
|
94
94
|
}
|
|
95
|
-
},
|
|
95
|
+
}, R = z({
|
|
96
96
|
theme: "default",
|
|
97
97
|
items: [],
|
|
98
98
|
collapse: !1,
|
|
99
99
|
eventListeners: {}
|
|
100
|
-
}),
|
|
100
|
+
}), de = {
|
|
101
101
|
setItems: (e) => {
|
|
102
|
-
|
|
102
|
+
R.items = e;
|
|
103
103
|
},
|
|
104
|
-
getItems: () =>
|
|
104
|
+
getItems: () => R.items,
|
|
105
105
|
setTheme: (e) => {
|
|
106
|
-
|
|
106
|
+
R.theme = e;
|
|
107
107
|
},
|
|
108
108
|
setActiveItem: (e) => {
|
|
109
|
-
|
|
109
|
+
R.activeItem = e;
|
|
110
110
|
},
|
|
111
111
|
setCollapse: (e) => {
|
|
112
|
-
|
|
112
|
+
R.collapse = e;
|
|
113
113
|
},
|
|
114
114
|
setPopupClassName: (e) => {
|
|
115
|
-
|
|
115
|
+
R.popupClassName = e;
|
|
116
116
|
},
|
|
117
117
|
triggerEventListener: (e, t, n) => {
|
|
118
118
|
var f;
|
|
119
|
-
const l =
|
|
119
|
+
const l = R.eventListeners, { autoRemove: d = !1 } = n || {}, r = [];
|
|
120
120
|
for (const y in l) {
|
|
121
121
|
const i = l[y];
|
|
122
122
|
i.type === e && r.push(
|
|
@@ -129,9 +129,9 @@ const h = z({
|
|
|
129
129
|
},
|
|
130
130
|
addEventListener: (e, t) => {
|
|
131
131
|
const n = (/* @__PURE__ */ new Date()).getTime() + Math.random().toString(36).slice(-8), l = () => {
|
|
132
|
-
|
|
132
|
+
R.eventListeners[n] && delete R.eventListeners[n];
|
|
133
133
|
};
|
|
134
|
-
return
|
|
134
|
+
return R.eventListeners[n] = {
|
|
135
135
|
type: e,
|
|
136
136
|
handler: async (d) => {
|
|
137
137
|
try {
|
|
@@ -145,32 +145,32 @@ const h = z({
|
|
|
145
145
|
remove: l
|
|
146
146
|
};
|
|
147
147
|
}
|
|
148
|
-
},
|
|
148
|
+
}, k = z({
|
|
149
149
|
theme: "default",
|
|
150
150
|
items: [],
|
|
151
151
|
eventListeners: {}
|
|
152
|
-
}),
|
|
152
|
+
}), me = {
|
|
153
153
|
setItems: (e) => {
|
|
154
|
-
|
|
154
|
+
k.items = e;
|
|
155
155
|
},
|
|
156
|
-
getItems: () =>
|
|
156
|
+
getItems: () => k.items,
|
|
157
157
|
setTheme: (e) => {
|
|
158
|
-
|
|
158
|
+
k.theme = e;
|
|
159
159
|
},
|
|
160
160
|
removeItem: (e) => {
|
|
161
|
-
const t =
|
|
162
|
-
|
|
161
|
+
const t = k.items.filter((n) => n.value !== e);
|
|
162
|
+
k.items = t;
|
|
163
163
|
},
|
|
164
164
|
appendItem: (e) => {
|
|
165
|
-
const t =
|
|
166
|
-
t !== -1 ?
|
|
165
|
+
const t = k.items.findIndex((n) => n.value == e.value);
|
|
166
|
+
t !== -1 ? k.items.splice(t, 1, e) : k.items.push(e);
|
|
167
167
|
},
|
|
168
168
|
setActiveItem: (e) => {
|
|
169
|
-
|
|
169
|
+
k.activeItem = e;
|
|
170
170
|
},
|
|
171
171
|
triggerEventListener: (e, t, n) => {
|
|
172
172
|
var f;
|
|
173
|
-
const l =
|
|
173
|
+
const l = k.eventListeners, { autoRemove: d = !1 } = n || {}, r = [];
|
|
174
174
|
for (const y in l) {
|
|
175
175
|
const i = l[y];
|
|
176
176
|
i.type === e && r.push(
|
|
@@ -183,9 +183,9 @@ const h = z({
|
|
|
183
183
|
},
|
|
184
184
|
addEventListener: (e, t) => {
|
|
185
185
|
const n = (/* @__PURE__ */ new Date()).getTime() + Math.random().toString(36).slice(-8), l = () => {
|
|
186
|
-
|
|
186
|
+
k.eventListeners[n] && delete k.eventListeners[n];
|
|
187
187
|
};
|
|
188
|
-
return
|
|
188
|
+
return k.eventListeners[n] = {
|
|
189
189
|
type: e,
|
|
190
190
|
handler: async (d) => {
|
|
191
191
|
try {
|
|
@@ -199,12 +199,12 @@ const h = z({
|
|
|
199
199
|
remove: l
|
|
200
200
|
};
|
|
201
201
|
}
|
|
202
|
-
},
|
|
202
|
+
}, K = z({
|
|
203
203
|
eventListeners: {}
|
|
204
204
|
}), Re = {
|
|
205
205
|
triggerEventListener: (e, t, n) => {
|
|
206
206
|
var f;
|
|
207
|
-
const l =
|
|
207
|
+
const l = K.eventListeners, { autoRemove: d = !1 } = n || {}, r = [];
|
|
208
208
|
for (const y in l) {
|
|
209
209
|
const i = l[y];
|
|
210
210
|
i.type === e && r.push(
|
|
@@ -217,9 +217,9 @@ const h = z({
|
|
|
217
217
|
},
|
|
218
218
|
addEventListener: (e, t) => {
|
|
219
219
|
const n = (/* @__PURE__ */ new Date()).getTime() + Math.random().toString(36).slice(-8), l = () => {
|
|
220
|
-
|
|
220
|
+
K.eventListeners[n] && delete K.eventListeners[n];
|
|
221
221
|
};
|
|
222
|
-
return
|
|
222
|
+
return K.eventListeners[n] = {
|
|
223
223
|
type: e,
|
|
224
224
|
handler: async (d) => {
|
|
225
225
|
try {
|
|
@@ -233,31 +233,31 @@ const h = z({
|
|
|
233
233
|
remove: l
|
|
234
234
|
};
|
|
235
235
|
}
|
|
236
|
-
},
|
|
236
|
+
}, se = z({
|
|
237
237
|
visible: !1,
|
|
238
238
|
style: {}
|
|
239
|
-
}),
|
|
239
|
+
}), Ve = {
|
|
240
240
|
set: (e, t) => {
|
|
241
|
-
|
|
241
|
+
se.visible = e, t || (t = {}), t.transition || (t.transition = "all 0.3s"), t && (se.style = t);
|
|
242
242
|
}
|
|
243
|
-
},
|
|
243
|
+
}, F = {
|
|
244
244
|
nav: h,
|
|
245
|
-
menu:
|
|
246
|
-
tab:
|
|
247
|
-
overlay:
|
|
248
|
-
iframeView:
|
|
249
|
-
visible:
|
|
245
|
+
menu: R,
|
|
246
|
+
tab: k,
|
|
247
|
+
overlay: se,
|
|
248
|
+
iframeView: K,
|
|
249
|
+
visible: U(!0)
|
|
250
250
|
}, v = {
|
|
251
|
-
nav:
|
|
252
|
-
menu:
|
|
253
|
-
tab:
|
|
254
|
-
overlay:
|
|
251
|
+
nav: ve,
|
|
252
|
+
menu: de,
|
|
253
|
+
tab: me,
|
|
254
|
+
overlay: Ve,
|
|
255
255
|
iframeView: Re,
|
|
256
|
-
setVisible: (e) =>
|
|
256
|
+
setVisible: (e) => F.visible.value = e,
|
|
257
257
|
setTheme: (e) => {
|
|
258
|
-
|
|
258
|
+
ve.setTheme(e), de.setTheme(e), me.setTheme(e);
|
|
259
259
|
}
|
|
260
|
-
},
|
|
260
|
+
}, Pe = ["name"], Se = ["name"], De = /* @__PURE__ */ Q({
|
|
261
261
|
__name: "das-iframe-router-view",
|
|
262
262
|
props: {
|
|
263
263
|
needTransition: { type: Boolean },
|
|
@@ -265,14 +265,14 @@ const h = z({
|
|
|
265
265
|
exclude: { default: () => [] }
|
|
266
266
|
},
|
|
267
267
|
setup(e) {
|
|
268
|
-
const t = e, n =
|
|
268
|
+
const t = e, n = c(() => {
|
|
269
269
|
const { mode: s = "", ...a } = {
|
|
270
270
|
mode: "out-in",
|
|
271
271
|
"enter-active-class": "animate__animated animate__fadeInLeft",
|
|
272
272
|
...t.transitionConfig || {}
|
|
273
273
|
};
|
|
274
274
|
return a;
|
|
275
|
-
}), l =
|
|
275
|
+
}), l = Ie(), d = fe(), r = U([]), f = c(() => r.value.filter((s) => {
|
|
276
276
|
var a;
|
|
277
277
|
return (a = s.meta) == null ? void 0 : a.isOpen;
|
|
278
278
|
})), y = (s) => {
|
|
@@ -282,7 +282,7 @@ const h = z({
|
|
|
282
282
|
m.meta.key === s && (m.meta.key = `${m.path}-${o}`);
|
|
283
283
|
});
|
|
284
284
|
};
|
|
285
|
-
|
|
285
|
+
te(
|
|
286
286
|
() => t.exclude,
|
|
287
287
|
(s) => {
|
|
288
288
|
if (!s || !s.length) return;
|
|
@@ -310,13 +310,13 @@ const h = z({
|
|
|
310
310
|
}, T = async () => {
|
|
311
311
|
var o, m;
|
|
312
312
|
if (!r.value || !r.value.length) return;
|
|
313
|
-
const s = r.value.find((
|
|
314
|
-
s && (s.meta.isShow = !1, await
|
|
315
|
-
const a = r.value.find((
|
|
316
|
-
a && ((o = a.meta) != null && o.isOpen || (a.meta.isOpen = !0), (m = a.meta) != null && m.isShow || (a.meta.isShow = !0), await
|
|
313
|
+
const s = r.value.find((I) => I.meta.isShow);
|
|
314
|
+
s && (s.meta.isShow = !1, await ie(), v.iframeView.triggerEventListener("onDeactivated", { route: s }));
|
|
315
|
+
const a = r.value.find((I) => I.path === d.path);
|
|
316
|
+
a && ((o = a.meta) != null && o.isOpen || (a.meta.isOpen = !0), (m = a.meta) != null && m.isShow || (a.meta.isShow = !0), await ie(), v.iframeView.triggerEventListener("onActivated", { route: a }));
|
|
317
317
|
};
|
|
318
318
|
let S = 0;
|
|
319
|
-
return
|
|
319
|
+
return te(
|
|
320
320
|
() => l.currentRoute.value,
|
|
321
321
|
() => {
|
|
322
322
|
const s = l.options.routes.length;
|
|
@@ -332,28 +332,28 @@ const h = z({
|
|
|
332
332
|
r.value.forEach((a) => {
|
|
333
333
|
a.path === s && (a.meta.isOpen = !1);
|
|
334
334
|
});
|
|
335
|
-
}), (s, a) => (
|
|
336
|
-
|
|
335
|
+
}), (s, a) => (g(), C(
|
|
336
|
+
Y,
|
|
337
337
|
null,
|
|
338
338
|
[
|
|
339
|
-
s.needTransition ? (
|
|
340
|
-
|
|
341
|
-
|
|
339
|
+
s.needTransition ? (g(), V(
|
|
340
|
+
ge,
|
|
341
|
+
ne(ae({ key: 0 }, n.value)),
|
|
342
342
|
{
|
|
343
|
-
default:
|
|
344
|
-
(
|
|
345
|
-
|
|
343
|
+
default: W(() => [
|
|
344
|
+
(g(!0), C(
|
|
345
|
+
Y,
|
|
346
346
|
null,
|
|
347
|
-
|
|
347
|
+
oe(f.value, ({ path: o, meta: m }) => D((g(), C("div", {
|
|
348
348
|
class: "das-iframe-router-view",
|
|
349
349
|
key: m.key,
|
|
350
350
|
name: o
|
|
351
351
|
}, [
|
|
352
|
-
(
|
|
352
|
+
(g(), V(O(m.componentInstance), {
|
|
353
353
|
key: m.key
|
|
354
354
|
}))
|
|
355
|
-
], 8,
|
|
356
|
-
[M, m.componentInstance && o ===
|
|
355
|
+
], 8, Pe)), [
|
|
356
|
+
[M, m.componentInstance && o === b(d).path]
|
|
357
357
|
])),
|
|
358
358
|
128
|
|
359
359
|
/* KEYED_FRAGMENT */
|
|
@@ -364,20 +364,20 @@ const h = z({
|
|
|
364
364
|
},
|
|
365
365
|
16
|
|
366
366
|
/* FULL_PROPS */
|
|
367
|
-
)) :
|
|
368
|
-
s.needTransition ?
|
|
369
|
-
|
|
367
|
+
)) : L("v-if", !0),
|
|
368
|
+
s.needTransition ? L("v-if", !0) : (g(!0), C(
|
|
369
|
+
Y,
|
|
370
370
|
{ key: 1 },
|
|
371
|
-
|
|
371
|
+
oe(f.value, ({ path: o, meta: m }) => D((g(), C("div", {
|
|
372
372
|
class: "das-iframe-router-view",
|
|
373
373
|
key: m.key,
|
|
374
374
|
name: o
|
|
375
375
|
}, [
|
|
376
|
-
(
|
|
376
|
+
(g(), V(O(m.componentInstance), {
|
|
377
377
|
key: m.key
|
|
378
378
|
}))
|
|
379
|
-
], 8,
|
|
380
|
-
[M, m.componentInstance && o ===
|
|
379
|
+
], 8, Se)), [
|
|
380
|
+
[M, m.componentInstance && o === b(d).path]
|
|
381
381
|
])),
|
|
382
382
|
128
|
|
383
383
|
/* KEYED_FRAGMENT */
|
|
@@ -387,27 +387,27 @@ const h = z({
|
|
|
387
387
|
/* STABLE_FRAGMENT */
|
|
388
388
|
));
|
|
389
389
|
}
|
|
390
|
-
}),
|
|
390
|
+
}), he = (e, t) => {
|
|
391
391
|
const n = e.__vccOpts || e;
|
|
392
392
|
for (const [l, d] of t)
|
|
393
393
|
n[l] = d;
|
|
394
394
|
return n;
|
|
395
|
-
},
|
|
395
|
+
}, Me = /* @__PURE__ */ he(De, [["__scopeId", "data-v-6dd310c9"]]), je = { class: "das-web-app-container" }, xe = {
|
|
396
396
|
key: 0,
|
|
397
397
|
class: "das-web-app-header"
|
|
398
|
-
},
|
|
398
|
+
}, $e = { class: "das-web-app-main" }, He = {
|
|
399
399
|
key: 0,
|
|
400
400
|
class: "aside"
|
|
401
|
-
}, Be = { class: "das-web-app-main-container" },
|
|
401
|
+
}, Be = { class: "das-web-app-main-container" }, Fe = {
|
|
402
402
|
key: 0,
|
|
403
403
|
class: "tab"
|
|
404
|
-
},
|
|
404
|
+
}, Ne = { class: "das-web-app-main-content" }, Oe = { class: "banner" }, Ue = { class: "das-web-app-main-router-view" }, We = {
|
|
405
405
|
key: 0,
|
|
406
406
|
style: { width: "100%", height: "100%" }
|
|
407
|
-
},
|
|
407
|
+
}, Ke = {
|
|
408
408
|
key: 1,
|
|
409
409
|
style: { width: "100%", height: "100%" }
|
|
410
|
-
},
|
|
410
|
+
}, ze = { style: { width: "100%", height: "100%" } }, Qe = {
|
|
411
411
|
class: "micro-app",
|
|
412
412
|
style: { height: "100%", width: "100%" }
|
|
413
413
|
}, qe = /* @__PURE__ */ Q({
|
|
@@ -420,52 +420,53 @@ const h = z({
|
|
|
420
420
|
showTabs: { type: Boolean, default: !0 },
|
|
421
421
|
routerViewVisible: { type: Boolean, default: !0 },
|
|
422
422
|
excludeRoutes: {},
|
|
423
|
-
routeKeepAliveVisible: { type: Boolean, default: !0 }
|
|
423
|
+
routeKeepAliveVisible: { type: Boolean, default: !0 },
|
|
424
|
+
pageKey: { default: "0" }
|
|
424
425
|
},
|
|
425
426
|
setup(e) {
|
|
426
427
|
const t = e;
|
|
427
|
-
|
|
428
|
-
const n =
|
|
428
|
+
ke(), Te(), Ae();
|
|
429
|
+
const n = fe(), l = U(!1), d = U(!1), r = U(!1), f = c(() => l.value && t.showLayout), y = c(() => d.value && t.showLayout && t.showAside), i = c(() => l.value && t.showLayout && t.showTabs), P = c(() => t.routerViewVisible ?? !0), T = c(() => F.overlay.visible ?? !1), S = c(() => ({
|
|
429
430
|
"das-web-app-overlay-show": T.value === !0,
|
|
430
431
|
"das-web-app-overlay-hide": T.value === !1,
|
|
431
432
|
"das-web-app-overlay-destroy": T.value === "destroy"
|
|
432
|
-
})), s =
|
|
433
|
-
|
|
433
|
+
})), s = c(() => F.overlay.style ?? { backgroundColor: "rgba(0,0,0,0.5)" }), a = c(() => t.excludeRoutes), o = c(() => t.routeKeepAliveVisible);
|
|
434
|
+
te(
|
|
434
435
|
() => [n.meta, n.query],
|
|
435
|
-
([
|
|
436
|
-
const { showLayout:
|
|
437
|
-
showLayout:
|
|
438
|
-
showAside:
|
|
439
|
-
showTabs:
|
|
440
|
-
app:
|
|
436
|
+
([_, j]) => {
|
|
437
|
+
const { showLayout: A = !0, showAside: x = !0, showTabs: u = !0, layout: p = {} } = _, {
|
|
438
|
+
showLayout: w = !0,
|
|
439
|
+
showAside: $ = !0,
|
|
440
|
+
showTabs: E = !0,
|
|
441
|
+
app: G
|
|
441
442
|
} = j;
|
|
442
|
-
Ce(
|
|
443
|
-
let
|
|
444
|
-
(
|
|
443
|
+
Ce(p);
|
|
444
|
+
let re = !0, J = !0, X = !0;
|
|
445
|
+
(A === !1 || w === !1 || w === "false") && (re = !1, J = !1, X = !1), (x === !1 || $ === !1 || $ === "false") && (J = !1), (u === !1 || E === !1 || E === "false") && (X = !1), l.value = re, d.value = J, r.value = X;
|
|
445
446
|
}
|
|
446
447
|
);
|
|
447
|
-
const m =
|
|
448
|
+
const m = c(() => ({
|
|
448
449
|
mode: "out-in",
|
|
449
450
|
"enter-active-class": "animate__animated animate__fadeInLeft",
|
|
450
451
|
...t.transitionConfig || {}
|
|
451
452
|
}));
|
|
452
|
-
let
|
|
453
|
-
const
|
|
454
|
-
let
|
|
455
|
-
return
|
|
453
|
+
let I = /* @__PURE__ */ new Map();
|
|
454
|
+
const q = (_, j) => {
|
|
455
|
+
let A;
|
|
456
|
+
return I.has(j) ? A = I.get(j) : (A = {
|
|
456
457
|
name: j,
|
|
457
458
|
render() {
|
|
458
|
-
return
|
|
459
|
+
return ee("div", { style: { width: "100%", height: "100%" } }, [ee(_)]);
|
|
459
460
|
}
|
|
460
|
-
},
|
|
461
|
-
}, B =
|
|
462
|
-
return (
|
|
463
|
-
const
|
|
464
|
-
return
|
|
465
|
-
D(
|
|
461
|
+
}, I.set(j, A)), ee(A);
|
|
462
|
+
}, B = c(() => F.visible.value);
|
|
463
|
+
return (_, j) => {
|
|
464
|
+
const A = pe("router-view");
|
|
465
|
+
return g(), C("div", je, [
|
|
466
|
+
D(H(
|
|
466
467
|
"div",
|
|
467
468
|
{
|
|
468
|
-
class:
|
|
469
|
+
class: we(["das-web-app-overlay", S.value]),
|
|
469
470
|
style: ye(s.value)
|
|
470
471
|
},
|
|
471
472
|
null,
|
|
@@ -474,153 +475,150 @@ const h = z({
|
|
|
474
475
|
), [
|
|
475
476
|
[M, B.value]
|
|
476
477
|
]),
|
|
477
|
-
f.value ? D((
|
|
478
|
+
f.value ? D((g(), C(
|
|
478
479
|
"div",
|
|
479
|
-
|
|
480
|
+
xe,
|
|
480
481
|
[
|
|
481
|
-
|
|
482
|
+
N(_.$slots, "header", {}, void 0, !0)
|
|
482
483
|
],
|
|
483
484
|
512
|
|
484
485
|
/* NEED_PATCH */
|
|
485
486
|
)), [
|
|
486
487
|
[M, B.value]
|
|
487
|
-
]) :
|
|
488
|
-
|
|
489
|
-
y.value ? D((
|
|
488
|
+
]) : L("v-if", !0),
|
|
489
|
+
H("div", $e, [
|
|
490
|
+
y.value ? D((g(), C(
|
|
490
491
|
"div",
|
|
491
|
-
|
|
492
|
+
He,
|
|
492
493
|
[
|
|
493
|
-
|
|
494
|
+
N(_.$slots, "aside", {}, void 0, !0)
|
|
494
495
|
],
|
|
495
496
|
512
|
|
496
497
|
/* NEED_PATCH */
|
|
497
498
|
)), [
|
|
498
499
|
[M, B.value]
|
|
499
|
-
]) :
|
|
500
|
-
|
|
501
|
-
i.value ? D((
|
|
500
|
+
]) : L("v-if", !0),
|
|
501
|
+
H("div", Be, [
|
|
502
|
+
i.value ? D((g(), C(
|
|
502
503
|
"div",
|
|
503
|
-
|
|
504
|
+
Fe,
|
|
504
505
|
[
|
|
505
|
-
|
|
506
|
+
N(_.$slots, "tab", {}, void 0, !0)
|
|
506
507
|
],
|
|
507
508
|
512
|
|
508
509
|
/* NEED_PATCH */
|
|
509
510
|
)), [
|
|
510
511
|
[M, B.value]
|
|
511
|
-
]) :
|
|
512
|
-
|
|
513
|
-
D(
|
|
512
|
+
]) : L("v-if", !0),
|
|
513
|
+
H("div", Ne, [
|
|
514
|
+
D(H(
|
|
514
515
|
"div",
|
|
515
|
-
|
|
516
|
+
Oe,
|
|
516
517
|
[
|
|
517
|
-
|
|
518
|
+
N(_.$slots, "banner", {}, void 0, !0)
|
|
518
519
|
],
|
|
519
520
|
512
|
|
520
521
|
/* NEED_PATCH */
|
|
521
522
|
), [
|
|
522
523
|
[M, B.value]
|
|
523
524
|
]),
|
|
524
|
-
|
|
525
|
-
D(
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
512
|
|
615
|
-
/* NEED_PATCH */
|
|
616
|
-
), [
|
|
525
|
+
H("div", Ue, [
|
|
526
|
+
D((g(), C("div", {
|
|
527
|
+
key: _.pageKey,
|
|
528
|
+
style: { width: "100%", height: "100%" }
|
|
529
|
+
}, [
|
|
530
|
+
N(_.$slots, "router-view", {}, () => [
|
|
531
|
+
L(" 有动画 "),
|
|
532
|
+
_.needTransition ? (g(), V(A, { key: 0 }, {
|
|
533
|
+
default: W(({ Component: x }) => [
|
|
534
|
+
Z(
|
|
535
|
+
le,
|
|
536
|
+
ne(ce(m.value)),
|
|
537
|
+
{
|
|
538
|
+
default: W(() => {
|
|
539
|
+
var u;
|
|
540
|
+
return [
|
|
541
|
+
b(n).meta.keepAlive ? (g(), V(ue, {
|
|
542
|
+
key: 0,
|
|
543
|
+
exclude: a.value
|
|
544
|
+
}, [
|
|
545
|
+
o.value && !((u = b(n).meta) != null && u.isIframe) ? (g(), V(O(q(x, b(n).path)), {
|
|
546
|
+
key: b(n).path
|
|
547
|
+
})) : L("v-if", !0)
|
|
548
|
+
], 1032, ["exclude"])) : L("v-if", !0)
|
|
549
|
+
];
|
|
550
|
+
}),
|
|
551
|
+
_: 2
|
|
552
|
+
/* DYNAMIC */
|
|
553
|
+
},
|
|
554
|
+
1040
|
|
555
|
+
/* FULL_PROPS, DYNAMIC_SLOTS */
|
|
556
|
+
),
|
|
557
|
+
Z(
|
|
558
|
+
le,
|
|
559
|
+
ne(ce(m.value)),
|
|
560
|
+
{
|
|
561
|
+
default: W(() => [
|
|
562
|
+
!b(n).meta.keepAlive && !b(n).meta.isIframe ? (g(), C("div", We, [
|
|
563
|
+
(g(), V(O(x), {
|
|
564
|
+
key: b(n).path
|
|
565
|
+
}))
|
|
566
|
+
])) : L("v-if", !0)
|
|
567
|
+
]),
|
|
568
|
+
_: 2
|
|
569
|
+
/* DYNAMIC */
|
|
570
|
+
},
|
|
571
|
+
1040
|
|
572
|
+
/* FULL_PROPS, DYNAMIC_SLOTS */
|
|
573
|
+
)
|
|
574
|
+
]),
|
|
575
|
+
_: 1
|
|
576
|
+
/* STABLE */
|
|
577
|
+
})) : L("v-if", !0),
|
|
578
|
+
L(" 无动画 "),
|
|
579
|
+
_.needTransition ? L("v-if", !0) : (g(), V(A, { key: 1 }, {
|
|
580
|
+
default: W(({ Component: x }) => [
|
|
581
|
+
b(n).meta.keepAlive ? (g(), V(ue, {
|
|
582
|
+
key: 0,
|
|
583
|
+
exclude: a.value
|
|
584
|
+
}, [
|
|
585
|
+
o.value && !b(n).meta.isIframe ? (g(), V(O(q(x, b(n).path)), {
|
|
586
|
+
key: b(n).path
|
|
587
|
+
})) : L("v-if", !0)
|
|
588
|
+
], 1032, ["exclude"])) : L("v-if", !0),
|
|
589
|
+
!b(n).meta.keepAlive && !b(n).meta.isIframe ? (g(), C("div", Ke, [
|
|
590
|
+
(g(), V(O(x), {
|
|
591
|
+
key: b(n).path
|
|
592
|
+
}))
|
|
593
|
+
])) : L("v-if", !0)
|
|
594
|
+
]),
|
|
595
|
+
_: 1
|
|
596
|
+
/* STABLE */
|
|
597
|
+
})),
|
|
598
|
+
D(H(
|
|
599
|
+
"div",
|
|
600
|
+
ze,
|
|
601
|
+
[
|
|
602
|
+
Z(Me, {
|
|
603
|
+
exclude: a.value,
|
|
604
|
+
transitionConfig: m.value,
|
|
605
|
+
needTransition: _.needTransition
|
|
606
|
+
}, null, 8, ["exclude", "transitionConfig", "needTransition"])
|
|
607
|
+
],
|
|
608
|
+
512
|
|
609
|
+
/* NEED_PATCH */
|
|
610
|
+
), [
|
|
611
|
+
[M, b(n).meta.isIframe]
|
|
612
|
+
])
|
|
613
|
+
], !0)
|
|
614
|
+
])), [
|
|
617
615
|
[M, P.value]
|
|
618
616
|
]),
|
|
619
|
-
D(
|
|
617
|
+
D(H(
|
|
620
618
|
"div",
|
|
621
|
-
|
|
619
|
+
Qe,
|
|
622
620
|
[
|
|
623
|
-
|
|
621
|
+
N(_.$slots, "default", {}, void 0, !0)
|
|
624
622
|
],
|
|
625
623
|
512
|
|
626
624
|
/* NEED_PATCH */
|
|
@@ -634,62 +632,65 @@ const h = z({
|
|
|
634
632
|
]);
|
|
635
633
|
};
|
|
636
634
|
}
|
|
637
|
-
}),
|
|
635
|
+
}), st = /* @__PURE__ */ he(qe, [["__scopeId", "data-v-e2af5217"]]), Ge = ["theme", "modelValue", "logoUrl", "config", "innerPagesConfig", "searchConfig", "projectTreeConfig", "userInfoConfig"], at = /* @__PURE__ */ Q({
|
|
638
636
|
__name: "das-web-nav",
|
|
639
637
|
setup(e) {
|
|
640
|
-
const { nav: t } =
|
|
641
|
-
var
|
|
638
|
+
const { nav: t } = F, n = c(() => t.theme), l = c(() => t.logo || ""), d = c(() => t.activeItem || ""), r = c(() => (t.items || []).filter((p) => p.fixed)), f = c(() => (t.items || []).filter((p) => !p.fixed)), y = c(() => {
|
|
639
|
+
var u, p, w, $, E;
|
|
642
640
|
return {
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
641
|
+
showAIHelper: ((u = t.config) == null ? void 0 : u.showAIHelper) ?? !1,
|
|
642
|
+
showFullScreen: ((p = t.config) == null ? void 0 : p.showFullScreen) ?? !1,
|
|
643
|
+
showChangeEnterprise: ((w = t.config) == null ? void 0 : w.showChangeEnterprise) ?? !1,
|
|
644
|
+
showSearch: (($ = t.config) == null ? void 0 : $.showSearch) ?? !0,
|
|
645
|
+
showProjectTree: ((E = t.config) == null ? void 0 : E.showProjectTree) ?? !0,
|
|
646
|
+
subAppList: f.value.map((G) => ({ code: G.value, name: G.label, ...G }))
|
|
648
647
|
};
|
|
649
|
-
}), i =
|
|
650
|
-
const
|
|
648
|
+
}), i = c(() => {
|
|
649
|
+
const u = r.value.find((p) => p.value === t.activeItem);
|
|
651
650
|
return {
|
|
652
|
-
activeInnerPagePath: (
|
|
653
|
-
innerPages: r.value.map((
|
|
651
|
+
activeInnerPagePath: (u == null ? void 0 : u.path) || "",
|
|
652
|
+
innerPages: r.value.map((p) => ({ title: p.label, ...p }))
|
|
654
653
|
};
|
|
655
|
-
}), P =
|
|
654
|
+
}), P = c(() => ({
|
|
656
655
|
projectStore: {
|
|
657
656
|
projectTree: t.projects,
|
|
658
657
|
currentProject: t.activeProject
|
|
659
658
|
},
|
|
660
659
|
...t.projectConfig
|
|
661
|
-
})), T =
|
|
662
|
-
const
|
|
663
|
-
await v.nav.triggerEventListener("onItemClick",
|
|
664
|
-
}, a = async (
|
|
665
|
-
const
|
|
666
|
-
await v.nav.triggerEventListener("onItemClick",
|
|
667
|
-
}, o = async (
|
|
668
|
-
const
|
|
669
|
-
await v.nav.triggerEventListener("onItemRemove",
|
|
670
|
-
}, m = async (
|
|
671
|
-
const [
|
|
672
|
-
!
|
|
673
|
-
},
|
|
674
|
-
v.nav.triggerEventListener("onUserCommandChange",
|
|
675
|
-
},
|
|
676
|
-
v.nav.triggerEventListener("searchToPage", { item:
|
|
677
|
-
}, B = (
|
|
678
|
-
v.nav.triggerEventListener("clearSearchList", { cb:
|
|
679
|
-
},
|
|
680
|
-
v.nav.triggerEventListener("deleteSearchItem", { value:
|
|
660
|
+
})), T = c(() => t.userInfo), S = c(() => t.searchConfig), s = async (u) => {
|
|
661
|
+
const p = u.detail[0], w = r.value.find((E) => p.value === E.value);
|
|
662
|
+
await v.nav.triggerEventListener("onItemClick", w) && v.nav.setActiveItem(w.value);
|
|
663
|
+
}, a = async (u) => {
|
|
664
|
+
const p = u.detail[0], w = f.value.find((E) => p === E.value);
|
|
665
|
+
await v.nav.triggerEventListener("onItemClick", w) && v.nav.setActiveItem(w.value);
|
|
666
|
+
}, o = async (u) => {
|
|
667
|
+
const p = u.detail[0], w = f.value.find((E) => p === E.value);
|
|
668
|
+
await v.nav.triggerEventListener("onItemRemove", w) && v.nav.removeItem(w.value);
|
|
669
|
+
}, m = async (u) => {
|
|
670
|
+
const [p, w] = u.detail;
|
|
671
|
+
!p || !await v.nav.triggerEventListener("onProjectChange", w) || v.nav.setActiveProject(w);
|
|
672
|
+
}, I = (u) => {
|
|
673
|
+
v.nav.triggerEventListener("onUserCommandChange", u.detail[0]);
|
|
674
|
+
}, q = (u) => {
|
|
675
|
+
v.nav.triggerEventListener("searchToPage", { item: u.detail[0], keyword: u.detail[1], cb: u.detail[2] });
|
|
676
|
+
}, B = (u) => {
|
|
677
|
+
v.nav.triggerEventListener("clearSearchList", { cb: u.detail[0] });
|
|
678
|
+
}, _ = (u) => {
|
|
679
|
+
v.nav.triggerEventListener("deleteSearchItem", { value: u.detail[0], cb: u.detail[1] });
|
|
681
680
|
}, j = () => {
|
|
682
681
|
v.nav.triggerEventListener("changeEnterpriseHandle");
|
|
683
|
-
},
|
|
682
|
+
}, A = () => {
|
|
684
683
|
v.nav.triggerEventListener("fullScreenHandle");
|
|
684
|
+
}, x = () => {
|
|
685
|
+
v.nav.triggerEventListener("openAI");
|
|
685
686
|
};
|
|
686
|
-
return
|
|
687
|
+
return be(() => {
|
|
687
688
|
v.nav.triggerEventListener("onBeforeMount", null, { autoRemove: !0 });
|
|
688
|
-
}),
|
|
689
|
+
}), Le(() => {
|
|
689
690
|
v.nav.triggerEventListener("onMounted", null, { autoRemove: !0 });
|
|
690
691
|
}), _e(() => {
|
|
691
692
|
v.nav.triggerEventListener("onUnmounted", null, { autoRemove: !0 });
|
|
692
|
-
}), (
|
|
693
|
+
}), (u, p) => (g(), C("das-ce-nav", {
|
|
693
694
|
theme: n.value,
|
|
694
695
|
modelValue: d.value,
|
|
695
696
|
logoUrl: l.value,
|
|
@@ -698,31 +699,32 @@ const h = z({
|
|
|
698
699
|
searchConfig: S.value,
|
|
699
700
|
projectTreeConfig: P.value,
|
|
700
701
|
userInfoConfig: T.value,
|
|
701
|
-
"on:userCommandHandle":
|
|
702
|
+
"on:userCommandHandle": I,
|
|
702
703
|
"on:changeInnerPage": s,
|
|
703
704
|
"on:handleTabClick": a,
|
|
704
705
|
"on:handleTabDelete": o,
|
|
705
706
|
"on:changeTreeHandle": m,
|
|
706
|
-
"on:searchToPage":
|
|
707
|
+
"on:searchToPage": q,
|
|
707
708
|
"on:clearSearchList": B,
|
|
708
|
-
"on:deleteSearchItem":
|
|
709
|
+
"on:deleteSearchItem": _,
|
|
709
710
|
"on:changeEnterpriseHandle": j,
|
|
710
|
-
"on:fullScreen":
|
|
711
|
+
"on:fullScreen": A,
|
|
712
|
+
"on:openAI": x
|
|
711
713
|
}, null, 40, Ge));
|
|
712
714
|
}
|
|
713
|
-
}), Je = ["theme", "modelValue", "data", "collapse", "fixedTopMenu", "subMenuAttrs"],
|
|
715
|
+
}), Je = ["theme", "modelValue", "data", "collapse", "fixedTopMenu", "subMenuAttrs"], rt = /* @__PURE__ */ Q({
|
|
714
716
|
__name: "das-web-menu",
|
|
715
717
|
props: {
|
|
716
718
|
menuAttr: {}
|
|
717
719
|
},
|
|
718
720
|
setup(e) {
|
|
719
|
-
const { menu: t } =
|
|
720
|
-
const a = s.detail[0], o = Ee(r.value).find((
|
|
721
|
+
const { menu: t } = F, n = e, l = c(() => t.theme), d = c(() => n.menuAttr || {}), r = c(() => t.items), f = c(() => t.items.find((s) => s.fixed)), y = c(() => t.activeItem || ""), i = c(() => t.collapse || !1), P = c(() => ({ popupClassName: t.popupClassName ?? "" })), T = async (s) => {
|
|
722
|
+
const a = s.detail[0], o = Ee(r.value).find((I) => a === I.id);
|
|
721
723
|
await v.menu.triggerEventListener("onItemClick", o) && v.menu.setActiveItem(o.id);
|
|
722
724
|
}, S = (s) => {
|
|
723
725
|
v.menu.setCollapse(s.detail[0]), v.menu.triggerEventListener("toggleCollapse", s.detail[0]);
|
|
724
726
|
};
|
|
725
|
-
return (s, a) => r.value.length > 0 ? (
|
|
727
|
+
return (s, a) => r.value.length > 0 ? (g(), C("das-ce-menu", ae({
|
|
726
728
|
key: 0,
|
|
727
729
|
theme: l.value,
|
|
728
730
|
modelValue: y.value,
|
|
@@ -733,23 +735,23 @@ const h = z({
|
|
|
733
735
|
}, d.value, {
|
|
734
736
|
onChange: T,
|
|
735
737
|
"on:toggleCollapse": S
|
|
736
|
-
}), null, 16, Je)) :
|
|
738
|
+
}), null, 16, Je)) : L("v-if", !0);
|
|
737
739
|
}
|
|
738
|
-
}), Xe = ["theme", "modelValue", "options"],
|
|
740
|
+
}), Xe = ["theme", "modelValue", "options"], ot = /* @__PURE__ */ Q({
|
|
739
741
|
__name: "das-web-tabs",
|
|
740
742
|
props: {
|
|
741
743
|
tabsAttr: {}
|
|
742
744
|
},
|
|
743
745
|
setup(e) {
|
|
744
|
-
const { tab: t } =
|
|
746
|
+
const { tab: t } = F, n = e, l = c(() => n.tabsAttr || {}), d = c(() => t.theme), r = c(() => t.items.map((s) => ({
|
|
745
747
|
...s,
|
|
746
748
|
key: s.value,
|
|
747
749
|
tab: s.label
|
|
748
|
-
}))), f =
|
|
749
|
-
const a = s.detail[0], o = r.value.find((
|
|
750
|
+
}))), f = c(() => t.activeItem || ""), y = async (s) => {
|
|
751
|
+
const a = s.detail[0], o = r.value.find((I) => a === I.value);
|
|
750
752
|
await v.tab.triggerEventListener("onItemClick", o) && v.tab.setActiveItem(o.value);
|
|
751
753
|
}, i = async (s) => {
|
|
752
|
-
const a = s.detail[0], o = r.value.find((
|
|
754
|
+
const a = s.detail[0], o = r.value.find((I) => a === I.value);
|
|
753
755
|
await v.tab.triggerEventListener("onItemRemove", o) && v.tab.removeItem(o.value);
|
|
754
756
|
}, P = async (s) => {
|
|
755
757
|
await v.tab.triggerEventListener("onMenuClick", { type: s.detail[0], data: s.detail[1] });
|
|
@@ -758,7 +760,7 @@ const h = z({
|
|
|
758
760
|
}, S = () => {
|
|
759
761
|
v.tab.triggerEventListener("onToggleFullScreen");
|
|
760
762
|
};
|
|
761
|
-
return (s, a) => r.value.length > 0 ? (
|
|
763
|
+
return (s, a) => r.value.length > 0 ? (g(), C("das-ce-tabs", ae({
|
|
762
764
|
key: 0,
|
|
763
765
|
theme: d.value,
|
|
764
766
|
modelValue: f.value,
|
|
@@ -769,15 +771,15 @@ const h = z({
|
|
|
769
771
|
"on:menuClick": P,
|
|
770
772
|
"on:pageRefresh": T,
|
|
771
773
|
"on:toggleFullScreen": S
|
|
772
|
-
}), null, 16, Xe)) :
|
|
774
|
+
}), null, 16, Xe)) : L("v-if", !0);
|
|
773
775
|
}
|
|
774
776
|
});
|
|
775
|
-
|
|
777
|
+
U("@das-fed/web");
|
|
776
778
|
export {
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
779
|
+
st as DasWebLayout,
|
|
780
|
+
rt as DasWebMenu,
|
|
781
|
+
at as DasWebNav,
|
|
782
|
+
ot as DasWebTabs,
|
|
781
783
|
v as layout,
|
|
782
|
-
|
|
784
|
+
F as layoutData
|
|
783
785
|
};
|