mamba-layout 0.4.0 → 0.5.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/dist/components/index.js +4 -49
- package/dist/index.js +34 -77
- package/dist/layout/components/UserInfo.vue2.js +9 -9
- package/dist/layout/components/index.d.ts +0 -22
- package/dist/layout/components/index.js +2 -47
- package/dist/layout.css +1 -1
- package/dist/layout.es.js +381 -381
- package/dist/layout.global.js +1 -1
- package/dist/utils/repoUtils.js +71 -133
- package/package.json +1 -1
- package/dist/layout/components/AsideTabMenus.vue.d.ts +0 -2
- package/dist/layout/components/AsideTabMenus.vue.js +0 -41
- package/dist/layout/components/AsideTabMenus.vue2.js +0 -4
- package/dist/layout/components/AsideUser.vue.d.ts +0 -2
- package/dist/layout/components/AsideUser.vue.js +0 -58
- package/dist/layout/components/AsideUser.vue2.js +0 -4
- package/dist/layout/components/HeaderMenuToggle.vue.d.ts +0 -25
- package/dist/layout/components/HeaderMenuToggle.vue.js +0 -40
- package/dist/layout/components/HeaderMenuToggle.vue2.js +0 -4
- package/dist/layout/components/MenuDrawer.css +0 -1
- package/dist/layout/components/MenuDrawer.vue.d.ts +0 -12
- package/dist/layout/components/MenuDrawer.vue.js +0 -163
- package/dist/layout/components/MenuDrawer.vue3.js +0 -5
- package/dist/layout/components/TimezoneSelect.css +0 -1
- package/dist/layout/components/TimezoneSelect.vue.d.ts +0 -7
- package/dist/layout/components/TimezoneSelect.vue.js +0 -8
- package/dist/layout/components/TimezoneSelect.vue2.js +0 -78
- package/dist/layout/components/TimezoneSelect2.css +0 -1
package/dist/utils/repoUtils.js
CHANGED
|
@@ -1,160 +1,98 @@
|
|
|
1
|
-
import { ref as
|
|
2
|
-
const
|
|
3
|
-
"UTC",
|
|
4
|
-
"Asia/Shanghai",
|
|
5
|
-
"Asia/Hong_Kong",
|
|
6
|
-
"Asia/Singapore",
|
|
7
|
-
"Asia/Tokyo",
|
|
8
|
-
"Europe/London",
|
|
9
|
-
"Europe/Berlin",
|
|
10
|
-
"America/New_York",
|
|
11
|
-
"America/Los_Angeles"
|
|
12
|
-
], T = /* @__PURE__ */ new Map(), l = () => {
|
|
1
|
+
import { ref as S } from "vue";
|
|
2
|
+
const T = 3600 * 24 * 7, b = "UTC", j = "timezone", a = () => {
|
|
13
3
|
try {
|
|
14
4
|
return globalThis.localStorage;
|
|
15
5
|
} catch {
|
|
16
6
|
return;
|
|
17
7
|
}
|
|
18
|
-
},
|
|
19
|
-
get(
|
|
20
|
-
const
|
|
21
|
-
if (!
|
|
8
|
+
}, g = {
|
|
9
|
+
get(t, n = null) {
|
|
10
|
+
const e = a(), r = e == null ? void 0 : e.getItem(t.toUpperCase());
|
|
11
|
+
if (!r) return n;
|
|
22
12
|
try {
|
|
23
|
-
const
|
|
24
|
-
if (
|
|
25
|
-
return
|
|
26
|
-
|
|
13
|
+
const o = JSON.parse(r);
|
|
14
|
+
if (o.expire === null || o.expire >= Date.now())
|
|
15
|
+
return o.value;
|
|
16
|
+
e == null || e.removeItem(t.toUpperCase());
|
|
27
17
|
} catch {
|
|
28
|
-
return
|
|
18
|
+
return n;
|
|
29
19
|
}
|
|
30
|
-
return
|
|
20
|
+
return n;
|
|
31
21
|
},
|
|
32
|
-
set(
|
|
33
|
-
const
|
|
34
|
-
value:
|
|
35
|
-
expire:
|
|
22
|
+
set(t, n, e = T) {
|
|
23
|
+
const r = a(), o = {
|
|
24
|
+
value: n,
|
|
25
|
+
expire: e === null ? null : Date.now() + e * 1e3
|
|
36
26
|
};
|
|
37
|
-
|
|
27
|
+
r == null || r.setItem(t.toUpperCase(), JSON.stringify(o));
|
|
38
28
|
},
|
|
39
29
|
clear() {
|
|
40
|
-
var
|
|
41
|
-
(
|
|
30
|
+
var t;
|
|
31
|
+
(t = a()) == null || t.clear();
|
|
42
32
|
}
|
|
43
|
-
},
|
|
44
|
-
if (!
|
|
45
|
-
const
|
|
46
|
-
return
|
|
33
|
+
}, y = (t) => typeof t == "object" && t !== null, f = (t) => {
|
|
34
|
+
if (!y(t) || Object.prototype.toString.call(t) !== "[object Object]") return !1;
|
|
35
|
+
const n = Object.getPrototypeOf(t);
|
|
36
|
+
return n === null || n === Object.prototype;
|
|
47
37
|
};
|
|
48
|
-
function
|
|
49
|
-
if (!
|
|
50
|
-
if (!
|
|
51
|
-
const
|
|
52
|
-
return Object.keys(
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
38
|
+
function E(t, n) {
|
|
39
|
+
if (!f(t)) return n;
|
|
40
|
+
if (!f(n)) return t;
|
|
41
|
+
const e = t;
|
|
42
|
+
return Object.keys(n).concat(Object.getOwnPropertySymbols(n)).forEach((r) => {
|
|
43
|
+
e[r] = E(
|
|
44
|
+
e[r],
|
|
45
|
+
n[r]
|
|
56
46
|
);
|
|
57
|
-
}),
|
|
47
|
+
}), e;
|
|
58
48
|
}
|
|
59
|
-
function
|
|
60
|
-
const
|
|
61
|
-
return String(
|
|
49
|
+
function w() {
|
|
50
|
+
const t = typeof navigator > "u" ? "en-US" : navigator.language;
|
|
51
|
+
return String(g.get("locale", t)).includes("zh") ? "zh-CN" : "en-US";
|
|
62
52
|
}
|
|
63
|
-
const
|
|
64
|
-
var
|
|
65
|
-
return ((
|
|
66
|
-
},
|
|
67
|
-
const
|
|
68
|
-
return
|
|
69
|
-
},
|
|
70
|
-
var
|
|
71
|
-
for (const
|
|
72
|
-
const
|
|
73
|
-
if (((
|
|
74
|
-
return ((
|
|
75
|
-
if ((i =
|
|
76
|
-
const
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
((
|
|
53
|
+
const m = (t, n, e) => {
|
|
54
|
+
var r;
|
|
55
|
+
return ((r = n == null ? void 0 : n[e]) == null ? void 0 : r[t]) || "";
|
|
56
|
+
}, v = (t, n, e = "") => {
|
|
57
|
+
const r = t;
|
|
58
|
+
return m(n, r, w()) || e || m(n, r, "en-US");
|
|
59
|
+
}, x = (t = "") => t.replace(/【.*】/, ""), C = (t, n, e) => {
|
|
60
|
+
var r, o, c, i, l;
|
|
61
|
+
for (const s of n) {
|
|
62
|
+
const h = ((r = s.path) == null ? void 0 : r.replace(/\/:(\w+)/g, "/([^/]+)")) || "", O = new RegExp(`^${h}$`);
|
|
63
|
+
if (((o = s.path) == null ? void 0 : o.toLowerCase()) === t || O.test(t))
|
|
64
|
+
return ((c = s.meta) == null ? void 0 : c.visible) === "0" && (e == null ? void 0 : e.path) || "";
|
|
65
|
+
if ((i = s.children) != null && i.length) {
|
|
66
|
+
const p = C(
|
|
67
|
+
t,
|
|
68
|
+
s.children,
|
|
69
|
+
((l = s.meta) == null ? void 0 : l.visible) === "1" ? s : e
|
|
80
70
|
);
|
|
81
|
-
if (
|
|
71
|
+
if (p) return p;
|
|
82
72
|
}
|
|
83
73
|
}
|
|
84
74
|
return "";
|
|
85
|
-
},
|
|
86
|
-
const
|
|
87
|
-
if (!(
|
|
88
|
-
const
|
|
89
|
-
return
|
|
90
|
-
},
|
|
75
|
+
}, D = (t, n) => {
|
|
76
|
+
const e = t.resolve(n);
|
|
77
|
+
if (!(e != null && e.name)) return !1;
|
|
78
|
+
const r = String(e.name).split("-").filter((c) => !!c && c !== "index"), o = e.path.split("-").join("/").split("/").filter(Boolean);
|
|
79
|
+
return r.length === o.length && r.every((c, i) => c === o[i]);
|
|
80
|
+
}, u = (t) => typeof t == "string" && L(t) ? t : "", L = (t) => {
|
|
91
81
|
try {
|
|
92
|
-
return new Intl.DateTimeFormat("en-US", { timeZone:
|
|
82
|
+
return new Intl.DateTimeFormat("en-US", { timeZone: t }).format(/* @__PURE__ */ new Date()), !0;
|
|
93
83
|
} catch {
|
|
94
84
|
return !1;
|
|
95
85
|
}
|
|
96
|
-
},
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
const t = a(e);
|
|
101
|
-
t && (p.value = t, m.set(S, t, null));
|
|
102
|
-
}
|
|
103
|
-
const _ = (e) => {
|
|
104
|
-
const t = a(e) || u, n = T.get(t);
|
|
105
|
-
if (n) return n;
|
|
106
|
-
const o = new Intl.DateTimeFormat("en-US", {
|
|
107
|
-
timeZone: t,
|
|
108
|
-
year: "numeric",
|
|
109
|
-
month: "2-digit",
|
|
110
|
-
day: "2-digit",
|
|
111
|
-
hour: "2-digit",
|
|
112
|
-
minute: "2-digit",
|
|
113
|
-
second: "2-digit",
|
|
114
|
-
hourCycle: "h23"
|
|
115
|
-
});
|
|
116
|
-
return T.set(t, o), o;
|
|
117
|
-
}, v = (e, t) => _(t).formatToParts(e).reduce((o, r) => (r.type !== "literal" && (o[r.type] = Number(r.value)), o), {}), I = (e, t = /* @__PURE__ */ new Date()) => {
|
|
118
|
-
const n = a(e) || u, o = v(t, n), r = Date.UTC(
|
|
119
|
-
o.year || 0,
|
|
120
|
-
(o.month || 1) - 1,
|
|
121
|
-
o.day || 1,
|
|
122
|
-
o.hour || 0,
|
|
123
|
-
o.minute || 0,
|
|
124
|
-
o.second || 0,
|
|
125
|
-
t.getMilliseconds()
|
|
126
|
-
);
|
|
127
|
-
return Math.round((r - t.getTime()) / 6e4);
|
|
128
|
-
}, w = (e, t = /* @__PURE__ */ new Date()) => {
|
|
129
|
-
const n = I(e, t), o = n >= 0 ? "+" : "-", r = Math.abs(n), s = Math.floor(r / 60), i = r % 60;
|
|
130
|
-
return `UTC${o}${String(s).padStart(2, "0")}:${String(
|
|
131
|
-
i
|
|
132
|
-
).padStart(2, "0")}`;
|
|
133
|
-
}, K = (e, t = /* @__PURE__ */ new Date()) => `${e} (${w(e, t)})`, H = (e = /* @__PURE__ */ new Date()) => {
|
|
134
|
-
const t = new Set(
|
|
135
|
-
[y(), ...A, p.value].filter(
|
|
136
|
-
O
|
|
137
|
-
)
|
|
138
|
-
);
|
|
139
|
-
return Array.from(t).map((n) => {
|
|
140
|
-
const o = w(n, e);
|
|
141
|
-
return {
|
|
142
|
-
value: n,
|
|
143
|
-
label: `${n} (${o})`,
|
|
144
|
-
offset: o
|
|
145
|
-
};
|
|
146
|
-
});
|
|
147
|
-
};
|
|
86
|
+
}, d = () => u(Intl.DateTimeFormat().resolvedOptions().timeZone) || b;
|
|
87
|
+
S(
|
|
88
|
+
u(g.get(j)) || d()
|
|
89
|
+
);
|
|
148
90
|
export {
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
F as replaceName,
|
|
157
|
-
R as setCurrentTimeZone,
|
|
158
|
-
z as tname,
|
|
159
|
-
B as useCurrentTimeZone
|
|
91
|
+
g as Storage,
|
|
92
|
+
E as deepMerge,
|
|
93
|
+
w as getCurrentLocale,
|
|
94
|
+
C as getRouteLastVisibleParentMenu,
|
|
95
|
+
D as hasRoutePermission,
|
|
96
|
+
x as replaceName,
|
|
97
|
+
v as tname
|
|
160
98
|
};
|
package/package.json
CHANGED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
|
|
2
|
-
export default _default;
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { defineComponent as h, openBlock as o, createElementBlock as r, Fragment as _, renderList as f, unref as a, normalizeClass as i, createElementVNode as u, createCommentVNode as m, toDisplayString as x } from "vue";
|
|
2
|
-
import { useRouter as g } from "vue-router";
|
|
3
|
-
import { injectLayoutContext as v } from "../hooks/useState.js";
|
|
4
|
-
const b = { class: "flex-1 p-2 w-full" }, y = ["onClick"], k = {
|
|
5
|
-
key: 0,
|
|
6
|
-
class: "text-lg"
|
|
7
|
-
}, C = { class: "text-xs" }, T = /* @__PURE__ */ h({
|
|
8
|
-
__name: "AsideTabMenus",
|
|
9
|
-
setup(w) {
|
|
10
|
-
const l = g(), { menus: p, currentTabPath: c } = v(), d = (n) => {
|
|
11
|
-
var s, e;
|
|
12
|
-
if (c.value = n.path || "", !((s = n.children) != null && s.length))
|
|
13
|
-
n.path && l.push(n.path);
|
|
14
|
-
else {
|
|
15
|
-
let t = n;
|
|
16
|
-
for (; (e = t.children) != null && e.length; )
|
|
17
|
-
t = t.children[0];
|
|
18
|
-
t.path && l.push(t.path);
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
return (n, s) => (o(), r("div", b, [
|
|
22
|
-
(o(!0), r(_, null, f(a(p), (e, t) => (o(), r("div", {
|
|
23
|
-
key: t,
|
|
24
|
-
class: i(["pt-2 pb-2 mt-1 mb-1 flex flex-col items-center cursor-pointer rounded-2xl hover:bg-gray-100", [
|
|
25
|
-
a(c) == e.path ? "bg-gray-100 text-blue-500" : "text-gray-500"
|
|
26
|
-
]]),
|
|
27
|
-
onClick: (B) => d(e)
|
|
28
|
-
}, [
|
|
29
|
-
e.icon ? (o(), r("div", k, [
|
|
30
|
-
u("i", {
|
|
31
|
-
class: i(e.icon)
|
|
32
|
-
}, null, 2)
|
|
33
|
-
])) : m("", !0),
|
|
34
|
-
u("div", C, x(e.name), 1)
|
|
35
|
-
], 10, y))), 128))
|
|
36
|
-
]));
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
export {
|
|
40
|
-
T as default
|
|
41
|
-
};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
2
|
-
export default _default;
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { defineComponent as b, computed as c, resolveComponent as y, openBlock as n, createBlock as x, withCtx as i, createElementVNode as t, createElementBlock as u, createCommentVNode as p, toDisplayString as a, unref as k } from "vue";
|
|
2
|
-
import { useRouter as C } from "vue-router";
|
|
3
|
-
import h from "../../locales/index.js";
|
|
4
|
-
import { useSetting as T } from "../hooks/useSetting.js";
|
|
5
|
-
const B = { class: "pb-4 flex flex-col items-center cursor-pointer" }, L = { class: "" }, w = {
|
|
6
|
-
key: 1,
|
|
7
|
-
class: "mt-2 mb-2 border border-gray-200 border-t border-b-0"
|
|
8
|
-
}, P = /* @__PURE__ */ b({
|
|
9
|
-
__name: "AsideUser",
|
|
10
|
-
setup(E) {
|
|
11
|
-
const { t: m } = h.global, r = T(), d = {
|
|
12
|
-
0: "管理员",
|
|
13
|
-
1: "创作者",
|
|
14
|
-
2: "用户"
|
|
15
|
-
}, s = c(() => r.value.user || {}), v = c(() => d[s.value.userType]), l = C(), f = () => {
|
|
16
|
-
var o, e;
|
|
17
|
-
Promise.resolve((e = (o = r.value).onLogout) == null ? void 0 : e.call(o)).finally(() => {
|
|
18
|
-
r.value.onLogout || l.replace("/login");
|
|
19
|
-
});
|
|
20
|
-
}, g = (o) => {
|
|
21
|
-
l.push(o);
|
|
22
|
-
};
|
|
23
|
-
return (o, e) => {
|
|
24
|
-
const _ = y("el-popover");
|
|
25
|
-
return n(), x(_, {
|
|
26
|
-
width: 200,
|
|
27
|
-
trigger: "click"
|
|
28
|
-
}, {
|
|
29
|
-
reference: i(() => [
|
|
30
|
-
t("div", B, [
|
|
31
|
-
e[1] || (e[1] = t("div", { class: "text-lg text-blue-500" }, [
|
|
32
|
-
t("i", { class: "metisicon-yonghu1" })
|
|
33
|
-
], -1)),
|
|
34
|
-
t("div", L, a(v.value), 1)
|
|
35
|
-
])
|
|
36
|
-
]),
|
|
37
|
-
default: i(() => [
|
|
38
|
-
t("div", null, [
|
|
39
|
-
s.value.userType == "0" ? (n(), u("div", {
|
|
40
|
-
key: 0,
|
|
41
|
-
class: "cursor-pointer pt-2 pb-2 text-center",
|
|
42
|
-
onClick: e[0] || (e[0] = (N) => g("/admin/user"))
|
|
43
|
-
}, " 用户管理 ")) : p("", !0),
|
|
44
|
-
s.value.userType == "0" ? (n(), u("div", w)) : p("", !0),
|
|
45
|
-
t("div", {
|
|
46
|
-
class: "cursor-pointer pt-2 pb-2 text-center",
|
|
47
|
-
onClick: f
|
|
48
|
-
}, a(k(m)("common.btn.logout")), 1)
|
|
49
|
-
])
|
|
50
|
-
]),
|
|
51
|
-
_: 1
|
|
52
|
-
});
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
export {
|
|
57
|
-
P as default
|
|
58
|
-
};
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
|
|
2
|
-
drawerRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
|
|
3
|
-
modelValue?: boolean;
|
|
4
|
-
}> & Readonly<{
|
|
5
|
-
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
6
|
-
}>, {
|
|
7
|
-
visible: import('vue').ModelRef<boolean, string, boolean, boolean>;
|
|
8
|
-
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
9
|
-
"update:modelValue": (value: boolean) => any;
|
|
10
|
-
}, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
|
|
11
|
-
P: {};
|
|
12
|
-
B: {};
|
|
13
|
-
D: {};
|
|
14
|
-
C: {};
|
|
15
|
-
M: {};
|
|
16
|
-
Defaults: {};
|
|
17
|
-
}, Readonly<{
|
|
18
|
-
modelValue?: boolean;
|
|
19
|
-
}> & Readonly<{
|
|
20
|
-
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
21
|
-
}>, {
|
|
22
|
-
visible: import('vue').ModelRef<boolean, string, boolean, boolean>;
|
|
23
|
-
}, {}, {}, {}, {}> | null;
|
|
24
|
-
}, any>;
|
|
25
|
-
export default _default;
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { defineComponent as f, ref as r, resolveComponent as p, openBlock as t, createElementBlock as d, Fragment as _, createElementVNode as l, createVNode as a, withCtx as v, createBlock as s, unref as c } from "vue";
|
|
2
|
-
import { Expand as x, Close as g } from "@element-plus/icons-vue";
|
|
3
|
-
import k from "./MenuDrawer.vue.js";
|
|
4
|
-
/* empty css */
|
|
5
|
-
const w = { class: "text-lg w-6 h-6 flex items-center justify-center pointer-events-none" }, b = /* @__PURE__ */ f({
|
|
6
|
-
__name: "HeaderMenuToggle",
|
|
7
|
-
setup(y) {
|
|
8
|
-
const e = r(!1), u = r(), o = () => {
|
|
9
|
-
e.value = !e.value;
|
|
10
|
-
};
|
|
11
|
-
return (C, n) => {
|
|
12
|
-
const i = p("el-icon");
|
|
13
|
-
return t(), d(_, null, [
|
|
14
|
-
l("div", {
|
|
15
|
-
class: "bg-blue-500 h-13 w-13 flex items-center justify-center text-white cursor-pointer",
|
|
16
|
-
onMouseenter: o,
|
|
17
|
-
onClick: o
|
|
18
|
-
}, [
|
|
19
|
-
l("div", w, [
|
|
20
|
-
a(i, null, {
|
|
21
|
-
default: v(() => [
|
|
22
|
-
e.value ? (t(), s(c(g), { key: 1 })) : (t(), s(c(x), { key: 0 }))
|
|
23
|
-
]),
|
|
24
|
-
_: 1
|
|
25
|
-
})
|
|
26
|
-
])
|
|
27
|
-
], 32),
|
|
28
|
-
a(k, {
|
|
29
|
-
modelValue: e.value,
|
|
30
|
-
"onUpdate:modelValue": n[0] || (n[0] = (m) => e.value = m),
|
|
31
|
-
ref_key: "drawerRef",
|
|
32
|
-
ref: u
|
|
33
|
-
}, null, 8, ["modelValue"])
|
|
34
|
-
], 64);
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
export {
|
|
39
|
-
b as default
|
|
40
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.menu-drawer-modal{height:calc(100% - 52px);top:auto}.menu-drawer-modal .el-drawer__body{overflow:hidden;padding:0}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
declare const visible: import('vue').ModelRef<boolean, string, boolean, boolean>;
|
|
2
|
-
type __VLS_PublicProps = {
|
|
3
|
-
"modelValue"?: typeof visible['value'];
|
|
4
|
-
};
|
|
5
|
-
declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
|
|
6
|
-
visible: import('vue').ModelRef<boolean, string, boolean, boolean>;
|
|
7
|
-
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
8
|
-
"update:modelValue": (value: boolean) => any;
|
|
9
|
-
}, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
10
|
-
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
11
|
-
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
12
|
-
export default _default;
|
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
import { defineComponent as $, computed as D, useModel as q, resolveComponent as B, openBlock as d, createBlock as E, withCtx as b, createVNode as H, createElementVNode as a, createElementBlock as m, Fragment as x, renderList as g, toDisplayString as v, normalizeClass as M, unref as p, resolveDynamicComponent as J, mergeProps as K } from "vue";
|
|
2
|
-
import { replaceName as y, tname as I } from "../../utils/repoUtils.js";
|
|
3
|
-
import { useApp as Q } from "../hooks/useApp.js";
|
|
4
|
-
import { useSetting as Y } from "../hooks/useSetting.js";
|
|
5
|
-
import { injectLayoutContext as Z } from "../hooks/useState.js";
|
|
6
|
-
const ee = { class: "py-5" }, te = { class: "flex-1 min-w-0 flex items-center px-5" }, ae = { class: "flex-1 min-w-0 flex items-center" }, se = { class: "flex-1 min-w-0" }, le = ["href"], re = ["title"], ne = { class: "p-5" }, oe = { class: "font-bold mb-3 leading-4 text-sm px-2 border-l-3 border-blue-500" }, de = { class: "grid grid-cols-4 gap-3" }, ie = { class: "truncate" }, he = /* @__PURE__ */ $({
|
|
7
|
-
__name: "MenuDrawer",
|
|
8
|
-
props: {
|
|
9
|
-
modelValue: {
|
|
10
|
-
type: Boolean,
|
|
11
|
-
default: !1
|
|
12
|
-
},
|
|
13
|
-
modelModifiers: {}
|
|
14
|
-
},
|
|
15
|
-
emits: ["update:modelValue"],
|
|
16
|
-
setup(j, { expose: L }) {
|
|
17
|
-
const O = Y(), { appList: S, getAppPath: z, findAppById: F } = Q(), T = D(() => V(S.value)), W = D(
|
|
18
|
-
() => (O.value.menus || []).reduce((t, e) => {
|
|
19
|
-
var o, s, f, i;
|
|
20
|
-
const n = t.find((l) => {
|
|
21
|
-
var c;
|
|
22
|
-
return l.appId == ((c = e.meta) == null ? void 0 : c.appId);
|
|
23
|
-
});
|
|
24
|
-
if (n)
|
|
25
|
-
(o = n.children) == null || o.push(e);
|
|
26
|
-
else {
|
|
27
|
-
const l = F((s = e.meta) == null ? void 0 : s.appId);
|
|
28
|
-
t.push({
|
|
29
|
-
appId: ((f = e.meta) == null ? void 0 : f.appId) || "",
|
|
30
|
-
appName: (l == null ? void 0 : l.name) || ((i = e.meta) == null ? void 0 : i.appId) || "",
|
|
31
|
-
appDesc: l == null ? void 0 : l.desc,
|
|
32
|
-
appPath: z(l),
|
|
33
|
-
children: [e]
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
return t;
|
|
37
|
-
}, []).sort((t, e) => C(t.appId) - C(e.appId))
|
|
38
|
-
), u = q(j, "modelValue"), G = (t) => R.value === t, { defaultParentActive: R, currentAppId: w, currentTabPath: k } = Z(), U = (t) => {
|
|
39
|
-
var e;
|
|
40
|
-
return /^http/.test(t.path || "") || !((e = t.path) != null && e.startsWith(k.value)) ? "a" : "router-link";
|
|
41
|
-
}, X = (t) => {
|
|
42
|
-
var e, n, o;
|
|
43
|
-
return /^http/.test(t.path || "") || !((e = t.path) != null && e.startsWith(k.value)) ? {
|
|
44
|
-
href: t.path,
|
|
45
|
-
"data-tag": "a",
|
|
46
|
-
"data-appid": (n = t.meta) == null ? void 0 : n.appId,
|
|
47
|
-
"data-current-appid": w.value
|
|
48
|
-
} : {
|
|
49
|
-
to: t.path,
|
|
50
|
-
"data-tag": "router-link",
|
|
51
|
-
"data-appid": (o = t.meta) == null ? void 0 : o.appId,
|
|
52
|
-
"data-current-appid": w.value
|
|
53
|
-
};
|
|
54
|
-
};
|
|
55
|
-
L({ visible: u });
|
|
56
|
-
function C(t) {
|
|
57
|
-
const e = T.value.indexOf(t);
|
|
58
|
-
return e === -1 ? Number.MAX_SAFE_INTEGER : e;
|
|
59
|
-
}
|
|
60
|
-
function V(t) {
|
|
61
|
-
return t.flatMap((e) => [
|
|
62
|
-
e.appId,
|
|
63
|
-
...V(e.children || [])
|
|
64
|
-
]);
|
|
65
|
-
}
|
|
66
|
-
return (t, e) => {
|
|
67
|
-
const n = B("el-scrollbar"), o = B("el-drawer");
|
|
68
|
-
return d(), E(o, {
|
|
69
|
-
modelValue: u.value,
|
|
70
|
-
"onUpdate:modelValue": e[1] || (e[1] = (s) => u.value = s),
|
|
71
|
-
direction: "ltr",
|
|
72
|
-
"append-to-body": "",
|
|
73
|
-
size: "800",
|
|
74
|
-
class: "menu-drawer",
|
|
75
|
-
"modal-class": "menu-drawer-modal",
|
|
76
|
-
"with-header": !1
|
|
77
|
-
}, {
|
|
78
|
-
default: b(() => [
|
|
79
|
-
H(n, { class: "" }, {
|
|
80
|
-
default: b(() => [
|
|
81
|
-
a("div", ee, [
|
|
82
|
-
(d(!0), m(x, null, g(W.value, (s, f) => (d(), m("div", {
|
|
83
|
-
key: f,
|
|
84
|
-
class: "flex flex-col h-full mb-4"
|
|
85
|
-
}, [
|
|
86
|
-
a("div", te, [
|
|
87
|
-
a("div", ae, [
|
|
88
|
-
e[2] || (e[2] = a("div", { class: "bg-blue-100 rounded-lg flex items-center justify-center w-10 h-10 mr-4 text-blue-500 text-3xl" }, [
|
|
89
|
-
a("i", { class: "metisicon-tishici" })
|
|
90
|
-
], -1)),
|
|
91
|
-
a("div", se, [
|
|
92
|
-
a("a", {
|
|
93
|
-
class: "text-base font-bold",
|
|
94
|
-
href: s.appPath || void 0
|
|
95
|
-
}, v(s.appName || s.appId), 9, le),
|
|
96
|
-
a("div", {
|
|
97
|
-
class: "text-xs text-gray-500 truncate",
|
|
98
|
-
title: s.appDesc
|
|
99
|
-
}, v(s.appDesc), 9, re)
|
|
100
|
-
])
|
|
101
|
-
])
|
|
102
|
-
]),
|
|
103
|
-
a("div", ne, [
|
|
104
|
-
(d(!0), m(x, null, g(s.children, (i, l) => {
|
|
105
|
-
var c, A;
|
|
106
|
-
return d(), m("div", {
|
|
107
|
-
key: l,
|
|
108
|
-
class: M({ "mb-4": l < s.children.length - 1 })
|
|
109
|
-
}, [
|
|
110
|
-
a("div", oe, v(p(y)(
|
|
111
|
-
p(I)(((c = i.meta) == null ? void 0 : c.translations) || {}, "name", i.name)
|
|
112
|
-
)), 1),
|
|
113
|
-
a("div", de, [
|
|
114
|
-
(d(!0), m(x, null, g((A = i.children) == null ? void 0 : A.filter(
|
|
115
|
-
(r) => {
|
|
116
|
-
var h;
|
|
117
|
-
return ((h = r.meta) == null ? void 0 : h.visible) != "0";
|
|
118
|
-
}
|
|
119
|
-
), (r, h) => {
|
|
120
|
-
var N;
|
|
121
|
-
return d(), E(J(U(r)), K({
|
|
122
|
-
key: h,
|
|
123
|
-
class: ["px-4 h-9 flex items-center justify-start rounded-lg gap-2", [
|
|
124
|
-
G(r.path) ? "border-blue-500 text-white bg-blue-500" : "bg-gray-100 border-1 border-gray-100 hover:border-blue-500 hover:text-blue-500"
|
|
125
|
-
]],
|
|
126
|
-
title: p(y)(
|
|
127
|
-
p(I)(((N = r.meta) == null ? void 0 : N.translations) || {}, "name", r.name)
|
|
128
|
-
)
|
|
129
|
-
}, { ref_for: !0 }, X(r), {
|
|
130
|
-
onClick: e[0] || (e[0] = (_) => u.value = !1)
|
|
131
|
-
}), {
|
|
132
|
-
default: b(() => {
|
|
133
|
-
var _, P;
|
|
134
|
-
return [
|
|
135
|
-
a("i", {
|
|
136
|
-
class: M(((_ = r.meta) == null ? void 0 : _.icon) || "metisicon-yingyong")
|
|
137
|
-
}, null, 2),
|
|
138
|
-
a("span", ie, v(p(y)(
|
|
139
|
-
p(I)(((P = r.meta) == null ? void 0 : P.translations) || {}, "name", r.name)
|
|
140
|
-
)), 1)
|
|
141
|
-
];
|
|
142
|
-
}),
|
|
143
|
-
_: 2
|
|
144
|
-
}, 1040, ["class", "title"]);
|
|
145
|
-
}), 128))
|
|
146
|
-
])
|
|
147
|
-
], 2);
|
|
148
|
-
}), 128))
|
|
149
|
-
])
|
|
150
|
-
]))), 128))
|
|
151
|
-
])
|
|
152
|
-
]),
|
|
153
|
-
_: 1
|
|
154
|
-
})
|
|
155
|
-
]),
|
|
156
|
-
_: 1
|
|
157
|
-
}, 8, ["modelValue"]);
|
|
158
|
-
};
|
|
159
|
-
}
|
|
160
|
-
});
|
|
161
|
-
export {
|
|
162
|
-
he as default
|
|
163
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.top-timezone-popover{padding:6px!important;border:1px solid var(--ui-border-default)!important;background:var(--ui-bg-card)!important;box-shadow:var(--ui-shadow-pop)!important}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
type __VLS_Props = {
|
|
2
|
-
showLabel?: boolean;
|
|
3
|
-
};
|
|
4
|
-
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
5
|
-
showLabel: boolean;
|
|
6
|
-
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
7
|
-
export default _default;
|