@jetlinks-web/components 2.0.2 → 2.0.3

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.
Files changed (237) hide show
  1. package/es/AMap/Map.js +124 -0
  2. package/es/AMap/index.js +2 -0
  3. package/es/AMap/util.js +56 -0
  4. package/es/BadgeStatus/Badge.js +54 -0
  5. package/es/BadgeStatus/color.js +21 -0
  6. package/es/BadgeStatus/index.js +3 -0
  7. package/es/CardSelect/CardSelect.js +123 -0
  8. package/es/CardSelect/index.js +2 -0
  9. package/es/CheckButton/CheckButton.js +121 -0
  10. package/es/CheckButton/index.js +2 -0
  11. package/es/ConfigProvider/context.js +12 -0
  12. package/es/ConfigProvider/index.js +31 -0
  13. package/es/Echarts/Echarts.js +47 -0
  14. package/es/Echarts/index.js +2 -0
  15. package/es/Ellipsis/Ellipsis.js +189 -0
  16. package/es/Ellipsis/index.js +2 -0
  17. package/es/Empty/Empty.js +56 -0
  18. package/es/Empty/image.js +2 -0
  19. package/es/Empty/index.js +2 -0
  20. package/es/FullPage/FullPage.js +31 -0
  21. package/es/FullPage/index.js +2 -0
  22. package/es/Icon/icon.js +42 -0
  23. package/{src/Icon/index.ts → es/Icon/index.js} +2 -3
  24. package/es/MonacoEditor/Monaco.js +238 -0
  25. package/es/MonacoEditor/index.js +2 -0
  26. package/es/PermissionButton/index.js +117 -0
  27. package/es/ProLayout/Basic/BasicLayout.js +259 -0
  28. package/es/ProLayout/Basic/Header.js +97 -0
  29. package/es/ProLayout/PageContainer/index.js +324 -0
  30. package/es/ProLayout/PageContainer/typings.js +1 -0
  31. package/es/ProLayout/RouteContext.js +22 -0
  32. package/es/ProLayout/SiderMenu/BaseMenu.js +285 -0
  33. package/es/ProLayout/SiderMenu/SiderMenu.js +278 -0
  34. package/es/ProLayout/SiderMenu/index.js +2 -0
  35. package/es/ProLayout/SiderMenu/typings.js +1 -0
  36. package/es/ProLayout/TopHeader/index.js +163 -0
  37. package/es/ProLayout/defaultSettings.js +66 -0
  38. package/{src/ProLayout/index.ts → es/ProLayout/index.js} +4 -6
  39. package/{src → es}/ProLayout/style/default.less +4 -4
  40. package/es/ProLayout/style/index.js +1 -0
  41. package/es/ProLayout/typings.js +1 -0
  42. package/es/ProLayout/util.js +61 -0
  43. package/es/ProTable/index.js +411 -0
  44. package/es/ProTable/proTableTypes.js +11 -0
  45. package/es/ProTable/style/index.css +65 -0
  46. package/es/ProTable/style/index.js +1 -0
  47. package/es/Scrollbar/Bar.js +114 -0
  48. package/es/Scrollbar/Scrollbar.js +212 -0
  49. package/es/Scrollbar/Thumb.js +189 -0
  50. package/es/Scrollbar/constants.js +1 -0
  51. package/es/Scrollbar/index.js +2 -0
  52. package/es/Scrollbar/scrollbarProps.js +100 -0
  53. package/es/Scrollbar/thumbProps.js +10 -0
  54. package/es/Scrollbar/util.js +30 -0
  55. package/es/Search/Advanced/History.js +183 -0
  56. package/es/Search/Advanced/SaveHistory.js +153 -0
  57. package/es/Search/Advanced/index.js +520 -0
  58. package/es/Search/Item.js +497 -0
  59. package/es/Search/Search.js +249 -0
  60. package/es/Search/hooks/index.js +1 -0
  61. package/es/Search/hooks/useSearchItems.js +40 -0
  62. package/es/Search/index.js +4 -0
  63. package/es/Search/setting.js +91 -0
  64. package/es/Search/style/Item.less +33 -0
  65. package/es/Search/style/Search.less +179 -0
  66. package/es/Search/style/index.js +2 -0
  67. package/es/Search/typing.js +1 -0
  68. package/es/Search/util.js +234 -0
  69. package/es/ValueItem/ValueItem.js +233 -0
  70. package/es/ValueItem/index.js +2 -0
  71. package/es/ValueItem/util.js +16 -0
  72. package/es/index.js +24 -0
  73. package/es/style/index.js +3 -0
  74. package/es/style/variable.css +0 -0
  75. package/{src → es}/style/variable.less +0 -2
  76. package/es/style.js +3 -0
  77. package/lib/AMap/Map.js +124 -0
  78. package/lib/AMap/index.js +9 -0
  79. package/lib/AMap/util.js +62 -0
  80. package/lib/BadgeStatus/Badge.js +54 -0
  81. package/lib/BadgeStatus/color.js +27 -0
  82. package/lib/BadgeStatus/index.js +22 -0
  83. package/lib/CardSelect/CardSelect.js +123 -0
  84. package/lib/CardSelect/index.js +9 -0
  85. package/lib/CheckButton/CheckButton.js +121 -0
  86. package/lib/CheckButton/index.js +9 -0
  87. package/lib/ConfigProvider/context.js +19 -0
  88. package/lib/ConfigProvider/index.js +37 -0
  89. package/lib/Echarts/Echarts.js +47 -0
  90. package/lib/Echarts/index.js +9 -0
  91. package/lib/Ellipsis/Ellipsis.js +189 -0
  92. package/lib/Ellipsis/index.js +9 -0
  93. package/lib/Empty/Empty.js +56 -0
  94. package/lib/Empty/image.js +8 -0
  95. package/lib/Empty/index.js +9 -0
  96. package/lib/FullPage/FullPage.js +31 -0
  97. package/lib/FullPage/index.js +9 -0
  98. package/lib/Icon/icon.js +52 -0
  99. package/lib/Icon/index.js +9 -0
  100. package/lib/MonacoEditor/Monaco.js +238 -0
  101. package/lib/MonacoEditor/index.js +9 -0
  102. package/lib/PermissionButton/index.js +124 -0
  103. package/lib/ProLayout/Basic/BasicLayout.js +268 -0
  104. package/lib/ProLayout/Basic/BasicLayout.less +66 -0
  105. package/lib/ProLayout/Basic/Header.js +103 -0
  106. package/lib/ProLayout/Basic/Header.less +8 -0
  107. package/lib/ProLayout/PageContainer/index.js +327 -0
  108. package/lib/ProLayout/PageContainer/index.less +103 -0
  109. package/lib/ProLayout/PageContainer/typings.js +5 -0
  110. package/lib/ProLayout/RouteContext.js +28 -0
  111. package/lib/ProLayout/SiderMenu/BaseMenu.js +290 -0
  112. package/lib/ProLayout/SiderMenu/SiderMenu.js +287 -0
  113. package/lib/ProLayout/SiderMenu/index.js +20 -0
  114. package/lib/ProLayout/SiderMenu/index.less +212 -0
  115. package/lib/ProLayout/SiderMenu/typings.js +5 -0
  116. package/lib/ProLayout/TopHeader/index.js +168 -0
  117. package/lib/ProLayout/TopHeader/index.less +174 -0
  118. package/lib/ProLayout/defaultSettings.js +72 -0
  119. package/lib/ProLayout/index.js +16 -0
  120. package/lib/ProLayout/style/default.less +4 -0
  121. package/lib/ProLayout/style/index.js +3 -0
  122. package/lib/ProLayout/style/style.less +7 -0
  123. package/lib/ProLayout/typings.js +5 -0
  124. package/lib/ProLayout/util.js +72 -0
  125. package/lib/ProTable/index.js +417 -0
  126. package/lib/ProTable/proTableTypes.js +17 -0
  127. package/lib/ProTable/style/index.css +65 -0
  128. package/lib/ProTable/style/index.js +3 -0
  129. package/lib/ProTable/style/index.less +92 -0
  130. package/lib/Scrollbar/Bar.js +114 -0
  131. package/lib/Scrollbar/Scrollbar.js +212 -0
  132. package/lib/Scrollbar/Thumb.js +189 -0
  133. package/lib/Scrollbar/constants.js +7 -0
  134. package/lib/Scrollbar/index.js +9 -0
  135. package/{src/Scrollbar/scrollbar.ts → lib/Scrollbar/scrollbarProps.js} +106 -108
  136. package/lib/Scrollbar/thumbProps.js +16 -0
  137. package/lib/Scrollbar/util.js +37 -0
  138. package/lib/Search/Advanced/History.js +183 -0
  139. package/lib/Search/Advanced/SaveHistory.js +153 -0
  140. package/lib/Search/Advanced/index.js +520 -0
  141. package/lib/Search/Item.js +497 -0
  142. package/lib/Search/Search.js +249 -0
  143. package/lib/Search/hooks/index.js +16 -0
  144. package/lib/Search/hooks/useSearchItems.js +47 -0
  145. package/lib/Search/index.js +16 -0
  146. package/lib/Search/setting.js +97 -0
  147. package/lib/Search/style/Item.less +33 -0
  148. package/lib/Search/style/Search.less +179 -0
  149. package/lib/Search/style/index.js +4 -0
  150. package/lib/Search/typing.js +5 -0
  151. package/lib/Search/util.js +241 -0
  152. package/lib/ValueItem/ValueItem.js +233 -0
  153. package/lib/ValueItem/index.js +9 -0
  154. package/lib/ValueItem/util.js +22 -0
  155. package/lib/index.js +158 -0
  156. package/lib/style/components.less +1 -0
  157. package/lib/style/index.js +4 -0
  158. package/lib/style/variable.css +0 -0
  159. package/lib/style/variable.less +2 -0
  160. package/lib/style.js +5 -0
  161. package/package.json +122 -13
  162. package/index.ts +0 -64
  163. package/src/AMap/Map.vue +0 -110
  164. package/src/AMap/index.ts +0 -1
  165. package/src/AMap/util.ts +0 -56
  166. package/src/BadgeStatus/Badge.vue +0 -41
  167. package/src/BadgeStatus/color.ts +0 -25
  168. package/src/BadgeStatus/index.ts +0 -4
  169. package/src/CardSelect/CardSelect.vue +0 -136
  170. package/src/CardSelect/index.ts +0 -3
  171. package/src/CheckButton/CheckButton.vue +0 -146
  172. package/src/CheckButton/index.md +0 -27
  173. package/src/CheckButton/index.ts +0 -3
  174. package/src/ConfigProvider/context.ts +0 -17
  175. package/src/ConfigProvider/index.tsx +0 -42
  176. package/src/Echarts/Echarts.vue +0 -43
  177. package/src/Echarts/index.ts +0 -3
  178. package/src/Ellipsis/Ellipsis.vue +0 -182
  179. package/src/Ellipsis/index.ts +0 -3
  180. package/src/Empty/Empty.vue +0 -43
  181. package/src/Empty/image.ts +0 -3
  182. package/src/Empty/index.ts +0 -2
  183. package/src/FullPage/FullPage.vue +0 -30
  184. package/src/FullPage/index.ts +0 -3
  185. package/src/Icon/icon.tsx +0 -40
  186. package/src/MonacoEditor/Monaco.vue +0 -242
  187. package/src/MonacoEditor/index.md +0 -26
  188. package/src/MonacoEditor/index.ts +0 -2
  189. package/src/PermissionButton/index.tsx +0 -110
  190. package/src/ProLayout/Basic/BasicLayout.tsx +0 -392
  191. package/src/ProLayout/Basic/Header.tsx +0 -115
  192. package/src/ProLayout/PageContainer/index.tsx +0 -441
  193. package/src/ProLayout/PageContainer/typings.ts +0 -56
  194. package/src/ProLayout/RouteContext.ts +0 -87
  195. package/src/ProLayout/SiderMenu/BaseMenu.tsx +0 -296
  196. package/src/ProLayout/SiderMenu/SiderMenu.tsx +0 -320
  197. package/src/ProLayout/SiderMenu/index.ts +0 -2
  198. package/src/ProLayout/SiderMenu/typings.ts +0 -49
  199. package/src/ProLayout/TopHeader/index.tsx +0 -210
  200. package/src/ProLayout/defaultSettings.ts +0 -106
  201. package/src/ProLayout/style/index.ts +0 -1
  202. package/src/ProLayout/typings.ts +0 -87
  203. package/src/ProLayout/util.ts +0 -64
  204. package/src/ProTable/index.md +0 -53
  205. package/src/ProTable/index.tsx +0 -551
  206. package/src/ProTable/proTableTypes.ts +0 -70
  207. package/src/ProTable/style/index.ts +0 -1
  208. package/src/Scrollbar/Bar.vue +0 -75
  209. package/src/Scrollbar/Scrollbar.vue +0 -260
  210. package/src/Scrollbar/Thumb.vue +0 -163
  211. package/src/Scrollbar/constants.ts +0 -10
  212. package/src/Scrollbar/index.ts +0 -4
  213. package/src/Scrollbar/thumb.ts +0 -16
  214. package/src/Scrollbar/util.ts +0 -38
  215. package/src/Search/Advanced/History.vue +0 -140
  216. package/src/Search/Advanced/SaveHistory.vue +0 -108
  217. package/src/Search/Advanced/index.vue +0 -435
  218. package/src/Search/Item.vue +0 -525
  219. package/src/Search/Search.vue +0 -398
  220. package/src/Search/hooks/index.ts +0 -1
  221. package/src/Search/hooks/useSearchItems.ts +0 -68
  222. package/src/Search/index.md +0 -57
  223. package/src/Search/index.ts +0 -5
  224. package/src/Search/setting.ts +0 -55
  225. package/src/Search/typing.ts +0 -76
  226. package/src/Search/util.ts +0 -263
  227. package/src/ValueItem/ValueItem.vue +0 -192
  228. package/src/ValueItem/index.ts +0 -3
  229. package/src/ValueItem/util.ts +0 -16
  230. package/src/style/index.ts +0 -3
  231. /package/{src → es}/ProLayout/Basic/BasicLayout.less +0 -0
  232. /package/{src → es}/ProLayout/Basic/Header.less +0 -0
  233. /package/{src → es}/ProLayout/PageContainer/index.less +0 -0
  234. /package/{src → es}/ProLayout/SiderMenu/index.less +0 -0
  235. /package/{src → es}/ProLayout/TopHeader/index.less +0 -0
  236. /package/{src → es}/ProLayout/style/style.less +0 -0
  237. /package/{src → es}/ProTable/style/index.less +0 -0
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
+ var _vue = require("vue");
12
+ var _antDesignVue = require("ant-design-vue");
13
+ require("ant-design-vue/es");
14
+ var _lodashEs = require("lodash");
15
+ var _button = require("ant-design-vue/es/button/button");
16
+ var _hooks = require("@jetlinks-web/hooks");
17
+ var _excluded = ["popConfirm", "tooltip", "hasPermission", "noPermissionTitle"];
18
+ var definedProps = (0, _objectSpread2.default)({
19
+ tooltip: {
20
+ type: Object
21
+ },
22
+ popConfirm: {
23
+ type: Object
24
+ },
25
+ hasPermission: {
26
+ type: [String, Array, Boolean],
27
+ default: undefined
28
+ },
29
+ style: {
30
+ type: Object
31
+ },
32
+ noPermissionTitle: {
33
+ type: String
34
+ }
35
+ }, (0, _lodashEs.omit)((0, _button.buttonProps)(), 'icon'));
36
+ var PermissionButton = (0, _vue.defineComponent)({
37
+ name: 'PermissionButton',
38
+ // @ts-ignore
39
+ slots: ['button', 'icon'],
40
+ props: definedProps,
41
+ setup: function setup(props, _ref) {
42
+ var slots = _ref.slots;
43
+ var popConfirm = props.popConfirm,
44
+ tooltip = props.tooltip;
45
+ var _usePermission = (0, _hooks.usePermission)(props.hasPermission),
46
+ hasPerm = _usePermission.hasPerm;
47
+ var permission = (0, _vue.computed)(function () {
48
+ if (!props.hasPermission || props.hasPermission === true) {
49
+ return true;
50
+ }
51
+ return hasPerm.value;
52
+ });
53
+ var isPermission = (0, _vue.computed)(function () {
54
+ if ('hasPermission' in props && permission.value) {
55
+ return 'disabled' in props ? props.disabled : false;
56
+ }
57
+ return true;
58
+ });
59
+ var hasPopConfirm = (0, _vue.computed)(function () {
60
+ return !!popConfirm;
61
+ }); // 是否包含确认弹窗
62
+ var hasTooltip = (0, _vue.computed)(function () {
63
+ return !!tooltip;
64
+ }); // 是否包含文字提示
65
+ return function () {
66
+ var popConfirm = props.popConfirm,
67
+ tooltip = props.tooltip,
68
+ hasPermission = props.hasPermission,
69
+ noPermissionTitle = props.noPermissionTitle,
70
+ buttonProps = (0, _objectWithoutProperties2.default)(props, _excluded);
71
+ var button = !slots.button ? (0, _vue.h)(_antDesignVue.Button, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, buttonProps), {}, {
72
+ disabled: isPermission.value
73
+ }), {
74
+ default: function _default() {
75
+ var _slots$default;
76
+ return slots === null || slots === void 0 ? void 0 : (_slots$default = slots.default) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots);
77
+ },
78
+ icon: function icon() {
79
+ var _slots$icon;
80
+ return slots === null || slots === void 0 ? void 0 : (_slots$icon = slots.icon) === null || _slots$icon === void 0 ? void 0 : _slots$icon.call(slots);
81
+ }
82
+ }) : slots.button();
83
+ // 文字提示
84
+ var _tooltip = tooltip ? (0, _vue.h)(_antDesignVue.Tooltip, (0, _extends2.default)(tooltip, {
85
+ disabled: isPermission.value
86
+ }), {
87
+ default: function _default() {
88
+ return button;
89
+ }
90
+ }) : undefined;
91
+ // 无权限
92
+ var noPermissionButton = !permission.value ? (0, _vue.h)(_antDesignVue.Tooltip, {
93
+ title: noPermissionTitle || '暂无权限,请联系管理员'
94
+ }, {
95
+ default: function _default() {
96
+ return button;
97
+ }
98
+ }) : undefined;
99
+ // 二次确认
100
+ var _popConfirm = popConfirm ? (0, _vue.h)(_antDesignVue.Popconfirm, (0, _extends2.default)({
101
+ overlayStyle: {
102
+ width: '220px'
103
+ }
104
+ }, popConfirm, {
105
+ disabled: !permission.value || buttonProps.disabled
106
+ }), {
107
+ default: function _default() {
108
+ return tooltip ? _tooltip : button;
109
+ }
110
+ }) : undefined;
111
+ if (permission.value) {
112
+ if (hasPopConfirm.value) {
113
+ return _popConfirm;
114
+ }
115
+ if (hasTooltip.value) {
116
+ return _tooltip;
117
+ }
118
+ return button;
119
+ }
120
+ return noPermissionButton;
121
+ };
122
+ }
123
+ });
124
+ var _default2 = exports.default = PermissionButton;
@@ -0,0 +1,268 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = exports.basicLayoutProps = void 0;
9
+ var _vue = require("vue");
10
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
13
+ var _SiderMenu = _interopRequireWildcard(require("../SiderMenu/SiderMenu"));
14
+ var _defaultSettings = require("../defaultSettings");
15
+ var _TopHeader = require("../TopHeader");
16
+ var _Header = _interopRequireWildcard(require("./Header"));
17
+ var _useConfigInject2 = _interopRequireDefault(require("ant-design-vue/es/_util/hooks/useConfigInject"));
18
+ var _lodashEs = require("lodash");
19
+ var _RouteContext = require("../RouteContext");
20
+ var _util = require("../util");
21
+ var _antDesignVue = require("ant-design-vue");
22
+ var _excluded = ["pure", "onCollapse", "onOpenKeys", "onSelect", "onMenuClick"];
23
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
24
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
25
+ function _isSlot(s) {
26
+ return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !(0, _vue.isVNode)(s);
27
+ }
28
+ var basicLayoutProps = exports.basicLayoutProps = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, _defaultSettings.defaultSettingProps), _SiderMenu.siderMenuProps), _TopHeader.baseHeaderProps), _Header.headerViewProps), {}, {
29
+ pure: Boolean,
30
+ loading: Boolean,
31
+ locale: {
32
+ type: [Function, Boolean],
33
+ default: function _default() {
34
+ return function (s) {
35
+ return s;
36
+ };
37
+ }
38
+ },
39
+ /**
40
+ * 是否禁用移动端模式,有的管理系统不需要移动端模式,此属性设置为true即可
41
+ */
42
+ disableMobile: {
43
+ type: Boolean,
44
+ required: false
45
+ },
46
+ isChildrenLayout: {
47
+ type: Boolean,
48
+ required: false
49
+ },
50
+ /**
51
+ * 兼用 content 的 margin
52
+ */
53
+ disableContentMargin: {
54
+ type: Boolean,
55
+ required: false
56
+ },
57
+ colSize: {
58
+ type: Number,
59
+ required: false
60
+ },
61
+ contentStyle: {
62
+ type: [String, Object],
63
+ default: function _default() {
64
+ return null;
65
+ }
66
+ },
67
+ breadcrumb: {
68
+ type: [Object, Function],
69
+ default: function _default() {
70
+ return null;
71
+ }
72
+ },
73
+ collapsedButtonRender: {
74
+ type: [Function, Object, Boolean],
75
+ default: function _default() {
76
+ return undefined;
77
+ }
78
+ },
79
+ breadcrumbRender: {
80
+ type: [Object, Function, Boolean],
81
+ default: function _default() {
82
+ return null;
83
+ }
84
+ },
85
+ headerContentRender: {
86
+ type: [Function, Object, Boolean],
87
+ default: function _default() {
88
+ return undefined;
89
+ }
90
+ },
91
+ headerRender: {
92
+ type: [Object, Function, Boolean],
93
+ default: function _default() {
94
+ return undefined;
95
+ }
96
+ }
97
+ });
98
+ var _default2 = exports.default = (0, _vue.defineComponent)({
99
+ name: 'JProLayout',
100
+ inheritAttrs: false,
101
+ props: basicLayoutProps,
102
+ emits: ['update:collapsed', 'update:open-keys', 'update:selected-keys', 'collapse', 'openKeys', 'select', 'menuHeaderClick', 'menuClick', 'backClick'],
103
+ setup: function setup(props, _ref) {
104
+ var emit = _ref.emit,
105
+ attrs = _ref.attrs,
106
+ slots = _ref.slots;
107
+ var _useConfigInject = (0, _useConfigInject2.default)('layout', {}),
108
+ prefixCls = _useConfigInject.prefixCls;
109
+ var isTop = (0, _vue.computed)(function () {
110
+ return props.layout === 'top';
111
+ });
112
+ var hasSide = (0, _vue.computed)(function () {
113
+ return props.layout === 'mix' || props.layout === 'side' || false;
114
+ });
115
+ var hasSplitMenu = (0, _vue.computed)(function () {
116
+ return props.layout === 'mix' && props.splitMenus;
117
+ });
118
+ var hasFlatMenu = (0, _vue.computed)(function () {
119
+ return hasSide.value && hasSplitMenu.value;
120
+ });
121
+ var siderWidth = (0, _vue.computed)(function () {
122
+ return props.collapsed ? props.collapsedWidth : props.siderWidth;
123
+ });
124
+ var onCollapse = function onCollapse(collapsed) {
125
+ emit('update:collapsed', collapsed);
126
+ emit('collapse', collapsed);
127
+ };
128
+ var onOpenKeys = function onOpenKeys(openKeys) {
129
+ emit('update:open-keys', openKeys);
130
+ emit('openKeys', openKeys);
131
+ };
132
+ var onSelect = function onSelect(selectedKeys) {
133
+ emit('update:selected-keys', selectedKeys);
134
+ emit('select', selectedKeys);
135
+ };
136
+ var onMenuHeaderClick = function onMenuHeaderClick(e) {
137
+ emit('menuHeaderClick', e);
138
+ };
139
+ var onMenuClick = function onMenuClick(args) {
140
+ emit('menuClick', args);
141
+ };
142
+ var onBack = function onBack(args) {
143
+ emit('backClick', args);
144
+ };
145
+ var baseClassName = (0, _vue.computed)(function () {
146
+ return "".concat(props.prefixCls, "-basicLayout");
147
+ });
148
+ var className = (0, _vue.computed)(function () {
149
+ return (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, baseClassName.value, true), "".concat(baseClassName.value, "-top-menu"), isTop.value), "".concat(baseClassName.value, "-is-children"), props.isChildrenLayout), "".concat(baseClassName.value, "-fix-siderbar"), props.fixSiderbar), "".concat(baseClassName.value, "-").concat(props.layout), props.layout);
150
+ });
151
+ var genLayoutStyle = (0, _vue.reactive)({
152
+ position: 'relative'
153
+ });
154
+ (0, _vue.watchEffect)(function () {
155
+ if (props.isChildrenLayout || props.contentStyle && props.contentStyle.minHeight) {
156
+ genLayoutStyle.minHeight = 0;
157
+ }
158
+ });
159
+ var headerRender = function headerRender(p, matchMenuKeys) {
160
+ if (p.headerRender === false || p.pure) {
161
+ return null;
162
+ }
163
+ return (0, _vue.h)(_Header.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, p), {}, {
164
+ matchMenuKeys: matchMenuKeys || []
165
+ }));
166
+ // <Header {...p} matchMenuKeys={matchMenuKeys || []} />;
167
+ };
168
+ var breadcrumb = (0, _vue.computed)(function () {
169
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props.breadcrumb), {}, {
170
+ itemRender: (0, _util.getSlot)(slots, props, 'breadcrumbRender')
171
+ });
172
+ });
173
+ var flatMenuData = (0, _vue.computed)(function () {
174
+ return hasFlatMenu.value && props.selectedKeys && (0, _util.getMenuFirstChildren)(props.menuData, props.selectedKeys[0]) || [];
175
+ });
176
+ var routeContext = (0, _vue.reactive)((0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, _RouteContext.defaultRouteContext), (0, _lodashEs.pick)((0, _vue.toRefs)(props), ['pure', 'locale', 'menuData', 'openKeys', 'selectedKeys', 'contentWidth', 'disableMobile', 'fixSiderbar', 'fixedHeader', 'headerHeight'])), {}, {
177
+ siderWidth: siderWidth,
178
+ breadcrumb: breadcrumb,
179
+ flatMenuData: flatMenuData,
180
+ hasSide: hasSide,
181
+ back: onBack,
182
+ hasHeader: true,
183
+ flatMenu: hasFlatMenu
184
+ }));
185
+ (0, _vue.provide)(_RouteContext.routeContextInjectKey, routeContext);
186
+ return function () {
187
+ var _slot;
188
+ var _slots$default, _slots$default2;
189
+ var pure = props.pure,
190
+ propsOnCollapse = props.onCollapse,
191
+ propsOnOpenKeys = props.onOpenKeys,
192
+ propsOnSelect = props.onSelect,
193
+ propsOnMenuClick = props.onMenuClick,
194
+ restProps = (0, _objectWithoutProperties2.default)(props, _excluded);
195
+ var collapsedButtonRender = (0, _util.getSlot)(slots, props, 'collapsedButtonRender');
196
+ var headerContentRender = (0, _util.getSlot)(slots, props, 'headerContentRender');
197
+ var rightContentRender = (0, _util.getSlot)(slots, props, 'rightContentRender');
198
+ var customHeaderRender = (0, _util.getSlot)(slots, props, 'headerRender');
199
+ // menu
200
+ var menuHeaderRender = (0, _util.getSlot)(slots, props, 'menuHeaderRender');
201
+ var menuExtraRender = (0, _util.getSlot)(slots, props, 'menuExtraRender');
202
+ var menuContentRender = (0, _util.getSlot)(slots, props, 'menuContentRender');
203
+ var menuItemRender = (0, _util.getSlot)(slots, props, 'menuItemRender');
204
+ var subMenuItemRender = (0, _util.getSlot)(slots, props, 'subMenuItemRender');
205
+ var headerDom = (0, _vue.computed)(function () {
206
+ return headerRender((0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
207
+ menuItemRender: menuItemRender,
208
+ subMenuItemRender: subMenuItemRender,
209
+ hasSiderMenu: !isTop.value,
210
+ menuData: props.menuData,
211
+ onCollapse: onCollapse,
212
+ onOpenKeys: onOpenKeys,
213
+ onSelect: onSelect,
214
+ onMenuHeaderClick: onMenuHeaderClick,
215
+ rightContentRender: rightContentRender,
216
+ collapsedButtonRender: collapsedButtonRender,
217
+ headerTitleRender: menuHeaderRender,
218
+ menuExtraRender: menuExtraRender,
219
+ menuContentRender: menuContentRender,
220
+ headerContentRender: headerContentRender,
221
+ headerRender: customHeaderRender,
222
+ theme: (props.theme || 'dark').toLocaleLowerCase().includes('dark') ? 'dark' : 'light'
223
+ }), props.matchMenuKeys);
224
+ });
225
+ routeContext.hasHeader = !!headerDom.value;
226
+ var contentClassName = (0, _vue.computed)(function () {
227
+ return (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, "".concat(baseClassName.value, "-content"), true), "".concat(baseClassName.value, "-has-header"), headerDom), "".concat(baseClassName.value, "-content-disable-margin"), props.disableContentMargin);
228
+ });
229
+ return (0, _vue.createVNode)(_vue.Fragment, null, [pure ? (_slots$default = slots.default) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots) : (0, _vue.createVNode)("div", {
230
+ "class": className.value
231
+ }, [(0, _vue.createVNode)(_antDesignVue.Layout, {
232
+ "style": (0, _objectSpread2.default)({
233
+ minHeight: '100vh'
234
+ }, attrs.style || {})
235
+ }, {
236
+ default: function _default() {
237
+ return [headerDom.value, (0, _vue.createVNode)(_antDesignVue.Layout, {
238
+ "style": genLayoutStyle,
239
+ "class": prefixCls.value
240
+ }, {
241
+ default: function _default() {
242
+ return [!isTop.value && (0, _vue.createVNode)(_SiderMenu.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, restProps), {}, {
243
+ "menuHeaderRender": menuHeaderRender,
244
+ "menuExtraRender": menuExtraRender,
245
+ "menuContentRender": menuContentRender,
246
+ "menuItemRender": menuItemRender,
247
+ "subMenuItemRender": subMenuItemRender,
248
+ "collapsedButtonRender": collapsedButtonRender,
249
+ "onCollapse": onCollapse,
250
+ "onSelect": onSelect,
251
+ "onOpenKeys": onOpenKeys,
252
+ "onMenuClick": onMenuClick
253
+ }), null), (0, _vue.createVNode)(_antDesignVue.Layout, null, _isSlot(_slot = (0, _vue.createVNode)(_antDesignVue.LayoutContent, null, {
254
+ default: function _default() {
255
+ return [(_slots$default2 = slots.default) === null || _slots$default2 === void 0 ? void 0 : _slots$default2.call(slots)];
256
+ }
257
+ })) ? _slot : {
258
+ default: function _default() {
259
+ return [_slot];
260
+ }
261
+ })];
262
+ }
263
+ })];
264
+ }
265
+ })])]);
266
+ };
267
+ }
268
+ });
@@ -0,0 +1,66 @@
1
+ @import '../style/default.less';
2
+
3
+ .@{basicLayout-prefix-cls} {
4
+ // BFC
5
+ display: flex;
6
+ flex-direction: column;
7
+ width: 100%;
8
+ min-height: 100%;
9
+
10
+ .@{ant-prefix}-layout-header {
11
+ &.@{ant-prefix}-pro-fixed-header {
12
+ position: fixed;
13
+ top: 0;
14
+ }
15
+ }
16
+
17
+ &-content {
18
+ position: relative;
19
+ margin: 24px;
20
+
21
+ .@{ant-prefix}-pro-page-container {
22
+ margin: -24px -24px 0;
23
+ }
24
+
25
+ &-disable-margin {
26
+ margin: 0;
27
+
28
+ .@{ant-prefix}-pro-page-container {
29
+ margin: 0;
30
+ }
31
+ }
32
+
33
+ > .@{ant-prefix}-layout {
34
+ max-height: 100%;
35
+ }
36
+ }
37
+
38
+ // children should support fixed
39
+ .@{basicLayout-prefix-cls}-is-children.@{basicLayout-prefix-cls}-fix-siderbar {
40
+ height: 100vh;
41
+ overflow: hidden;
42
+ transform: rotate(0);
43
+ }
44
+
45
+ .@{basicLayout-prefix-cls}-has-header {
46
+ // tech-page-container
47
+ .tech-page-container {
48
+ height: calc(100vh - @pro-layout-header-height);
49
+ }
50
+
51
+ .@{basicLayout-prefix-cls}-is-children.@{basicLayout-prefix-cls}-has-header {
52
+ .tech-page-container {
53
+ height: calc(100vh - @pro-layout-header-height -
54
+ @pro-layout-header-height);
55
+ }
56
+
57
+ .@{basicLayout-prefix-cls}-is-children {
58
+ min-height: calc(100vh - @pro-layout-header-height);
59
+
60
+ &.@{basicLayout-prefix-cls}-fix-siderbar {
61
+ height: calc(100vh - @pro-layout-header-height);
62
+ }
63
+ }
64
+ }
65
+ }
66
+ }
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.headerViewProps = exports.default = void 0;
8
+ var _vue = require("vue");
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
+ var _TopHeader = require("../TopHeader");
12
+ var _vueTypes = _interopRequireDefault(require("ant-design-vue/es/_util/vue-types"));
13
+ var _RouteContext = require("../RouteContext");
14
+ var _antDesignVue = require("ant-design-vue");
15
+ function _isSlot(s) {
16
+ return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !(0, _vue.isVNode)(s);
17
+ }
18
+ var headerViewProps = exports.headerViewProps = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, _TopHeader.baseHeaderProps), {}, {
19
+ headerRender: {
20
+ type: [Object, Function, Boolean],
21
+ default: function _default() {
22
+ return undefined;
23
+ }
24
+ },
25
+ headerTitleRender: {
26
+ type: [Object, Function, Boolean],
27
+ default: function _default() {
28
+ return undefined;
29
+ }
30
+ },
31
+ headerContentRender: {
32
+ type: [Object, Function, Boolean],
33
+ default: function _default() {
34
+ return undefined;
35
+ }
36
+ },
37
+ hasSiderMenu: _vueTypes.default.looseBool,
38
+ siderWidth: _vueTypes.default.number.def(208)
39
+ });
40
+ var _default2 = exports.default = (0, _vue.defineComponent)({
41
+ name: 'HeaderView',
42
+ inheritAttrs: false,
43
+ props: headerViewProps,
44
+ setup: function setup(props) {
45
+ var _toRefs = (0, _vue.toRefs)(props),
46
+ prefixCls = _toRefs.prefixCls,
47
+ fixedHeader = _toRefs.fixedHeader,
48
+ headerHeight = _toRefs.headerHeight,
49
+ layout = _toRefs.layout,
50
+ theme = _toRefs.theme,
51
+ onCollapse = _toRefs.onCollapse;
52
+ var context = (0, _RouteContext.useRouteContext)();
53
+ var needFixedHeader = (0, _vue.computed)(function () {
54
+ return fixedHeader.value || context.fixedHeader;
55
+ });
56
+ var isTop = (0, _vue.computed)(function () {
57
+ return layout.value === 'top';
58
+ });
59
+ var className = (0, _vue.computed)(function () {
60
+ return (0, _defineProperty2.default)((0, _defineProperty2.default)({}, "".concat(prefixCls.value, "-fixed-header"), needFixedHeader.value), "".concat(prefixCls.value, "-top-menu"), isTop.value);
61
+ });
62
+ var renderContent = function renderContent() {
63
+ var defaultDom = (0, _vue.createVNode)(_TopHeader.TopNavHeader, (0, _objectSpread2.default)((0, _objectSpread2.default)({
64
+ "theme": theme.value,
65
+ "mode": "horizontal"
66
+ }, props), {}, {
67
+ "onCollapse": onCollapse.value,
68
+ "menuData": context.menuData
69
+ }), null);
70
+ if (props.headerRender) {
71
+ return props.headerRender(props, defaultDom);
72
+ }
73
+ return defaultDom;
74
+ };
75
+ var right = (0, _vue.computed)(function () {
76
+ return needFixedHeader.value ? 0 : undefined;
77
+ });
78
+ return function () {
79
+ var _slot;
80
+ return (0, _vue.createVNode)(_vue.Fragment, null, [needFixedHeader.value && (0, _vue.createVNode)(_antDesignVue.Layout.Header, {
81
+ "style": {
82
+ height: "".concat(headerHeight.value, "px"),
83
+ lineHeight: "".concat(headerHeight.value, "px"),
84
+ background: 'transparent'
85
+ }
86
+ }, null), (0, _vue.createVNode)(_antDesignVue.Layout.Header, {
87
+ "style": {
88
+ padding: 0,
89
+ height: "".concat(headerHeight.value, "px"),
90
+ lineHeight: "".concat(headerHeight.value, "px"),
91
+ width: '100%',
92
+ zIndex: 100,
93
+ right: right.value
94
+ },
95
+ "class": className.value
96
+ }, _isSlot(_slot = renderContent()) ? _slot : {
97
+ default: function _default() {
98
+ return [_slot];
99
+ }
100
+ })]);
101
+ };
102
+ }
103
+ });
@@ -0,0 +1,8 @@
1
+ @import '../style/default.less';
2
+
3
+ @pro-layout-fixed-header-prefix-cls: ~'@{ant-prefix}-pro-fixed-header';
4
+
5
+ .@{pro-layout-fixed-header-prefix-cls} {
6
+ z-index: 9;
7
+ width: 100%;
8
+ }