zmdms-webui 0.0.110 → 0.0.112
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.
|
@@ -26,6 +26,15 @@ interface ILayoutSiderProps {
|
|
|
26
26
|
selectMainMenu?: (activeTab: any) => any;
|
|
27
27
|
/** 菜单拼接规则 */
|
|
28
28
|
menuJoinRule?: (menuInfo: any, preFix: string) => boolean | string;
|
|
29
|
+
/**
|
|
30
|
+
* 自定义渲染菜单
|
|
31
|
+
* addTab({
|
|
32
|
+
key: newPath,
|
|
33
|
+
path: newPath,
|
|
34
|
+
label: menuItem.name,
|
|
35
|
+
})
|
|
36
|
+
**/
|
|
37
|
+
renderItem?: (path: string, menu: any, onClick: any) => React__default.ReactNode | false;
|
|
29
38
|
}
|
|
30
39
|
declare const _default: React__default.NamedExoticComponent<ILayoutSiderProps>;
|
|
31
40
|
|
|
@@ -10,7 +10,7 @@ import { Layout } from 'antd';
|
|
|
10
10
|
*/
|
|
11
11
|
var AppLayoutSider = function (props) {
|
|
12
12
|
// console.log("layout-sider- rerender");
|
|
13
|
-
var _a = props.siderWidth, siderWidth = _a === void 0 ? 118 : _a, _b = props.subMenuWidth, subMenuWidth = _b === void 0 ? 162 : _b, addTab = props.addTab, siderBg = props.siderBg, logo = props.logo, apps = props.apps, activeTab = props.activeTab, userMenus = props.userMenus, userSubMenus = props.userSubMenus, mergeSystemIds = props.mergeSystemIds, postMergeSystemIds = props.postMergeSystemIds, drawerTitle = props.drawerTitle, selectMainMenu = props.selectMainMenu, menuJoinRule = props.menuJoinRule;
|
|
13
|
+
var _a = props.siderWidth, siderWidth = _a === void 0 ? 118 : _a, _b = props.subMenuWidth, subMenuWidth = _b === void 0 ? 162 : _b, addTab = props.addTab, siderBg = props.siderBg, logo = props.logo, apps = props.apps, activeTab = props.activeTab, userMenus = props.userMenus, userSubMenus = props.userSubMenus, mergeSystemIds = props.mergeSystemIds, postMergeSystemIds = props.postMergeSystemIds, drawerTitle = props.drawerTitle, selectMainMenu = props.selectMainMenu, menuJoinRule = props.menuJoinRule, renderItem = props.renderItem;
|
|
14
14
|
// 当前选中的主菜单item
|
|
15
15
|
var _c = useState([]), mainMenuSelectedKeys = _c[0], setMainMenuSelectedKeys = _c[1];
|
|
16
16
|
var layoutSiderRef = useRef();
|
|
@@ -38,6 +38,7 @@ var AppLayoutSider = function (props) {
|
|
|
38
38
|
drawerTitle: drawerTitle,
|
|
39
39
|
selectMainMenu: selectMainMenu,
|
|
40
40
|
menuJoinRule: menuJoinRule,
|
|
41
|
+
renderItem: renderItem,
|
|
41
42
|
} }, { children: jsx(Menu, { width: siderWidth, subMenuWidth: subMenuWidth, layoutSiderRef: layoutSiderRef, addTab: addTab, logo: logo, getPrefixByAppId: getPrefixByAppId }) })) })));
|
|
42
43
|
};
|
|
43
44
|
AppLayoutSider.displayName = "ZTXK_WEBUI_AppLayoutSider";
|
|
@@ -9,7 +9,7 @@ import { Menu } from 'antd';
|
|
|
9
9
|
|
|
10
10
|
var MainMenu = function (props) {
|
|
11
11
|
var onMouseEnter = props.onMouseEnter, addTab = props.addTab, getPrefixByAppId = props.getPrefixByAppId, subMenu = props.subMenu;
|
|
12
|
-
var _a = useContext(LayoutMenuContext), mainMenuSelectedKeys = _a.mainMenuSelectedKeys, setMainMenuSelectedKeys = _a.setMainMenuSelectedKeys, userMenus = _a.userMenus, apps = _a.apps, mergeSystemIds = _a.mergeSystemIds, postMergeSystemIds = _a.postMergeSystemIds, menuJoinRule = _a.menuJoinRule;
|
|
12
|
+
var _a = useContext(LayoutMenuContext), mainMenuSelectedKeys = _a.mainMenuSelectedKeys, setMainMenuSelectedKeys = _a.setMainMenuSelectedKeys, userMenus = _a.userMenus, apps = _a.apps, mergeSystemIds = _a.mergeSystemIds, postMergeSystemIds = _a.postMergeSystemIds, menuJoinRule = _a.menuJoinRule, renderItem = _a.renderItem;
|
|
13
13
|
// 获取主菜单展开的内容
|
|
14
14
|
var _b = useMainMenuOpenKeys(userMenus, mainMenuSelectedKeys, { apps: apps, mergeSystemIds: mergeSystemIds, postMergeSystemIds: postMergeSystemIds }), mainMenuOpenKeys = _b.mainMenuOpenKeys, onMainMenuOpenChange = _b.onMainMenuOpenChange;
|
|
15
15
|
// 创建主菜单标签
|
|
@@ -29,6 +29,12 @@ var MainMenu = function (props) {
|
|
|
29
29
|
: prefix
|
|
30
30
|
? "/".concat(prefix).concat(path)
|
|
31
31
|
: path;
|
|
32
|
+
if (renderItem) {
|
|
33
|
+
var result = renderItem(newPath, menuItem, addTab);
|
|
34
|
+
if (result) {
|
|
35
|
+
return result;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
32
38
|
// 根据type的类型做出不同的处理 这里只是留个入口 暂时没有特别的处理
|
|
33
39
|
// 如果是以 _index结尾,说明是首页,路由保留
|
|
34
40
|
// 并且要是顶层 并且之前的路由要是 /
|
|
@@ -57,7 +63,7 @@ var MainMenu = function (props) {
|
|
|
57
63
|
label: menuItem.name,
|
|
58
64
|
});
|
|
59
65
|
} }, { children: menuItem.name })));
|
|
60
|
-
}, [addTab, getPrefixByAppId, menuJoinRule]);
|
|
66
|
+
}, [addTab, getPrefixByAppId, menuJoinRule, renderItem]);
|
|
61
67
|
var items = useMemo(function () {
|
|
62
68
|
var _a;
|
|
63
69
|
if (!Array.isArray(userMenus)) {
|
|
@@ -12,7 +12,7 @@ import { Drawer, Menu } from 'antd';
|
|
|
12
12
|
var defaultSubMenu = [];
|
|
13
13
|
var SubMenu = function (props, ref) {
|
|
14
14
|
var marginLeft = props.marginLeft, subMenuWidth = props.subMenuWidth, layoutSiderRef = props.layoutSiderRef, addTab = props.addTab, getPrefixByAppId = props.getPrefixByAppId;
|
|
15
|
-
var _a = useContext(LayoutMenuContext), mainMenuSelectedKeys = _a.mainMenuSelectedKeys, setMainMenuSelectedKeys = _a.setMainMenuSelectedKeys, activeTab = _a.activeTab, userSubMenus = _a.userSubMenus, drawerTitle = _a.drawerTitle, selectMainMenu = _a.selectMainMenu, menuJoinRule = _a.menuJoinRule;
|
|
15
|
+
var _a = useContext(LayoutMenuContext), mainMenuSelectedKeys = _a.mainMenuSelectedKeys, setMainMenuSelectedKeys = _a.setMainMenuSelectedKeys, activeTab = _a.activeTab, userSubMenus = _a.userSubMenus, drawerTitle = _a.drawerTitle, selectMainMenu = _a.selectMainMenu, menuJoinRule = _a.menuJoinRule, renderItem = _a.renderItem;
|
|
16
16
|
// 二级菜单当前选中项
|
|
17
17
|
var subMenusSelectedKeys = useMemo(function () {
|
|
18
18
|
return activeTab ? [activeTab] : [];
|
|
@@ -89,8 +89,17 @@ var SubMenu = function (props, ref) {
|
|
|
89
89
|
: prefix
|
|
90
90
|
? "/".concat(prefix).concat(path)
|
|
91
91
|
: path;
|
|
92
|
-
var
|
|
93
|
-
|
|
92
|
+
var getLabel = function () {
|
|
93
|
+
if (renderItem) {
|
|
94
|
+
var result = renderItem(newPath, menuItem, function (info) {
|
|
95
|
+
isClickSubMenu.current = true;
|
|
96
|
+
addTab(info);
|
|
97
|
+
});
|
|
98
|
+
if (result) {
|
|
99
|
+
return result;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return newPath === "/" ? (menuItem.name) : (jsx(Link, __assign({ to: newPath, onClick: function () {
|
|
94
103
|
isClickSubMenu.current = true;
|
|
95
104
|
// 增加一个页签
|
|
96
105
|
addTab({
|
|
@@ -98,7 +107,10 @@ var SubMenu = function (props, ref) {
|
|
|
98
107
|
path: newPath,
|
|
99
108
|
label: menuItem.name,
|
|
100
109
|
});
|
|
101
|
-
} }, { children: menuItem.name })))
|
|
110
|
+
} }, { children: menuItem.name })));
|
|
111
|
+
};
|
|
112
|
+
var subMenuItem = {
|
|
113
|
+
label: getLabel(),
|
|
102
114
|
title: menuItem.name,
|
|
103
115
|
// key: menuItem.id,
|
|
104
116
|
key: newPath === "/" ? menuItem.id : newPath,
|
|
@@ -116,7 +128,7 @@ var SubMenu = function (props, ref) {
|
|
|
116
128
|
};
|
|
117
129
|
var newSubMenusItems = dfn(subMenus);
|
|
118
130
|
return newSubMenusItems;
|
|
119
|
-
}, [subMenus, addTab, getPrefixByAppId, menuJoinRule]);
|
|
131
|
+
}, [subMenus, addTab, getPrefixByAppId, menuJoinRule, renderItem]);
|
|
120
132
|
var classes = classNames("zmdms-menu--sub", {
|
|
121
133
|
"zmdms-menu--sub-margin": !drawerTitle,
|
|
122
134
|
});
|