@jetlinks-web/components 2.0.2 → 2.0.4-1
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/AMap/Map.js +125 -0
- package/es/AMap/index.js +2 -0
- package/es/AMap/util.js +56 -0
- package/es/BadgeStatus/Badge.js +54 -0
- package/es/BadgeStatus/color.js +21 -0
- package/es/BadgeStatus/index.js +3 -0
- package/es/CardSelect/CardSelect.js +123 -0
- package/es/CardSelect/index.js +2 -0
- package/es/CheckButton/CheckButton.js +120 -0
- package/es/CheckButton/index.js +2 -0
- package/es/CheckButton/style/index.css +37 -0
- package/es/CheckButton/style/index.less +40 -0
- package/es/ConfigProvider/context.js +12 -0
- package/es/ConfigProvider/index.js +31 -0
- package/es/Echarts/Echarts.js +47 -0
- package/es/Echarts/index.js +2 -0
- package/es/Ellipsis/Ellipsis.js +184 -0
- package/es/Ellipsis/index.js +2 -0
- package/es/Ellipsis/style/index.css +17 -0
- package/es/Ellipsis/style/index.less +20 -0
- package/es/Empty/Empty.js +56 -0
- package/es/Empty/image.js +2 -0
- package/es/Empty/index.js +2 -0
- package/es/FullPage/FullPage.js +31 -0
- package/es/FullPage/index.js +2 -0
- package/es/Icon/icon.js +42 -0
- package/{src/Icon/index.ts → es/Icon/index.js} +2 -3
- package/es/MonacoEditor/Monaco.js +238 -0
- package/es/MonacoEditor/index.js +2 -0
- package/es/PermissionButton/index.js +117 -0
- package/es/ProLayout/Basic/BasicLayout.js +259 -0
- package/es/ProLayout/Basic/Header.js +97 -0
- package/es/ProLayout/PageContainer/index.js +324 -0
- package/es/ProLayout/PageContainer/typings.js +1 -0
- package/es/ProLayout/RouteContext.js +22 -0
- package/es/ProLayout/SiderMenu/BaseMenu.js +285 -0
- package/es/ProLayout/SiderMenu/SiderMenu.js +278 -0
- package/es/ProLayout/SiderMenu/index.js +2 -0
- package/es/ProLayout/SiderMenu/typings.js +1 -0
- package/es/ProLayout/TopHeader/index.js +163 -0
- package/es/ProLayout/defaultSettings.js +66 -0
- package/{src/ProLayout/index.ts → es/ProLayout/index.js} +4 -6
- package/{src → es}/ProLayout/style/default.less +1 -1
- package/es/ProLayout/style/index.js +1 -0
- package/es/ProLayout/typings.js +1 -0
- package/es/ProLayout/util.js +61 -0
- package/es/ProTable/index.js +411 -0
- package/es/ProTable/proTableTypes.js +11 -0
- package/es/ProTable/style/index.css +65 -0
- package/es/ProTable/style/index.js +1 -0
- package/{src → es}/ProTable/style/index.less +92 -92
- package/es/Scrollbar/Bar.js +114 -0
- package/es/Scrollbar/Scrollbar.js +212 -0
- package/es/Scrollbar/Thumb.js +189 -0
- package/es/Scrollbar/constants.js +1 -0
- package/es/Scrollbar/index.js +2 -0
- package/es/Scrollbar/scrollbarProps.js +100 -0
- package/es/Scrollbar/thumbProps.js +10 -0
- package/es/Scrollbar/util.js +30 -0
- package/es/Search/Advanced/History.js +183 -0
- package/es/Search/Advanced/SaveHistory.js +153 -0
- package/es/Search/Advanced/index.js +520 -0
- package/es/Search/Item.js +497 -0
- package/es/Search/Search.js +249 -0
- package/es/Search/hooks/index.js +1 -0
- package/es/Search/hooks/useSearchItems.js +40 -0
- package/es/Search/index.js +4 -0
- package/es/Search/setting.js +91 -0
- package/es/Search/style/Item.less +33 -0
- package/es/Search/style/Search.less +179 -0
- package/es/Search/style/index.js +2 -0
- package/es/Search/typing.js +1 -0
- package/es/Search/util.js +234 -0
- package/es/ValueItem/ValueItem.js +233 -0
- package/es/ValueItem/index.js +2 -0
- package/es/ValueItem/util.js +16 -0
- package/es/index.js +24 -0
- package/es/style/index.js +3 -0
- package/es/style/variable.css +0 -0
- package/{src → es}/style/variable.less +2 -4
- package/es/style.js +5 -0
- package/lib/AMap/Map.js +125 -0
- package/lib/AMap/index.js +9 -0
- package/lib/AMap/util.js +62 -0
- package/lib/BadgeStatus/Badge.js +54 -0
- package/lib/BadgeStatus/color.js +27 -0
- package/lib/BadgeStatus/index.js +22 -0
- package/lib/CardSelect/CardSelect.js +123 -0
- package/lib/CardSelect/index.js +9 -0
- package/lib/CheckButton/CheckButton.js +120 -0
- package/lib/CheckButton/index.js +9 -0
- package/lib/CheckButton/style/index.css +37 -0
- package/lib/CheckButton/style/index.less +40 -0
- package/lib/ConfigProvider/context.js +19 -0
- package/lib/ConfigProvider/index.js +37 -0
- package/lib/Echarts/Echarts.js +47 -0
- package/lib/Echarts/index.js +9 -0
- package/lib/Ellipsis/Ellipsis.js +184 -0
- package/lib/Ellipsis/index.js +9 -0
- package/lib/Ellipsis/style/index.css +17 -0
- package/lib/Ellipsis/style/index.less +20 -0
- package/lib/Empty/Empty.js +56 -0
- package/lib/Empty/image.js +8 -0
- package/lib/Empty/index.js +9 -0
- package/lib/FullPage/FullPage.js +31 -0
- package/lib/FullPage/index.js +9 -0
- package/lib/Icon/icon.js +52 -0
- package/lib/Icon/index.js +9 -0
- package/lib/MonacoEditor/Monaco.js +238 -0
- package/lib/MonacoEditor/index.js +9 -0
- package/lib/PermissionButton/index.js +124 -0
- package/lib/ProLayout/Basic/BasicLayout.js +268 -0
- package/lib/ProLayout/Basic/BasicLayout.less +66 -0
- package/lib/ProLayout/Basic/Header.js +103 -0
- package/lib/ProLayout/Basic/Header.less +8 -0
- package/lib/ProLayout/PageContainer/index.js +327 -0
- package/lib/ProLayout/PageContainer/index.less +103 -0
- package/lib/ProLayout/PageContainer/typings.js +5 -0
- package/lib/ProLayout/RouteContext.js +28 -0
- package/lib/ProLayout/SiderMenu/BaseMenu.js +290 -0
- package/lib/ProLayout/SiderMenu/SiderMenu.js +287 -0
- package/lib/ProLayout/SiderMenu/index.js +20 -0
- package/lib/ProLayout/SiderMenu/index.less +212 -0
- package/lib/ProLayout/SiderMenu/typings.js +5 -0
- package/lib/ProLayout/TopHeader/index.js +168 -0
- package/lib/ProLayout/TopHeader/index.less +174 -0
- package/lib/ProLayout/defaultSettings.js +72 -0
- package/lib/ProLayout/index.js +16 -0
- package/lib/ProLayout/style/default.less +4 -0
- package/lib/ProLayout/style/index.js +3 -0
- package/lib/ProLayout/style/style.less +7 -0
- package/lib/ProLayout/typings.js +5 -0
- package/lib/ProLayout/util.js +72 -0
- package/lib/ProTable/index.js +417 -0
- package/lib/ProTable/proTableTypes.js +17 -0
- package/lib/ProTable/style/index.css +65 -0
- package/lib/ProTable/style/index.js +3 -0
- package/lib/ProTable/style/index.less +92 -0
- package/lib/Scrollbar/Bar.js +114 -0
- package/lib/Scrollbar/Scrollbar.js +212 -0
- package/lib/Scrollbar/Thumb.js +189 -0
- package/lib/Scrollbar/constants.js +7 -0
- package/lib/Scrollbar/index.js +9 -0
- package/{src/Scrollbar/scrollbar.ts → lib/Scrollbar/scrollbarProps.js} +106 -108
- package/lib/Scrollbar/thumbProps.js +16 -0
- package/lib/Scrollbar/util.js +37 -0
- package/lib/Search/Advanced/History.js +183 -0
- package/lib/Search/Advanced/SaveHistory.js +153 -0
- package/lib/Search/Advanced/index.js +520 -0
- package/lib/Search/Item.js +497 -0
- package/lib/Search/Search.js +249 -0
- package/lib/Search/hooks/index.js +16 -0
- package/lib/Search/hooks/useSearchItems.js +47 -0
- package/lib/Search/index.js +16 -0
- package/lib/Search/setting.js +97 -0
- package/lib/Search/style/Item.less +33 -0
- package/lib/Search/style/Search.less +179 -0
- package/lib/Search/style/index.js +4 -0
- package/lib/Search/typing.js +5 -0
- package/lib/Search/util.js +241 -0
- package/lib/ValueItem/ValueItem.js +233 -0
- package/lib/ValueItem/index.js +9 -0
- package/lib/ValueItem/util.js +22 -0
- package/lib/index.js +158 -0
- package/lib/style/components.less +3 -0
- package/lib/style/index.js +4 -0
- package/lib/style/variable.css +0 -0
- package/lib/style/variable.less +2 -0
- package/lib/style.js +7 -0
- package/package.json +123 -13
- package/index.ts +0 -64
- package/src/AMap/Map.vue +0 -110
- package/src/AMap/index.ts +0 -1
- package/src/AMap/util.ts +0 -56
- package/src/BadgeStatus/Badge.vue +0 -41
- package/src/BadgeStatus/color.ts +0 -25
- package/src/BadgeStatus/index.ts +0 -4
- package/src/CardSelect/CardSelect.vue +0 -136
- package/src/CardSelect/index.ts +0 -3
- package/src/CheckButton/CheckButton.vue +0 -146
- package/src/CheckButton/index.md +0 -27
- package/src/CheckButton/index.ts +0 -3
- package/src/ConfigProvider/context.ts +0 -17
- package/src/ConfigProvider/index.tsx +0 -42
- package/src/Echarts/Echarts.vue +0 -43
- package/src/Echarts/index.ts +0 -3
- package/src/Ellipsis/Ellipsis.vue +0 -182
- package/src/Ellipsis/index.ts +0 -3
- package/src/Empty/Empty.vue +0 -43
- package/src/Empty/image.ts +0 -3
- package/src/Empty/index.ts +0 -2
- package/src/FullPage/FullPage.vue +0 -30
- package/src/FullPage/index.ts +0 -3
- package/src/Icon/icon.tsx +0 -40
- package/src/MonacoEditor/Monaco.vue +0 -242
- package/src/MonacoEditor/index.md +0 -26
- package/src/MonacoEditor/index.ts +0 -2
- package/src/PermissionButton/index.tsx +0 -110
- package/src/ProLayout/Basic/BasicLayout.tsx +0 -392
- package/src/ProLayout/Basic/Header.tsx +0 -115
- package/src/ProLayout/PageContainer/index.tsx +0 -441
- package/src/ProLayout/PageContainer/typings.ts +0 -56
- package/src/ProLayout/RouteContext.ts +0 -87
- package/src/ProLayout/SiderMenu/BaseMenu.tsx +0 -296
- package/src/ProLayout/SiderMenu/SiderMenu.tsx +0 -320
- package/src/ProLayout/SiderMenu/index.ts +0 -2
- package/src/ProLayout/SiderMenu/typings.ts +0 -49
- package/src/ProLayout/TopHeader/index.tsx +0 -210
- package/src/ProLayout/defaultSettings.ts +0 -106
- package/src/ProLayout/style/index.ts +0 -1
- package/src/ProLayout/typings.ts +0 -87
- package/src/ProLayout/util.ts +0 -64
- package/src/ProTable/index.md +0 -53
- package/src/ProTable/index.tsx +0 -551
- package/src/ProTable/proTableTypes.ts +0 -70
- package/src/ProTable/style/index.ts +0 -1
- package/src/Scrollbar/Bar.vue +0 -75
- package/src/Scrollbar/Scrollbar.vue +0 -260
- package/src/Scrollbar/Thumb.vue +0 -163
- package/src/Scrollbar/constants.ts +0 -10
- package/src/Scrollbar/index.ts +0 -4
- package/src/Scrollbar/thumb.ts +0 -16
- package/src/Scrollbar/util.ts +0 -38
- package/src/Search/Advanced/History.vue +0 -140
- package/src/Search/Advanced/SaveHistory.vue +0 -108
- package/src/Search/Advanced/index.vue +0 -435
- package/src/Search/Item.vue +0 -525
- package/src/Search/Search.vue +0 -398
- package/src/Search/hooks/index.ts +0 -1
- package/src/Search/hooks/useSearchItems.ts +0 -68
- package/src/Search/index.md +0 -57
- package/src/Search/index.ts +0 -5
- package/src/Search/setting.ts +0 -55
- package/src/Search/typing.ts +0 -76
- package/src/Search/util.ts +0 -263
- package/src/ValueItem/ValueItem.vue +0 -192
- package/src/ValueItem/index.ts +0 -3
- package/src/ValueItem/util.ts +0 -16
- package/src/style/index.ts +0 -3
- /package/{src → es}/ProLayout/Basic/BasicLayout.less +0 -0
- /package/{src → es}/ProLayout/Basic/Header.less +0 -0
- /package/{src → es}/ProLayout/PageContainer/index.less +0 -0
- /package/{src → es}/ProLayout/SiderMenu/index.less +0 -0
- /package/{src → es}/ProLayout/TopHeader/index.less +0 -0
- /package/{src → es}/ProLayout/style/style.less +0 -0
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
3
|
+
import { createVNode as _createVNode, isVNode as _isVNode, Fragment as _Fragment } from "vue";
|
|
4
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
5
|
+
import { LayoutSider as Sider, Menu } from 'ant-design-vue';
|
|
6
|
+
import BaseMenu, { baseMenuProps } from './BaseMenu';
|
|
7
|
+
import { defaultSettingProps } from '../defaultSettings';
|
|
8
|
+
import PropTypes from 'ant-design-vue/es/_util/vue-types';
|
|
9
|
+
import IconFont from '../../Icon';
|
|
10
|
+
import { useRouteContext } from '../RouteContext';
|
|
11
|
+
import { computed, unref } from 'vue';
|
|
12
|
+
function _isSlot(s) {
|
|
13
|
+
return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);
|
|
14
|
+
}
|
|
15
|
+
export var siderMenuProps = _objectSpread(_objectSpread(_objectSpread({}, defaultSettingProps), baseMenuProps), {}, {
|
|
16
|
+
logo: {
|
|
17
|
+
type: [Object, String, Function],
|
|
18
|
+
default: function _default() {
|
|
19
|
+
return undefined;
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
logoStyle: {
|
|
23
|
+
type: Object,
|
|
24
|
+
default: function _default() {
|
|
25
|
+
return undefined;
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
siderWidth: PropTypes.number.def(208),
|
|
29
|
+
headerHeight: PropTypes.number.def(48),
|
|
30
|
+
collapsedWidth: PropTypes.number.def(48),
|
|
31
|
+
menuHeaderRender: {
|
|
32
|
+
type: [Function, Object, Boolean],
|
|
33
|
+
default: function _default() {
|
|
34
|
+
return undefined;
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
menuContentRender: {
|
|
38
|
+
type: [Function, Object, Boolean],
|
|
39
|
+
default: function _default() {
|
|
40
|
+
return undefined;
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
menuExtraRender: {
|
|
44
|
+
type: [Function, Object, Boolean],
|
|
45
|
+
default: function _default() {
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
collapsedButtonRender: {
|
|
50
|
+
type: [Function, Object, Boolean],
|
|
51
|
+
default: function _default() {
|
|
52
|
+
return undefined;
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
breakpoint: {
|
|
56
|
+
type: [Object, Boolean],
|
|
57
|
+
default: function _default() {
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
splitMenus: PropTypes.looseBool,
|
|
62
|
+
fixed: PropTypes.looseBool,
|
|
63
|
+
hide: PropTypes.looseBool,
|
|
64
|
+
matchMenuKeys: {
|
|
65
|
+
type: Array,
|
|
66
|
+
default: function _default() {
|
|
67
|
+
return [];
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
// events
|
|
71
|
+
onMenuHeaderClick: PropTypes.func,
|
|
72
|
+
onMenuClick: PropTypes.func,
|
|
73
|
+
onCollapse: {
|
|
74
|
+
type: Function
|
|
75
|
+
},
|
|
76
|
+
onOpenKeys: {
|
|
77
|
+
type: Function
|
|
78
|
+
},
|
|
79
|
+
onSelect: {
|
|
80
|
+
type: Function
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
export var defaultRenderLogo = function defaultRenderLogo(logo, logoStyle) {
|
|
84
|
+
if (!logo) {
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
if (typeof logo === 'string') {
|
|
88
|
+
return _createVNode("img", {
|
|
89
|
+
"src": logo,
|
|
90
|
+
"alt": "logo",
|
|
91
|
+
"style": logoStyle
|
|
92
|
+
}, null);
|
|
93
|
+
}
|
|
94
|
+
if (typeof logo === 'function') {
|
|
95
|
+
// @ts-ignore
|
|
96
|
+
return logo();
|
|
97
|
+
}
|
|
98
|
+
return logo;
|
|
99
|
+
};
|
|
100
|
+
export var defaultRenderLogoAndTitle = function defaultRenderLogoAndTitle(props) {
|
|
101
|
+
var renderKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'menuHeaderRender';
|
|
102
|
+
var _props$logo = props.logo,
|
|
103
|
+
logo = _props$logo === void 0 ? 'http://demo.jetlinks.cn/static/logo.760eb65c.png' : _props$logo,
|
|
104
|
+
logoStyle = props.logoStyle,
|
|
105
|
+
title = props.title,
|
|
106
|
+
layout = props.layout;
|
|
107
|
+
var renderFunction = props[renderKey || ''];
|
|
108
|
+
if (layout === 'mix' && renderFunction === false) {
|
|
109
|
+
return null;
|
|
110
|
+
}
|
|
111
|
+
var logoDom = defaultRenderLogo(logo, logoStyle);
|
|
112
|
+
var titleDom = _createVNode("h1", null, _isSlot(title) ? title : {
|
|
113
|
+
default: function _default() {
|
|
114
|
+
return [title];
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
if (renderKey === 'menuHeaderRender') {
|
|
118
|
+
return null;
|
|
119
|
+
}
|
|
120
|
+
// call menuHeaderRender
|
|
121
|
+
if (typeof renderFunction === 'function') {
|
|
122
|
+
// @ts-ignore
|
|
123
|
+
return renderFunction(logoDom, props.collapsed ? null : titleDom, props);
|
|
124
|
+
}
|
|
125
|
+
if (Array.isArray(renderFunction)) {
|
|
126
|
+
return _createVNode(_Fragment, null, _isSlot(renderFunction) ? renderFunction : {
|
|
127
|
+
default: function _default() {
|
|
128
|
+
return [renderFunction];
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
return _createVNode("a", null, [logoDom, props.collapsed ? null : titleDom]);
|
|
133
|
+
};
|
|
134
|
+
export var defaultRenderCollapsedButton = function defaultRenderCollapsedButton(collapsed) {
|
|
135
|
+
return collapsed ? _createVNode(IconFont, {
|
|
136
|
+
"type": 'MenuUnfoldOutlined'
|
|
137
|
+
}, null) : _createVNode(IconFont, {
|
|
138
|
+
"type": 'MenuFoldOutlined'
|
|
139
|
+
}, null);
|
|
140
|
+
};
|
|
141
|
+
var SiderMenu = function SiderMenu(props) {
|
|
142
|
+
var _slot;
|
|
143
|
+
var collapsed = props.collapsed,
|
|
144
|
+
siderWidth = props.siderWidth,
|
|
145
|
+
breakpoint = props.breakpoint,
|
|
146
|
+
_props$collapsedWidth = props.collapsedWidth,
|
|
147
|
+
collapsedWidth = _props$collapsedWidth === void 0 ? 48 : _props$collapsedWidth,
|
|
148
|
+
_props$menuExtraRende = props.menuExtraRender,
|
|
149
|
+
menuExtraRender = _props$menuExtraRende === void 0 ? false : _props$menuExtraRende,
|
|
150
|
+
_props$menuContentRen = props.menuContentRender,
|
|
151
|
+
menuContentRender = _props$menuContentRen === void 0 ? false : _props$menuContentRen,
|
|
152
|
+
_props$collapsedButto = props.collapsedButtonRender,
|
|
153
|
+
collapsedButtonRender = _props$collapsedButto === void 0 ? defaultRenderCollapsedButton : _props$collapsedButto,
|
|
154
|
+
theme = props.theme;
|
|
155
|
+
var context = useRouteContext();
|
|
156
|
+
var getPrefixCls = context.getPrefixCls;
|
|
157
|
+
var baseClassName = getPrefixCls('sider');
|
|
158
|
+
var hasSplitMenu = computed(function () {
|
|
159
|
+
return props.layout === 'mix' && props.splitMenus;
|
|
160
|
+
});
|
|
161
|
+
var sSideWidth = computed(function () {
|
|
162
|
+
return props.collapsed ? props.collapsedWidth : props.siderWidth;
|
|
163
|
+
});
|
|
164
|
+
var classNames = computed(function () {
|
|
165
|
+
return _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, baseClassName, true), "".concat(baseClassName, "-fixed"), context.fixSiderbar), "".concat(baseClassName, "-").concat(theme), true), "".concat(baseClassName, "-layout-").concat(props.layout), props.layout);
|
|
166
|
+
});
|
|
167
|
+
var handleSelect = function handleSelect($event) {
|
|
168
|
+
if (props.onSelect) {
|
|
169
|
+
if (unref(hasSplitMenu)) {
|
|
170
|
+
props.onSelect([context.selectedKeys[0]].concat(_toConsumableArray($event)));
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
props.onSelect($event);
|
|
174
|
+
}
|
|
175
|
+
};
|
|
176
|
+
var headerDom = defaultRenderLogoAndTitle(props);
|
|
177
|
+
var extraDom = menuExtraRender && menuExtraRender(props);
|
|
178
|
+
if (hasSplitMenu.value && unref(context.flatMenuData).length === 0) {
|
|
179
|
+
return null;
|
|
180
|
+
}
|
|
181
|
+
var defaultMenuDom = _createVNode(BaseMenu, {
|
|
182
|
+
"prefixCls": getPrefixCls(),
|
|
183
|
+
"locale": props.locale || context.locale,
|
|
184
|
+
"theme": theme,
|
|
185
|
+
"mode": "inline",
|
|
186
|
+
"menuData": hasSplitMenu.value ? context.flatMenuData : context.menuData,
|
|
187
|
+
"collapsed": props.collapsed,
|
|
188
|
+
"openKeys": context.openKeys,
|
|
189
|
+
"selectedKeys": context.selectedKeys,
|
|
190
|
+
"menuItemRender": props.menuItemRender,
|
|
191
|
+
"subMenuItemRender": props.subMenuItemRender,
|
|
192
|
+
"iconfontUrl": props.iconfontUrl,
|
|
193
|
+
"onClick": props.onMenuClick,
|
|
194
|
+
"style": {
|
|
195
|
+
width: '100%'
|
|
196
|
+
},
|
|
197
|
+
"class": "".concat(baseClassName, "-menu"),
|
|
198
|
+
'onUpdate:openKeys': function onUpdateOpenKeys($event) {
|
|
199
|
+
return props.onOpenKeys && props.onOpenKeys($event);
|
|
200
|
+
},
|
|
201
|
+
'onUpdate:selectedKeys': handleSelect
|
|
202
|
+
}, null);
|
|
203
|
+
return _createVNode(_Fragment, null, [context.fixSiderbar && _createVNode("div", {
|
|
204
|
+
"style": {
|
|
205
|
+
width: "".concat(sSideWidth.value, "px"),
|
|
206
|
+
overflow: 'hidden',
|
|
207
|
+
flex: "0 0 ".concat(sSideWidth.value, "px"),
|
|
208
|
+
maxWidth: "".concat(sSideWidth.value, "px"),
|
|
209
|
+
minWidth: "".concat(sSideWidth.value, "px"),
|
|
210
|
+
transition: "background-color 0.3s, min-width 0.3s, max-width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1)"
|
|
211
|
+
}
|
|
212
|
+
}, null), _createVNode(Sider, {
|
|
213
|
+
"collapsible": true,
|
|
214
|
+
"trigger": null,
|
|
215
|
+
"collapsed": collapsed,
|
|
216
|
+
"breakpoint": breakpoint || undefined,
|
|
217
|
+
"onCollapse": function onCollapse(collapse) {
|
|
218
|
+
var _props$onCollapse;
|
|
219
|
+
(_props$onCollapse = props.onCollapse) === null || _props$onCollapse === void 0 ? void 0 : _props$onCollapse.call(props, collapse);
|
|
220
|
+
},
|
|
221
|
+
"collapsedWidth": collapsedWidth,
|
|
222
|
+
"style": {
|
|
223
|
+
overflow: 'hidden',
|
|
224
|
+
paddingTop: "".concat(props.headerHeight, "px")
|
|
225
|
+
},
|
|
226
|
+
"width": siderWidth,
|
|
227
|
+
"theme": theme,
|
|
228
|
+
"class": classNames.value
|
|
229
|
+
}, {
|
|
230
|
+
default: function _default() {
|
|
231
|
+
return [headerDom && _createVNode("div", {
|
|
232
|
+
"class": "".concat(baseClassName, "-logo"),
|
|
233
|
+
"onClick": props.layout !== 'mix' ? props.onMenuHeaderClick : undefined,
|
|
234
|
+
"id": "logo",
|
|
235
|
+
"style": props === null || props === void 0 ? void 0 : props.logoStyle
|
|
236
|
+
}, _isSlot(headerDom) ? headerDom : {
|
|
237
|
+
default: function _default() {
|
|
238
|
+
return [headerDom];
|
|
239
|
+
}
|
|
240
|
+
}), extraDom && !props.collapsed && _createVNode("div", {
|
|
241
|
+
"class": _defineProperty(_defineProperty({}, "".concat(baseClassName, "-extra"), true), "".concat(baseClassName, "-extra-no-logo"), !headerDom)
|
|
242
|
+
}, _isSlot(extraDom) ? extraDom : {
|
|
243
|
+
default: function _default() {
|
|
244
|
+
return [extraDom];
|
|
245
|
+
}
|
|
246
|
+
}), _createVNode("div", {
|
|
247
|
+
"style": "flex: 1; overflow: hidden auto;"
|
|
248
|
+
}, [menuContentRender && menuContentRender(props, defaultMenuDom) || defaultMenuDom]), _createVNode("div", {
|
|
249
|
+
"class": "".concat(baseClassName, "-links")
|
|
250
|
+
}, [collapsedButtonRender !== false ? _createVNode(Menu, {
|
|
251
|
+
"class": "".concat(baseClassName, "-link-menu"),
|
|
252
|
+
"inlineIndent": 16,
|
|
253
|
+
"theme": theme,
|
|
254
|
+
"selectedKeys": [],
|
|
255
|
+
"openKeys": [],
|
|
256
|
+
"mode": "inline",
|
|
257
|
+
"onClick": function onClick() {
|
|
258
|
+
if (props.onCollapse) {
|
|
259
|
+
props.onCollapse(!props.collapsed);
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
}, _isSlot(_slot = _createVNode(Menu.Item, {
|
|
263
|
+
"key": 'collapsed-button',
|
|
264
|
+
"class": "".concat(baseClassName, "-collapsed-button"),
|
|
265
|
+
"title": false
|
|
266
|
+
}, {
|
|
267
|
+
default: function _default() {
|
|
268
|
+
return [collapsedButtonRender && typeof collapsedButtonRender === 'function' ? collapsedButtonRender(collapsed) : collapsedButtonRender];
|
|
269
|
+
}
|
|
270
|
+
})) ? _slot : {
|
|
271
|
+
default: function _default() {
|
|
272
|
+
return [_slot];
|
|
273
|
+
}
|
|
274
|
+
}) : null])];
|
|
275
|
+
}
|
|
276
|
+
})]);
|
|
277
|
+
};
|
|
278
|
+
export default SiderMenu;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import { isVNode as _isVNode } from "vue";
|
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
3
|
+
import { createVNode as _createVNode } from "vue";
|
|
4
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
5
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
6
|
+
var _excluded = ["rightContentRender"];
|
|
7
|
+
import { computed, ref } from 'vue';
|
|
8
|
+
import { default as ResizeObserver } from 'ant-design-vue/es/vc-resize-observer';
|
|
9
|
+
import { defaultRenderLogoAndTitle, siderMenuProps } from '../SiderMenu/SiderMenu';
|
|
10
|
+
import PropTypes from 'ant-design-vue/es/_util/vue-types';
|
|
11
|
+
import { defaultSettingProps } from '../defaultSettings';
|
|
12
|
+
import { defaultPrefixCls, useRouteContext } from '../RouteContext';
|
|
13
|
+
import BaseMenu from '../SiderMenu/BaseMenu';
|
|
14
|
+
import { clearMenuItem } from '../util';
|
|
15
|
+
function _isSlot(s) {
|
|
16
|
+
return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);
|
|
17
|
+
}
|
|
18
|
+
export var baseHeaderProps = _objectSpread(_objectSpread({}, defaultSettingProps), {}, {
|
|
19
|
+
prefixCls: PropTypes.string.def('ant-pro'),
|
|
20
|
+
collapsed: PropTypes.looseBool,
|
|
21
|
+
logo: siderMenuProps.logo,
|
|
22
|
+
logoStyle: siderMenuProps.logoStyle,
|
|
23
|
+
headerTheme: {
|
|
24
|
+
type: String,
|
|
25
|
+
default: 'dark'
|
|
26
|
+
},
|
|
27
|
+
menuData: {
|
|
28
|
+
type: Array,
|
|
29
|
+
default: function _default() {
|
|
30
|
+
return [];
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
splitMenus: siderMenuProps.splitMenus,
|
|
34
|
+
menuRender: {
|
|
35
|
+
type: [Object, Function],
|
|
36
|
+
default: function _default() {
|
|
37
|
+
return undefined;
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
menuHeaderRender: siderMenuProps.menuHeaderRender,
|
|
41
|
+
menuItemRender: siderMenuProps.menuItemRender,
|
|
42
|
+
subMenuItemRender: siderMenuProps.subMenuItemRender,
|
|
43
|
+
rightContentRender: {
|
|
44
|
+
type: [Object, Function],
|
|
45
|
+
default: function _default() {
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
collapsedButtonRender: siderMenuProps.collapsedButtonRender,
|
|
50
|
+
matchMenuKeys: siderMenuProps.matchMenuKeys,
|
|
51
|
+
// events
|
|
52
|
+
onMenuHeaderClick: PropTypes.func,
|
|
53
|
+
onCollapse: siderMenuProps.onCollapse,
|
|
54
|
+
onOpenKeys: siderMenuProps.onOpenKeys,
|
|
55
|
+
onSelect: siderMenuProps.onSelect
|
|
56
|
+
});
|
|
57
|
+
export var topNavHeaderProps = _objectSpread(_objectSpread({}, siderMenuProps), baseHeaderProps);
|
|
58
|
+
var RightContent = function RightContent(_ref) {
|
|
59
|
+
var rightContentRender = _ref.rightContentRender,
|
|
60
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
61
|
+
var rightSize = ref('auto');
|
|
62
|
+
return _createVNode("div", {
|
|
63
|
+
"style": {
|
|
64
|
+
minWidth: rightSize.value
|
|
65
|
+
}
|
|
66
|
+
}, [_createVNode("div", {
|
|
67
|
+
"style": {
|
|
68
|
+
paddingRight: 8
|
|
69
|
+
}
|
|
70
|
+
}, [_createVNode(ResizeObserver, {
|
|
71
|
+
"onResize": function onResize(_ref2) {
|
|
72
|
+
var width = _ref2.width;
|
|
73
|
+
rightSize.value = width;
|
|
74
|
+
}
|
|
75
|
+
}, {
|
|
76
|
+
default: function _default() {
|
|
77
|
+
return [rightContentRender && typeof rightContentRender === 'function' ? _createVNode("div", null, [rightContentRender(_objectSpread({}, props))]) : rightContentRender];
|
|
78
|
+
}
|
|
79
|
+
})])]);
|
|
80
|
+
};
|
|
81
|
+
export var TopNavHeader = function TopNavHeader(props) {
|
|
82
|
+
var headerRef = ref();
|
|
83
|
+
var propPrefixCls = props.prefixCls,
|
|
84
|
+
onMenuHeaderClick = props.onMenuHeaderClick,
|
|
85
|
+
onOpenKeys = props.onOpenKeys,
|
|
86
|
+
onSelect = props.onSelect,
|
|
87
|
+
contentWidth = props.contentWidth,
|
|
88
|
+
rightContentRender = props.rightContentRender,
|
|
89
|
+
layout = props.layout,
|
|
90
|
+
menuData = props.menuData,
|
|
91
|
+
mode = props.mode;
|
|
92
|
+
var context = useRouteContext();
|
|
93
|
+
var prefixCls = "".concat(propPrefixCls || defaultPrefixCls, "-top-nav-header");
|
|
94
|
+
var headerDom = defaultRenderLogoAndTitle(_objectSpread(_objectSpread({}, props), {}, {
|
|
95
|
+
collapsed: false
|
|
96
|
+
}),
|
|
97
|
+
// REMARK:: Any time render header title
|
|
98
|
+
// layout === 'mix' ? 'headerTitleRender' : undefined,
|
|
99
|
+
// layout !== 'side' ? 'headerTitleRender' : undefined,
|
|
100
|
+
'headerTitleRender');
|
|
101
|
+
//
|
|
102
|
+
var MenusData = props.layout === 'side' ? [] : menuData;
|
|
103
|
+
if (props.layout === 'mix' && props.splitMenus) {
|
|
104
|
+
var noChildrenMenuData = (menuData || []).map(function (item) {
|
|
105
|
+
return _objectSpread(_objectSpread({}, item), {}, {
|
|
106
|
+
children: undefined,
|
|
107
|
+
component: undefined
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
MenusData = clearMenuItem(noChildrenMenuData);
|
|
111
|
+
}
|
|
112
|
+
var _mode = computed(function () {
|
|
113
|
+
return props.layout === 'mix' && props.splitMenus ? 'horizontal' : mode;
|
|
114
|
+
});
|
|
115
|
+
var className = computed(function () {
|
|
116
|
+
return _defineProperty(_defineProperty(_defineProperty({}, prefixCls, true), "light", props.theme === 'light'), "dark", props.theme === 'dark');
|
|
117
|
+
});
|
|
118
|
+
return _createVNode("div", {
|
|
119
|
+
"class": className.value
|
|
120
|
+
}, [_createVNode("div", {
|
|
121
|
+
"ref": headerRef,
|
|
122
|
+
"class": "".concat(prefixCls, "-main ").concat(contentWidth === 'Fixed' ? 'wide' : '')
|
|
123
|
+
}, [headerDom && _createVNode("div", {
|
|
124
|
+
"class": "".concat(prefixCls, "-main-left"),
|
|
125
|
+
"onClick": onMenuHeaderClick
|
|
126
|
+
}, [_createVNode("div", {
|
|
127
|
+
"class": "".concat(prefixCls, "-logo"),
|
|
128
|
+
"key": "logo",
|
|
129
|
+
"id": "logo"
|
|
130
|
+
}, _isSlot(headerDom) ? headerDom : {
|
|
131
|
+
default: function _default() {
|
|
132
|
+
return [headerDom];
|
|
133
|
+
}
|
|
134
|
+
})]), _createVNode("div", {
|
|
135
|
+
"style": {
|
|
136
|
+
flex: 1
|
|
137
|
+
},
|
|
138
|
+
"class": "".concat(prefixCls, "-menu")
|
|
139
|
+
}, [_createVNode(BaseMenu, {
|
|
140
|
+
"prefixCls": propPrefixCls,
|
|
141
|
+
"locale": props.locale || context.locale,
|
|
142
|
+
"theme": props.theme,
|
|
143
|
+
"mode": _mode.value,
|
|
144
|
+
"collapsed": props.collapsed,
|
|
145
|
+
"iconfontUrl": props.iconfontUrl,
|
|
146
|
+
"menuData": MenusData,
|
|
147
|
+
"menuItemRender": props.menuItemRender,
|
|
148
|
+
"subMenuItemRender": props.subMenuItemRender,
|
|
149
|
+
"openKeys": context.openKeys,
|
|
150
|
+
"selectedKeys": context.selectedKeys,
|
|
151
|
+
"class": {
|
|
152
|
+
'top-nav-menu': props.mode === 'horizontal'
|
|
153
|
+
},
|
|
154
|
+
'onUpdate:openKeys': function onUpdateOpenKeys($event) {
|
|
155
|
+
return onOpenKeys && onOpenKeys($event);
|
|
156
|
+
},
|
|
157
|
+
'onUpdate:selectedKeys': function onUpdateSelectedKeys($event) {
|
|
158
|
+
return onSelect && onSelect($event);
|
|
159
|
+
}
|
|
160
|
+
}, null)]), rightContentRender && _createVNode(RightContent, _objectSpread({
|
|
161
|
+
"rightContentRender": rightContentRender
|
|
162
|
+
}, props), null)])]);
|
|
163
|
+
};
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
export var defaultSettings = {
|
|
2
|
+
theme: 'light',
|
|
3
|
+
layout: 'mix',
|
|
4
|
+
contentWidth: 'Fluid',
|
|
5
|
+
fixedHeader: true,
|
|
6
|
+
fixSiderbar: true,
|
|
7
|
+
menu: {
|
|
8
|
+
locale: true
|
|
9
|
+
},
|
|
10
|
+
headerHeight: 48,
|
|
11
|
+
title: 'Jetlink UI Components',
|
|
12
|
+
iconfontUrl: '',
|
|
13
|
+
primaryColor: '#315EFB'
|
|
14
|
+
};
|
|
15
|
+
export var defaultSettingProps = {
|
|
16
|
+
theme: {
|
|
17
|
+
type: String,
|
|
18
|
+
default: defaultSettings.theme
|
|
19
|
+
},
|
|
20
|
+
layout: {
|
|
21
|
+
type: String,
|
|
22
|
+
default: defaultSettings.layout
|
|
23
|
+
},
|
|
24
|
+
contentWidth: {
|
|
25
|
+
type: String,
|
|
26
|
+
default: defaultSettings.contentWidth
|
|
27
|
+
},
|
|
28
|
+
fixedHeader: {
|
|
29
|
+
type: Boolean,
|
|
30
|
+
default: defaultSettings.fixedHeader
|
|
31
|
+
},
|
|
32
|
+
fixSiderbar: {
|
|
33
|
+
type: Boolean,
|
|
34
|
+
default: defaultSettings.fixSiderbar
|
|
35
|
+
},
|
|
36
|
+
menu: {
|
|
37
|
+
type: Object,
|
|
38
|
+
default: function _default() {
|
|
39
|
+
return {
|
|
40
|
+
locale: true
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
headerHeight: {
|
|
45
|
+
type: Number,
|
|
46
|
+
default: defaultSettings.headerHeight
|
|
47
|
+
},
|
|
48
|
+
title: {
|
|
49
|
+
type: String,
|
|
50
|
+
default: function _default() {
|
|
51
|
+
return defaultSettings.title;
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
iconfontUrl: {
|
|
55
|
+
type: String,
|
|
56
|
+
default: function _default() {
|
|
57
|
+
return defaultSettings.iconfontUrl;
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
primaryColor: {
|
|
61
|
+
type: String,
|
|
62
|
+
default: function _default() {
|
|
63
|
+
return defaultSettings.primaryColor;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
};
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import ProLayout from './Basic/BasicLayout';
|
|
2
|
-
import PageContainer from './PageContainer';
|
|
3
|
-
|
|
4
|
-
export
|
|
5
|
-
export default ProLayout;
|
|
6
|
-
|
|
1
|
+
import ProLayout from './Basic/BasicLayout';
|
|
2
|
+
import PageContainer from './PageContainer';
|
|
3
|
+
export { PageContainer };
|
|
4
|
+
export default ProLayout;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import './style.less';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
2
|
+
export function clearMenuItem(menusData) {
|
|
3
|
+
return menusData.map(function (item) {
|
|
4
|
+
var _finalItem$meta;
|
|
5
|
+
var finalItem = _objectSpread({}, item);
|
|
6
|
+
if ((_finalItem$meta = finalItem.meta) === null || _finalItem$meta === void 0 ? void 0 : _finalItem$meta.hideInMenu) {
|
|
7
|
+
return null;
|
|
8
|
+
}
|
|
9
|
+
if (finalItem && (finalItem === null || finalItem === void 0 ? void 0 : finalItem.children)) {
|
|
10
|
+
var _finalItem$meta2;
|
|
11
|
+
if (!((_finalItem$meta2 = finalItem.meta) === null || _finalItem$meta2 === void 0 ? void 0 : _finalItem$meta2.hideChildInMenu) && finalItem.children.some(function (child) {
|
|
12
|
+
var _child$meta;
|
|
13
|
+
return child && child.name && !((_child$meta = child.meta) === null || _child$meta === void 0 ? void 0 : _child$meta.hideInMenu);
|
|
14
|
+
})) {
|
|
15
|
+
return _objectSpread(_objectSpread({}, item), {}, {
|
|
16
|
+
children: clearMenuItem(finalItem.children)
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
delete finalItem.children;
|
|
20
|
+
}
|
|
21
|
+
return finalItem;
|
|
22
|
+
}).filter(function (item) {
|
|
23
|
+
return item;
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
export function flatMap(menusData) {
|
|
27
|
+
return menusData.map(function (item) {
|
|
28
|
+
var _finalItem$meta3;
|
|
29
|
+
var finalItem = _objectSpread({}, item);
|
|
30
|
+
if (!finalItem.name || ((_finalItem$meta3 = finalItem.meta) === null || _finalItem$meta3 === void 0 ? void 0 : _finalItem$meta3.hideInMenu)) {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
if (finalItem.children) {
|
|
34
|
+
delete finalItem.children;
|
|
35
|
+
}
|
|
36
|
+
return finalItem;
|
|
37
|
+
}).filter(function (item) {
|
|
38
|
+
return item;
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
export function getMenuFirstChildren(menus, key) {
|
|
42
|
+
return key === undefined ? [] : (menus[menus.findIndex(function (menu) {
|
|
43
|
+
return menu.path === key;
|
|
44
|
+
})] || {}).children || [];
|
|
45
|
+
}
|
|
46
|
+
export function getSlot(slots, props) {
|
|
47
|
+
var prop = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'default';
|
|
48
|
+
if (props[prop] === false) {
|
|
49
|
+
// force not render
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
return props[prop] || slots[prop];
|
|
53
|
+
}
|
|
54
|
+
export function getSlotVNode(slots, props) {
|
|
55
|
+
var _slots$prop;
|
|
56
|
+
var prop = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'default';
|
|
57
|
+
if (props[prop] === false) {
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
return props[prop] || ((_slots$prop = slots[prop]) === null || _slots$prop === void 0 ? void 0 : _slots$prop.call(slots));
|
|
61
|
+
}
|