@ibiz-template/vue3-components 0.7.41-alpha.2 → 0.7.41-alpha.4
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/dist/chart-8QfxarWf.js +1 -0
- package/dist/index-u5jvzY6s.js +4 -0
- package/dist/index.min.css +1 -1
- package/dist/index.system.min.js +1 -1
- package/dist/{wang-editor-6EirGFoh.js → wang-editor--AXyy3P_.js} +1 -1
- package/dist/{xlsx-util-J1RHk00u.js → xlsx-util-GVd_ca5q.js} +1 -1
- package/es/common/split/split.css +1 -1
- package/es/control/app-menu/app-menu.css +1 -1
- package/es/control/chart/chart.mjs +1 -1
- package/es/control/data-view/data-view.mjs +2 -2
- package/es/control/form/form-detail/form-item/form-item-container/form-item-container.css +1 -1
- package/es/control/form/form-detail/form-item/form-item-container/form-item-container.mjs +25 -4
- package/es/control/grid/grid/grid-control.util.d.ts +1 -1
- package/es/control/grid/grid/grid-control.util.mjs +32 -5
- package/es/control/grid/grid/grid.mjs +8 -6
- package/es/control/grid/row-edit-popover/use-row-edit-popover.mjs +1 -1
- package/es/control/list/list.mjs +2 -2
- package/es/control/tree/el-tree-util.d.ts +23 -1
- package/es/control/tree/el-tree-util.mjs +30 -1
- package/es/control/tree/tree.d.ts +5 -0
- package/es/control/tree/tree.mjs +94 -14
- package/es/control/tree-grid/tree-grid.mjs +1 -1
- package/es/control/tree-grid-ex/use-row-edit-popover.mjs +1 -1
- package/es/editor/slider/ibiz-slider/ibiz-slider.mjs +2 -2
- package/es/locale/en/index.d.ts +6 -0
- package/es/locale/zh-CN/index.d.ts +6 -0
- package/es/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.controller.d.ts +10 -0
- package/es/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.controller.mjs +17 -0
- package/es/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.css +1 -0
- package/es/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.d.ts +45 -0
- package/es/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.mjs +56 -0
- package/es/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.provider.d.ts +7 -0
- package/es/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.provider.mjs +21 -0
- package/es/panel-component/app-extend-menu/bottom-side-menu/index.d.ts +5 -0
- package/es/panel-component/app-extend-menu/bottom-side-menu/index.mjs +16 -0
- package/es/panel-component/app-extend-menu/extend-menu-base/common-extend-menu/common-extend-menu.css +1 -0
- package/es/panel-component/app-extend-menu/extend-menu-base/common-extend-menu/common-extend-menu.d.ts +134 -0
- package/es/panel-component/app-extend-menu/extend-menu-base/common-extend-menu/common-extend-menu.mjs +77 -0
- package/es/panel-component/app-extend-menu/extend-menu-base/extend-menu-base.controller.d.ts +149 -0
- package/es/panel-component/app-extend-menu/extend-menu-base/extend-menu-base.controller.mjs +258 -0
- package/es/panel-component/app-extend-menu/extend-menu-base/extend-menu-base.state.d.ts +27 -0
- package/es/panel-component/app-extend-menu/extend-menu-base/extend-menu-base.state.mjs +28 -0
- package/es/panel-component/app-extend-menu/index.d.ts +5 -0
- package/es/panel-component/app-extend-menu/index.mjs +18 -0
- package/es/panel-component/app-extend-menu/left-side-menu/index.d.ts +5 -0
- package/es/panel-component/app-extend-menu/left-side-menu/index.mjs +16 -0
- package/es/panel-component/app-extend-menu/left-side-menu/left-side-menu.controller.d.ts +10 -0
- package/es/panel-component/app-extend-menu/left-side-menu/left-side-menu.controller.mjs +17 -0
- package/es/panel-component/app-extend-menu/left-side-menu/left-side-menu.css +1 -0
- package/es/panel-component/app-extend-menu/left-side-menu/left-side-menu.d.ts +45 -0
- package/es/panel-component/app-extend-menu/left-side-menu/left-side-menu.mjs +56 -0
- package/es/panel-component/app-extend-menu/left-side-menu/left-side-menu.provider.d.ts +7 -0
- package/es/panel-component/app-extend-menu/left-side-menu/left-side-menu.provider.mjs +21 -0
- package/es/panel-component/app-extend-menu/right-side-menu/index.d.ts +5 -0
- package/es/panel-component/app-extend-menu/right-side-menu/index.mjs +16 -0
- package/es/panel-component/app-extend-menu/right-side-menu/right-side-menu.controller.d.ts +10 -0
- package/es/panel-component/app-extend-menu/right-side-menu/right-side-menu.controller.mjs +17 -0
- package/es/panel-component/app-extend-menu/right-side-menu/right-side-menu.css +1 -0
- package/es/panel-component/app-extend-menu/right-side-menu/right-side-menu.d.ts +45 -0
- package/es/panel-component/app-extend-menu/right-side-menu/right-side-menu.mjs +56 -0
- package/es/panel-component/app-extend-menu/right-side-menu/right-side-menu.provider.d.ts +7 -0
- package/es/panel-component/app-extend-menu/right-side-menu/right-side-menu.provider.mjs +21 -0
- package/es/panel-component/app-extend-menu/top-side-menu/index.d.ts +5 -0
- package/es/panel-component/app-extend-menu/top-side-menu/index.mjs +16 -0
- package/es/panel-component/app-extend-menu/top-side-menu/top-side-menu.controller.d.ts +10 -0
- package/es/panel-component/app-extend-menu/top-side-menu/top-side-menu.controller.mjs +17 -0
- package/es/panel-component/app-extend-menu/top-side-menu/top-side-menu.css +1 -0
- package/es/panel-component/app-extend-menu/top-side-menu/top-side-menu.d.ts +45 -0
- package/es/panel-component/app-extend-menu/top-side-menu/top-side-menu.mjs +56 -0
- package/es/panel-component/app-extend-menu/top-side-menu/top-side-menu.provider.d.ts +7 -0
- package/es/panel-component/app-extend-menu/top-side-menu/top-side-menu.provider.mjs +21 -0
- package/es/panel-component/index.mjs +2 -0
- package/es/view-engine/index-view.engine.mjs +1 -1
- package/es/view-engine/opt-view.engine.d.ts +6 -0
- package/es/view-engine/opt-view.engine.mjs +12 -0
- package/lib/common/split/split.css +1 -1
- package/lib/control/app-menu/app-menu.css +1 -1
- package/lib/control/chart/chart.cjs +1 -1
- package/lib/control/data-view/data-view.cjs +2 -2
- package/lib/control/form/form-detail/form-item/form-item-container/form-item-container.cjs +25 -4
- package/lib/control/form/form-detail/form-item/form-item-container/form-item-container.css +1 -1
- package/lib/control/grid/grid/grid-control.util.cjs +31 -4
- package/lib/control/grid/grid/grid.cjs +8 -6
- package/lib/control/grid/row-edit-popover/use-row-edit-popover.cjs +1 -1
- package/lib/control/list/list.cjs +2 -2
- package/lib/control/tree/el-tree-util.cjs +31 -0
- package/lib/control/tree/tree.cjs +91 -11
- package/lib/control/tree-grid/tree-grid.cjs +1 -1
- package/lib/control/tree-grid-ex/use-row-edit-popover.cjs +1 -1
- package/lib/editor/slider/ibiz-slider/ibiz-slider.cjs +2 -2
- package/lib/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.cjs +58 -0
- package/lib/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.controller.cjs +19 -0
- package/lib/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.css +1 -0
- package/lib/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.provider.cjs +23 -0
- package/lib/panel-component/app-extend-menu/bottom-side-menu/index.cjs +20 -0
- package/lib/panel-component/app-extend-menu/extend-menu-base/common-extend-menu/common-extend-menu.cjs +79 -0
- package/lib/panel-component/app-extend-menu/extend-menu-base/common-extend-menu/common-extend-menu.css +1 -0
- package/lib/panel-component/app-extend-menu/extend-menu-base/extend-menu-base.controller.cjs +260 -0
- package/lib/panel-component/app-extend-menu/extend-menu-base/extend-menu-base.state.cjs +30 -0
- package/lib/panel-component/app-extend-menu/index.cjs +22 -0
- package/lib/panel-component/app-extend-menu/left-side-menu/index.cjs +20 -0
- package/lib/panel-component/app-extend-menu/left-side-menu/left-side-menu.cjs +58 -0
- package/lib/panel-component/app-extend-menu/left-side-menu/left-side-menu.controller.cjs +19 -0
- package/lib/panel-component/app-extend-menu/left-side-menu/left-side-menu.css +1 -0
- package/lib/panel-component/app-extend-menu/left-side-menu/left-side-menu.provider.cjs +23 -0
- package/lib/panel-component/app-extend-menu/right-side-menu/index.cjs +20 -0
- package/lib/panel-component/app-extend-menu/right-side-menu/right-side-menu.cjs +58 -0
- package/lib/panel-component/app-extend-menu/right-side-menu/right-side-menu.controller.cjs +19 -0
- package/lib/panel-component/app-extend-menu/right-side-menu/right-side-menu.css +1 -0
- package/lib/panel-component/app-extend-menu/right-side-menu/right-side-menu.provider.cjs +23 -0
- package/lib/panel-component/app-extend-menu/top-side-menu/index.cjs +20 -0
- package/lib/panel-component/app-extend-menu/top-side-menu/top-side-menu.cjs +58 -0
- package/lib/panel-component/app-extend-menu/top-side-menu/top-side-menu.controller.cjs +19 -0
- package/lib/panel-component/app-extend-menu/top-side-menu/top-side-menu.css +1 -0
- package/lib/panel-component/app-extend-menu/top-side-menu/top-side-menu.provider.cjs +23 -0
- package/lib/panel-component/index.cjs +2 -0
- package/lib/view-engine/index-view.engine.cjs +1 -1
- package/lib/view-engine/opt-view.engine.cjs +12 -0
- package/package.json +6 -6
- package/dist/chart-GgAfcR6o.js +0 -1
- package/dist/index-eIKUlAq_.js +0 -4
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var vue = require('vue');
|
|
4
|
+
var vue3Util = require('@ibiz-template/vue3-util');
|
|
5
|
+
var bottomSideMenu_controller = require('./bottom-side-menu.controller.cjs');
|
|
6
|
+
require('./bottom-side-menu.css');
|
|
7
|
+
|
|
8
|
+
"use strict";
|
|
9
|
+
const BottomSideMenu = /* @__PURE__ */ vue.defineComponent({
|
|
10
|
+
name: "IBizBottomSideMenu",
|
|
11
|
+
props: {
|
|
12
|
+
/**
|
|
13
|
+
* @description 模型数据
|
|
14
|
+
*/
|
|
15
|
+
modelData: {
|
|
16
|
+
type: Object,
|
|
17
|
+
required: true
|
|
18
|
+
},
|
|
19
|
+
/**
|
|
20
|
+
* @description 底部菜单控制器
|
|
21
|
+
*/
|
|
22
|
+
controller: {
|
|
23
|
+
type: bottomSideMenu_controller.BottomSideMenuController,
|
|
24
|
+
required: true
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
setup(props) {
|
|
28
|
+
const ns = vue3Util.useNamespace("bottom-side-menu");
|
|
29
|
+
const {
|
|
30
|
+
state
|
|
31
|
+
} = props.controller;
|
|
32
|
+
return {
|
|
33
|
+
ns,
|
|
34
|
+
state
|
|
35
|
+
};
|
|
36
|
+
},
|
|
37
|
+
render() {
|
|
38
|
+
if (!this.controller.appMenu) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
return vue.createVNode("div", {
|
|
42
|
+
"class": this.ns.b()
|
|
43
|
+
}, [vue.createVNode(vue.resolveComponent("iBizCommonExtendMenu"), {
|
|
44
|
+
"renderMode": this.controller.rawItemParams.rendermode,
|
|
45
|
+
"items": this.state.items,
|
|
46
|
+
"menuItemsState": this.state.menuItemsState,
|
|
47
|
+
"providers": this.controller.itemProviders,
|
|
48
|
+
"position": "BOTTOM",
|
|
49
|
+
"layoutMode": this.controller.appMenu.layoutMode,
|
|
50
|
+
"layout": this.controller.appMenu.layout,
|
|
51
|
+
"onMenuItemClick": (item, event) => {
|
|
52
|
+
this.controller.handleClickMenuItem(item, event);
|
|
53
|
+
}
|
|
54
|
+
}, null)]);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
exports.BottomSideMenu = BottomSideMenu;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var extendMenuBase_controller = require('../extend-menu-base/extend-menu-base.controller.cjs');
|
|
4
|
+
|
|
5
|
+
"use strict";
|
|
6
|
+
var __defProp = Object.defineProperty;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __publicField = (obj, key, value) => {
|
|
9
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
10
|
+
return value;
|
|
11
|
+
};
|
|
12
|
+
class BottomSideMenuController extends extendMenuBase_controller.ExtendMenuBaseController {
|
|
13
|
+
constructor() {
|
|
14
|
+
super(...arguments);
|
|
15
|
+
__publicField(this, "appMenuName", "bottomsidemenu");
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
exports.BottomSideMenuController = BottomSideMenuController;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.ibiz-bottom-side-menu{width:100%;height:100%}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var bottomSideMenu_controller = require('./bottom-side-menu.controller.cjs');
|
|
4
|
+
|
|
5
|
+
"use strict";
|
|
6
|
+
var __defProp = Object.defineProperty;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __publicField = (obj, key, value) => {
|
|
9
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
10
|
+
return value;
|
|
11
|
+
};
|
|
12
|
+
class BottomSideMenuProvider {
|
|
13
|
+
constructor() {
|
|
14
|
+
__publicField(this, "component", "IBizBottomSideMenu");
|
|
15
|
+
}
|
|
16
|
+
async createController(panelItem, panel, parent) {
|
|
17
|
+
const c = new bottomSideMenu_controller.BottomSideMenuController(panelItem, panel, parent);
|
|
18
|
+
await c.init();
|
|
19
|
+
return c;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
exports.BottomSideMenuProvider = BottomSideMenuProvider;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var runtime = require('@ibiz-template/runtime');
|
|
6
|
+
var bottomSideMenu = require('./bottom-side-menu.cjs');
|
|
7
|
+
var bottomSideMenu_provider = require('./bottom-side-menu.provider.cjs');
|
|
8
|
+
|
|
9
|
+
"use strict";
|
|
10
|
+
var IBizBottomSideMenu = {
|
|
11
|
+
install(app) {
|
|
12
|
+
app.component(bottomSideMenu.BottomSideMenu.name, bottomSideMenu.BottomSideMenu);
|
|
13
|
+
runtime.registerPanelItemProvider(
|
|
14
|
+
"RAWITEM_PREDEFINE_BOTTOM_SIDE_MENU",
|
|
15
|
+
() => new bottomSideMenu_provider.BottomSideMenuProvider()
|
|
16
|
+
);
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
exports.default = IBizBottomSideMenu;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var vue = require('vue');
|
|
4
|
+
var vue3Util = require('@ibiz-template/vue3-util');
|
|
5
|
+
require('./common-extend-menu.css');
|
|
6
|
+
|
|
7
|
+
"use strict";
|
|
8
|
+
const CommonExtendMenu = /* @__PURE__ */ vue.defineComponent({
|
|
9
|
+
name: "IBizCommonExtendMenu",
|
|
10
|
+
props: {
|
|
11
|
+
/**
|
|
12
|
+
* @description 绘制模式,'BUTTON' | 'MENU': 按钮态(仅识别一层) | 常规菜单态
|
|
13
|
+
*/
|
|
14
|
+
renderMode: {
|
|
15
|
+
type: String,
|
|
16
|
+
required: true
|
|
17
|
+
},
|
|
18
|
+
/**
|
|
19
|
+
* @description 菜单项数据
|
|
20
|
+
*/
|
|
21
|
+
items: {
|
|
22
|
+
type: Object,
|
|
23
|
+
required: true
|
|
24
|
+
},
|
|
25
|
+
/**
|
|
26
|
+
* @description 菜单项权限数据
|
|
27
|
+
*/
|
|
28
|
+
menuItemsState: {
|
|
29
|
+
type: Object,
|
|
30
|
+
required: true
|
|
31
|
+
},
|
|
32
|
+
/**
|
|
33
|
+
* @description 菜单项适配器集合
|
|
34
|
+
*/
|
|
35
|
+
providers: {
|
|
36
|
+
type: Object,
|
|
37
|
+
required: true
|
|
38
|
+
},
|
|
39
|
+
/**
|
|
40
|
+
* @description 菜单方向
|
|
41
|
+
*/
|
|
42
|
+
position: {
|
|
43
|
+
type: String,
|
|
44
|
+
required: true
|
|
45
|
+
},
|
|
46
|
+
/**
|
|
47
|
+
* @description 菜单布局模式,现阶段仅需识别FLEX(flex布局)和BORDER(边缘布局)
|
|
48
|
+
*/
|
|
49
|
+
layoutMode: {
|
|
50
|
+
type: String,
|
|
51
|
+
default: "FLEX"
|
|
52
|
+
},
|
|
53
|
+
/**
|
|
54
|
+
* @description 菜单布局容器模型(按钮形态才识别)
|
|
55
|
+
*/
|
|
56
|
+
layout: {
|
|
57
|
+
type: Object
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
emits: {
|
|
61
|
+
/**
|
|
62
|
+
* @description 项点击事件
|
|
63
|
+
*/
|
|
64
|
+
menuItemClick: (item, event) => true
|
|
65
|
+
},
|
|
66
|
+
setup(props) {
|
|
67
|
+
const ns = vue3Util.useNamespace("common-extend-menu");
|
|
68
|
+
return {
|
|
69
|
+
ns
|
|
70
|
+
};
|
|
71
|
+
},
|
|
72
|
+
render() {
|
|
73
|
+
return vue.createVNode("div", {
|
|
74
|
+
"class": this.ns.b()
|
|
75
|
+
}, [this.position, vue.createTextVNode("\u901A\u7528\u83DC\u5355")]);
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
exports.CommonExtendMenu = CommonExtendMenu;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.ibiz-common-extend-menu{width:100%;height:100%}
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var qxUtil = require('qx-util');
|
|
4
|
+
var runtime = require('@ibiz-template/runtime');
|
|
5
|
+
var core = require('@ibiz-template/core');
|
|
6
|
+
var extendMenuBase_state = require('./extend-menu-base.state.cjs');
|
|
7
|
+
|
|
8
|
+
"use strict";
|
|
9
|
+
var __defProp = Object.defineProperty;
|
|
10
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
11
|
+
var __publicField = (obj, key, value) => {
|
|
12
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
13
|
+
return value;
|
|
14
|
+
};
|
|
15
|
+
class ExtendMenuBaseController extends runtime.PanelItemController {
|
|
16
|
+
constructor() {
|
|
17
|
+
super(...arguments);
|
|
18
|
+
/**
|
|
19
|
+
* @description 自定义补充参数
|
|
20
|
+
* @type {IData}
|
|
21
|
+
* @memberof ExtendMenuBaseController
|
|
22
|
+
*/
|
|
23
|
+
__publicField(this, "rawItemParams", { rendermode: "BUTTON" });
|
|
24
|
+
/**
|
|
25
|
+
* @description 当前菜单名称
|
|
26
|
+
* @protected
|
|
27
|
+
* @type {string}
|
|
28
|
+
* @memberof ExtendMenuBaseController
|
|
29
|
+
*/
|
|
30
|
+
__publicField(this, "appMenuName", "");
|
|
31
|
+
/**
|
|
32
|
+
* @description 菜单模型
|
|
33
|
+
* @protected
|
|
34
|
+
* @type {(IAppMenu | undefined)}
|
|
35
|
+
* @memberof ExtendMenuBaseController
|
|
36
|
+
*/
|
|
37
|
+
__publicField(this, "appMenu");
|
|
38
|
+
/**
|
|
39
|
+
* @description 当前应用
|
|
40
|
+
* @protected
|
|
41
|
+
* @type {IAppService}
|
|
42
|
+
* @memberof ExtendMenuBaseController
|
|
43
|
+
*/
|
|
44
|
+
__publicField(this, "app");
|
|
45
|
+
/**
|
|
46
|
+
* @description 菜单项适配器集合
|
|
47
|
+
* @type {{ [key: string]: IAppMenuItemProvider }}
|
|
48
|
+
* @memberof ExtendMenuBaseController
|
|
49
|
+
*/
|
|
50
|
+
__publicField(this, "itemProviders", {});
|
|
51
|
+
/**
|
|
52
|
+
* @description 所有菜单项,平铺开
|
|
53
|
+
* @type {IAppMenuItem[]}
|
|
54
|
+
* @memberof ExtendMenuBaseController
|
|
55
|
+
*/
|
|
56
|
+
__publicField(this, "allAppMenuItems", []);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* @description 获取当前视图
|
|
60
|
+
* @readonly
|
|
61
|
+
* @type {IViewController}
|
|
62
|
+
* @memberof ExtendMenuBaseController
|
|
63
|
+
*/
|
|
64
|
+
get view() {
|
|
65
|
+
return this.panel.view;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* @description 视图层级
|
|
69
|
+
* @readonly
|
|
70
|
+
* @type {(number | undefined)}
|
|
71
|
+
* @memberof ExtendMenuBaseController
|
|
72
|
+
*/
|
|
73
|
+
get routeDepth() {
|
|
74
|
+
return this.view.modal.routeDepth;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* @description 上下文对象
|
|
78
|
+
* @readonly
|
|
79
|
+
* @type {IContext}
|
|
80
|
+
* @memberof ExtendMenuBaseController
|
|
81
|
+
*/
|
|
82
|
+
get context() {
|
|
83
|
+
return this.panel.context;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* @description 视图参数
|
|
87
|
+
* @readonly
|
|
88
|
+
* @type {IParams}
|
|
89
|
+
* @memberof ExtendMenuBaseController
|
|
90
|
+
*/
|
|
91
|
+
get params() {
|
|
92
|
+
return this.panel.params;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* @description 创建状态对象
|
|
96
|
+
* @protected
|
|
97
|
+
* @returns {*} {ExtendMenuBase}
|
|
98
|
+
* @memberof ExtendMenuBaseController
|
|
99
|
+
*/
|
|
100
|
+
createState() {
|
|
101
|
+
var _a;
|
|
102
|
+
return new extendMenuBase_state.ExtendMenuBase((_a = this.parent) == null ? void 0 : _a.state);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* @description 初始化
|
|
106
|
+
* @protected
|
|
107
|
+
* @returns {*} {Promise<void>}
|
|
108
|
+
* @memberof ExtendMenuBaseController
|
|
109
|
+
*/
|
|
110
|
+
async onInit() {
|
|
111
|
+
var _a, _b;
|
|
112
|
+
await super.onInit();
|
|
113
|
+
this.handleRawItemParams();
|
|
114
|
+
this.app = await ibiz.hub.getApp(this.context.srfappid);
|
|
115
|
+
this.appMenu = this.computeAppMenu();
|
|
116
|
+
this.state.items = this.appMenu && this.appMenu.appMenuItems ? this.appMenu.appMenuItems : [];
|
|
117
|
+
this.flattenAllItems();
|
|
118
|
+
await this.initAppMenuItemProviders();
|
|
119
|
+
(_b = (_a = this.appMenu) == null ? void 0 : _a.appMenuItems) == null ? void 0 : _b.forEach((item) => {
|
|
120
|
+
this.initMenuItemState(item);
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* @description 计算当前菜单模型
|
|
125
|
+
* @protected
|
|
126
|
+
* @returns {*} {(IAppMenu | undefined)}
|
|
127
|
+
* @memberof ExtendMenuBaseController
|
|
128
|
+
*/
|
|
129
|
+
computeAppMenu() {
|
|
130
|
+
return runtime.getControl(this.view.model, this.appMenuName);
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* @description 平铺所有菜单项
|
|
134
|
+
* @protected
|
|
135
|
+
* @returns {*} {void}
|
|
136
|
+
* @memberof ExtendMenuBaseController
|
|
137
|
+
*/
|
|
138
|
+
flattenAllItems() {
|
|
139
|
+
if (!this.appMenu)
|
|
140
|
+
return;
|
|
141
|
+
const result = [];
|
|
142
|
+
const flattenMenus = (menuItems) => {
|
|
143
|
+
menuItems.forEach((item) => {
|
|
144
|
+
result.push(item);
|
|
145
|
+
if (item.appMenuItems && item.appMenuItems.length > 0) {
|
|
146
|
+
flattenMenus(item.appMenuItems);
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
};
|
|
150
|
+
flattenMenus(this.appMenu.appMenuItems);
|
|
151
|
+
this.allAppMenuItems = result;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* @description 初始化菜单项的适配器
|
|
155
|
+
* @protected
|
|
156
|
+
* @returns {*} {Promise<void>}
|
|
157
|
+
* @memberof ExtendMenuBaseController
|
|
158
|
+
*/
|
|
159
|
+
async initAppMenuItemProviders() {
|
|
160
|
+
if (this.allAppMenuItems.length === 0)
|
|
161
|
+
return;
|
|
162
|
+
await Promise.all(
|
|
163
|
+
this.allAppMenuItems.map(async (item) => {
|
|
164
|
+
const provider = await runtime.getAppMenuItemProvider(item);
|
|
165
|
+
if (provider) {
|
|
166
|
+
this.itemProviders[item.id] = provider;
|
|
167
|
+
}
|
|
168
|
+
})
|
|
169
|
+
);
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* @description 初始化菜单项状态
|
|
173
|
+
* @param {IAppMenuItem} menu
|
|
174
|
+
* @returns {*} {{
|
|
175
|
+
* visible: boolean;
|
|
176
|
+
* permitted: boolean;
|
|
177
|
+
* }}
|
|
178
|
+
* @memberof ExtendMenuBaseController
|
|
179
|
+
*/
|
|
180
|
+
initMenuItemState(menu) {
|
|
181
|
+
var _a;
|
|
182
|
+
const result = { permitted: true, visible: true };
|
|
183
|
+
if (menu.hidden) {
|
|
184
|
+
result.visible = false;
|
|
185
|
+
} else {
|
|
186
|
+
let permitted = true;
|
|
187
|
+
if (menu.accessKey) {
|
|
188
|
+
permitted = this.app.authority.calcByResCode(menu.accessKey);
|
|
189
|
+
}
|
|
190
|
+
let visible = permitted;
|
|
191
|
+
if ((_a = menu.appMenuItems) == null ? void 0 : _a.length) {
|
|
192
|
+
const childrenState = menu.appMenuItems.map((child) => {
|
|
193
|
+
return this.initMenuItemState(child).visible;
|
|
194
|
+
});
|
|
195
|
+
visible = visible && childrenState.includes(true);
|
|
196
|
+
}
|
|
197
|
+
result.permitted = permitted;
|
|
198
|
+
result.visible = visible;
|
|
199
|
+
}
|
|
200
|
+
this.state.menuItemsState[menu.id] = result;
|
|
201
|
+
return result;
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* @description 处理菜单项点击,触发对应的应用功能
|
|
205
|
+
* @param {IAppMenuItem} menuItem
|
|
206
|
+
* @param {MouseEvent} event
|
|
207
|
+
* @param {boolean} [useDepth=true]
|
|
208
|
+
* @returns {*} {Promise<void>}
|
|
209
|
+
* @memberof ExtendMenuBaseController
|
|
210
|
+
*/
|
|
211
|
+
async handleClickMenuItem(menuItem, event, useDepth = true) {
|
|
212
|
+
if (!menuItem) {
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
const provider = this.itemProviders[menuItem.id];
|
|
216
|
+
if (provider && provider.onClick) {
|
|
217
|
+
return provider.onClick(menuItem, event);
|
|
218
|
+
}
|
|
219
|
+
if (!menuItem.appFuncId) {
|
|
220
|
+
throw new core.RuntimeModelError(
|
|
221
|
+
menuItem,
|
|
222
|
+
ibiz.i18n.t("runtime.controller.control.menu.noConfigured")
|
|
223
|
+
);
|
|
224
|
+
}
|
|
225
|
+
const tempContext = this.context.clone();
|
|
226
|
+
tempContext.srfappid = menuItem.appId || ibiz.env.appId;
|
|
227
|
+
if (this.routeDepth && useDepth) {
|
|
228
|
+
Object.assign(tempContext, {
|
|
229
|
+
toRouteDepth: this.routeDepth + 1
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
const param = { ...this.params };
|
|
233
|
+
await ibiz.commands.execute(
|
|
234
|
+
runtime.AppFuncCommand.TAG,
|
|
235
|
+
menuItem.appFuncId,
|
|
236
|
+
tempContext,
|
|
237
|
+
param,
|
|
238
|
+
{ view: this.view }
|
|
239
|
+
);
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* @description 处理自定义补充参数
|
|
243
|
+
* @protected
|
|
244
|
+
* @memberof ExtendMenuBaseController
|
|
245
|
+
*/
|
|
246
|
+
handleRawItemParams() {
|
|
247
|
+
var _a;
|
|
248
|
+
let params = {};
|
|
249
|
+
const rawItemParams = (_a = this.model.rawItem) == null ? void 0 : _a.rawItemParams;
|
|
250
|
+
if (qxUtil.notNilEmpty(rawItemParams)) {
|
|
251
|
+
params = rawItemParams.reduce((param, item) => {
|
|
252
|
+
param[item.key.toLowerCase()] = item.value;
|
|
253
|
+
return param;
|
|
254
|
+
}, {});
|
|
255
|
+
}
|
|
256
|
+
Object.assign(this.rawItemParams, params);
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
exports.ExtendMenuBaseController = ExtendMenuBaseController;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var runtime = require('@ibiz-template/runtime');
|
|
4
|
+
|
|
5
|
+
"use strict";
|
|
6
|
+
var __defProp = Object.defineProperty;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __publicField = (obj, key, value) => {
|
|
9
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
10
|
+
return value;
|
|
11
|
+
};
|
|
12
|
+
class ExtendMenuBase extends runtime.PanelItemState {
|
|
13
|
+
constructor() {
|
|
14
|
+
super(...arguments);
|
|
15
|
+
/**
|
|
16
|
+
* @description 所有菜单项
|
|
17
|
+
* @type {IAppMenuItem[]}
|
|
18
|
+
* @memberof ExtendMenuBase
|
|
19
|
+
*/
|
|
20
|
+
__publicField(this, "items", []);
|
|
21
|
+
/**
|
|
22
|
+
* @description 菜单项状态
|
|
23
|
+
* @type {{ [p: string]: { visible: boolean; permitted: boolean } }}
|
|
24
|
+
* @memberof ExtendMenuBase
|
|
25
|
+
*/
|
|
26
|
+
__publicField(this, "menuItemsState", {});
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
exports.ExtendMenuBase = ExtendMenuBase;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var commonExtendMenu = require('./extend-menu-base/common-extend-menu/common-extend-menu.cjs');
|
|
6
|
+
var index = require('./left-side-menu/index.cjs');
|
|
7
|
+
var index$1 = require('./right-side-menu/index.cjs');
|
|
8
|
+
var index$2 = require('./bottom-side-menu/index.cjs');
|
|
9
|
+
var index$3 = require('./top-side-menu/index.cjs');
|
|
10
|
+
|
|
11
|
+
"use strict";
|
|
12
|
+
var IBizAppExtendMenu = {
|
|
13
|
+
install(app) {
|
|
14
|
+
app.component(commonExtendMenu.CommonExtendMenu.name, commonExtendMenu.CommonExtendMenu);
|
|
15
|
+
app.use(index.default);
|
|
16
|
+
app.use(index$1.default);
|
|
17
|
+
app.use(index$2.default);
|
|
18
|
+
app.use(index$3.default);
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
exports.default = IBizAppExtendMenu;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var runtime = require('@ibiz-template/runtime');
|
|
6
|
+
var leftSideMenu = require('./left-side-menu.cjs');
|
|
7
|
+
var leftSideMenu_provider = require('./left-side-menu.provider.cjs');
|
|
8
|
+
|
|
9
|
+
"use strict";
|
|
10
|
+
var IBizLeftSideMenu = {
|
|
11
|
+
install(app) {
|
|
12
|
+
app.component(leftSideMenu.LeftSideMenu.name, leftSideMenu.LeftSideMenu);
|
|
13
|
+
runtime.registerPanelItemProvider(
|
|
14
|
+
"RAWITEM_PREDEFINE_LEFT_SIDE_MENU",
|
|
15
|
+
() => new leftSideMenu_provider.LeftSideMenuProvider()
|
|
16
|
+
);
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
exports.default = IBizLeftSideMenu;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var vue = require('vue');
|
|
4
|
+
var vue3Util = require('@ibiz-template/vue3-util');
|
|
5
|
+
var leftSideMenu_controller = require('./left-side-menu.controller.cjs');
|
|
6
|
+
require('./left-side-menu.css');
|
|
7
|
+
|
|
8
|
+
"use strict";
|
|
9
|
+
const LeftSideMenu = /* @__PURE__ */ vue.defineComponent({
|
|
10
|
+
name: "IBizLeftSideMenu",
|
|
11
|
+
props: {
|
|
12
|
+
/**
|
|
13
|
+
* @description 模型数据
|
|
14
|
+
*/
|
|
15
|
+
modelData: {
|
|
16
|
+
type: Object,
|
|
17
|
+
required: true
|
|
18
|
+
},
|
|
19
|
+
/**
|
|
20
|
+
* @description 左侧菜单控制器
|
|
21
|
+
*/
|
|
22
|
+
controller: {
|
|
23
|
+
type: leftSideMenu_controller.LeftSideMenuController,
|
|
24
|
+
required: true
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
setup(props) {
|
|
28
|
+
const ns = vue3Util.useNamespace("left-side-menu");
|
|
29
|
+
const {
|
|
30
|
+
state
|
|
31
|
+
} = props.controller;
|
|
32
|
+
return {
|
|
33
|
+
ns,
|
|
34
|
+
state
|
|
35
|
+
};
|
|
36
|
+
},
|
|
37
|
+
render() {
|
|
38
|
+
if (!this.controller.appMenu) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
return vue.createVNode("div", {
|
|
42
|
+
"class": this.ns.b()
|
|
43
|
+
}, [vue.createVNode(vue.resolveComponent("iBizCommonExtendMenu"), {
|
|
44
|
+
"renderMode": this.controller.rawItemParams.rendermode,
|
|
45
|
+
"items": this.state.items,
|
|
46
|
+
"menuItemsState": this.state.menuItemsState,
|
|
47
|
+
"providers": this.controller.itemProviders,
|
|
48
|
+
"position": "LEFT",
|
|
49
|
+
"layoutMode": this.controller.appMenu.layoutMode,
|
|
50
|
+
"layout": this.controller.appMenu.layout,
|
|
51
|
+
"onMenuItemClick": (item, event) => {
|
|
52
|
+
this.controller.handleClickMenuItem(item, event);
|
|
53
|
+
}
|
|
54
|
+
}, null)]);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
exports.LeftSideMenu = LeftSideMenu;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var extendMenuBase_controller = require('../extend-menu-base/extend-menu-base.controller.cjs');
|
|
4
|
+
|
|
5
|
+
"use strict";
|
|
6
|
+
var __defProp = Object.defineProperty;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __publicField = (obj, key, value) => {
|
|
9
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
10
|
+
return value;
|
|
11
|
+
};
|
|
12
|
+
class LeftSideMenuController extends extendMenuBase_controller.ExtendMenuBaseController {
|
|
13
|
+
constructor() {
|
|
14
|
+
super(...arguments);
|
|
15
|
+
__publicField(this, "appMenuName", "leftsidemenu");
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
exports.LeftSideMenuController = LeftSideMenuController;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.ibiz-left-side-menu{width:100%;height:100%}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var leftSideMenu_controller = require('./left-side-menu.controller.cjs');
|
|
4
|
+
|
|
5
|
+
"use strict";
|
|
6
|
+
var __defProp = Object.defineProperty;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __publicField = (obj, key, value) => {
|
|
9
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
10
|
+
return value;
|
|
11
|
+
};
|
|
12
|
+
class LeftSideMenuProvider {
|
|
13
|
+
constructor() {
|
|
14
|
+
__publicField(this, "component", "IBizLeftSideMenu");
|
|
15
|
+
}
|
|
16
|
+
async createController(panelItem, panel, parent) {
|
|
17
|
+
const c = new leftSideMenu_controller.LeftSideMenuController(panelItem, panel, parent);
|
|
18
|
+
await c.init();
|
|
19
|
+
return c;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
exports.LeftSideMenuProvider = LeftSideMenuProvider;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var runtime = require('@ibiz-template/runtime');
|
|
6
|
+
var rightSideMenu = require('./right-side-menu.cjs');
|
|
7
|
+
var rightSideMenu_provider = require('./right-side-menu.provider.cjs');
|
|
8
|
+
|
|
9
|
+
"use strict";
|
|
10
|
+
var IBizRightSideMenu = {
|
|
11
|
+
install(app) {
|
|
12
|
+
app.component(rightSideMenu.RightSideMenu.name, rightSideMenu.RightSideMenu);
|
|
13
|
+
runtime.registerPanelItemProvider(
|
|
14
|
+
"RAWITEM_PREDEFINE_RIGHT_SIDE_MENU",
|
|
15
|
+
() => new rightSideMenu_provider.RightSideMenuProvider()
|
|
16
|
+
);
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
exports.default = IBizRightSideMenu;
|