| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- import { ref as y, reactive as _, watch as v, onMounted as w, openBlock as E, createElementBlock as M, createElementVNode as g, createVNode as k } from "vue";
- import { l as $, aE as S, aF as h, aG as O } from "./index2.js";
- import { c as T } from "./index8.js";
- function U(c) {
- if (!c) return null;
- c = T(c);
- let l = Array.isArray(c) ? c.concat() : [c];
- for (; l.length; ) {
- const p = l.length;
- for (let r = 0; r < p; r++) {
- const e = l.shift();
- !e.children || !e.children.length || (e.children.forEach((a) => {
- a.path[0] !== "/" && !a.path.startsWith("http") && (a.path = e.path.replace(/(\w*)[/]*$/, `$1/${a.path}`));
- }), l = l.concat(e.children));
- }
- }
- return c;
- }
- const x = { class: "s-menu-top-common" }, A = { class: "menu-wrap" }, N = {
- __name: "STopMenu",
- setup(c) {
- const l = S(), p = y([]), r = y(""), e = _({
- collapsed: !1,
- selectedKeys: [],
- openKeys: [],
- preOpenKeys: []
- });
- v(
- () => e.openKeys,
- (n, s) => {
- e.preOpenKeys = s;
- }
- );
- const a = (n) => n.map((t) => {
- const o = {
- key: t.path,
- // icon: item.icon ? () => h(item.icon) : null,
- icon: null,
- label: t.name || t.meta.title,
- title: t.name || t,
- path: t.path
- };
- return t.children && (o.children = a(t.children)), o;
- }), K = (n) => {
- l.push(n.key), e.selectedKeys = [n.key], window.$utils.ls.set("selectedKeys", e.selectedKeys);
- }, m = (n) => {
- const s = n.filter((i) => !e.preOpenKeys.includes(i)), t = s[s.length - 1];
- e.openKeys = [t], h().setMenuOpenKeys(e.openKeys);
- };
- return w(() => {
- r.value = window.$utils.env.VITE_APP_MENU_THEME || "dark";
- const n = h(), s = n.dynamics, t = U(s.find((u) => u.path === "/")), o = t && t.children || [];
- p.value = a([...o].filter((u) => {
- var d;
- return !((d = u.meta) != null && d.hidden);
- }));
- const i = location.pathname;
- window.$utils.ls.set("selectedKeys", [i]), e.selectedKeys = window.$utils.ls.get("selectedKeys") || [];
- const f = n.openKeys || [];
- e.openKeys = f;
- }), (n, s) => {
- const t = O;
- return E(), M("div", x, [
- g("div", A, [
- k(t, {
- openKeys: e.openKeys,
- "onUpdate:openKeys": s[0] || (s[0] = (o) => e.openKeys = o),
- selectedKeys: e.selectedKeys,
- "onUpdate:selectedKeys": s[1] || (s[1] = (o) => e.selectedKeys = o),
- mode: "horizontal",
- theme: r.value,
- items: p.value,
- onSelect: K,
- onOpenChange: m
- }, null, 8, ["openKeys", "selectedKeys", "theme", "items"])
- ])
- ]);
- };
- }
- }, B = /* @__PURE__ */ $(N, [["__scopeId", "data-v-ad258b82"]]);
- export {
- B as default
- };
|