@dt-frames/ui 2.0.4 → 2.0.5
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/es/components/curd/index.js +80 -75
- package/es/components/curd/src/components/Curd.d.ts +0 -8
- package/es/components/curd/src/props.d.ts +0 -4
- package/es/components/form/index.d.ts +20 -53
- package/es/components/form/index.js +17 -27
- package/es/components/form/index.less +8 -3
- package/es/components/form/src/index.d.ts +16 -41
- package/es/components/source/index.js +8 -5
- package/es/components/source/types/source.type.d.ts +1 -0
- package/es/components/table/index.js +145 -95
- package/es/components/table/index.less +26 -5
- package/es/components/table/src/components/TableAction.d.ts +1 -1
- package/es/components/table/src/index.d.ts +10 -0
- package/es/components/table/src/props.d.ts +4 -0
- package/es/components/tree/index.d.ts +2 -0
- package/es/components/tree/index.js +1087 -0
- package/es/components/tree/index.less +119 -0
- package/es/components/tree/src/basicProps.d.ts +146 -0
- package/es/components/tree/src/components/ContextMenu.d.ts +64 -0
- package/es/components/tree/src/components/TreeHeader.d.ts +98 -0
- package/es/components/tree/src/enums/index.d.ts +6 -0
- package/es/components/tree/src/hooks/useContextMenu.d.ts +2 -0
- package/es/components/tree/src/hooks/useTree.d.ts +14 -0
- package/es/components/tree/src/index.d.ts +6526 -0
- package/es/components/tree/src/type/menu.d.ts +33 -0
- package/es/components/tree/src/type/tree.d.ts +55 -0
- package/es/components/tree/src/utils/tree.d.ts +5 -0
- package/es/packages/ui/src/assets/locales/en.d.ts +101 -0
- package/es/packages/ui/src/assets/locales/index.d.ts +2 -0
- package/es/packages/ui/src/assets/locales/zh.d.ts +103 -0
- package/es/packages/ui/src/components/container/index.d.ts +94 -0
- package/es/packages/ui/src/components/container/src/components/bar.d.ts +14 -0
- package/es/packages/ui/src/components/container/src/components/scroll-bar.d.ts +70 -0
- package/es/packages/ui/src/components/container/src/hooks/scroll.d.ts +10 -0
- package/es/packages/ui/src/components/container/src/scroll-container.d.ts +76 -0
- package/es/packages/ui/src/components/container/src/slot-container.d.ts +20 -0
- package/es/packages/ui/src/components/container/src/types/scroll.type.d.ts +22 -0
- package/es/packages/ui/src/components/container/src/utils/scroll.d.ts +5 -0
- package/es/packages/ui/src/global.d.ts +7 -0
- package/es/packages/ui/src/theme/index.d.ts +10 -0
- package/es/packages/ui/src/theme/src/components/content/index.d.ts +27 -0
- package/es/packages/ui/src/theme/src/components/feature/back-top.d.ts +5 -0
- package/es/packages/ui/src/theme/src/components/feature/index.d.ts +7 -0
- package/es/packages/ui/src/theme/src/components/footer/index.d.ts +31 -0
- package/es/packages/ui/src/theme/src/components/header/components/bread-crumb.d.ts +6 -0
- package/es/packages/ui/src/theme/src/components/header/components/fullscreen.d.ts +5 -0
- package/es/packages/ui/src/theme/src/components/header/components/index.d.ts +11 -0
- package/es/packages/ui/src/theme/src/components/header/components/lang-picker.d.ts +23 -0
- package/es/packages/ui/src/theme/src/components/header/components/logo.d.ts +56 -0
- package/es/packages/ui/src/theme/src/components/header/components/menu-filter.d.ts +22 -0
- package/es/packages/ui/src/theme/src/components/header/components/notify.d.ts +24 -0
- package/es/packages/ui/src/theme/src/components/header/components/setting-theme.d.ts +223 -0
- package/es/packages/ui/src/theme/src/components/header/components/size.d.ts +282 -0
- package/es/packages/ui/src/theme/src/components/header/components/theme-drawer/feature.d.ts +138 -0
- package/es/packages/ui/src/theme/src/components/header/components/theme-drawer/index.d.ts +3 -0
- package/es/packages/ui/src/theme/src/components/header/components/theme-drawer/menu-type.d.ts +16 -0
- package/es/packages/ui/src/theme/src/components/header/components/theme-drawer/select.d.ts +58 -0
- package/es/packages/ui/src/theme/src/components/header/components/theme-drawer/switch.d.ts +49 -0
- package/es/packages/ui/src/theme/src/components/header/components/trigger.d.ts +10 -0
- package/es/packages/ui/src/theme/src/components/header/components/user-info.d.ts +37 -0
- package/es/packages/ui/src/theme/src/components/header/helper/change-theme.d.ts +13 -0
- package/es/packages/ui/src/theme/src/components/header/helper/menu-tree.d.ts +4 -0
- package/es/packages/ui/src/theme/src/components/header/index.d.ts +720 -0
- package/es/packages/ui/src/theme/src/components/header/multiple-header.d.ts +806 -0
- package/es/packages/ui/src/theme/src/components/sider/components/basic-menu/basic-menu-item.d.ts +62 -0
- package/es/packages/ui/src/theme/src/components/sider/components/basic-menu/basic-menu.d.ts +207 -0
- package/es/packages/ui/src/theme/src/components/sider/components/basic-menu/basic-sub-menu-item.d.ts +127 -0
- package/es/packages/ui/src/theme/src/components/sider/components/basic-menu/menu-item-content.d.ts +26 -0
- package/es/packages/ui/src/theme/src/components/sider/components/drag-bar.d.ts +14 -0
- package/es/packages/ui/src/theme/src/components/sider/components/layout-menu.d.ts +22 -0
- package/es/packages/ui/src/theme/src/components/sider/components/props.d.ts +69 -0
- package/es/packages/ui/src/theme/src/components/sider/components/sider-trigger.d.ts +17 -0
- package/es/packages/ui/src/theme/src/components/sider/helper/sider.d.ts +12 -0
- package/es/packages/ui/src/theme/src/components/sider/helper/split-menu.d.ts +10 -0
- package/es/packages/ui/src/theme/src/components/sider/index.d.ts +235 -0
- package/es/packages/ui/src/theme/src/components/sider/mix-sider.d.ts +167 -0
- package/es/packages/ui/src/theme/src/components/tabs/components/TabContent.d.ts +6 -0
- package/es/packages/ui/src/theme/src/components/tabs/components/TabRedo.d.ts +21 -0
- package/es/packages/ui/src/theme/src/components/tabs/components/index.d.ts +3 -0
- package/es/packages/ui/src/theme/src/components/tabs/hooks/useMultifyTabs.d.ts +7 -0
- package/es/packages/ui/src/theme/src/components/tabs/hooks/useTabDropdown.d.ts +6 -0
- package/es/packages/ui/src/theme/src/components/tabs/index.d.ts +63 -0
- package/es/packages/ui/src/theme/src/components/tabs/types/tabs.type.d.ts +7 -0
- package/es/packages/ui/src/theme/src/enums/index.d.ts +1 -0
- package/es/packages/ui/src/theme/src/enums/theme.enum.d.ts +34 -0
- package/es/packages/ui/src/theme/src/hooks/index.d.ts +6 -0
- package/es/packages/ui/src/theme/src/hooks/useDragLine.d.ts +2 -0
- package/es/packages/ui/src/theme/src/hooks/useHeader.d.ts +25 -0
- package/es/packages/ui/src/theme/src/hooks/useMenu.d.ts +29 -0
- package/es/packages/ui/src/theme/src/hooks/useMultifyTab.d.ts +8 -0
- package/es/packages/ui/src/theme/src/hooks/useOpenKeys.d.ts +7 -0
- package/es/packages/ui/src/theme/src/hooks/useTheme.d.ts +9 -0
- package/es/packages/ui/src/theme/src/index.d.ts +1851 -0
- package/es/packages/ui/src/theme/src/setting/theme.setting.d.ts +2 -0
- package/es/packages/ui/src/theme/src/stores/index.d.ts +3 -0
- package/es/packages/ui/src/theme/src/stores/routeReuse.store.d.ts +23 -0
- package/es/packages/ui/src/theme/src/stores/theme.store.d.ts +18 -0
- package/es/packages/ui/src/theme/src/types/index.d.ts +3 -0
- package/es/packages/ui/src/theme/src/types/menu.type.d.ts +15 -0
- package/es/packages/ui/src/theme/src/types/theme.type.d.ts +62 -0
- package/es/packages/ui/src/utils/withInstall.d.ts +4 -0
- package/es/theme/index.d.ts +2 -1
- package/es/theme/index.js +658 -665
- package/es/theme/index.less +55 -0
- package/es/theme/src/components/header/components/logo.d.ts +22 -0
- package/es/theme/src/components/header/index.d.ts +87 -0
- package/es/theme/src/components/header/multiple-header.d.ts +88 -0
- package/es/theme/src/components/sider/index.d.ts +22 -0
- package/es/theme/src/components/sider/mix-sider.d.ts +22 -0
- package/es/theme/src/hooks/useMultifyTab.d.ts +1 -0
- package/es/theme/src/index.d.ts +197 -0
- package/es/theme/src/types/theme.type.d.ts +1 -0
- package/index.d.ts +2 -1
- package/index.js +6 -2
- package/package.json +4 -2
- package/tsconfig.json +1 -0
- package/vite.config.ts +1 -0
package/es/theme/index.js
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
|
-
import { BackTop, Breadcrumb, Empty, InputSearch, Popover, Avatar, Tooltip, Select, Switch, Divider, Button, Drawer,
|
|
1
|
+
import { BackTop, MenuItem, MenuDivider, Menu, Dropdown, TabPane, Tabs, Breadcrumb, Empty, InputSearch, Popover, Avatar, Tooltip, Select, Switch, Divider, Button, Drawer, SubMenu, LayoutHeader, LayoutSider, LayoutContent, Layout, ConfigProvider } from "ant-design-vue/es";
|
|
2
2
|
import "ant-design-vue/es/config-provider/style";
|
|
3
3
|
import "ant-design-vue/es/layout/style";
|
|
4
|
-
import { toRaw, unref, computed, onMounted, nextTick, defineComponent, openBlock, createBlock, createCommentVNode, createElementBlock, createElementVNode,
|
|
4
|
+
import { toRaw, unref, computed, onMounted, nextTick, defineComponent, openBlock, createBlock, createCommentVNode, createElementBlock, createElementVNode, reactive, withCtx, createVNode, Fragment, renderList, normalizeClass, toDisplayString, ref, watch, createSlots, getCurrentInstance, inject, onUnmounted, h, provide, onBeforeUnmount, normalizeStyle, resolveDynamicComponent, renderSlot, mergeProps, withDirectives, vShow, watchEffect, resolveDirective, createTextVNode, normalizeProps, guardReactiveProps, resolveComponent, toRef, withModifiers, Transition, KeepAlive } from "vue";
|
|
5
5
|
import { useRouter, RouterView } from "vue-router";
|
|
6
|
-
import { DtCache, CacheKey, deepMerge, Pages, useGo, useRedo, Language, isObject, useTimeoutFn, useI18n,
|
|
6
|
+
import { DtCache, CacheKey, deepMerge, Pages, useGo, useRedo, Language, isObject, useTimeoutFn, useI18n, isNullAndUnDef, menuList2Map, off, on, getParentSlots, isBoolean, localeList, changeLocale, isFunction, copyText, isUrl, openWindow, useApp, withInstall as withInstall$1 } from "@dt-frames/core";
|
|
7
7
|
import { defineStore } from "pinia";
|
|
8
8
|
import { trim } from "lodash-es";
|
|
9
9
|
import { useDebounceFn, useFullscreen, useThrottleFn } from "@vueuse/core";
|
|
10
10
|
import "ant-design-vue/es/back-top/style";
|
|
11
|
+
import "ant-design-vue/es/tabs/style";
|
|
12
|
+
import "ant-design-vue/es/dropdown/style";
|
|
13
|
+
import "ant-design-vue/es/menu/style";
|
|
11
14
|
import "ant-design-vue/es/breadcrumb/style";
|
|
12
15
|
import "ant-design-vue/es/popover/style";
|
|
13
16
|
import "ant-design-vue/es/input/style";
|
|
@@ -20,12 +23,11 @@ import "ant-design-vue/es/divider/style";
|
|
|
20
23
|
import "ant-design-vue/es/tooltip/style";
|
|
21
24
|
import "ant-design-vue/es/select/style";
|
|
22
25
|
import "ant-design-vue/es/switch/style";
|
|
23
|
-
import "ant-design-vue/es/menu/style";
|
|
24
|
-
import "ant-design-vue/es/tabs/style";
|
|
25
|
-
import "ant-design-vue/es/dropdown/style";
|
|
26
26
|
import zhCN from "ant-design-vue/es/locale/zh_CN";
|
|
27
27
|
import en from "ant-design-vue/es/locale/en_US";
|
|
28
|
-
import
|
|
28
|
+
import dayjs from "dayjs";
|
|
29
|
+
import "dayjs/locale/zh-cn";
|
|
30
|
+
import "dayjs/locale/es-us";
|
|
29
31
|
var Theme = /* @__PURE__ */ ((Theme2) => {
|
|
30
32
|
Theme2["DARK"] = "dark";
|
|
31
33
|
Theme2["LIGHT"] = "light";
|
|
@@ -368,12 +370,14 @@ function useMultipleTab() {
|
|
|
368
370
|
const { getRouteReuseConf } = useThemeStore();
|
|
369
371
|
const getShowMultipleTab = computed(() => getRouteReuseConf.show);
|
|
370
372
|
const getShowQuick = computed(() => getRouteReuseConf.showQuick);
|
|
373
|
+
const getMultipleTabPosIsTop = computed(() => getRouteReuseConf.position === "top");
|
|
371
374
|
const getShowRedo = computed(() => getRouteReuseConf.showRedo);
|
|
372
375
|
const getCanCache = computed(() => getRouteReuseConf.cache);
|
|
373
376
|
const getCanDrag = computed(() => getRouteReuseConf.canDrag);
|
|
374
377
|
return {
|
|
375
378
|
getShowMultipleTab,
|
|
376
379
|
getShowQuick,
|
|
380
|
+
getMultipleTabPosIsTop,
|
|
377
381
|
getShowRedo,
|
|
378
382
|
getCanCache,
|
|
379
383
|
getCanDrag
|
|
@@ -394,7 +398,7 @@ function useHeader() {
|
|
|
394
398
|
getIsTopMenu,
|
|
395
399
|
getIsMixSidebar
|
|
396
400
|
} = useMenu();
|
|
397
|
-
const { getShowMultipleTab } = useMultipleTab();
|
|
401
|
+
const { getShowMultipleTab, getMultipleTabPosIsTop } = useMultipleTab();
|
|
398
402
|
const getHeaderTheme = computed(() => getHeaderConf.theme);
|
|
399
403
|
const getFixed = computed(() => getHeaderConf.fixed);
|
|
400
404
|
const getShowHeaderLogo = computed(() => unref(getShowLogo) && !unref(getIsSidebarType) && !unref(getIsMixSidebar));
|
|
@@ -420,7 +424,7 @@ function useHeader() {
|
|
|
420
424
|
const getHeaderHeight = computed(() => {
|
|
421
425
|
let height = 0;
|
|
422
426
|
height += HEADER_HEIGHT;
|
|
423
|
-
if (unref(getShowMultipleTab) && !unref(getSplit)) {
|
|
427
|
+
if (unref(getShowMultipleTab) && !unref(getSplit) && !unref(getMultipleTabPosIsTop)) {
|
|
424
428
|
height += TABS_HEIGHT;
|
|
425
429
|
}
|
|
426
430
|
return height;
|
|
@@ -661,228 +665,322 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
|
661
665
|
};
|
|
662
666
|
}
|
|
663
667
|
});
|
|
668
|
+
const _hoisted_1$i = /* @__PURE__ */ createElementVNode("i", { class: "block i ic:baseline-autorenew" }, null, -1);
|
|
669
|
+
const _hoisted_2$9 = [
|
|
670
|
+
_hoisted_1$i
|
|
671
|
+
];
|
|
664
672
|
const _sfc_main$x = /* @__PURE__ */ defineComponent({
|
|
665
|
-
__name: "
|
|
673
|
+
__name: "TabRedo",
|
|
666
674
|
setup(__props) {
|
|
667
|
-
const
|
|
675
|
+
const tabStore = useRouteReuseStore();
|
|
676
|
+
const router = useRouter();
|
|
677
|
+
function handleRedo() {
|
|
678
|
+
tabStore.refreshPage(router);
|
|
679
|
+
}
|
|
668
680
|
return (_ctx, _cache) => {
|
|
669
681
|
return openBlock(), createElementBlock("span", {
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
},
|
|
673
|
-
createElementVNode("i", {
|
|
674
|
-
class: normalizeClass(["i block", !unref(isFullscreen) ? "ic:baseline-fullscreen" : "ic:baseline-fullscreen-exit"])
|
|
675
|
-
}, null, 2)
|
|
676
|
-
]);
|
|
682
|
+
onClick: handleRedo,
|
|
683
|
+
class: "inline-block w-9 h-9 leading-9 -mt-0.5 text-zinc-600 text-center cursor-pointer border-l border-zinc-300 hover:text-zinc-900"
|
|
684
|
+
}, _hoisted_2$9);
|
|
677
685
|
};
|
|
678
686
|
}
|
|
679
687
|
});
|
|
680
|
-
|
|
681
|
-
const
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
688
|
+
function useTabDropdown() {
|
|
689
|
+
const router = useRouter();
|
|
690
|
+
const { currentRoute } = router;
|
|
691
|
+
const tabStore = useRouteReuseStore();
|
|
692
|
+
const state = reactive({
|
|
693
|
+
current: null,
|
|
694
|
+
currentIndex: 0
|
|
695
|
+
});
|
|
696
|
+
const getDropMenuList = computed(() => {
|
|
689
697
|
const { t } = useI18n("UI");
|
|
690
|
-
const
|
|
691
|
-
const
|
|
692
|
-
const
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
698
|
+
const { path, meta } = unref(currentRoute);
|
|
699
|
+
const curItem = state.current;
|
|
700
|
+
const isCurItem = curItem ? curItem.path === path : false;
|
|
701
|
+
const index = state.currentIndex;
|
|
702
|
+
const closeLeftDisabled = index === 0 || !isCurItem;
|
|
703
|
+
const disabled = tabStore.getTabList.length === 1;
|
|
704
|
+
const closeRightDisabled = !isCurItem || index === tabStore.getTabList.length - 1 && tabStore.getLastDragEndIndex >= 0;
|
|
705
|
+
const dropMenuList = [
|
|
706
|
+
{
|
|
707
|
+
icon: "ic:baseline-close",
|
|
708
|
+
text: t("CLOSE_CURRENT_TAG"),
|
|
709
|
+
onClick: () => tabStore.closeTab(path, router),
|
|
710
|
+
disabled: !!meta?.affix || disabled,
|
|
711
|
+
divider: true
|
|
712
|
+
},
|
|
713
|
+
{
|
|
714
|
+
icon: "mdi:arrow-collapse-left",
|
|
715
|
+
text: t("CLOSE_LEFT_TAGS"),
|
|
716
|
+
onClick: () => tabStore.closeLeftTabs(path),
|
|
717
|
+
disabled: closeLeftDisabled,
|
|
718
|
+
divider: false
|
|
719
|
+
},
|
|
720
|
+
{
|
|
721
|
+
icon: "mdi:arrow-collapse-right",
|
|
722
|
+
text: t("CLOSE_RIGHT_TAGS"),
|
|
723
|
+
onClick: () => tabStore.closeRightTabs(path),
|
|
724
|
+
disabled: closeRightDisabled,
|
|
725
|
+
divider: true
|
|
726
|
+
},
|
|
727
|
+
{
|
|
728
|
+
icon: "ic:baseline-sync-alt",
|
|
729
|
+
text: t("CLOSE_OTHER_TAGS"),
|
|
730
|
+
onClick: () => tabStore.closeOtherTabs(path),
|
|
731
|
+
disabled: disabled || !isCurItem
|
|
732
|
+
},
|
|
733
|
+
{
|
|
734
|
+
icon: "ic:baseline-horizontal-rule",
|
|
735
|
+
text: t("CLOSE_ALL_TAGE"),
|
|
736
|
+
onClick: () => tabStore.closeAllTab(currentRoute, router),
|
|
737
|
+
disabled
|
|
738
|
+
}
|
|
739
|
+
];
|
|
740
|
+
return dropMenuList;
|
|
741
|
+
});
|
|
742
|
+
function handleContext(e) {
|
|
743
|
+
e?.preventDefault();
|
|
744
|
+
const { path } = unref(currentRoute);
|
|
745
|
+
const index = tabStore.getTabList.findIndex((tab) => tab.path === path);
|
|
746
|
+
state.current = unref(currentRoute);
|
|
747
|
+
state.currentIndex = index;
|
|
708
748
|
}
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
__name: "trigger",
|
|
712
|
-
props: { theme: String },
|
|
713
|
-
setup(__props) {
|
|
714
|
-
const props = __props;
|
|
715
|
-
const { getCollapsed, toggleCollapsed } = useMenu();
|
|
716
|
-
return (_ctx, _cache) => {
|
|
717
|
-
return openBlock(), createElementBlock("div", {
|
|
718
|
-
class: normalizeClass(["flex w-12 h-full cursor-pointer items-center justify-center", props.theme]),
|
|
719
|
-
onClick: _cache[0] || (_cache[0] = (...args) => unref(toggleCollapsed) && unref(toggleCollapsed)(...args))
|
|
720
|
-
}, [
|
|
721
|
-
createElementVNode("i", {
|
|
722
|
-
class: normalizeClass(["i leading-none", unref(getCollapsed) ? "ic:baseline-format-indent-increase" : "ic:baseline-format-indent-decrease"])
|
|
723
|
-
}, null, 2)
|
|
724
|
-
], 2);
|
|
725
|
-
};
|
|
749
|
+
function handleMenuEvent(item) {
|
|
750
|
+
item.onClick?.();
|
|
726
751
|
}
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
752
|
+
return {
|
|
753
|
+
getDropMenuList,
|
|
754
|
+
handleContext,
|
|
755
|
+
handleMenuEvent
|
|
756
|
+
};
|
|
757
|
+
}
|
|
758
|
+
const _hoisted_1$h = /* @__PURE__ */ createElementVNode("i", { class: "block i ic:baseline-keyboard-arrow-down" }, null, -1);
|
|
759
|
+
const _hoisted_2$8 = [
|
|
760
|
+
_hoisted_1$h
|
|
761
|
+
];
|
|
762
|
+
const _hoisted_3$6 = { class: "text-13" };
|
|
763
|
+
const _sfc_main$w = /* @__PURE__ */ defineComponent({
|
|
764
|
+
__name: "TabContent",
|
|
731
765
|
setup(__props) {
|
|
732
|
-
const {
|
|
733
|
-
let routes = ref([]);
|
|
734
|
-
const { currentRoute = null } = useRouter();
|
|
735
|
-
watchEffect(() => {
|
|
736
|
-
if (!currentRoute || currentRoute.value.path === "/")
|
|
737
|
-
return;
|
|
738
|
-
routes.value = getBreadCrumb(currentRoute.value.path);
|
|
739
|
-
});
|
|
766
|
+
const { getDropMenuList, handleContext, handleMenuEvent } = useTabDropdown();
|
|
740
767
|
return (_ctx, _cache) => {
|
|
741
|
-
const
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
768
|
+
const _component_AMenuItem = MenuItem;
|
|
769
|
+
const _component_AMenuDivider = MenuDivider;
|
|
770
|
+
const _component_AMenu = Menu;
|
|
771
|
+
const _component_ADropdown = Dropdown;
|
|
772
|
+
return openBlock(), createBlock(_component_ADropdown, {
|
|
773
|
+
placement: "bottomRight",
|
|
774
|
+
trigger: ["click"],
|
|
775
|
+
overlayClassName: "dt-reuse-tabs__dropdown"
|
|
776
|
+
}, {
|
|
777
|
+
overlay: withCtx(() => [
|
|
778
|
+
createVNode(_component_AMenu, null, {
|
|
779
|
+
default: withCtx(() => [
|
|
780
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(getDropMenuList), (item, index) => {
|
|
781
|
+
return openBlock(), createElementBlock(Fragment, { key: index }, [
|
|
782
|
+
createVNode(_component_AMenuItem, {
|
|
783
|
+
onClick: ($event) => unref(handleMenuEvent)(item),
|
|
784
|
+
disabled: item.disabled
|
|
785
|
+
}, {
|
|
786
|
+
default: withCtx(() => [
|
|
787
|
+
createElementVNode("i", {
|
|
788
|
+
class: normalizeClass(["i pr-4", item.icon])
|
|
789
|
+
}, null, 2),
|
|
790
|
+
createElementVNode("span", _hoisted_3$6, toDisplayString(item.text), 1)
|
|
791
|
+
]),
|
|
792
|
+
_: 2
|
|
793
|
+
}, 1032, ["onClick", "disabled"]),
|
|
794
|
+
item.divider ? (openBlock(), createBlock(_component_AMenuDivider, {
|
|
795
|
+
key: `d-${index}`
|
|
796
|
+
})) : createCommentVNode("", true)
|
|
797
|
+
], 64);
|
|
798
|
+
}), 128))
|
|
799
|
+
]),
|
|
800
|
+
_: 1
|
|
801
|
+
})
|
|
802
|
+
]),
|
|
803
|
+
default: withCtx(() => [
|
|
804
|
+
createElementVNode("span", {
|
|
805
|
+
onClick: _cache[0] || (_cache[0] = (...args) => unref(handleContext) && unref(handleContext)(...args)),
|
|
806
|
+
class: "inline-block w-9 h-9 leading-9 -mt-0.5 text-zinc-600 text-center cursor-pointer border-l border-zinc-300 hover:text-zinc-900"
|
|
807
|
+
}, _hoisted_2$8)
|
|
808
|
+
]),
|
|
809
|
+
_: 1
|
|
810
|
+
});
|
|
750
811
|
};
|
|
751
812
|
}
|
|
752
813
|
});
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
const
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
};
|
|
762
|
-
const _sfc_main$t = /* @__PURE__ */ defineComponent({
|
|
763
|
-
__name: "menu-filter",
|
|
764
|
-
setup(__props) {
|
|
765
|
-
const { t } = useI18n("UI");
|
|
766
|
-
const menuList = ref([]);
|
|
767
|
-
const router = useRouter();
|
|
768
|
-
const filter = ref("");
|
|
769
|
-
const { getShowSearch, getIsZH } = useHeader();
|
|
770
|
-
const isUseDef = computed(() => {
|
|
771
|
-
return isBoolean(getShowSearch.value);
|
|
772
|
-
});
|
|
773
|
-
function visibleChange(e) {
|
|
774
|
-
if (e) {
|
|
775
|
-
filterMenu();
|
|
776
|
-
} else {
|
|
777
|
-
filter.value = null;
|
|
814
|
+
function initAffixTabs() {
|
|
815
|
+
const affixList = ref([]);
|
|
816
|
+
const tabStore = useRouteReuseStore();
|
|
817
|
+
const router = useRouter();
|
|
818
|
+
const filterAffixTabs = (routes = []) => {
|
|
819
|
+
return routes && routes.reduce((tabs, route) => {
|
|
820
|
+
if (route.meta && route.meta.affix) {
|
|
821
|
+
tabs.push(toRaw(route));
|
|
778
822
|
}
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
823
|
+
return tabs;
|
|
824
|
+
}, []);
|
|
825
|
+
};
|
|
826
|
+
const addAffixTabs = () => {
|
|
827
|
+
const affixTabs = filterAffixTabs(router.getRoutes());
|
|
828
|
+
affixList.value = affixTabs;
|
|
829
|
+
for (const tab of affixTabs) {
|
|
830
|
+
tabStore.addTab({
|
|
831
|
+
meta: tab.meta,
|
|
832
|
+
name: tab.name,
|
|
833
|
+
path: tab.path
|
|
788
834
|
});
|
|
789
835
|
}
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
836
|
+
};
|
|
837
|
+
let isAddAffix = false;
|
|
838
|
+
if (!isAddAffix) {
|
|
839
|
+
addAffixTabs();
|
|
840
|
+
isAddAffix = true;
|
|
841
|
+
}
|
|
842
|
+
return affixList.value.map((item) => item.meta?.title).filter(Boolean);
|
|
843
|
+
}
|
|
844
|
+
function useSortable(el, options) {
|
|
845
|
+
function initSortable() {
|
|
846
|
+
nextTick(async () => {
|
|
847
|
+
if (!el)
|
|
848
|
+
return;
|
|
849
|
+
const Sortable = (await import("sortablejs")).default;
|
|
850
|
+
Sortable.create(unref(el), {
|
|
851
|
+
animation: 500,
|
|
852
|
+
delay: 400,
|
|
853
|
+
delayOnTouchOnly: true,
|
|
854
|
+
...options
|
|
855
|
+
});
|
|
856
|
+
});
|
|
857
|
+
}
|
|
858
|
+
return { initSortable };
|
|
859
|
+
}
|
|
860
|
+
function useTabsDrag(affixList) {
|
|
861
|
+
const tabStore = useRouteReuseStore();
|
|
862
|
+
const { getCanDrag } = useMultipleTab();
|
|
863
|
+
nextTick(() => {
|
|
864
|
+
if (!unref(getCanDrag))
|
|
865
|
+
return;
|
|
866
|
+
const el = document.querySelectorAll(`.dt-reuse-tabs .ant-tabs-nav-list`)?.[0];
|
|
867
|
+
const { initSortable } = useSortable(el, {
|
|
868
|
+
filter: (e) => {
|
|
869
|
+
const text = e?.target?.innerText;
|
|
870
|
+
if (!text)
|
|
871
|
+
return false;
|
|
872
|
+
return affixList.includes(text);
|
|
873
|
+
},
|
|
874
|
+
onEnd: (evt) => {
|
|
875
|
+
const { oldIndex, newIndex } = evt;
|
|
876
|
+
if (isNullAndUnDef(oldIndex) || isNullAndUnDef(newIndex) || oldIndex === newIndex)
|
|
877
|
+
return;
|
|
878
|
+
tabStore.sortTabs(oldIndex, newIndex);
|
|
879
|
+
}
|
|
880
|
+
});
|
|
881
|
+
initSortable();
|
|
882
|
+
});
|
|
883
|
+
}
|
|
884
|
+
const _hoisted_1$g = { class: "dt-reuse-tabs leading-8 border-b border-solid border-gray-200" };
|
|
885
|
+
const _sfc_main$v = /* @__PURE__ */ defineComponent({
|
|
886
|
+
__name: "index",
|
|
887
|
+
setup(__props) {
|
|
888
|
+
const { t } = useI18n("UI");
|
|
889
|
+
const router = useRouter();
|
|
890
|
+
const go = useGo(router);
|
|
891
|
+
const tabStore = useRouteReuseStore();
|
|
892
|
+
const { getShowQuick, getShowRedo } = useMultipleTab();
|
|
893
|
+
const menuLabelMap = menuList2Map();
|
|
894
|
+
const activeKeyRef = ref(null);
|
|
895
|
+
const getTabsState = computed(() => {
|
|
896
|
+
return tabStore.getTabList.filter((item) => !item.meta?.hideTab);
|
|
897
|
+
});
|
|
898
|
+
const unClose = computed(() => unref(getTabsState).length === 1);
|
|
899
|
+
function handleChange(activeKey) {
|
|
900
|
+
activeKeyRef.value = activeKey;
|
|
901
|
+
go(activeKey);
|
|
902
|
+
}
|
|
903
|
+
function handleEdit(targetKey) {
|
|
904
|
+
if (unref(unClose))
|
|
905
|
+
return;
|
|
906
|
+
tabStore.closeTab(targetKey, router);
|
|
907
|
+
}
|
|
908
|
+
const affixTextList = initAffixTabs();
|
|
909
|
+
useTabsDrag(affixTextList);
|
|
910
|
+
watch(
|
|
911
|
+
() => router.currentRoute.value.path,
|
|
912
|
+
(v) => {
|
|
913
|
+
if (v === "/" || v === "/login")
|
|
914
|
+
return;
|
|
915
|
+
const { meta = {} } = unref(router.currentRoute);
|
|
916
|
+
const { hideTab = false } = meta;
|
|
917
|
+
if (activeKeyRef.value !== v) {
|
|
918
|
+
activeKeyRef.value = v;
|
|
919
|
+
}
|
|
920
|
+
if (!hideTab) {
|
|
921
|
+
tabStore.addTab(unref(router.currentRoute));
|
|
922
|
+
}
|
|
923
|
+
},
|
|
924
|
+
{
|
|
925
|
+
immediate: true
|
|
926
|
+
}
|
|
927
|
+
);
|
|
928
|
+
return (_ctx, _cache) => {
|
|
929
|
+
const _component_ATabPane = TabPane;
|
|
930
|
+
const _component_ATabs = Tabs;
|
|
931
|
+
return openBlock(), createElementBlock("div", _hoisted_1$g, [
|
|
932
|
+
createVNode(_component_ATabs, {
|
|
933
|
+
type: "editable-card",
|
|
934
|
+
size: "small",
|
|
935
|
+
animated: false,
|
|
936
|
+
hideAdd: true,
|
|
937
|
+
tabBarGutter: 3,
|
|
938
|
+
activeKey: activeKeyRef.value,
|
|
939
|
+
onChange: handleChange,
|
|
940
|
+
onEdit: handleEdit,
|
|
941
|
+
class: "h-8"
|
|
942
|
+
}, createSlots({
|
|
815
943
|
default: withCtx(() => [
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
944
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(getTabsState), (item) => {
|
|
945
|
+
return openBlock(), createBlock(_component_ATabPane, {
|
|
946
|
+
key: item.query ? item.fullPath : item.path,
|
|
947
|
+
closable: !(item && item.meta && item.meta.affix)
|
|
948
|
+
}, {
|
|
949
|
+
tab: withCtx(() => [
|
|
950
|
+
createElementVNode("span", null, toDisplayString(unref(menuLabelMap).get(item.path) || unref(t)("UNKNOWN_ROUTE")), 1)
|
|
951
|
+
]),
|
|
952
|
+
_: 2
|
|
953
|
+
}, 1032, ["closable"]);
|
|
954
|
+
}), 128))
|
|
823
955
|
]),
|
|
824
|
-
_:
|
|
825
|
-
}
|
|
826
|
-
|
|
956
|
+
_: 2
|
|
957
|
+
}, [
|
|
958
|
+
unref(getShowRedo) || unref(getShowQuick) ? {
|
|
959
|
+
name: "rightExtra",
|
|
960
|
+
fn: withCtx(() => [
|
|
961
|
+
unref(getShowRedo) ? (openBlock(), createBlock(unref(_sfc_main$x), { key: 0 })) : createCommentVNode("", true),
|
|
962
|
+
unref(getShowQuick) ? (openBlock(), createBlock(unref(_sfc_main$w), { key: 1 })) : createCommentVNode("", true)
|
|
963
|
+
]),
|
|
964
|
+
key: "0"
|
|
965
|
+
} : void 0
|
|
966
|
+
]), 1032, ["activeKey"])
|
|
967
|
+
]);
|
|
827
968
|
};
|
|
828
969
|
}
|
|
829
970
|
});
|
|
830
|
-
const
|
|
831
|
-
|
|
832
|
-
const _hoisted_3$5 = {
|
|
833
|
-
class: "pr-2",
|
|
834
|
-
size: 16
|
|
835
|
-
};
|
|
836
|
-
const _hoisted_4$3 = /* @__PURE__ */ createElementVNode("span", { class: "dt_header_icon text-lg text-gray-800 cursor-pointer px-3 hover:bg-gray-500 hover:bg-opacity-50 transition-all duration-300" }, [
|
|
837
|
-
/* @__PURE__ */ createElementVNode("i", { class: "block i ic:baseline-language" })
|
|
838
|
-
], -1);
|
|
839
|
-
const _sfc_main$s = /* @__PURE__ */ defineComponent({
|
|
840
|
-
__name: "lang-picker",
|
|
841
|
-
props: {
|
|
842
|
-
reload: { type: Boolean }
|
|
843
|
-
},
|
|
971
|
+
const _sfc_main$u = /* @__PURE__ */ defineComponent({
|
|
972
|
+
__name: "fullscreen",
|
|
844
973
|
setup(__props) {
|
|
845
|
-
const
|
|
846
|
-
const visible = ref(false);
|
|
847
|
-
let currentLang = DtCache.getLocal(CacheKey.LOCALE);
|
|
848
|
-
async function toggleLang(lang) {
|
|
849
|
-
visible.value = false;
|
|
850
|
-
if (lang !== currentLang) {
|
|
851
|
-
currentLang = lang;
|
|
852
|
-
await changeLocale(lang);
|
|
853
|
-
props.reload && location.reload();
|
|
854
|
-
}
|
|
855
|
-
}
|
|
974
|
+
const { toggle, isFullscreen } = useFullscreen();
|
|
856
975
|
return (_ctx, _cache) => {
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
}, {
|
|
866
|
-
content: withCtx(() => [
|
|
867
|
-
createElementVNode("ul", _hoisted_1$f, [
|
|
868
|
-
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(localeList), (it) => {
|
|
869
|
-
return openBlock(), createElementBlock("li", {
|
|
870
|
-
onClick: ($event) => toggleLang(it.event),
|
|
871
|
-
class: normalizeClass(["px-4 my-1 leading-9 flex border-gray-200 cursor-pointer hover:bg-gray-100 transition-all duration-300 text-13", it.event === unref(currentLang) ? "active bg-gray-100" : ""])
|
|
872
|
-
}, [
|
|
873
|
-
withDirectives(createElementVNode("span", _hoisted_3$5, null, 512), [
|
|
874
|
-
[_directive_icon, it.icon]
|
|
875
|
-
]),
|
|
876
|
-
createElementVNode("span", null, toDisplayString(it.text), 1)
|
|
877
|
-
], 10, _hoisted_2$8);
|
|
878
|
-
}), 256))
|
|
879
|
-
])
|
|
880
|
-
]),
|
|
881
|
-
default: withCtx(() => [
|
|
882
|
-
_hoisted_4$3
|
|
883
|
-
]),
|
|
884
|
-
_: 1
|
|
885
|
-
}, 8, ["visible"]);
|
|
976
|
+
return openBlock(), createElementBlock("span", {
|
|
977
|
+
class: "dt_header_icon text-lg text-gray-800 cursor-pointer px-3 hover:bg-gray-500 hover:bg-opacity-50 transition-all duration-300",
|
|
978
|
+
onClick: _cache[0] || (_cache[0] = (...args) => unref(toggle) && unref(toggle)(...args))
|
|
979
|
+
}, [
|
|
980
|
+
createElementVNode("i", {
|
|
981
|
+
class: normalizeClass(["i block", !unref(isFullscreen) ? "ic:baseline-fullscreen" : "ic:baseline-fullscreen-exit"])
|
|
982
|
+
}, null, 2)
|
|
983
|
+
]);
|
|
886
984
|
};
|
|
887
985
|
}
|
|
888
986
|
});
|
|
@@ -1024,8 +1122,8 @@ const Bar = defineComponent({
|
|
|
1024
1122
|
);
|
|
1025
1123
|
}
|
|
1026
1124
|
});
|
|
1027
|
-
const _hoisted_1$
|
|
1028
|
-
const _sfc_main$
|
|
1125
|
+
const _hoisted_1$f = { class: "scrollbar relative h-full overflow-hidden" };
|
|
1126
|
+
const _sfc_main$t = /* @__PURE__ */ defineComponent({
|
|
1029
1127
|
__name: "scroll-bar",
|
|
1030
1128
|
props: {
|
|
1031
1129
|
wrapClass: {
|
|
@@ -1094,7 +1192,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
|
|
|
1094
1192
|
}
|
|
1095
1193
|
});
|
|
1096
1194
|
return (_ctx, _cache) => {
|
|
1097
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
1195
|
+
return openBlock(), createElementBlock("div", _hoisted_1$f, [
|
|
1098
1196
|
createElementVNode("div", {
|
|
1099
1197
|
ref_key: "wrap",
|
|
1100
1198
|
ref: wrap,
|
|
@@ -1127,12 +1225,12 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
|
|
|
1127
1225
|
};
|
|
1128
1226
|
}
|
|
1129
1227
|
});
|
|
1130
|
-
const _sfc_main$
|
|
1228
|
+
const _sfc_main$s = /* @__PURE__ */ defineComponent({
|
|
1131
1229
|
__name: "scroll-container",
|
|
1132
1230
|
setup(__props) {
|
|
1133
1231
|
const scrollbarRef = ref(null);
|
|
1134
1232
|
return (_ctx, _cache) => {
|
|
1135
|
-
return openBlock(), createBlock(_sfc_main$
|
|
1233
|
+
return openBlock(), createBlock(_sfc_main$t, mergeProps({
|
|
1136
1234
|
ref_key: "scrollbarRef",
|
|
1137
1235
|
ref: scrollbarRef
|
|
1138
1236
|
}, _ctx.$attrs, { class: "w-full h-full" }), {
|
|
@@ -1144,7 +1242,7 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
|
|
|
1144
1242
|
};
|
|
1145
1243
|
}
|
|
1146
1244
|
});
|
|
1147
|
-
const _sfc_main$
|
|
1245
|
+
const _sfc_main$r = /* @__PURE__ */ defineComponent({
|
|
1148
1246
|
__name: "slot-container",
|
|
1149
1247
|
props: {
|
|
1150
1248
|
template: {
|
|
@@ -1168,48 +1266,264 @@ const withInstall = (comp) => {
|
|
|
1168
1266
|
};
|
|
1169
1267
|
return comp;
|
|
1170
1268
|
};
|
|
1171
|
-
const DtScrollContainer = withInstall(_sfc_main$
|
|
1172
|
-
const DtSlotContainer = withInstall(_sfc_main$
|
|
1173
|
-
const _hoisted_1$d = { class: "dt_header_icon text-lg text-gray-800 cursor-pointer px-3 hover:bg-gray-500 hover:bg-opacity-50 transition-all duration-300 relative" };
|
|
1174
|
-
const
|
|
1175
|
-
|
|
1269
|
+
const DtScrollContainer = withInstall(_sfc_main$s);
|
|
1270
|
+
const DtSlotContainer = withInstall(_sfc_main$r);
|
|
1271
|
+
const logoUrl = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADkAAAA5CAYAAACMGIOFAAAACXBIWXMAAAsTAAALEwEAmpwYAAAzfGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDggNzkuMTY0MDM2LCAyMDE5LzA4LzEzLTAxOjA2OjU3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAxOS0wNS0wNlQxMToyNzoyOCswODowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMS0xMC0yNFQxNDozMToxNiswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjEtMTAtMjRUMTQ6MzE6MTYrMDg6MDAiIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NWU1YmFlNWUtOTQzOS1lYjQ4LWJiMjEtZjZjM2UwOWYxODM2IiB4bXBNTTpEb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6ZGU4M2YxYWYtODBkMS1kMTRlLTg5ZWMtNGE1MjUzNzFkZTcwIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6OTg1ODkwODQtMjkyYi01ODRiLTkzODAtNWJmY2E3NjJmYzk5Ij4gPHBob3Rvc2hvcDpEb2N1bWVudEFuY2VzdG9ycz4gPHJkZjpCYWc+IDxyZGY6bGk+MDBCQTBEMEExQ0M5RDAwNTMxNTlBMjBGRTcxOTA2RTg8L3JkZjpsaT4gPHJkZjpsaT4wMTQwNjdEM0ZDNjM5OTM3RTc4QkFCNDFBMzdCNzMwNTwvcmRmOmxpPiA8cmRmOmxpPjAyRDI2REY0MDMxREJFOUM5N0Q5Mzg1RjE5QTUwMUQ0PC9yZGY6bGk+IDxyZGY6bGk+MDcxNDVGQzc5RjkxODMwQjNGRUNFOUZCODNEMDZDN0M8L3JkZjpsaT4gPHJkZjpsaT4wRDgyMkI0MThFM0E2RjZCMjBDMEM2NjkwOUI0QTc5QTwvcmRmOmxpPiA8cmRmOmxpPjBGOUM0NTJBMkZGQTE3QzU4RTQ5MzVFQUU3RUJEQzI1PC9yZGY6bGk+IDxyZGY6bGk+MTY2N0I2OTg3MUJGRjQ4MThEODU5RENGMjIzOTUyMjg8L3JkZjpsaT4gPHJkZjpsaT4xOTNFMUQ2M0ExRDJEN0VBN0U0MTFBMzlBQzNENkJBMzwvcmRmOmxpPiA8cmRmOmxpPjIwNjY1MENBM0RBNUM2OURFQjZCRjAyMTQ3MEUzM0Y1PC9yZGY6bGk+IDxyZGY6bGk+MjE1QzM3NDMwNUM1MUVDQ0FENUM1RDUzQThCMEMwMkI8L3JkZjpsaT4gPHJkZjpsaT4yMThDREMzM0Y0OTE1NTMzQzRFQjMwRUIzQTU3MjM1RjwvcmRmOmxpPiA8cmRmOmxpPjI0N0QxRUVDRThCMjkzOTJCNzQ3RjVCMzQ3Rjc5RDRGPC9yZGY6bGk+IDxyZGY6bGk+MkVDOURBNDM2NEQ2RTBCRjYwNzExRDJFOUY1OEM4ODg8L3JkZjpsaT4gPHJkZjpsaT4zNzEyQTgyQjE3NEM0OUMwMDg2MTUxMEJBODEzMDlBOTwvcmRmOmxpPiA8cmRmOmxpPjNEQjIwQTEwQzQyQjZGMkZEMEMwQkYyNUZDNEU5NzFFPC9yZGY6bGk+IDxyZGY6bGk+NDFDMTBEM0IzRUFBQTUwQjI5ODRBNzY1MEM5QzQzMTc8L3JkZjpsaT4gPHJkZjpsaT40OTQxN0MwQjQxMDgxRkJDRDQxNjAwQTM1QUE0MkEwMzwvcmRmOmxpPiA8cmRmOmxpPjRCQUVBREUyQjhFMTk4MTA2MkM5RjQzMTFCREI5Njg5PC9yZGY6bGk+IDxyZGY6bGk+NEU5NTUxOEI4OUI2MjEwOTRFNDdGMEU3MUQ4MUYxRjQ8L3JkZjpsaT4gPHJkZjpsaT41NDlEOUJFODJBRjc3NzVFOTMzRDc3QjJDOEY4N0QwMDwvcmRmOmxpPiA8cmRmOmxpPjU1NTQ4QzhDN0VEODdCRDI2MUI1RTNDRTBCQzdGNUM3PC9yZGY6bGk+IDxyZGY6bGk+NTg0RjVFMjNEMEFFMDA0NUQ4OENBM0I3MTUxNDQyODk8L3JkZjpsaT4gPHJkZjpsaT41OUVDMTdCMzk5Q0Y3QzFDQkJEN0FBMDUwODYyMzY1OTwvcmRmOmxpPiA8cmRmOmxpPjVDRUFCMzA0QUVFMTUyMzVGMDM3Mjg1NTdDMjFCQTBBPC9yZGY6bGk+IDxyZGY6bGk+NUUwRkI3MDI4QjU5NDlBNEFDRkU0NjIwNjRCQjVFNTc8L3JkZjpsaT4gPHJkZjpsaT42NzlCNDI1OEZGQjVDQTZBQUM2MDgzQkJBQTNFMDYwRTwvcmRmOmxpPiA8cmRmOmxpPjZDMDkzMzdDRjQxRTU3NTQ2NTFFMTJCNkRDMTU5OTcyPC9yZGY6bGk+IDxyZGY6bGk+NzU1RTZBRjM1MzM3ODA5MkM3NzlCNDE1MDAwRDg0RkE8L3JkZjpsaT4gPHJkZjpsaT43OUJDMjI2N0QxODVCOTM4MTA4RDQ2N0ZBNEI0QzVBOTwvcmRmOmxpPiA8cmRmOmxpPjdDMTMzQkQ1NDA3MzQ3RTVBREJFMzJBNDlCODIzRUFEPC9yZGY6bGk+IDxyZGY6bGk+ODE2QzZGQUI0NTQ4NzMyNjU5NTc2NkNCNEYzNDFEQUQ8L3JkZjpsaT4gPHJkZjpsaT44MzZFNkZCNjlEMDk4Njg5RDc4RDdEQjlEQjhDREExRTwvcmRmOmxpPiA8cmRmOmxpPjg1QTM5MUEyMkM2NEY1Q0IwQTM3QTg2MzZFNTRGOUY2PC9yZGY6bGk+IDxyZGY6bGk+OEE0QkZEOTQzQUZGOTlEMDdEREU1MUYwMDFDNEE5REE8L3JkZjpsaT4gPHJkZjpsaT45NEMzMkU2QTE1MTdCNzBBNDM5ODVBQTc2NTM0NEI2OTwvcmRmOmxpPiA8cmRmOmxpPkFCMzlENjBENTExNEVFOEE4RkJBREUyRTkyMEM0NUExPC9yZGY6bGk+IDxyZGY6bGk+QjIwMUZGOTM3QzYwNzkxMEY4MUY5REJERkNDRkZGRTk8L3JkZjpsaT4gPHJkZjpsaT5CRTYxMzMxREQ1MkI2MjlFNjgwNUVCMzQ3MkRFRTJEMjwvcmRmOmxpPiA8cmRmOmxpPkJFQzM4NTRBODA1RkQ1NkM3RThEMkUxN0M0NzA5ODkwPC9yZGY6bGk+IDxyZGY6bGk+Qzg5NkI0OTZGMTgyREU1MTgzNTg3MEIwOTM0MUQ4RTg8L3JkZjpsaT4gPHJkZjpsaT5DQkJEN0U5OEM1MEI0RTE0RDA0MkNFNTMzQUE1QTgyMDwvcmRmOmxpPiA8cmRmOmxpPkQ5NjQzNUIwNkRFNTQ2OTg4MDUyMjVDNERBRkUzOEIyPC9yZGY6bGk+IDxyZGY6bGk+RTJCNTc3NDY4ODE4NEI2Mzk4OTE0RTI4MkQ5RThFODQ8L3JkZjpsaT4gPHJkZjpsaT5FNDJCMEFDNjg1OTAyMTcyQzIxNjEyQkJGMjFGRjg0QjwvcmRmOmxpPiA8cmRmOmxpPkU1QjQzNTBCREVFMTQ1NUMxM0UxNTU1NEM2MEY2QjQ0PC9yZGY6bGk+IDxyZGY6bGk+RUI3NzhBRjNENDVERUNBQkFCRUEwRkZDQTg4QTEyNDM8L3JkZjpsaT4gPHJkZjpsaT5GNTY3RjdBNDRCNTJFQUMwNTYxNkVBODdGRjlEMzMxQzwvcmRmOmxpPiA8cmRmOmxpPkY1RjgzQTQyMzI4N0E0MUUyMTM5ODdDNTRERjhFOUQ3PC9yZGY6bGk+IDxyZGY6bGk+RkVBQkZDQTQyQzY1N0ZFN0Y1MjEzOEQ0NkQyRTQ2MjM8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6MDQ3NzM4NzYtZTg2Zi0xMWU3LTg4MmMtYWRiZmQ5NWE3NjU0PC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjA4ZjFmZmI5LWM1MWUtMTE3OS1iNTJlLWFkNGFiZjVjNmRhZDwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDowYjM2MmY4Yi1hY2I2LTExZTUtOGZmZS1lMzQ2MTgxMGQzZTk8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6MTAwMDFlZTUtZGVmNy03MjRiLTg3OTctZDg4YjE0ZWI3YjExPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjE0Y2YxMGI4LWNlOTItMTE3OS04ZDJhLWIzNjcyY2QwOWI2MzwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDoxNzM4ZDA5ZS05YTk4LTExZTUtOTE3ZS1kNGExOTRhYWE2N2U8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6MWZkODY3YmItYzJlOC0xMTc5LWFkOTYtZjBjODUzNzZkYjFkPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjIxMzMzNjE3LWNjYWItMDg0OS04YWFmLWE0MzQwY2ZiZGVmZjwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDoyNGI4YzllYS05MDU3LTExZTYtODBkYi04ZTk5ZjZiZDFiNTY8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6MmRmNzZkN2YtOWMyMy0xMWU1LWJlOTUtZDNiYjFlNDBhYmZhPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjM0NDUxNTQyLTlhYjQtMTFlNS05MTdlLWQ0YTE5NGFhYTY3ZTwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDozNTU4NmExZi00M2FiLTExNzktYTg2Ny1hMmFiMmIxYjU2OTY8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6Mzg2ZDAwYzAtNmRjMi0xMTc3LWFiNjUtYTIwYWMzNDdjYzI2PC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjNhNDdmMTQxLWJlNmItZjE0My1hMzM3LTM4ZmIwZGQzMzljYjwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDozYjk1ZmY2Zi1hYjAwLTExNzktOGEyYS1lYmY4MzMyOTc0NTc8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6NDVjOGUzYjMtYjg5Mi00ZTQwLTg3YjUtYWIwNTk0NmFjMDE2PC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjQ4YTI0ZDkyLWUyMzMtMjM0NC1iNTQ1LWE3OTA3MDY1MjJiMzwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDo0YmNiZWZkMS04MTBlLTJkNGEtYTA4NS04MGVmYmMwZjJiODA8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6NTUzNTRjMmEtYzMyOC0xMTc5LWFkOTYtZjBjODUzNzZkYjFkPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjcxODQ0ZWUwLWMwY2MtMTE3OS05ODliLWNlNWRkM2Y3NmNhYjwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDo3MzFhNjYwZC1jY2Q4LWNiNDQtOWZkYS1jOTY1NjAwYTlmOTI8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6NzdiYjEwZmYtYjI4ZC0xMWU4LThiN2UtZjE3MTY4ZDMxZTljPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjgyNGIxODI5LTliYTUtMTFlNS1hZmM2LTg3NjcxZTA3ZTBjNDwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDo4MzQ2YzY1NC1kMzM0LTEwNDMtYjZjNS1kYTM3N2QwYWIyNTg8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6OTgyODRiN2UtOWIzNi0xMWU1LTkxN2UtZDRhMTk0YWFhNjdlPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjlkNDM5Y2UwLWIyM2UtMTFlNS05MTYxLWY5ZDdjYzE1OTQzMjwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDo5ZWQ1MWIzNS1hYzM2LTExNzktYmE0ZS1kZjIxY2JlNzI1Yjk8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6YTE2NTQzNjYtODg0ZS0xMWU1LThjOTAtYzY5MjYzYzdiOTYxPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmEzMzUzZGI3LWE4MDItOTc0Mi1iZmYzLTI0Mzk4YjY5OTI5ZTwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDphZDM0MWU1Ni1iMjczLTE2NDktODY2ZC0xN2E5MjcxZjExODg8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6YmExNjlmMjMtOTA1OC0xMWU2LTgwZGItOGU5OWY2YmQxYjU2PC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmJlNjYzNjRhLWUwM2YtNWU0OS05YmY0LWM0YjIwMTc3NTliNTwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDpiZTY2YzcxYy1hYTQ1LTExZTUtYmY4Yi1hZWNlNTk4MWMzNmQ8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6Yzc5Yzc3YzYtOWMxOS0xMWU1LWJlOTUtZDNiYjFlNDBhYmZhPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmNjZDJjZGNhLTQ2OWUtMTE3OS1iYzUzLWRmNDJmNjRkYjZhYzwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDpkZDE2YWYyNi1iNGI2LTExNzktODkwYi05YjY5NDhiZDgzZTk8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6ZTNmZmVlNjgtM2MxMi03MzQzLWE1NTItOTAxYmFkMTViOGMwPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmVhOGYyYzNkLTkwNTMtMTFlNi04MGRiLThlOTlmNmJkMWI1NjwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDpmMTc1NDg3ZC05YjcwLTExZTUtYWU3Mi1lYmI4OWUwZmQwZWY8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6Zjg4Y2M5NGQtYzcwZS0xMTc5LWJjNzQtYzljNmY5NjcyYTQ0PC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmY5MTdmNjM5LTkwNGUtMTFlNi05MThjLWZmZjgyYjQxY2YyZTwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDpmYWU1ZDczNy05YTIzLTExZTUtOTJlNC04YzM5MzI2N2QwMWM8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjAwMWU2NDI1LWI5ZTgtMWQ0My1hY2EzLWQwMzM3MDM4NGFjYzwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6MDE4MDExNzQwNzIwNjgxMTgwODNBMzJBMUI2ODVERTQ8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjAyZDdmMjgzLTE0ZTUtNDAyOS1hZWZhLThmMGIwOTk0NWQyMDwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6MDUyN2I1ODctZGRiZi1jNzQ2LWI3YzYtZGQ5MDlhNzhhZDllPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDowRUVEMzFGQkQxQjBFMjExQjc5OUFEQTUzNjYzOTg5NTwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6MGNkOWFiZWMtM2UyOC1hZjQ3LTk1NjctZjBlY2EwZTU4MGFkPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDoxMDdGMjg5NDUxNTAxMUU4QkNGOEU4NzI4QzNERDBCMDwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6MTBjZGNiZGMtY2M2NS00ZWJmLWEzZmEtMWZmNjIyMTc2ODZjPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDoxM2Q2YjY5My0zM2QwLWZmNDctOTk1Yy0yZGRkYzQ0NTgxMTI8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjFGRjAyMjJBNzI3RkUzMTE4QTIyRkI5QzU1Rjk3RkVGPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDoxY2MzNWUzOC0yMTY3LTk4NDgtOTNhOC05ZmMyNTAxNGMzMzM8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjI2NzdiOWEzLTQxZDItMzE0NC1iNTI0LWQ3N2U1YTYyZGI0MDwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6MjZlYjJmNWItNWViYy00ODk3LWEyZmItYjc0MGQ5ZTMwZDc2PC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDoyQkU5QjkyOUIyNkExMUU1QjIxNjhFODMzRDJENUU0RjwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6MmEyYTA2OWEtNjEwNS00NzM3LWE0ZjktNmJiNWEwNzI2ZjdhPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDoyYzRhZDFjYy1lNzUwLTFlNDctYTlmMi0xNTEwZTFiMDRiOTM8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjJkZWZlNGVjLTdjYzctYmU0OS1iYzg5LTQ5OGUzZmQ1ZjVmZjwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6MzRDNjBDN0JCMkQwMTFFNTg4NUM5MjhFNTk3ODMxQ0Y8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjM2Y2ViMGI3LTU4MTktNTQ0NC1iN2NmLWU2OWEyODBmNWFhMTwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6M0VBQzJERDc1MzUxRTgxMTk3NkFGMzlCNEI2QUZCRjg8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjNhNWFiMjgwLTQwZmUtNGY1ZS05ZmE2LTcxNjE2YjczODEyYjwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6M2Q1Njg0OTgtOTg0ZC00NThhLWIyNDktZWFjYzMyMjUyYTIwPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo0MTk0ZmE2Mi1jYWRlLThmNDktYTIxNy1lY2E3ZWUzZDIyYTA8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjQ0MzMyRjU5QjI2MDExRTU4RDNGOEJEQUJDMENEMEFDPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo0NmVkZjRlNC05MTUyLTVlNGItODA4Ny1kYTQzN2JjNWRjM2M8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjQ4RTNEMDA3MDgyMDY4MTE4MjJBRDdEMjNEMDQ0QTk1PC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo1Y2EzNTUzMS1lOTZmLTRjMjAtOWViYi01M2U3NTJkMDMxYWQ8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjVlODc5ZTZmLWE3MjMtMjI0Ny1iOGQ4LWE5MDI4YzY4YmQyZjwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6NjViOTJlMzAtNWU0NC0wNjRmLTk3YWQtMzg2YWI5ZTQ3NzEwPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo2ODc0QjFFNzZBMjA2ODExODIyQUM2N0Y1OEJFQTE3OTwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6NjliYWZkZWItNDM4NS04MjQ4LTk2NDgtMTIyN2YxMTE2ZTViPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo2QTc0QjFFNzZBMjA2ODExODIyQUM2N0Y1OEJFQTE3OTwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6NkZENTNBMzgwQTIwNjgxMTgyMkFDRjE5MTgwRTgxQjI8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjZlYjFkY2Y1LTliNjctOWQ0NC05MWJmLWZmODQzYWNmMTZmMTwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6NzI2MGY1YjQtY2MxNy1kZjRlLWIwMWUtZjEzYWQyMWQwODkwPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo3NDljYmFlOC0xNTRmLTM5NDAtOWVlNi0yMmQxZjgwZmEzYTE8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjc3OUQyNjQwQjI1QjExRTU5M0MxRDg5NTlDNDg0NDg1PC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo3YTE1ZGNmMS1kYTE4LTQ3YzUtYWI0ZS1iOTQ4NTUyOTAyNjc8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjdhOTJkNDBiLTY5ZTctNDlhMy04ZDIzLTIzZjNkNzc0ZmVkYTwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6N2MwMmQ3YjEtMDNkYS00Zjg1LTk5YzAtMDBiM2YwMzI5MDNmPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo3ZGRjODNmMS1jYTIxLTlhNDMtYWFlMS1kMjhkZTkyMjc3OWQ8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjhEMzA2NTQ0OTYxQjExRTQ4OTM3REM3Rjg4OUZGMDQzPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo4RkNCRUNBRkIyNkMxMUU1OUExNDgwMjUxQTI3MzQzNjwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6OGM2NWIxOTYtOWNhNC1mNDQ0LTlkMzQtZDM1MzM4YTllMjE1PC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo4Y2M3ODA2MS0yNzk2LTRlYTAtYTVhZC1hNjk3ZDRjMjA3OGU8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjkzNTk1Mzc0LTc5MjUtM2U0ZC1iMDRjLTk2YzU2OTY1NGNkYjwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6OTU5NkI5OTE3NzIwNjgxMTgyMkFDNjdGNThCRUExNzk8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjlGMUZFMkJFRTNDMEU1MTE5QUU5OUNFNTZGNjc4NzY3PC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDpCQkFFMjI5OEYxMTlFOTExODhFMjgzQjVGRjY0QkU5MjwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6QzM3MTlGNDQwMkM0RTUxMUJBNDE4NUE1ODhCNTEwODc8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOkM5NjUwQ0I5MDcyMDY4MTE4MDgzQTE1REU3MzQzNjUyPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDpENTNBODdBQzQxNjdFNDExQkZERUY2ODdGMzU2NEY5NzwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6REJDMjdENjQyRTZCRTUxMTlGQkVGMkREMkU4REFDRUY8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOkRFQjkwOEE1OEI3OEU1MTE5MTk5OUVFQkJCRDI4M0UyPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDpGODdGMTE3NDA3MjA2ODExODIyQUNCNkU2OTFDMjRGRjwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6YTIyZmVmZDItNTM0MS05NDQ4LWFiNDQtYWJhZjhmNDgxOTlhPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDphMjk1Y2U2Ny1iOWIxLThhNGUtOGZmYS02YjJjOTIxMDlmMTY8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOmE2NDcwMTE5LTg3ZWUtOGU0ZC04ODZlLTM1MDUwY2Y3YTBjYzwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6YTdiMjA5MmItMDg2Zi02NTQ3LWJhNTUtNzEzN2ZhOTRmZjVjPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDphN2M2ZjA0NS1lNTE3LTVlNGUtOTUzZi1mY2I3ODMyMzZkMDY8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOmE4NGU1MWFmLWJhZTYtNGNiOS05ZGQ3LTZmOTJjYWVjZDQ1NDwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6YWVkZjcwYWMtOGExNy05OTQ1LTgxYzctM2FmNWFlM2UwM2VhPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDpiMjljYzBmMi05MTg1LTQ0ZjEtOWU5YS1kMzhkMTkwMmU5OGQ8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOmJhMGJjNGViLTJjYzgtMTg0ZC1iN2Q1LTE2MzQxM2JkY2I5MjwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6YmMxYzdmNWYtNTMzMy1kZDQ3LTg1NmMtMDFlNTJhN2NiMWY4PC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDpiZTE0OWFhNy0zZDM4LTc5NGEtOWVhMi0xYWFiMDAxNGMwNzY8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOmJmYWIwNDVmLTQ4MTItNDdlNi05N2NlLWNjNzk1NmUzYTFhNzwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6YzIxNWY4ODUtNGI4Ny01YjQxLTg1M2YtM2Q5NmRlNWMxOThlPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDpjNWIxODhiNC1hZTMzLTRiODctYmRjZC05M2U5Yzk0MWM1YjA8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOmM5YTI2YzkyLTQ1MTgtNGI1YS04NjIwLWIxYjExMTZlMGZkZDwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6Y2YwMDViZTUtNWYzZi1mMTQ1LWI5OGEtYTU2YjU1NTk4YzkyPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDpkZDliOTBkMi01MjcyLTQyOWUtODQ2Zi1mMTMxMmE0ODNlNjE8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOmU1NmQyNjUyLWM3YzQtMzk0ZC05MzA4LTlmM2Q5YmQzMGU1MDwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6ZTcwNTM5OWQtNDY0ZS00M2ZmLWE1MmMtY2RjOGE4YmY3ZWE2PC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDplZDAxYWNlYS0xNDYwLTYxNGQtODdlNC1mMmEzNDM1NjA3Njk8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOmVlNDYzYjU0LTRjMjItNGMyZC1hZjQwLTdlN2U0Yzc2YTcwMDwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6ZWVlNzBjZjMtZDRiZC05MjQxLThiNzAtN2NjYmFkMzViZGU2PC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDplZmQ5MzI1Mi01MjBkLWYxNDEtOTAxMy0wZGI3MTBhZWRmNzU8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOmY1YjljZjZkLTM2YjgtYTc0MS1iMGZmLTE3ZGU0YzQwNjZjNjwvcmRmOmxpPiA8L3JkZjpCYWc+IDwvcGhvdG9zaG9wOkRvY3VtZW50QW5jZXN0b3JzPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjk4NTg5MDg0LTI5MmItNTg0Yi05MzgwLTViZmNhNzYyZmM5OSIgc3RFdnQ6d2hlbj0iMjAxOS0wNS0wNlQxMToyNzoyOCswODowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDplY2UyZWZjMi01NDlkLTBkNDgtYTExNi1kZTI1ZmU1NzNkYzkiIHN0RXZ0OndoZW49IjIwMTktMDUtMDZUMTE6NDM6MjQrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6NDQ5NDBhMmEtNzEwNy00YmFlLThjOTMtY2ZjNGRkM2UyYjc2IiBzdEV2dDp3aGVuPSIyMDE5LTA3LTAyVDEyOjIwOjE5KzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgKE1hY2ludG9zaCkiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNvbnZlcnRlZCIgc3RFdnQ6cGFyYW1ldGVycz0iZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iZGVyaXZlZCIgc3RFdnQ6cGFyYW1ldGVycz0iY29udmVydGVkIGZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmciLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjZlYjlkOTFjLTI5NDAtNGMwZS1iMjEwLTg3NGMwNmY5NzBkMyIgc3RFdnQ6d2hlbj0iMjAxOS0wNy0wMlQxMjoyMDoxOSswODowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo1ZTViYWU1ZS05NDM5LWViNDgtYmIyMS1mNmMzZTA5ZjE4MzYiIHN0RXZ0OndoZW49IjIwMjEtMTAtMjRUMTQ6MzE6MTYrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMS4wIChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NDQ5NDBhMmEtNzEwNy00YmFlLThjOTMtY2ZjNGRkM2UyYjc2IiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6NWJmZGU1MDUtMmVkMy1lZjQxLWFiYjgtNWRjYTRhNjUxZjVlIiBzdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6OTg1ODkwODQtMjkyYi01ODRiLTkzODAtNWJmY2E3NjJmYzk5Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+UQTyIAAAAptJREFUaN7l2ktoE0EYwPH/xtRXbRupRlsQ04JoRRQE8aQiYhHFg+JFRD1oC4oVfJx6UDwIRSsURYUiorWCiohaRSz0IIoExMfBS7A+wEIjqXFpFySm6XrYTTEmpunuJu7OfJdsJjNf8svMJDPsKLqu82covWpmQWliDHgF3ARuAKqdZHpjIOO5D3eED1gNnAcGgHPAHCeTuy3KgaPAB/PRLyIyHQGzR18CS0RFpmOVOV+3i4wEmAXcBY6LjARQgLPACZGR6TgFHPAEUkGnpixKtf+7leYXgK2uRU5XErTVtvJ1WYjI0gYuLThkJc0UoAsIFVLZX+re6wrtZVPl0/GyZ9paO38x14D1gO6antxc9SQDGBudS3d8l52U64B9rhquO2ffGr9WUwF2f7nOcKrSbtrTQIWjwzVYBg0zrH2aqcoYfSMbePtzBZ1DzUST85z47oLAYRObe5pMdheyoxo6661tVEJvFIZTRRkkg+aP0C8370LsRg2wzbHhOpCAB/Hs8uXlUDfNuA6PwLdkdp1kcXeqB4HbjiDDGoQ1Jau8faFOXdC47ogq9Kol7801Zo8OirCsy7e2bRRl7ZovtsiA3JjLJBoyACwSHQmwUgbkYhmQ9TIga2VAzpcBWSEDskoG5EwZkKMyIDUZkDEZkP0yICMyIN/LgHwhOvIj8El05P1chaIhu0VHvgbeiY5s/9cLoiAjwB3Rkccwjq4Ji3wEPM5XwevIGNA8USUvI3VgPzlu8IiEbAUeFlLRq8iLQFuhlb2I7ABaJtPA57E5eBI4wgTndv4Ov0eAKrAH6LHS2As9+RzjTlWP1QRuRv4AmjBOXX22k8iNw1UDLgNngCEnEroJGQeumLuJmJOJ/zdSB/qAq8A9IFGMN/kNt6GNd9kLeHQAAAAASUVORK5CYII=";
|
|
1272
|
+
const _hoisted_1$e = ["src"];
|
|
1273
|
+
const _sfc_main$q = /* @__PURE__ */ defineComponent({
|
|
1274
|
+
__name: "logo",
|
|
1275
|
+
props: {
|
|
1276
|
+
theme: { type: String, validator: (v) => ["light", "dark"].includes(v) },
|
|
1277
|
+
showTitle: { type: Boolean, default: true }
|
|
1278
|
+
},
|
|
1176
1279
|
setup(__props) {
|
|
1280
|
+
const props = __props;
|
|
1281
|
+
const { t } = useI18n("UI");
|
|
1177
1282
|
const slots = getParentSlots(null, "dt-theme");
|
|
1283
|
+
const title = t("COMPANY_NAME");
|
|
1284
|
+
const { getLogoWidth } = useMenu();
|
|
1285
|
+
const getLogoClass = computed(() => {
|
|
1286
|
+
return `${props.theme} dt-logo px-2.5 text-sm flex items-center pl-2.5 cursor-pointer text-center transition-all duration-200 ease-in-out `;
|
|
1287
|
+
});
|
|
1178
1288
|
return (_ctx, _cache) => {
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
},
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
}, null, 8,
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
createElementVNode("span", _hoisted_1$d, [
|
|
1193
|
-
withDirectives(createElementVNode("span", null, null, 512), [
|
|
1194
|
-
[_directive_icon, "ant-design:bell-outlined"]
|
|
1195
|
-
]),
|
|
1196
|
-
unref(slots).notifyBadge ? (openBlock(), createBlock(unref(DtSlotContainer), {
|
|
1197
|
-
key: 0,
|
|
1198
|
-
template: unref(slots).notifyBadge
|
|
1199
|
-
}, null, 8, ["template"])) : createCommentVNode("", true)
|
|
1289
|
+
return openBlock(), createElementBlock("div", {
|
|
1290
|
+
class: normalizeClass(unref(getLogoClass)),
|
|
1291
|
+
style: normalizeStyle({
|
|
1292
|
+
minWidth: `${unref(getLogoWidth)}px`
|
|
1293
|
+
})
|
|
1294
|
+
}, [
|
|
1295
|
+
unref(slots).logo ? (openBlock(), createBlock(unref(DtSlotContainer), {
|
|
1296
|
+
key: 0,
|
|
1297
|
+
template: unref(slots).logo
|
|
1298
|
+
}, null, 8, ["template"])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
1299
|
+
createElementVNode("img", { src: unref(logoUrl) }, null, 8, _hoisted_1$e),
|
|
1300
|
+
withDirectives(createElementVNode("div", { class: "dt-logo__title text-base font-bold transition-all duration-500 pl-3" }, toDisplayString(unref(title)), 513), [
|
|
1301
|
+
[vShow, __props.showTitle]
|
|
1200
1302
|
])
|
|
1201
|
-
])
|
|
1202
|
-
|
|
1203
|
-
|
|
1303
|
+
], 64))
|
|
1304
|
+
], 6);
|
|
1305
|
+
};
|
|
1306
|
+
}
|
|
1307
|
+
});
|
|
1308
|
+
const _sfc_main$p = /* @__PURE__ */ defineComponent({
|
|
1309
|
+
__name: "trigger",
|
|
1310
|
+
props: { theme: String },
|
|
1311
|
+
setup(__props) {
|
|
1312
|
+
const props = __props;
|
|
1313
|
+
const { getCollapsed, toggleCollapsed } = useMenu();
|
|
1314
|
+
return (_ctx, _cache) => {
|
|
1315
|
+
return openBlock(), createElementBlock("div", {
|
|
1316
|
+
class: normalizeClass(["flex w-12 h-full cursor-pointer items-center justify-center", props.theme]),
|
|
1317
|
+
onClick: _cache[0] || (_cache[0] = (...args) => unref(toggleCollapsed) && unref(toggleCollapsed)(...args))
|
|
1318
|
+
}, [
|
|
1319
|
+
createElementVNode("i", {
|
|
1320
|
+
class: normalizeClass(["i leading-none", unref(getCollapsed) ? "ic:baseline-format-indent-increase" : "ic:baseline-format-indent-decrease"])
|
|
1321
|
+
}, null, 2)
|
|
1322
|
+
], 2);
|
|
1323
|
+
};
|
|
1324
|
+
}
|
|
1325
|
+
});
|
|
1326
|
+
const _hoisted_1$d = { class: "dt-breadcrumb" };
|
|
1327
|
+
const _sfc_main$o = /* @__PURE__ */ defineComponent({
|
|
1328
|
+
__name: "bread-crumb",
|
|
1329
|
+
setup(__props) {
|
|
1330
|
+
const { getIsZH } = useHeader();
|
|
1331
|
+
let routes = ref([]);
|
|
1332
|
+
const { currentRoute = null } = useRouter();
|
|
1333
|
+
watchEffect(() => {
|
|
1334
|
+
if (!currentRoute || currentRoute.value.path === "/")
|
|
1335
|
+
return;
|
|
1336
|
+
routes.value = getBreadCrumb(currentRoute.value.path);
|
|
1337
|
+
});
|
|
1338
|
+
return (_ctx, _cache) => {
|
|
1339
|
+
const _component_ABreadcrumb = Breadcrumb;
|
|
1340
|
+
return openBlock(), createElementBlock("div", _hoisted_1$d, [
|
|
1341
|
+
createVNode(_component_ABreadcrumb, { routes: unref(routes) }, {
|
|
1342
|
+
itemRender: withCtx(({ route }) => [
|
|
1343
|
+
createElementVNode("span", null, toDisplayString((unref(getIsZH) ? route.label : route.enLabel) || route.meta?.title), 1)
|
|
1344
|
+
]),
|
|
1345
|
+
_: 1
|
|
1346
|
+
}, 8, ["routes"])
|
|
1347
|
+
]);
|
|
1204
1348
|
};
|
|
1205
1349
|
}
|
|
1206
1350
|
});
|
|
1207
|
-
const _hoisted_1$c = {
|
|
1351
|
+
const _hoisted_1$c = {
|
|
1352
|
+
key: 0,
|
|
1353
|
+
class: "dt-menu-filter h-7 pr-2"
|
|
1354
|
+
};
|
|
1208
1355
|
const _hoisted_2$7 = ["onClick"];
|
|
1209
|
-
const _hoisted_3$
|
|
1356
|
+
const _hoisted_3$5 = {
|
|
1357
|
+
key: 0,
|
|
1358
|
+
class: "flex items-center justify-center h-full overflow-hidden"
|
|
1359
|
+
};
|
|
1360
|
+
const _sfc_main$n = /* @__PURE__ */ defineComponent({
|
|
1361
|
+
__name: "menu-filter",
|
|
1362
|
+
setup(__props) {
|
|
1363
|
+
const { t } = useI18n("UI");
|
|
1364
|
+
const menuList = ref([]);
|
|
1365
|
+
const router = useRouter();
|
|
1366
|
+
const filter = ref("");
|
|
1367
|
+
const { getShowSearch, getIsZH } = useHeader();
|
|
1368
|
+
const isUseDef = computed(() => {
|
|
1369
|
+
return isBoolean(getShowSearch.value);
|
|
1370
|
+
});
|
|
1371
|
+
function visibleChange(e) {
|
|
1372
|
+
if (e) {
|
|
1373
|
+
filterMenu();
|
|
1374
|
+
} else {
|
|
1375
|
+
filter.value = null;
|
|
1376
|
+
}
|
|
1377
|
+
}
|
|
1378
|
+
function filterMenu() {
|
|
1379
|
+
menuList.value = getFilterMenu(filter.value, true);
|
|
1380
|
+
}
|
|
1381
|
+
function navigation(url) {
|
|
1382
|
+
router.push(url);
|
|
1383
|
+
setTimeout(() => {
|
|
1384
|
+
filter.value = "";
|
|
1385
|
+
menuList.value = [];
|
|
1386
|
+
});
|
|
1387
|
+
}
|
|
1388
|
+
return (_ctx, _cache) => {
|
|
1389
|
+
const _component_AEmpty = Empty;
|
|
1390
|
+
const _component_AInputSearch = InputSearch;
|
|
1391
|
+
const _component_APopover = Popover;
|
|
1392
|
+
return unref(isUseDef) ? (openBlock(), createElementBlock("div", _hoisted_1$c, [
|
|
1393
|
+
createVNode(_component_APopover, {
|
|
1394
|
+
placement: "bottom",
|
|
1395
|
+
overlayClassName: "dt-menu-filter__popover",
|
|
1396
|
+
trigger: "focus",
|
|
1397
|
+
onVisibleChange: visibleChange
|
|
1398
|
+
}, {
|
|
1399
|
+
content: withCtx(() => [
|
|
1400
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(menuList.value, (menu) => {
|
|
1401
|
+
return openBlock(), createElementBlock("p", {
|
|
1402
|
+
onClick: ($event) => navigation(menu.url),
|
|
1403
|
+
class: "px-5 leading-9 border-gray-200 border-dashed border-b m-0 cursor-pointer transition-all duration-300 text-13"
|
|
1404
|
+
}, toDisplayString(unref(getIsZH) ? menu.label : menu.enLabel), 9, _hoisted_2$7);
|
|
1405
|
+
}), 256)),
|
|
1406
|
+
!menuList.value.length ? (openBlock(), createElementBlock("div", _hoisted_3$5, [
|
|
1407
|
+
createVNode(_component_AEmpty, {
|
|
1408
|
+
description: "\u6682\u65E0\u6570\u636E",
|
|
1409
|
+
imageStyle: { width: "100%" }
|
|
1410
|
+
})
|
|
1411
|
+
])) : createCommentVNode("", true)
|
|
1412
|
+
]),
|
|
1413
|
+
default: withCtx(() => [
|
|
1414
|
+
createVNode(_component_AInputSearch, {
|
|
1415
|
+
value: filter.value,
|
|
1416
|
+
"onUpdate:value": _cache[0] || (_cache[0] = ($event) => filter.value = $event),
|
|
1417
|
+
placeholder: unref(t)("FILTER_MORE"),
|
|
1418
|
+
onInput: filterMenu,
|
|
1419
|
+
size: unref(UiSize).SMALL
|
|
1420
|
+
}, null, 8, ["value", "placeholder", "size"])
|
|
1421
|
+
]),
|
|
1422
|
+
_: 1
|
|
1423
|
+
})
|
|
1424
|
+
])) : createCommentVNode("", true);
|
|
1425
|
+
};
|
|
1426
|
+
}
|
|
1427
|
+
});
|
|
1428
|
+
const _hoisted_1$b = { class: "lang m-0" };
|
|
1429
|
+
const _hoisted_2$6 = ["onClick"];
|
|
1430
|
+
const _hoisted_3$4 = {
|
|
1431
|
+
class: "pr-2",
|
|
1432
|
+
size: 16
|
|
1433
|
+
};
|
|
1434
|
+
const _hoisted_4$3 = /* @__PURE__ */ createElementVNode("span", { class: "dt_header_icon text-lg text-gray-800 cursor-pointer px-3 hover:bg-gray-500 hover:bg-opacity-50 transition-all duration-300" }, [
|
|
1435
|
+
/* @__PURE__ */ createElementVNode("i", { class: "block i ic:baseline-language" })
|
|
1436
|
+
], -1);
|
|
1437
|
+
const _sfc_main$m = /* @__PURE__ */ defineComponent({
|
|
1438
|
+
__name: "lang-picker",
|
|
1439
|
+
props: {
|
|
1440
|
+
reload: { type: Boolean }
|
|
1441
|
+
},
|
|
1442
|
+
setup(__props) {
|
|
1443
|
+
const props = __props;
|
|
1444
|
+
const visible = ref(false);
|
|
1445
|
+
let currentLang = DtCache.getLocal(CacheKey.LOCALE);
|
|
1446
|
+
async function toggleLang(lang) {
|
|
1447
|
+
visible.value = false;
|
|
1448
|
+
if (lang !== currentLang) {
|
|
1449
|
+
currentLang = lang;
|
|
1450
|
+
await changeLocale(lang);
|
|
1451
|
+
props.reload && location.reload();
|
|
1452
|
+
}
|
|
1453
|
+
}
|
|
1454
|
+
return (_ctx, _cache) => {
|
|
1455
|
+
const _component_APopover = Popover;
|
|
1456
|
+
const _directive_icon = resolveDirective("icon");
|
|
1457
|
+
return openBlock(), createBlock(_component_APopover, {
|
|
1458
|
+
placement: "bottom",
|
|
1459
|
+
visible: visible.value,
|
|
1460
|
+
"onUpdate:visible": _cache[0] || (_cache[0] = ($event) => visible.value = $event),
|
|
1461
|
+
overlayClassName: "dt-lang-picker__popover",
|
|
1462
|
+
trigger: "click"
|
|
1463
|
+
}, {
|
|
1464
|
+
content: withCtx(() => [
|
|
1465
|
+
createElementVNode("ul", _hoisted_1$b, [
|
|
1466
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(localeList), (it) => {
|
|
1467
|
+
return openBlock(), createElementBlock("li", {
|
|
1468
|
+
onClick: ($event) => toggleLang(it.event),
|
|
1469
|
+
class: normalizeClass(["px-4 my-1 leading-9 flex border-gray-200 cursor-pointer hover:bg-gray-100 transition-all duration-300 text-13", it.event === unref(currentLang) ? "active bg-gray-100" : ""])
|
|
1470
|
+
}, [
|
|
1471
|
+
withDirectives(createElementVNode("span", _hoisted_3$4, null, 512), [
|
|
1472
|
+
[_directive_icon, it.icon]
|
|
1473
|
+
]),
|
|
1474
|
+
createElementVNode("span", null, toDisplayString(it.text), 1)
|
|
1475
|
+
], 10, _hoisted_2$6);
|
|
1476
|
+
}), 256))
|
|
1477
|
+
])
|
|
1478
|
+
]),
|
|
1479
|
+
default: withCtx(() => [
|
|
1480
|
+
_hoisted_4$3
|
|
1481
|
+
]),
|
|
1482
|
+
_: 1
|
|
1483
|
+
}, 8, ["visible"]);
|
|
1484
|
+
};
|
|
1485
|
+
}
|
|
1486
|
+
});
|
|
1487
|
+
const _hoisted_1$a = { class: "dt_header_icon text-lg text-gray-800 cursor-pointer px-3 hover:bg-gray-500 hover:bg-opacity-50 transition-all duration-300 relative" };
|
|
1488
|
+
const _sfc_main$l = /* @__PURE__ */ defineComponent({
|
|
1489
|
+
__name: "notify",
|
|
1490
|
+
setup(__props) {
|
|
1491
|
+
const slots = getParentSlots(null, "dt-theme");
|
|
1492
|
+
return (_ctx, _cache) => {
|
|
1493
|
+
const _component_APopover = Popover;
|
|
1494
|
+
const _directive_icon = resolveDirective("icon");
|
|
1495
|
+
return openBlock(), createBlock(_component_APopover, {
|
|
1496
|
+
trigger: "click",
|
|
1497
|
+
overlayClassName: "dt-notify__popover"
|
|
1498
|
+
}, {
|
|
1499
|
+
content: withCtx(() => [
|
|
1500
|
+
unref(slots).notify ? (openBlock(), createBlock(unref(DtSlotContainer), {
|
|
1501
|
+
key: 0,
|
|
1502
|
+
template: unref(slots).notify
|
|
1503
|
+
}, null, 8, ["template"])) : createCommentVNode("", true)
|
|
1504
|
+
]),
|
|
1505
|
+
default: withCtx(() => [
|
|
1506
|
+
createElementVNode("span", _hoisted_1$a, [
|
|
1507
|
+
withDirectives(createElementVNode("span", null, null, 512), [
|
|
1508
|
+
[_directive_icon, "ant-design:bell-outlined"]
|
|
1509
|
+
]),
|
|
1510
|
+
unref(slots).notifyBadge ? (openBlock(), createBlock(unref(DtSlotContainer), {
|
|
1511
|
+
key: 0,
|
|
1512
|
+
template: unref(slots).notifyBadge
|
|
1513
|
+
}, null, 8, ["template"])) : createCommentVNode("", true)
|
|
1514
|
+
])
|
|
1515
|
+
]),
|
|
1516
|
+
_: 1
|
|
1517
|
+
});
|
|
1518
|
+
};
|
|
1519
|
+
}
|
|
1520
|
+
});
|
|
1521
|
+
const _hoisted_1$9 = { class: "lang m-0" };
|
|
1522
|
+
const _hoisted_2$5 = ["onClick"];
|
|
1523
|
+
const _hoisted_3$3 = /* @__PURE__ */ createElementVNode("span", { class: "dt_header_icon text-lg text-gray-800 cursor-pointer px-3 hover:bg-gray-500 hover:bg-opacity-50 transition-all duration-300" }, [
|
|
1210
1524
|
/* @__PURE__ */ createElementVNode("i", { class: "block i ic:baseline-format-size" })
|
|
1211
1525
|
], -1);
|
|
1212
|
-
const _sfc_main$
|
|
1526
|
+
const _sfc_main$k = /* @__PURE__ */ defineComponent({
|
|
1213
1527
|
__name: "size",
|
|
1214
1528
|
setup(__props) {
|
|
1215
1529
|
const { t } = useI18n("UI");
|
|
@@ -1247,34 +1561,34 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
|
|
|
1247
1561
|
trigger: "click"
|
|
1248
1562
|
}, {
|
|
1249
1563
|
content: withCtx(() => [
|
|
1250
|
-
createElementVNode("ul", _hoisted_1$
|
|
1564
|
+
createElementVNode("ul", _hoisted_1$9, [
|
|
1251
1565
|
(openBlock(), createElementBlock(Fragment, null, renderList(sizeList, (it) => {
|
|
1252
1566
|
return createElementVNode("li", {
|
|
1253
1567
|
onClick: ($event) => toggleLang(it.event),
|
|
1254
1568
|
class: normalizeClass(["px-4 my-1 leading-9 flex border-gray-200 cursor-pointer hover:bg-gray-100 transition-all duration-300 text-13", it.event === unref(getUiSize) ? "active bg-gray-100" : ""])
|
|
1255
1569
|
}, [
|
|
1256
1570
|
createElementVNode("span", null, toDisplayString(it.text), 1)
|
|
1257
|
-
], 10, _hoisted_2$
|
|
1571
|
+
], 10, _hoisted_2$5);
|
|
1258
1572
|
}), 64))
|
|
1259
1573
|
])
|
|
1260
1574
|
]),
|
|
1261
1575
|
default: withCtx(() => [
|
|
1262
|
-
_hoisted_3$
|
|
1576
|
+
_hoisted_3$3
|
|
1263
1577
|
]),
|
|
1264
1578
|
_: 1
|
|
1265
1579
|
}, 8, ["visible"]);
|
|
1266
1580
|
};
|
|
1267
1581
|
}
|
|
1268
1582
|
});
|
|
1269
|
-
const _hoisted_1$
|
|
1270
|
-
const _hoisted_2$
|
|
1583
|
+
const _hoisted_1$8 = { class: "m-0" };
|
|
1584
|
+
const _hoisted_2$4 = {
|
|
1271
1585
|
class: "pr-2",
|
|
1272
1586
|
size: 16
|
|
1273
1587
|
};
|
|
1274
|
-
const _hoisted_3$
|
|
1588
|
+
const _hoisted_3$2 = { class: "dt_header_icon h-12 text-lg text-gray-800 cursor-pointer px-3 hover:bg-gray-500 hover:bg-opacity-50 transition-all duration-300 flex items-center" };
|
|
1275
1589
|
const _hoisted_4$2 = ["src"];
|
|
1276
1590
|
const _hoisted_5$1 = { class: "pl-2 text-13" };
|
|
1277
|
-
const _sfc_main$
|
|
1591
|
+
const _sfc_main$j = /* @__PURE__ */ defineComponent({
|
|
1278
1592
|
__name: "user-info",
|
|
1279
1593
|
setup(__props) {
|
|
1280
1594
|
const { t } = useI18n("UI");
|
|
@@ -1299,7 +1613,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
|
|
|
1299
1613
|
trigger: "click"
|
|
1300
1614
|
}, {
|
|
1301
1615
|
content: withCtx(() => [
|
|
1302
|
-
createElementVNode("div", _hoisted_1$
|
|
1616
|
+
createElementVNode("div", _hoisted_1$8, [
|
|
1303
1617
|
unref(slots).userInfo ? (openBlock(), createBlock(unref(DtSlotContainer), {
|
|
1304
1618
|
key: 0,
|
|
1305
1619
|
template: unref(slots).userInfo
|
|
@@ -1309,7 +1623,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
|
|
|
1309
1623
|
onClick: _cache[0] || (_cache[0] = ($event) => signOut()),
|
|
1310
1624
|
class: "px-4 my-1 leading-9 flex border-gray-200 cursor-pointer hover:bg-gray-100 transition-all duration-300 text-13"
|
|
1311
1625
|
}, [
|
|
1312
|
-
withDirectives(createElementVNode("span", _hoisted_2$
|
|
1626
|
+
withDirectives(createElementVNode("span", _hoisted_2$4, null, 512), [
|
|
1313
1627
|
[_directive_icon, "ant-design:logout-outlined"]
|
|
1314
1628
|
]),
|
|
1315
1629
|
createElementVNode("span", null, toDisplayString(unref(t)("LOGIN_OUT")), 1)
|
|
@@ -1317,7 +1631,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
|
|
|
1317
1631
|
])
|
|
1318
1632
|
]),
|
|
1319
1633
|
default: withCtx(() => [
|
|
1320
|
-
createElementVNode("div", _hoisted_3$
|
|
1634
|
+
createElementVNode("div", _hoisted_3$2, [
|
|
1321
1635
|
createVNode(_component_AAvatar, { size: 28 }, {
|
|
1322
1636
|
icon: withCtx(() => [
|
|
1323
1637
|
createElementVNode("img", { src: "/node_modules/@dt-frames/ui/es/assets/imgs/header/avatar.png" }, null, 8, _hoisted_4$2)
|
|
@@ -1429,13 +1743,13 @@ function changeTheme(event, value = {}) {
|
|
|
1429
1743
|
}
|
|
1430
1744
|
useThemeStore().setThemeConf(conf);
|
|
1431
1745
|
}
|
|
1432
|
-
const _hoisted_1$
|
|
1433
|
-
const _hoisted_2$
|
|
1434
|
-
const _hoisted_3$
|
|
1746
|
+
const _hoisted_1$7 = { class: "flex flex-row justify-center dt-menu-type" };
|
|
1747
|
+
const _hoisted_2$3 = ["onClick"];
|
|
1748
|
+
const _hoisted_3$1 = /* @__PURE__ */ createElementVNode("div", { class: "dt-menu-type__item" }, null, -1);
|
|
1435
1749
|
const _hoisted_4$1 = [
|
|
1436
|
-
_hoisted_3$
|
|
1750
|
+
_hoisted_3$1
|
|
1437
1751
|
];
|
|
1438
|
-
const _sfc_main$
|
|
1752
|
+
const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
1439
1753
|
__name: "menu-type",
|
|
1440
1754
|
setup(__props) {
|
|
1441
1755
|
const { getMenuType, getMenuMode } = useMenu();
|
|
@@ -1478,7 +1792,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
|
|
|
1478
1792
|
}
|
|
1479
1793
|
return (_ctx, _cache) => {
|
|
1480
1794
|
const _component_ATooltip = Tooltip;
|
|
1481
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
1795
|
+
return openBlock(), createElementBlock("div", _hoisted_1$7, [
|
|
1482
1796
|
(openBlock(), createElementBlock(Fragment, null, renderList(menuTypeList, (item) => {
|
|
1483
1797
|
return createVNode(_component_ATooltip, {
|
|
1484
1798
|
key: item.title,
|
|
@@ -1496,7 +1810,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
|
|
|
1496
1810
|
[`dt-menu-type__item--active`]: unref(getMenuType) === item.type && unref(getMenuMode) === item.mode
|
|
1497
1811
|
}
|
|
1498
1812
|
])
|
|
1499
|
-
}, _hoisted_4$1, 10, _hoisted_2$
|
|
1813
|
+
}, _hoisted_4$1, 10, _hoisted_2$3)
|
|
1500
1814
|
]),
|
|
1501
1815
|
_: 2
|
|
1502
1816
|
}, 1032, ["title"]);
|
|
@@ -1505,8 +1819,8 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
|
|
|
1505
1819
|
};
|
|
1506
1820
|
}
|
|
1507
1821
|
});
|
|
1508
|
-
const _hoisted_1$
|
|
1509
|
-
const _sfc_main$
|
|
1822
|
+
const _hoisted_1$6 = { class: "flex justify-between mb-5" };
|
|
1823
|
+
const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
1510
1824
|
__name: "select",
|
|
1511
1825
|
props: {
|
|
1512
1826
|
event: { type: Number },
|
|
@@ -1529,7 +1843,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
|
|
|
1529
1843
|
}
|
|
1530
1844
|
return (_ctx, _cache) => {
|
|
1531
1845
|
const _component_ASelect = Select;
|
|
1532
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
1846
|
+
return openBlock(), createElementBlock("div", _hoisted_1$6, [
|
|
1533
1847
|
createElementVNode("span", null, toDisplayString(__props.title), 1),
|
|
1534
1848
|
createVNode(_component_ASelect, mergeProps(unref(getBindValue), {
|
|
1535
1849
|
disabled: __props.disabled,
|
|
@@ -1542,8 +1856,8 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
|
|
|
1542
1856
|
};
|
|
1543
1857
|
}
|
|
1544
1858
|
});
|
|
1545
|
-
const _hoisted_1$
|
|
1546
|
-
const _sfc_main$
|
|
1859
|
+
const _hoisted_1$5 = { class: "flex justify-between mb-5" };
|
|
1860
|
+
const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
1547
1861
|
__name: "switch",
|
|
1548
1862
|
props: {
|
|
1549
1863
|
event: {
|
|
@@ -1566,7 +1880,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
|
|
|
1566
1880
|
}
|
|
1567
1881
|
return (_ctx, _cache) => {
|
|
1568
1882
|
const _component_ASwitch = Switch;
|
|
1569
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
1883
|
+
return openBlock(), createElementBlock("div", _hoisted_1$5, [
|
|
1570
1884
|
createElementVNode("span", null, toDisplayString(__props.title), 1),
|
|
1571
1885
|
createVNode(_component_ASwitch, mergeProps(unref(getBindValue), {
|
|
1572
1886
|
disabled: __props.disabled,
|
|
@@ -1578,7 +1892,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
|
|
|
1578
1892
|
};
|
|
1579
1893
|
}
|
|
1580
1894
|
});
|
|
1581
|
-
const _sfc_main$
|
|
1895
|
+
const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
1582
1896
|
__name: "feature",
|
|
1583
1897
|
setup(__props) {
|
|
1584
1898
|
const { t } = useI18n("UI");
|
|
@@ -1654,7 +1968,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
1654
1968
|
return (_ctx, _cache) => {
|
|
1655
1969
|
return openBlock(), createElementBlock(Fragment, null, [
|
|
1656
1970
|
(openBlock(), createElementBlock(Fragment, null, renderList(switchItems, (item) => {
|
|
1657
|
-
return createVNode(_sfc_main$
|
|
1971
|
+
return createVNode(_sfc_main$g, {
|
|
1658
1972
|
key: item.title,
|
|
1659
1973
|
title: item.title,
|
|
1660
1974
|
event: item.event,
|
|
@@ -1662,7 +1976,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
1662
1976
|
}, null, 8, ["title", "event", "def"]);
|
|
1663
1977
|
}), 64)),
|
|
1664
1978
|
(openBlock(), createElementBlock(Fragment, null, renderList(selectItems, (item) => {
|
|
1665
|
-
return createVNode(_sfc_main$
|
|
1979
|
+
return createVNode(_sfc_main$h, {
|
|
1666
1980
|
key: item.title,
|
|
1667
1981
|
title: item.title,
|
|
1668
1982
|
event: item.event,
|
|
@@ -1674,9 +1988,9 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
1674
1988
|
};
|
|
1675
1989
|
}
|
|
1676
1990
|
});
|
|
1677
|
-
const _hoisted_1$
|
|
1678
|
-
const _hoisted_2$
|
|
1679
|
-
const _sfc_main$
|
|
1991
|
+
const _hoisted_1$4 = { class: "mt-5" };
|
|
1992
|
+
const _hoisted_2$2 = { class: "dt-setting-theme__tips p-3 text-12 bg-gray-100 rounded" };
|
|
1993
|
+
const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
1680
1994
|
__name: "setting-theme",
|
|
1681
1995
|
setup(__props) {
|
|
1682
1996
|
const { t } = useI18n("UI");
|
|
@@ -1784,16 +2098,16 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
1784
2098
|
]),
|
|
1785
2099
|
_: 1
|
|
1786
2100
|
}),
|
|
1787
|
-
createVNode(unref(_sfc_main$
|
|
2101
|
+
createVNode(unref(_sfc_main$i)),
|
|
1788
2102
|
createVNode(_component_ADivider, null, {
|
|
1789
2103
|
default: withCtx(() => [
|
|
1790
2104
|
createTextVNode(toDisplayString(unref(t)("PAGE_SHOW")), 1)
|
|
1791
2105
|
]),
|
|
1792
2106
|
_: 1
|
|
1793
2107
|
}),
|
|
1794
|
-
createVNode(unref(_sfc_main$
|
|
2108
|
+
createVNode(unref(_sfc_main$f)),
|
|
1795
2109
|
createVNode(_component_ADivider),
|
|
1796
|
-
createElementVNode("div", _hoisted_1$
|
|
2110
|
+
createElementVNode("div", _hoisted_1$4, [
|
|
1797
2111
|
createVNode(_component_AButton, {
|
|
1798
2112
|
onClick: copy,
|
|
1799
2113
|
class: "mb-3",
|
|
@@ -1816,7 +2130,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
1816
2130
|
_: 1
|
|
1817
2131
|
})
|
|
1818
2132
|
]),
|
|
1819
|
-
createElementVNode("div", _hoisted_2$
|
|
2133
|
+
createElementVNode("div", _hoisted_2$2, toDisplayString(unref(t)("DRAWER_TIPS")), 1)
|
|
1820
2134
|
]),
|
|
1821
2135
|
_: 1
|
|
1822
2136
|
}, 8, ["visible", "title"])
|
|
@@ -1991,7 +2305,7 @@ const contentProps = {
|
|
|
1991
2305
|
},
|
|
1992
2306
|
isSplitMenu: Boolean
|
|
1993
2307
|
});
|
|
1994
|
-
const _sfc_main$
|
|
2308
|
+
const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
1995
2309
|
__name: "menu-item-content",
|
|
1996
2310
|
props: contentProps,
|
|
1997
2311
|
setup(__props) {
|
|
@@ -2008,7 +2322,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
|
2008
2322
|
};
|
|
2009
2323
|
}
|
|
2010
2324
|
});
|
|
2011
|
-
const _sfc_main$
|
|
2325
|
+
const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
2012
2326
|
__name: "basic-menu-item",
|
|
2013
2327
|
props: ItemProp,
|
|
2014
2328
|
setup(__props) {
|
|
@@ -2019,14 +2333,14 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
2019
2333
|
key: _ctx.item.url
|
|
2020
2334
|
}, {
|
|
2021
2335
|
default: withCtx(() => [
|
|
2022
|
-
createVNode(_sfc_main$
|
|
2336
|
+
createVNode(_sfc_main$d, normalizeProps(guardReactiveProps(props)), null, 16)
|
|
2023
2337
|
]),
|
|
2024
2338
|
_: 1
|
|
2025
2339
|
});
|
|
2026
2340
|
};
|
|
2027
2341
|
}
|
|
2028
2342
|
});
|
|
2029
|
-
const _sfc_main$
|
|
2343
|
+
const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
2030
2344
|
__name: "basic-sub-menu-item",
|
|
2031
2345
|
props: ItemProp,
|
|
2032
2346
|
setup(__props) {
|
|
@@ -2043,14 +2357,14 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
2043
2357
|
const _component_BasicSubMenuItem = resolveComponent("BasicSubMenuItem", true);
|
|
2044
2358
|
const _component_ASubMenu = SubMenu;
|
|
2045
2359
|
return openBlock(), createElementBlock(Fragment, null, [
|
|
2046
|
-
!menuHasChildren(unref(item)) && unref(getShowMenu) ? (openBlock(), createBlock(_sfc_main$
|
|
2360
|
+
!menuHasChildren(unref(item)) && unref(getShowMenu) ? (openBlock(), createBlock(_sfc_main$c, normalizeProps(mergeProps({ key: 0 }, props)), null, 16)) : createCommentVNode("", true),
|
|
2047
2361
|
menuHasChildren(unref(item)) && unref(getShowMenu) ? (openBlock(), createBlock(_component_ASubMenu, {
|
|
2048
2362
|
class: normalizeClass([unref(theme)]),
|
|
2049
2363
|
key: unref(item).id,
|
|
2050
2364
|
popupClassName: "app-top-menu-popup"
|
|
2051
2365
|
}, {
|
|
2052
2366
|
title: withCtx(() => [
|
|
2053
|
-
createVNode(_sfc_main$
|
|
2367
|
+
createVNode(_sfc_main$d, mergeProps(props, { item: unref(item) }), null, 16, ["item"])
|
|
2054
2368
|
]),
|
|
2055
2369
|
default: withCtx(() => [
|
|
2056
2370
|
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(item).children, (childrenItem) => {
|
|
@@ -2065,7 +2379,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
2065
2379
|
};
|
|
2066
2380
|
}
|
|
2067
2381
|
});
|
|
2068
|
-
const _sfc_main$
|
|
2382
|
+
const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
2069
2383
|
__name: "basic-menu",
|
|
2070
2384
|
props: BasicMenu,
|
|
2071
2385
|
emits: ["menuClick"],
|
|
@@ -2152,7 +2466,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
|
2152
2466
|
}, {
|
|
2153
2467
|
default: withCtx(() => [
|
|
2154
2468
|
(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.items, (item) => {
|
|
2155
|
-
return openBlock(), createBlock(_sfc_main$
|
|
2469
|
+
return openBlock(), createBlock(_sfc_main$b, {
|
|
2156
2470
|
key: item.id,
|
|
2157
2471
|
item,
|
|
2158
2472
|
theme: _ctx.theme,
|
|
@@ -2165,7 +2479,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
|
2165
2479
|
};
|
|
2166
2480
|
}
|
|
2167
2481
|
});
|
|
2168
|
-
const _sfc_main$
|
|
2482
|
+
const _sfc_main$9 = defineComponent({
|
|
2169
2483
|
name: "LayoutMenu",
|
|
2170
2484
|
props: {
|
|
2171
2485
|
theme: String,
|
|
@@ -2225,6 +2539,8 @@ const _sfc_main$c = defineComponent({
|
|
|
2225
2539
|
go(path);
|
|
2226
2540
|
}
|
|
2227
2541
|
function renderHeader() {
|
|
2542
|
+
if (!unref(getIsShowLogo))
|
|
2543
|
+
return null;
|
|
2228
2544
|
if (slots.logo) {
|
|
2229
2545
|
return createVNode(DtSlotContainer, {
|
|
2230
2546
|
"template": slots.logo,
|
|
@@ -2234,9 +2550,7 @@ const _sfc_main$c = defineComponent({
|
|
|
2234
2550
|
}
|
|
2235
2551
|
}, null);
|
|
2236
2552
|
}
|
|
2237
|
-
|
|
2238
|
-
return null;
|
|
2239
|
-
return createVNode(_sfc_main$w, {
|
|
2553
|
+
return createVNode(_sfc_main$q, {
|
|
2240
2554
|
"showTitle": !unref(getCollapsed),
|
|
2241
2555
|
"class": unref(getLogoClass),
|
|
2242
2556
|
"theme": unref(getComputedTheme)
|
|
@@ -2261,7 +2575,7 @@ const _sfc_main$c = defineComponent({
|
|
|
2261
2575
|
} = unref(getMenuProps);
|
|
2262
2576
|
if (!menus || !menus.length)
|
|
2263
2577
|
return null;
|
|
2264
|
-
return createVNode(_sfc_main$
|
|
2578
|
+
return createVNode(_sfc_main$a, mergeProps(menuProps, {
|
|
2265
2579
|
"isHorizontal": props.isHorizontal,
|
|
2266
2580
|
"type": unref(getMenuType),
|
|
2267
2581
|
"showLogo": unref(getIsShowLogo),
|
|
@@ -2276,12 +2590,15 @@ const _sfc_main$c = defineComponent({
|
|
|
2276
2590
|
};
|
|
2277
2591
|
}
|
|
2278
2592
|
});
|
|
2279
|
-
const _hoisted_1$
|
|
2280
|
-
|
|
2593
|
+
const _hoisted_1$3 = {
|
|
2594
|
+
key: 3,
|
|
2595
|
+
class: "max-w-full pl-3 pr-20 dt-reuse-tabs__top"
|
|
2596
|
+
};
|
|
2597
|
+
const _hoisted_2$1 = {
|
|
2281
2598
|
key: 0,
|
|
2282
2599
|
class: "flex-1 h-full min-w-0 items-center"
|
|
2283
2600
|
};
|
|
2284
|
-
const _sfc_main$
|
|
2601
|
+
const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
2285
2602
|
__name: "index",
|
|
2286
2603
|
props: {
|
|
2287
2604
|
fixed: Boolean
|
|
@@ -2302,12 +2619,14 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
|
2302
2619
|
getShowSearch,
|
|
2303
2620
|
getShowUiSize
|
|
2304
2621
|
} = useHeader();
|
|
2622
|
+
const { getShowMultipleTab, getMultipleTabPosIsTop } = useMultipleTab();
|
|
2305
2623
|
const getSplitType = computed(() => {
|
|
2306
2624
|
return unref(getSplit) ? MenuSplitTye.TOP : MenuSplitTye.NONE;
|
|
2307
2625
|
});
|
|
2308
2626
|
const getMenuMode = computed(() => {
|
|
2309
2627
|
return unref(getSplit) ? MenuMode.HORIZONTAL : null;
|
|
2310
2628
|
});
|
|
2629
|
+
const getShowTab = computed(() => unref(getShowMultipleTab) && unref(getMultipleTabPosIsTop));
|
|
2311
2630
|
const getHeaderCls = computed(() => {
|
|
2312
2631
|
let theme = unref(getHeaderTheme);
|
|
2313
2632
|
let cls = "dt-header flex p-0 items-center justify-between ";
|
|
@@ -2323,20 +2642,27 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
|
2323
2642
|
class: normalizeClass([unref(getHeaderCls), "flex items-center justify-between"])
|
|
2324
2643
|
}, {
|
|
2325
2644
|
default: withCtx(() => [
|
|
2326
|
-
createElementVNode("div",
|
|
2327
|
-
|
|
2645
|
+
createElementVNode("div", {
|
|
2646
|
+
class: normalizeClass(["dt-header-left flex h-full items-center", {
|
|
2647
|
+
"w-0 flex-1": unref(getShowTab)
|
|
2648
|
+
}])
|
|
2649
|
+
}, [
|
|
2650
|
+
unref(getShowHeaderLogo) ? (openBlock(), createBlock(unref(_sfc_main$q), {
|
|
2328
2651
|
key: 0,
|
|
2329
2652
|
theme: unref(getHeaderTheme),
|
|
2330
2653
|
class: "dt-header-logo"
|
|
2331
2654
|
}, null, 8, ["theme"])) : createCommentVNode("", true),
|
|
2332
|
-
unref(getShowHeaderTrigger) && !unref(getSplit) ? (openBlock(), createBlock(unref(_sfc_main$
|
|
2655
|
+
unref(getShowHeaderTrigger) && !unref(getSplit) && !unref(getShowTab) ? (openBlock(), createBlock(unref(_sfc_main$p), {
|
|
2333
2656
|
key: 1,
|
|
2334
2657
|
theme: unref(getHeaderTheme)
|
|
2335
2658
|
}, null, 8, ["theme"])) : createCommentVNode("", true),
|
|
2336
|
-
unref(getShowBread) ? (openBlock(), createBlock(unref(_sfc_main$
|
|
2337
|
-
|
|
2338
|
-
|
|
2339
|
-
|
|
2659
|
+
unref(getShowBread) && !unref(getShowTab) ? (openBlock(), createBlock(unref(_sfc_main$o), { key: 2 })) : createCommentVNode("", true),
|
|
2660
|
+
unref(getShowTab) ? (openBlock(), createElementBlock("div", _hoisted_1$3, [
|
|
2661
|
+
createVNode(_sfc_main$v)
|
|
2662
|
+
])) : createCommentVNode("", true)
|
|
2663
|
+
], 2),
|
|
2664
|
+
unref(getShowTopMenu) ? (openBlock(), createElementBlock("div", _hoisted_2$1, [
|
|
2665
|
+
createVNode(_sfc_main$9, {
|
|
2340
2666
|
isHorizontal: true,
|
|
2341
2667
|
theme: unref(getHeaderTheme),
|
|
2342
2668
|
splitType: unref(getSplitType),
|
|
@@ -2349,16 +2675,16 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
|
2349
2675
|
"padding-right": unref(getShowSettingTheme) ? "" : "20px"
|
|
2350
2676
|
})
|
|
2351
2677
|
}, [
|
|
2352
|
-
unref(getShowSearch) ? (openBlock(), createBlock(unref(_sfc_main$
|
|
2353
|
-
unref(getShowNotice) ? (openBlock(), createBlock(unref(_sfc_main$
|
|
2354
|
-
unref(getShowUiSize) ? (openBlock(), createBlock(unref(_sfc_main$
|
|
2355
|
-
unref(getShowFullScreen) ? (openBlock(), createBlock(unref(_sfc_main$
|
|
2356
|
-
unref(getShowLocale) ? (openBlock(), createBlock(unref(_sfc_main$
|
|
2678
|
+
unref(getShowSearch) ? (openBlock(), createBlock(unref(_sfc_main$n), { key: 0 })) : createCommentVNode("", true),
|
|
2679
|
+
unref(getShowNotice) ? (openBlock(), createBlock(unref(_sfc_main$l), { key: 1 })) : createCommentVNode("", true),
|
|
2680
|
+
unref(getShowUiSize) ? (openBlock(), createBlock(unref(_sfc_main$k), { key: 2 })) : createCommentVNode("", true),
|
|
2681
|
+
unref(getShowFullScreen) ? (openBlock(), createBlock(unref(_sfc_main$u), { key: 3 })) : createCommentVNode("", true),
|
|
2682
|
+
unref(getShowLocale) ? (openBlock(), createBlock(unref(_sfc_main$m), {
|
|
2357
2683
|
key: 4,
|
|
2358
2684
|
reload: true
|
|
2359
2685
|
})) : createCommentVNode("", true),
|
|
2360
|
-
createVNode(unref(_sfc_main$
|
|
2361
|
-
unref(getShowSettingTheme) ? (openBlock(), createBlock(unref(_sfc_main$
|
|
2686
|
+
createVNode(unref(_sfc_main$j)),
|
|
2687
|
+
unref(getShowSettingTheme) ? (openBlock(), createBlock(unref(_sfc_main$e), { key: 5 })) : createCommentVNode("", true)
|
|
2362
2688
|
], 4)
|
|
2363
2689
|
]),
|
|
2364
2690
|
_: 1
|
|
@@ -2393,7 +2719,7 @@ function useTrigger() {
|
|
|
2393
2719
|
});
|
|
2394
2720
|
return { getTriggerAttr, getShowTrigger };
|
|
2395
2721
|
}
|
|
2396
|
-
const _sfc_main$
|
|
2722
|
+
const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
2397
2723
|
__name: "sider-trigger",
|
|
2398
2724
|
props: {
|
|
2399
2725
|
type: {
|
|
@@ -2417,7 +2743,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
|
2417
2743
|
};
|
|
2418
2744
|
}
|
|
2419
2745
|
});
|
|
2420
|
-
const _sfc_main$
|
|
2746
|
+
const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
2421
2747
|
__name: "drag-bar",
|
|
2422
2748
|
setup(__props) {
|
|
2423
2749
|
const { getCollapsed, getCanDrag, getMenuWidth } = useMenu();
|
|
@@ -2443,16 +2769,16 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
2443
2769
|
};
|
|
2444
2770
|
}
|
|
2445
2771
|
});
|
|
2446
|
-
const _hoisted_1$
|
|
2447
|
-
const _hoisted_2
|
|
2448
|
-
const _hoisted_3
|
|
2772
|
+
const _hoisted_1$2 = { class: "dt-mix-sider__shallow-menu" };
|
|
2773
|
+
const _hoisted_2 = { class: "m-0" };
|
|
2774
|
+
const _hoisted_3 = { class: "dt-mix-sider__sub-shallow-menu" };
|
|
2449
2775
|
const _hoisted_4 = { key: 0 };
|
|
2450
2776
|
const _hoisted_5 = { class: "opacity-60 m-0 py-3 text-lg pt-6" };
|
|
2451
2777
|
const _hoisted_6 = ["onClick"];
|
|
2452
2778
|
const _hoisted_7 = { class: "m-0" };
|
|
2453
2779
|
const _hoisted_8 = ["onClick"];
|
|
2454
2780
|
const _hoisted_9 = { class: "m-0" };
|
|
2455
|
-
const _sfc_main$
|
|
2781
|
+
const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
2456
2782
|
__name: "mix-sider",
|
|
2457
2783
|
setup(__props) {
|
|
2458
2784
|
const MENU_WIDTH = 80;
|
|
@@ -2523,13 +2849,13 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
2523
2849
|
style: unref(getWrapStyle),
|
|
2524
2850
|
class: ["dt-mix-sider fixed top-0 left-0 h-full overflow-hidden", unref(getMenuTheme)]
|
|
2525
2851
|
}, getMenuEvents), [
|
|
2526
|
-
createVNode(_sfc_main$
|
|
2852
|
+
createVNode(_sfc_main$q, {
|
|
2527
2853
|
showTitle: false,
|
|
2528
2854
|
class: normalizeClass("justify-center z-10")
|
|
2529
2855
|
}),
|
|
2530
2856
|
createVNode(unref(DtScrollContainer), { class: "z-10" }, {
|
|
2531
2857
|
default: withCtx(() => [
|
|
2532
|
-
createElementVNode("ul", _hoisted_1$
|
|
2858
|
+
createElementVNode("ul", _hoisted_1$2, [
|
|
2533
2859
|
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(menuModules), (item) => {
|
|
2534
2860
|
return openBlock(), createElementBlock("li", mergeProps({
|
|
2535
2861
|
key: item.id,
|
|
@@ -2540,7 +2866,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
2540
2866
|
createElementVNode("i", {
|
|
2541
2867
|
class: normalizeClass(["i", item.icon])
|
|
2542
2868
|
}, null, 2),
|
|
2543
|
-
createElementVNode("p", _hoisted_2
|
|
2869
|
+
createElementVNode("p", _hoisted_2, toDisplayString(item.label), 1)
|
|
2544
2870
|
], 16);
|
|
2545
2871
|
}), 128))
|
|
2546
2872
|
])
|
|
@@ -2556,7 +2882,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
2556
2882
|
}, [
|
|
2557
2883
|
createVNode(unref(DtScrollContainer), null, {
|
|
2558
2884
|
default: withCtx(() => [
|
|
2559
|
-
createElementVNode("ul", _hoisted_3
|
|
2885
|
+
createElementVNode("ul", _hoisted_3, [
|
|
2560
2886
|
(openBlock(true), createElementBlock(Fragment, null, renderList(subMenus.value, (menu) => {
|
|
2561
2887
|
return openBlock(), createElementBlock("li", {
|
|
2562
2888
|
key: menu.id
|
|
@@ -2606,7 +2932,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
2606
2932
|
};
|
|
2607
2933
|
}
|
|
2608
2934
|
});
|
|
2609
|
-
const _sfc_main$
|
|
2935
|
+
const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
2610
2936
|
__name: "index",
|
|
2611
2937
|
setup(__props) {
|
|
2612
2938
|
const {
|
|
@@ -2666,10 +2992,10 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
2666
2992
|
const getMode = computed(() => {
|
|
2667
2993
|
return unref(getSplit) ? MenuMode.INLINE : null;
|
|
2668
2994
|
});
|
|
2669
|
-
const renderTrigger = h(_sfc_main$
|
|
2995
|
+
const renderTrigger = h(_sfc_main$7);
|
|
2670
2996
|
return (_ctx, _cache) => {
|
|
2671
2997
|
const _component_ALayoutSider = LayoutSider;
|
|
2672
|
-
return unref(getIsMixSidebar) ? (openBlock(), createBlock(_sfc_main$
|
|
2998
|
+
return unref(getIsMixSidebar) ? (openBlock(), createBlock(_sfc_main$5, {
|
|
2673
2999
|
key: 0
|
|
2674
3000
|
})) : (openBlock(), createElementBlock(Fragment, {
|
|
2675
3001
|
key: 1
|
|
@@ -2689,11 +3015,11 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
2689
3015
|
theme: unref(getMenuTheme),
|
|
2690
3016
|
trigger: unref(renderTrigger)
|
|
2691
3017
|
}, unref(getTriggerAttr)), {
|
|
2692
|
-
default: withCtx(() => [createVNode(_sfc_main$
|
|
3018
|
+
default: withCtx(() => [createVNode(_sfc_main$9, {
|
|
2693
3019
|
theme: unref(getMenuTheme),
|
|
2694
3020
|
menuMode: unref(getMode),
|
|
2695
3021
|
splitType: unref(getSplitType)
|
|
2696
|
-
}, null, 8, ["theme", "menuMode", "splitType"]), createVNode(_sfc_main$
|
|
3022
|
+
}, null, 8, ["theme", "menuMode", "splitType"]), createVNode(_sfc_main$6, {
|
|
2697
3023
|
ref_key: "dragBarRef",
|
|
2698
3024
|
ref: dragBarRef
|
|
2699
3025
|
}, null, 512)]),
|
|
@@ -2702,311 +3028,8 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
2702
3028
|
};
|
|
2703
3029
|
}
|
|
2704
3030
|
});
|
|
2705
|
-
const
|
|
2706
|
-
|
|
2707
|
-
_hoisted_1$4
|
|
2708
|
-
];
|
|
2709
|
-
const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
2710
|
-
__name: "TabRedo",
|
|
2711
|
-
setup(__props) {
|
|
2712
|
-
const tabStore = useRouteReuseStore();
|
|
2713
|
-
const router = useRouter();
|
|
2714
|
-
function handleRedo() {
|
|
2715
|
-
tabStore.refreshPage(router);
|
|
2716
|
-
}
|
|
2717
|
-
return (_ctx, _cache) => {
|
|
2718
|
-
return openBlock(), createElementBlock("span", {
|
|
2719
|
-
onClick: handleRedo,
|
|
2720
|
-
class: "inline-block w-9 h-9 leading-9 -mt-0.5 text-zinc-600 text-center cursor-pointer border-l border-zinc-300 hover:text-zinc-900"
|
|
2721
|
-
}, _hoisted_2$1);
|
|
2722
|
-
};
|
|
2723
|
-
}
|
|
2724
|
-
});
|
|
2725
|
-
function useTabDropdown() {
|
|
2726
|
-
const router = useRouter();
|
|
2727
|
-
const { currentRoute } = router;
|
|
2728
|
-
const tabStore = useRouteReuseStore();
|
|
2729
|
-
const state = reactive({
|
|
2730
|
-
current: null,
|
|
2731
|
-
currentIndex: 0
|
|
2732
|
-
});
|
|
2733
|
-
const getDropMenuList = computed(() => {
|
|
2734
|
-
const { t } = useI18n("UI");
|
|
2735
|
-
const { path, meta } = unref(currentRoute);
|
|
2736
|
-
const curItem = state.current;
|
|
2737
|
-
const isCurItem = curItem ? curItem.path === path : false;
|
|
2738
|
-
const index = state.currentIndex;
|
|
2739
|
-
const closeLeftDisabled = index === 0 || !isCurItem;
|
|
2740
|
-
const disabled = tabStore.getTabList.length === 1;
|
|
2741
|
-
const closeRightDisabled = !isCurItem || index === tabStore.getTabList.length - 1 && tabStore.getLastDragEndIndex >= 0;
|
|
2742
|
-
const dropMenuList = [
|
|
2743
|
-
{
|
|
2744
|
-
icon: "ic:baseline-close",
|
|
2745
|
-
text: t("CLOSE_CURRENT_TAG"),
|
|
2746
|
-
onClick: () => tabStore.closeTab(path, router),
|
|
2747
|
-
disabled: !!meta?.affix || disabled,
|
|
2748
|
-
divider: true
|
|
2749
|
-
},
|
|
2750
|
-
{
|
|
2751
|
-
icon: "mdi:arrow-collapse-left",
|
|
2752
|
-
text: t("CLOSE_LEFT_TAGS"),
|
|
2753
|
-
onClick: () => tabStore.closeLeftTabs(path),
|
|
2754
|
-
disabled: closeLeftDisabled,
|
|
2755
|
-
divider: false
|
|
2756
|
-
},
|
|
2757
|
-
{
|
|
2758
|
-
icon: "mdi:arrow-collapse-right",
|
|
2759
|
-
text: t("CLOSE_RIGHT_TAGS"),
|
|
2760
|
-
onClick: () => tabStore.closeRightTabs(path),
|
|
2761
|
-
disabled: closeRightDisabled,
|
|
2762
|
-
divider: true
|
|
2763
|
-
},
|
|
2764
|
-
{
|
|
2765
|
-
icon: "ic:baseline-sync-alt",
|
|
2766
|
-
text: t("CLOSE_OTHER_TAGS"),
|
|
2767
|
-
onClick: () => tabStore.closeOtherTabs(path),
|
|
2768
|
-
disabled: disabled || !isCurItem
|
|
2769
|
-
},
|
|
2770
|
-
{
|
|
2771
|
-
icon: "ic:baseline-horizontal-rule",
|
|
2772
|
-
text: t("CLOSE_ALL_TAGE"),
|
|
2773
|
-
onClick: () => tabStore.closeAllTab(currentRoute, router),
|
|
2774
|
-
disabled
|
|
2775
|
-
}
|
|
2776
|
-
];
|
|
2777
|
-
return dropMenuList;
|
|
2778
|
-
});
|
|
2779
|
-
function handleContext(e) {
|
|
2780
|
-
e?.preventDefault();
|
|
2781
|
-
const { path } = unref(currentRoute);
|
|
2782
|
-
const index = tabStore.getTabList.findIndex((tab) => tab.path === path);
|
|
2783
|
-
state.current = unref(currentRoute);
|
|
2784
|
-
state.currentIndex = index;
|
|
2785
|
-
}
|
|
2786
|
-
function handleMenuEvent(item) {
|
|
2787
|
-
item.onClick?.();
|
|
2788
|
-
}
|
|
2789
|
-
return {
|
|
2790
|
-
getDropMenuList,
|
|
2791
|
-
handleContext,
|
|
2792
|
-
handleMenuEvent
|
|
2793
|
-
};
|
|
2794
|
-
}
|
|
2795
|
-
const _hoisted_1$3 = /* @__PURE__ */ createElementVNode("i", { class: "block i ic:baseline-keyboard-arrow-down" }, null, -1);
|
|
2796
|
-
const _hoisted_2 = [
|
|
2797
|
-
_hoisted_1$3
|
|
2798
|
-
];
|
|
2799
|
-
const _hoisted_3 = { class: "text-13" };
|
|
2800
|
-
const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
2801
|
-
__name: "TabContent",
|
|
2802
|
-
setup(__props) {
|
|
2803
|
-
const { getDropMenuList, handleContext, handleMenuEvent } = useTabDropdown();
|
|
2804
|
-
return (_ctx, _cache) => {
|
|
2805
|
-
const _component_AMenuItem = MenuItem;
|
|
2806
|
-
const _component_AMenuDivider = MenuDivider;
|
|
2807
|
-
const _component_AMenu = Menu;
|
|
2808
|
-
const _component_ADropdown = Dropdown;
|
|
2809
|
-
return openBlock(), createBlock(_component_ADropdown, {
|
|
2810
|
-
placement: "bottomRight",
|
|
2811
|
-
trigger: ["click"],
|
|
2812
|
-
overlayClassName: "dt-reuse-tabs__dropdown"
|
|
2813
|
-
}, {
|
|
2814
|
-
overlay: withCtx(() => [
|
|
2815
|
-
createVNode(_component_AMenu, null, {
|
|
2816
|
-
default: withCtx(() => [
|
|
2817
|
-
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(getDropMenuList), (item, index) => {
|
|
2818
|
-
return openBlock(), createElementBlock(Fragment, { key: index }, [
|
|
2819
|
-
createVNode(_component_AMenuItem, {
|
|
2820
|
-
onClick: ($event) => unref(handleMenuEvent)(item),
|
|
2821
|
-
disabled: item.disabled
|
|
2822
|
-
}, {
|
|
2823
|
-
default: withCtx(() => [
|
|
2824
|
-
createElementVNode("i", {
|
|
2825
|
-
class: normalizeClass(["i pr-4", item.icon])
|
|
2826
|
-
}, null, 2),
|
|
2827
|
-
createElementVNode("span", _hoisted_3, toDisplayString(item.text), 1)
|
|
2828
|
-
]),
|
|
2829
|
-
_: 2
|
|
2830
|
-
}, 1032, ["onClick", "disabled"]),
|
|
2831
|
-
item.divider ? (openBlock(), createBlock(_component_AMenuDivider, {
|
|
2832
|
-
key: `d-${index}`
|
|
2833
|
-
})) : createCommentVNode("", true)
|
|
2834
|
-
], 64);
|
|
2835
|
-
}), 128))
|
|
2836
|
-
]),
|
|
2837
|
-
_: 1
|
|
2838
|
-
})
|
|
2839
|
-
]),
|
|
2840
|
-
default: withCtx(() => [
|
|
2841
|
-
createElementVNode("span", {
|
|
2842
|
-
onClick: _cache[0] || (_cache[0] = (...args) => unref(handleContext) && unref(handleContext)(...args)),
|
|
2843
|
-
class: "inline-block w-9 h-9 leading-9 -mt-0.5 text-zinc-600 text-center cursor-pointer border-l border-zinc-300 hover:text-zinc-900"
|
|
2844
|
-
}, _hoisted_2)
|
|
2845
|
-
]),
|
|
2846
|
-
_: 1
|
|
2847
|
-
});
|
|
2848
|
-
};
|
|
2849
|
-
}
|
|
2850
|
-
});
|
|
2851
|
-
function initAffixTabs() {
|
|
2852
|
-
const affixList = ref([]);
|
|
2853
|
-
const tabStore = useRouteReuseStore();
|
|
2854
|
-
const router = useRouter();
|
|
2855
|
-
const filterAffixTabs = (routes = []) => {
|
|
2856
|
-
return routes && routes.reduce((tabs, route) => {
|
|
2857
|
-
if (route.meta && route.meta.affix) {
|
|
2858
|
-
tabs.push(toRaw(route));
|
|
2859
|
-
}
|
|
2860
|
-
return tabs;
|
|
2861
|
-
}, []);
|
|
2862
|
-
};
|
|
2863
|
-
const addAffixTabs = () => {
|
|
2864
|
-
const affixTabs = filterAffixTabs(router.getRoutes());
|
|
2865
|
-
affixList.value = affixTabs;
|
|
2866
|
-
for (const tab of affixTabs) {
|
|
2867
|
-
tabStore.addTab({
|
|
2868
|
-
meta: tab.meta,
|
|
2869
|
-
name: tab.name,
|
|
2870
|
-
path: tab.path
|
|
2871
|
-
});
|
|
2872
|
-
}
|
|
2873
|
-
};
|
|
2874
|
-
let isAddAffix = false;
|
|
2875
|
-
if (!isAddAffix) {
|
|
2876
|
-
addAffixTabs();
|
|
2877
|
-
isAddAffix = true;
|
|
2878
|
-
}
|
|
2879
|
-
return affixList.value.map((item) => item.meta?.title).filter(Boolean);
|
|
2880
|
-
}
|
|
2881
|
-
function useSortable(el, options) {
|
|
2882
|
-
function initSortable() {
|
|
2883
|
-
nextTick(async () => {
|
|
2884
|
-
if (!el)
|
|
2885
|
-
return;
|
|
2886
|
-
const Sortable = (await import("sortablejs")).default;
|
|
2887
|
-
Sortable.create(unref(el), {
|
|
2888
|
-
animation: 500,
|
|
2889
|
-
delay: 400,
|
|
2890
|
-
delayOnTouchOnly: true,
|
|
2891
|
-
...options
|
|
2892
|
-
});
|
|
2893
|
-
});
|
|
2894
|
-
}
|
|
2895
|
-
return { initSortable };
|
|
2896
|
-
}
|
|
2897
|
-
function useTabsDrag(affixList) {
|
|
2898
|
-
const tabStore = useRouteReuseStore();
|
|
2899
|
-
const { getCanDrag } = useMultipleTab();
|
|
2900
|
-
nextTick(() => {
|
|
2901
|
-
if (!unref(getCanDrag))
|
|
2902
|
-
return;
|
|
2903
|
-
const el = document.querySelectorAll(`.dt-reuse-tabs .ant-tabs-nav-list`)?.[0];
|
|
2904
|
-
const { initSortable } = useSortable(el, {
|
|
2905
|
-
filter: (e) => {
|
|
2906
|
-
const text = e?.target?.innerText;
|
|
2907
|
-
if (!text)
|
|
2908
|
-
return false;
|
|
2909
|
-
return affixList.includes(text);
|
|
2910
|
-
},
|
|
2911
|
-
onEnd: (evt) => {
|
|
2912
|
-
const { oldIndex, newIndex } = evt;
|
|
2913
|
-
if (isNullAndUnDef(oldIndex) || isNullAndUnDef(newIndex) || oldIndex === newIndex)
|
|
2914
|
-
return;
|
|
2915
|
-
tabStore.sortTabs(oldIndex, newIndex);
|
|
2916
|
-
}
|
|
2917
|
-
});
|
|
2918
|
-
initSortable();
|
|
2919
|
-
});
|
|
2920
|
-
}
|
|
2921
|
-
const _hoisted_1$2 = { class: "dt-reuse-tabs leading-8 border-b border-solid border-gray-200" };
|
|
2922
|
-
const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
2923
|
-
__name: "index",
|
|
2924
|
-
setup(__props) {
|
|
2925
|
-
const { t } = useI18n("UI");
|
|
2926
|
-
const router = useRouter();
|
|
2927
|
-
const go = useGo(router);
|
|
2928
|
-
const tabStore = useRouteReuseStore();
|
|
2929
|
-
const { getShowQuick, getShowRedo } = useMultipleTab();
|
|
2930
|
-
const menuLabelMap = menuList2Map();
|
|
2931
|
-
const activeKeyRef = ref(null);
|
|
2932
|
-
const getTabsState = computed(() => {
|
|
2933
|
-
return tabStore.getTabList.filter((item) => !item.meta?.hideTab);
|
|
2934
|
-
});
|
|
2935
|
-
const unClose = computed(() => unref(getTabsState).length === 1);
|
|
2936
|
-
function handleChange(activeKey) {
|
|
2937
|
-
activeKeyRef.value = activeKey;
|
|
2938
|
-
go(activeKey);
|
|
2939
|
-
}
|
|
2940
|
-
function handleEdit(targetKey) {
|
|
2941
|
-
if (unref(unClose))
|
|
2942
|
-
return;
|
|
2943
|
-
tabStore.closeTab(targetKey, router);
|
|
2944
|
-
}
|
|
2945
|
-
const affixTextList = initAffixTabs();
|
|
2946
|
-
useTabsDrag(affixTextList);
|
|
2947
|
-
watch(
|
|
2948
|
-
() => router.currentRoute.value.path,
|
|
2949
|
-
(v) => {
|
|
2950
|
-
if (v === "/" || v === "/login")
|
|
2951
|
-
return;
|
|
2952
|
-
const { meta = {} } = unref(router.currentRoute);
|
|
2953
|
-
const { hideTab = false } = meta;
|
|
2954
|
-
if (activeKeyRef.value !== v) {
|
|
2955
|
-
activeKeyRef.value = v;
|
|
2956
|
-
}
|
|
2957
|
-
if (!hideTab) {
|
|
2958
|
-
tabStore.addTab(unref(router.currentRoute));
|
|
2959
|
-
}
|
|
2960
|
-
},
|
|
2961
|
-
{
|
|
2962
|
-
immediate: true
|
|
2963
|
-
}
|
|
2964
|
-
);
|
|
2965
|
-
return (_ctx, _cache) => {
|
|
2966
|
-
const _component_ATabPane = TabPane;
|
|
2967
|
-
const _component_ATabs = Tabs;
|
|
2968
|
-
return openBlock(), createElementBlock("div", _hoisted_1$2, [
|
|
2969
|
-
createVNode(_component_ATabs, {
|
|
2970
|
-
type: "editable-card",
|
|
2971
|
-
size: "small",
|
|
2972
|
-
animated: false,
|
|
2973
|
-
hideAdd: true,
|
|
2974
|
-
tabBarGutter: 3,
|
|
2975
|
-
activeKey: activeKeyRef.value,
|
|
2976
|
-
onChange: handleChange,
|
|
2977
|
-
onEdit: handleEdit,
|
|
2978
|
-
class: "h-8"
|
|
2979
|
-
}, createSlots({
|
|
2980
|
-
default: withCtx(() => [
|
|
2981
|
-
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(getTabsState), (item) => {
|
|
2982
|
-
return openBlock(), createBlock(_component_ATabPane, {
|
|
2983
|
-
key: item.query ? item.fullPath : item.path,
|
|
2984
|
-
closable: !(item && item.meta && item.meta.affix)
|
|
2985
|
-
}, {
|
|
2986
|
-
tab: withCtx(() => [
|
|
2987
|
-
createElementVNode("span", null, toDisplayString(unref(menuLabelMap).get(item.path) || unref(t)("UNKNOWN_ROUTE")), 1)
|
|
2988
|
-
]),
|
|
2989
|
-
_: 2
|
|
2990
|
-
}, 1032, ["closable"]);
|
|
2991
|
-
}), 128))
|
|
2992
|
-
]),
|
|
2993
|
-
_: 2
|
|
2994
|
-
}, [
|
|
2995
|
-
unref(getShowRedo) || unref(getShowQuick) ? {
|
|
2996
|
-
name: "rightExtra",
|
|
2997
|
-
fn: withCtx(() => [
|
|
2998
|
-
unref(getShowRedo) ? (openBlock(), createBlock(unref(_sfc_main$6), { key: 0 })) : createCommentVNode("", true),
|
|
2999
|
-
unref(getShowQuick) ? (openBlock(), createBlock(unref(_sfc_main$5), { key: 1 })) : createCommentVNode("", true)
|
|
3000
|
-
]),
|
|
3001
|
-
key: "0"
|
|
3002
|
-
} : void 0
|
|
3003
|
-
]), 1032, ["activeKey"])
|
|
3004
|
-
]);
|
|
3005
|
-
};
|
|
3006
|
-
}
|
|
3007
|
-
});
|
|
3008
|
-
const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
3009
|
-
__name: "multiple-header",
|
|
3031
|
+
const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
3032
|
+
__name: "multiple-header",
|
|
3010
3033
|
setup(__props) {
|
|
3011
3034
|
const {
|
|
3012
3035
|
getHeaderHeight,
|
|
@@ -3016,7 +3039,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
3016
3039
|
getTabsHeight
|
|
3017
3040
|
} = useHeader();
|
|
3018
3041
|
const { getCalcContentWidth, getIsMixMode, getSplit, getIsMixSidebar } = useMenu();
|
|
3019
|
-
const { getShowMultipleTab } = useMultipleTab();
|
|
3042
|
+
const { getShowMultipleTab, getMultipleTabPosIsTop } = useMultipleTab();
|
|
3020
3043
|
const getPlaceholderDomStyle = computed(() => {
|
|
3021
3044
|
let height = unref(getHeaderHeight);
|
|
3022
3045
|
if (unref(getIsMixMode)) {
|
|
@@ -3060,8 +3083,8 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
3060
3083
|
style: normalizeStyle(unref(getWrapStyle)),
|
|
3061
3084
|
class: normalizeClass(unref(getClass))
|
|
3062
3085
|
}, [
|
|
3063
|
-
unref(getShowInsetHeaderRef) ? (openBlock(), createBlock(_sfc_main$
|
|
3064
|
-
unref(getShowMultipleTab) ? (openBlock(), createBlock(_sfc_main$
|
|
3086
|
+
unref(getShowInsetHeaderRef) ? (openBlock(), createBlock(_sfc_main$8, { key: 0 })) : createCommentVNode("", true),
|
|
3087
|
+
unref(getShowMultipleTab) && !unref(getMultipleTabPosIsTop) ? (openBlock(), createBlock(_sfc_main$v, { key: 1 })) : createCommentVNode("", true)
|
|
3065
3088
|
], 6)
|
|
3066
3089
|
]);
|
|
3067
3090
|
};
|
|
@@ -3147,38 +3170,6 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
3147
3170
|
};
|
|
3148
3171
|
}
|
|
3149
3172
|
});
|
|
3150
|
-
var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
|
|
3151
|
-
var zhCn = { exports: {} };
|
|
3152
|
-
(function(module, exports) {
|
|
3153
|
-
!function(e, _) {
|
|
3154
|
-
module.exports = _(require$$0);
|
|
3155
|
-
}(commonjsGlobal, function(e) {
|
|
3156
|
-
function _(e2) {
|
|
3157
|
-
return e2 && "object" == typeof e2 && "default" in e2 ? e2 : { default: e2 };
|
|
3158
|
-
}
|
|
3159
|
-
var t = _(e), d = { name: "zh-cn", weekdays: "\u661F\u671F\u65E5_\u661F\u671F\u4E00_\u661F\u671F\u4E8C_\u661F\u671F\u4E09_\u661F\u671F\u56DB_\u661F\u671F\u4E94_\u661F\u671F\u516D".split("_"), weekdaysShort: "\u5468\u65E5_\u5468\u4E00_\u5468\u4E8C_\u5468\u4E09_\u5468\u56DB_\u5468\u4E94_\u5468\u516D".split("_"), weekdaysMin: "\u65E5_\u4E00_\u4E8C_\u4E09_\u56DB_\u4E94_\u516D".split("_"), months: "\u4E00\u6708_\u4E8C\u6708_\u4E09\u6708_\u56DB\u6708_\u4E94\u6708_\u516D\u6708_\u4E03\u6708_\u516B\u6708_\u4E5D\u6708_\u5341\u6708_\u5341\u4E00\u6708_\u5341\u4E8C\u6708".split("_"), monthsShort: "1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"), ordinal: function(e2, _2) {
|
|
3160
|
-
return "W" === _2 ? e2 + "\u5468" : e2 + "\u65E5";
|
|
3161
|
-
}, weekStart: 1, yearStart: 4, formats: { LT: "HH:mm", LTS: "HH:mm:ss", L: "YYYY/MM/DD", LL: "YYYY\u5E74M\u6708D\u65E5", LLL: "YYYY\u5E74M\u6708D\u65E5Ah\u70B9mm\u5206", LLLL: "YYYY\u5E74M\u6708D\u65E5ddddAh\u70B9mm\u5206", l: "YYYY/M/D", ll: "YYYY\u5E74M\u6708D\u65E5", lll: "YYYY\u5E74M\u6708D\u65E5 HH:mm", llll: "YYYY\u5E74M\u6708D\u65E5dddd HH:mm" }, relativeTime: { future: "%s\u5185", past: "%s\u524D", s: "\u51E0\u79D2", m: "1 \u5206\u949F", mm: "%d \u5206\u949F", h: "1 \u5C0F\u65F6", hh: "%d \u5C0F\u65F6", d: "1 \u5929", dd: "%d \u5929", M: "1 \u4E2A\u6708", MM: "%d \u4E2A\u6708", y: "1 \u5E74", yy: "%d \u5E74" }, meridiem: function(e2, _2) {
|
|
3162
|
-
var t2 = 100 * e2 + _2;
|
|
3163
|
-
return t2 < 600 ? "\u51CC\u6668" : t2 < 900 ? "\u65E9\u4E0A" : t2 < 1100 ? "\u4E0A\u5348" : t2 < 1300 ? "\u4E2D\u5348" : t2 < 1800 ? "\u4E0B\u5348" : "\u665A\u4E0A";
|
|
3164
|
-
} };
|
|
3165
|
-
return t.default.locale(d, null, true), d;
|
|
3166
|
-
});
|
|
3167
|
-
})(zhCn);
|
|
3168
|
-
var esUs = { exports: {} };
|
|
3169
|
-
(function(module, exports) {
|
|
3170
|
-
!function(e, s) {
|
|
3171
|
-
module.exports = s(require$$0);
|
|
3172
|
-
}(commonjsGlobal, function(e) {
|
|
3173
|
-
function s(e2) {
|
|
3174
|
-
return e2 && "object" == typeof e2 && "default" in e2 ? e2 : { default: e2 };
|
|
3175
|
-
}
|
|
3176
|
-
var o = s(e), d = { name: "es-us", weekdays: "domingo_lunes_martes_mi\xE9rcoles_jueves_viernes_s\xE1bado".split("_"), weekdaysShort: "dom._lun._mar._mi\xE9._jue._vie._s\xE1b.".split("_"), weekdaysMin: "do_lu_ma_mi_ju_vi_s\xE1".split("_"), months: "enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"), monthsShort: "ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"), relativeTime: { future: "en %s", past: "hace %s", s: "unos segundos", m: "un minuto", mm: "%d minutos", h: "una hora", hh: "%d horas", d: "un d\xEDa", dd: "%d d\xEDas", M: "un mes", MM: "%d meses", y: "un a\xF1o", yy: "%d a\xF1os" }, ordinal: function(e2) {
|
|
3177
|
-
return e2 + "\xBA";
|
|
3178
|
-
}, formats: { LT: "h:mm A", LTS: "h:mm:ss A", L: "MM/DD/YYYY", LL: "D [de] MMMM [de] YYYY", LLL: "D [de] MMMM [de] YYYY h:mm A", LLLL: "dddd, D [de] MMMM [de] YYYY h:mm A" } };
|
|
3179
|
-
return o.default.locale(d, null, true), d;
|
|
3180
|
-
});
|
|
3181
|
-
})(esUs);
|
|
3182
3173
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
3183
3174
|
__name: "index",
|
|
3184
3175
|
setup(__props) {
|
|
@@ -3187,7 +3178,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
3187
3178
|
const { getSplit, getShowMenu, getShowSidebar, getIsMixSidebar } = useMenu();
|
|
3188
3179
|
const { getFooter, getShowFooter } = useTheme();
|
|
3189
3180
|
const { height } = unref(getFooter);
|
|
3190
|
-
|
|
3181
|
+
dayjs.locale(unref(getIsZH) ? "zh-cn" : "en");
|
|
3191
3182
|
const layoutClass = computed(() => {
|
|
3192
3183
|
let cls = "ant-layout";
|
|
3193
3184
|
if (unref(getIsMixSidebar)) {
|
|
@@ -3229,7 +3220,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
3229
3220
|
}, {
|
|
3230
3221
|
default: withCtx(() => [
|
|
3231
3222
|
createVNode(_sfc_main$y),
|
|
3232
|
-
unref(getShowFullHeaderRef) ? (openBlock(), createBlock(_sfc_main$
|
|
3223
|
+
unref(getShowFullHeaderRef) ? (openBlock(), createBlock(_sfc_main$8, {
|
|
3233
3224
|
key: 0,
|
|
3234
3225
|
fixed: ""
|
|
3235
3226
|
})) : createCommentVNode("", true),
|
|
@@ -3238,7 +3229,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
3238
3229
|
style: normalizeStyle(unref(layoutOption))
|
|
3239
3230
|
}, {
|
|
3240
3231
|
default: withCtx(() => [
|
|
3241
|
-
unref(getShowSidebar) ? (openBlock(), createBlock(_sfc_main$
|
|
3232
|
+
unref(getShowSidebar) ? (openBlock(), createBlock(_sfc_main$4, { key: 0 })) : createCommentVNode("", true),
|
|
3242
3233
|
createVNode(_component_ALayout, { class: "dt-theme-main flex w-full h-ful transition-width duration-200" }, {
|
|
3243
3234
|
default: withCtx(() => [
|
|
3244
3235
|
createVNode(_sfc_main$3),
|
|
@@ -3469,7 +3460,9 @@ const ZH = {
|
|
|
3469
3460
|
const uiLang = (lang) => lang === Language.ZH ? ZH : EN;
|
|
3470
3461
|
const DtTheme = withInstall$1(_sfc_main);
|
|
3471
3462
|
export {
|
|
3463
|
+
ContentMode,
|
|
3472
3464
|
DtTheme,
|
|
3465
|
+
UiSize,
|
|
3473
3466
|
defaultThemeConf,
|
|
3474
3467
|
uiLang,
|
|
3475
3468
|
useRouteReuseStore,
|