@jetlinks-web/components 2.0.5 → 2.0.6

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.
@@ -99,7 +99,7 @@ var _default2 = exports.default = (0, _vue.defineComponent)({
99
99
  name: 'JProLayout',
100
100
  inheritAttrs: false,
101
101
  props: basicLayoutProps,
102
- emits: ['update:collapsed', 'update:open-keys', 'update:selected-keys', 'collapse', 'openKeys', 'select', 'menuHeaderClick', 'menuClick', 'backClick'],
102
+ emits: ['update:collapsed', 'update:open-keys', 'update:selected-keys', 'update:active-key', 'collapse', 'openKeys', 'select', 'menuHeaderClick', 'menuClick', 'backClick', 'historyTabClick', 'historyTabEdit', 'appMenuClick'],
103
103
  setup: function setup(props, _ref) {
104
104
  var emit = _ref.emit,
105
105
  attrs = _ref.attrs,
@@ -142,6 +142,18 @@ var _default2 = exports.default = (0, _vue.defineComponent)({
142
142
  var onBack = function onBack(args) {
143
143
  emit('backClick', args);
144
144
  };
145
+ var onTabClick = function onTabClick(args) {
146
+ emit('historyTabClick', args);
147
+ };
148
+ var onTabEdit = function onTabEdit(args) {
149
+ emit('historyTabEdit', args);
150
+ };
151
+ var onAppMenuClick = function onAppMenuClick(args) {
152
+ emit('appMenuClick', args);
153
+ };
154
+ var onTabChange = function onTabChange(key) {
155
+ emit('update:active-key', key);
156
+ };
145
157
  var baseClassName = (0, _vue.computed)(function () {
146
158
  return "".concat(props.prefixCls, "-basicLayout");
147
159
  });
@@ -180,12 +192,11 @@ var _default2 = exports.default = (0, _vue.defineComponent)({
180
192
  hasSide: hasSide,
181
193
  back: onBack,
182
194
  hasHeader: true,
183
- flatMenu: hasFlatMenu
195
+ flatMenu: hasFlatMenu,
196
+ layoutType: props.layoutType
184
197
  }));
185
198
  (0, _vue.provide)(_RouteContext.routeContextInjectKey, routeContext);
186
199
  return function () {
187
- var _slot;
188
- var _slots$default, _slots$default2;
189
200
  var pure = props.pure,
190
201
  propsOnCollapse = props.onCollapse,
191
202
  propsOnOpenKeys = props.onOpenKeys,
@@ -226,43 +237,131 @@ var _default2 = exports.default = (0, _vue.defineComponent)({
226
237
  var contentClassName = (0, _vue.computed)(function () {
227
238
  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
239
  });
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
- })])]);
240
+ if (pure) {
241
+ var _slots$default;
242
+ return (_slots$default = slots.default) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots);
243
+ }
244
+ if (props.layoutType === _defaultSettings.LayoutType.LIST) {
245
+ var _slot;
246
+ var _slots$default2;
247
+ return (0, _vue.createVNode)(_vue.Fragment, null, [(0, _vue.createVNode)("div", {
248
+ "class": className.value
249
+ }, [(0, _vue.createVNode)(_antDesignVue.Layout, {
250
+ "style": (0, _objectSpread2.default)({
251
+ minHeight: '100vh'
252
+ }, attrs.style || {})
253
+ }, {
254
+ default: function _default() {
255
+ return [headerDom.value, (0, _vue.createVNode)(_antDesignVue.Layout, {
256
+ "style": genLayoutStyle,
257
+ "class": prefixCls.value
258
+ }, {
259
+ default: function _default() {
260
+ return [!isTop.value && (0, _vue.createVNode)(_SiderMenu.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, restProps), {}, {
261
+ "menuHeaderRender": menuHeaderRender,
262
+ "menuExtraRender": menuExtraRender,
263
+ "menuContentRender": menuContentRender,
264
+ "menuItemRender": menuItemRender,
265
+ "subMenuItemRender": subMenuItemRender,
266
+ "collapsedButtonRender": collapsedButtonRender,
267
+ "onCollapse": onCollapse,
268
+ "onSelect": onSelect,
269
+ "onOpenKeys": onOpenKeys,
270
+ "onMenuClick": onMenuClick
271
+ }), null), (0, _vue.createVNode)(_antDesignVue.Layout, null, _isSlot(_slot = (0, _vue.createVNode)(_antDesignVue.LayoutContent, null, {
272
+ default: function _default() {
273
+ return [(_slots$default2 = slots.default) === null || _slots$default2 === void 0 ? void 0 : _slots$default2.call(slots)];
274
+ }
275
+ })) ? _slot : {
276
+ default: function _default() {
277
+ return [_slot];
278
+ }
279
+ })];
280
+ }
281
+ })];
282
+ }
283
+ })])]);
284
+ } else {
285
+ var _slots$default3;
286
+ var _slot2, _slot3, _slot4;
287
+ return (0, _vue.createVNode)(_vue.Fragment, null, [(0, _vue.createVNode)("div", {
288
+ "class": className.value
289
+ }, [(0, _vue.createVNode)(_antDesignVue.Layout, null, {
290
+ default: function _default() {
291
+ return [(0, _vue.createVNode)(_SiderMenu.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, restProps), {}, {
292
+ "siderWidth": props.cardSiderWidth,
293
+ "headerHeight": 0,
294
+ "menuHeaderRender": menuHeaderRender,
295
+ "menuExtraRender": menuExtraRender,
296
+ "menuContentRender": menuContentRender,
297
+ "menuItemRender": menuItemRender,
298
+ "subMenuItemRender": subMenuItemRender,
299
+ "onCollapse": onCollapse,
300
+ "onSelect": onSelect,
301
+ "onOpenKeys": onOpenKeys,
302
+ "onMenuClick": onMenuClick,
303
+ "onAppMenuClick": onAppMenuClick
304
+ }), null), (0, _vue.createVNode)(_antDesignVue.Layout, null, {
305
+ default: function _default() {
306
+ return [(0, _vue.createVNode)(_antDesignVue.Layout.Header, {
307
+ "style": {
308
+ background: 'transparent',
309
+ padding: 0,
310
+ height: '40px'
311
+ }
312
+ }, _isSlot(_slot3 = (0, _vue.createVNode)(_antDesignVue.Tabs, {
313
+ "hide-add": true,
314
+ "type": "editable-card",
315
+ "class": "history-tabs",
316
+ "id": 'history-route-tabs',
317
+ "tabBarStyle": {
318
+ margin: 0
319
+ },
320
+ "onTabClick": onTabClick,
321
+ "onEdit": onTabEdit,
322
+ "activeKey": props.historyActive,
323
+ "onChange": onTabChange
324
+ }, _isSlot(_slot2 = props.historyRoutes.map(function (item) {
325
+ return (0, _vue.createVNode)(_antDesignVue.Tabs.TabPane, {
326
+ "key": item.name,
327
+ "tab": item.label,
328
+ "closable": true
329
+ }, null);
330
+ })) ? _slot2 : {
331
+ default: function _default() {
332
+ return [_slot2];
333
+ }
334
+ })) ? _slot3 : {
335
+ default: function _default() {
336
+ return [_slot3];
337
+ }
338
+ }), (0, _vue.createVNode)(_antDesignVue.LayoutContent, {
339
+ "style": {
340
+ height: "calc(100vh - 88px)"
341
+ }
342
+ }, {
343
+ default: function _default() {
344
+ return [(_slots$default3 = slots.default) === null || _slots$default3 === void 0 ? void 0 : _slots$default3.call(slots)];
345
+ }
346
+ }), (0, _vue.createVNode)(_antDesignVue.Layout.Footer, {
347
+ "style": {
348
+ padding: '11px 24px'
349
+ }
350
+ }, _isSlot(_slot4 = (0, _vue.createVNode)("div", {
351
+ "style": props.pageFooterStyle
352
+ }, [(0, _vue.createVNode)(_antDesignVue.Breadcrumb, {
353
+ "routes": props.breadcrumb.routes,
354
+ "itemRender": props.breadcrumbRender
355
+ }, null)])) ? _slot4 : {
356
+ default: function _default() {
357
+ return [_slot4];
358
+ }
359
+ })];
360
+ }
361
+ })];
362
+ }
363
+ })])]);
364
+ }
266
365
  };
267
366
  }
268
367
  });
@@ -15,7 +15,6 @@ var _pageHeader = require("ant-design-vue/es/page-header");
15
15
  var _RouteContext = require("../RouteContext");
16
16
  var _util = require("../util");
17
17
  var _vueTypes = _interopRequireDefault(require("ant-design-vue/es/_util/vue-types"));
18
- require("./index.less");
19
18
  var _excluded = ["title", "tabList", "tabActiveKey", "content", "pageHeaderRender", "header", "extraContent", "prefixedClassName", "prefixCls", "fixedHeader", "showBack"];
20
19
  function _isSlot(s) {
21
20
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !(0, _vue.isVNode)(s);
@@ -112,12 +112,37 @@ var defaultRenderLogoAndTitle = exports.defaultRenderLogoAndTitle = function def
112
112
  logo = _props$logo === void 0 ? 'http://demo.jetlinks.cn/static/logo.760eb65c.png' : _props$logo,
113
113
  logoStyle = props.logoStyle,
114
114
  title = props.title,
115
- layout = props.layout;
115
+ layout = props.layout,
116
+ apps = props.apps,
117
+ baseClassName = props.baseClassName;
118
+ var logoDom = defaultRenderLogo(logo, logoStyle);
116
119
  var renderFunction = props[renderKey || ''];
120
+ if (props.layoutType === _defaultSettings.LayoutType.CARD) {
121
+ return (0, _vue.createVNode)("a", null, [apps.length ? (0, _vue.createVNode)(_antDesignVue.Tooltip, {
122
+ "placement": "rightTop",
123
+ "color": "#fff",
124
+ "arrowPointAtCenter": true
125
+ }, {
126
+ default: function _default() {
127
+ return [logoDom];
128
+ },
129
+ title: function title() {
130
+ return apps.map(function (item) {
131
+ return (0, _vue.createVNode)("div", {
132
+ "class": "sider-app-menus"
133
+ }, [(0, _vue.createVNode)("div", {
134
+ "class": "sider-app-menus-item",
135
+ "onClick": function onClick() {
136
+ return props.onAppMenuClick(item);
137
+ }
138
+ }, [item.label])]);
139
+ });
140
+ }
141
+ }) : logoDom]);
142
+ }
117
143
  if (layout === 'mix' && renderFunction === false) {
118
144
  return null;
119
145
  }
120
- var logoDom = defaultRenderLogo(logo, logoStyle);
121
146
  var titleDom = (0, _vue.createVNode)("h1", null, _isSlot(title) ? title : {
122
147
  default: function _default() {
123
148
  return [title];
@@ -182,9 +207,11 @@ var SiderMenu = function SiderMenu(props) {
182
207
  props.onSelect($event);
183
208
  }
184
209
  };
185
- var headerDom = defaultRenderLogoAndTitle(props);
210
+ var headerDom = defaultRenderLogoAndTitle((0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
211
+ baseClassName: baseClassName
212
+ }));
186
213
  var extraDom = menuExtraRender && menuExtraRender(props);
187
- if (hasSplitMenu.value && (0, _vue.unref)(context.flatMenuData).length === 0) {
214
+ if (props.layoutType !== _defaultSettings.LayoutType.CARD && hasSplitMenu.value && (0, _vue.unref)(context.flatMenuData).length === 0) {
188
215
  return null;
189
216
  }
190
217
  var defaultMenuDom = (0, _vue.createVNode)(_BaseMenu.default, {
@@ -254,7 +281,7 @@ var SiderMenu = function SiderMenu(props) {
254
281
  }
255
282
  }), (0, _vue.createVNode)("div", {
256
283
  "style": "flex: 1; overflow: hidden auto;"
257
- }, [menuContentRender && menuContentRender(props, defaultMenuDom) || defaultMenuDom]), (0, _vue.createVNode)("div", {
284
+ }, [props.layoutType === _defaultSettings.LayoutType.LIST ? menuContentRender && menuContentRender(props, defaultMenuDom) || defaultMenuDom : null]), (0, _vue.createVNode)("div", {
258
285
  "class": "".concat(baseClassName, "-links")
259
286
  }, [collapsedButtonRender !== false ? (0, _vue.createVNode)(_antDesignVue.Menu, {
260
287
  "class": "".concat(baseClassName, "-link-menu"),