@ibiz-template/vue3-components 0.7.41-alpha.3 → 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-F-NQHCVT.js → wang-editor--AXyy3P_.js} +1 -1
- package/dist/{xlsx-util-0wARAx2L.js → xlsx-util-GVd_ca5q.js} +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/grid/grid/grid-control.util.mjs +1 -1
- package/es/control/grid/grid/grid.mjs +1 -1
- 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/tree.d.ts +2 -1
- package/es/control/tree/tree.mjs +4 -4
- 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/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/grid/grid/grid-control.util.cjs +1 -1
- package/lib/control/grid/grid/grid.cjs +1 -1
- 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/tree.cjs +3 -3
- 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-wTJRDY6L.js +0 -4
|
@@ -170,7 +170,7 @@ const ChartControl = /* @__PURE__ */ vue.defineComponent({
|
|
|
170
170
|
}
|
|
171
171
|
setHeight();
|
|
172
172
|
let drillDetails = ((_b = (_a = props.modelData.controlParam) == null ? void 0 : _a.ctrlParams) == null ? void 0 : _b.ENABLEDRILLDETAIL) || c.controlParams.enabledrilldetail;
|
|
173
|
-
if (!lodashEs.isArray(drillDetails)) {
|
|
173
|
+
if (drillDetails && !lodashEs.isArray(drillDetails)) {
|
|
174
174
|
try {
|
|
175
175
|
drillDetails = JSON.parse(drillDetails);
|
|
176
176
|
} catch (error) {
|
|
@@ -101,7 +101,7 @@ const DataViewControl = /* @__PURE__ */ vue.defineComponent({
|
|
|
101
101
|
return ((_b = (_a = c.model.controlParam) == null ? void 0 : _a.ctrlParams) == null ? void 0 : _b.CARDSTYLE) || c.controlParams.cardstyle || "default";
|
|
102
102
|
});
|
|
103
103
|
const showCollapseOrExpandIcon = vue.computed(() => {
|
|
104
|
-
return !c.
|
|
104
|
+
return !c.state.enableGroup && (c.model.pagingMode === 2 || c.model.pagingMode === 3);
|
|
105
105
|
});
|
|
106
106
|
const infiniteScroll = vue.ref();
|
|
107
107
|
const infiniteScrollKey = vue.ref(qxUtil.createUUID());
|
|
@@ -290,7 +290,7 @@ const DataViewControl = /* @__PURE__ */ vue.defineComponent({
|
|
|
290
290
|
}, [ibiz.i18n.t("app.noData")])]);
|
|
291
291
|
};
|
|
292
292
|
const renderDataViewContent = () => {
|
|
293
|
-
if (c.
|
|
293
|
+
if (c.state.enableGroup) {
|
|
294
294
|
return vue.createVNode("div", {
|
|
295
295
|
"class": ns.b("group-content")
|
|
296
296
|
}, [c.state.groups.map((group) => {
|
|
@@ -490,7 +490,7 @@ function useAppGridBase(c, props, tableRef) {
|
|
|
490
490
|
);
|
|
491
491
|
const tableData = vue.computed(() => {
|
|
492
492
|
const state = c.state;
|
|
493
|
-
if (c.
|
|
493
|
+
if (c.state.enableGroup) {
|
|
494
494
|
const result = [];
|
|
495
495
|
state.groups.forEach((item) => {
|
|
496
496
|
if (!item.children.length) {
|
|
@@ -562,7 +562,7 @@ const GridControl = /* @__PURE__ */ vue.defineComponent({
|
|
|
562
562
|
"controller": this.c
|
|
563
563
|
}, {
|
|
564
564
|
default: () => [vue.createVNode(vue.resolveComponent("iBizControlBase"), {
|
|
565
|
-
"class": [this.ns.b(), this.ns.is("dynamic-grid", this.c.state.isAutoGrid), this.ns.is("show-header", !this.c.state.hideHeader), this.ns.is("enable-page", this.c.state.enablePagingBar), this.ns.is("enable-group", this.c.
|
|
565
|
+
"class": [this.ns.b(), this.ns.is("dynamic-grid", this.c.state.isAutoGrid), this.ns.is("show-header", !this.c.state.hideHeader), this.ns.is("enable-page", this.c.state.enablePagingBar), this.ns.is("enable-group", this.c.state.enableGroup), this.ns.is("single-select", state.singleSelect), this.ns.is("empty", state.items.length === 0), this.ns.is("enable-customized", this.c.model.enableCustomized)],
|
|
566
566
|
"controller": this.c,
|
|
567
567
|
"style": this.headerCssVars
|
|
568
568
|
}, {
|
|
@@ -17,7 +17,7 @@ function useRowEditPopover(tableRef, c) {
|
|
|
17
17
|
const tableEl = tableRef.value.$el;
|
|
18
18
|
let selector = ".el-table__row";
|
|
19
19
|
if (row.data.srfkey) {
|
|
20
|
-
selector += "
|
|
20
|
+
selector += '[class*="id-'.concat(row.data.srfkey, '"]');
|
|
21
21
|
}
|
|
22
22
|
const trEl = tableEl.querySelector(selector);
|
|
23
23
|
if (!trEl) {
|
|
@@ -101,7 +101,7 @@ const ListControl = /* @__PURE__ */ vue.defineComponent({
|
|
|
101
101
|
});
|
|
102
102
|
const isCollapse = vue.ref(false);
|
|
103
103
|
const showCollapseOrExpandIcon = vue.computed(() => {
|
|
104
|
-
return !c.
|
|
104
|
+
return !c.state.enableGroup && (c.model.pagingMode === 2 || c.model.pagingMode === 3);
|
|
105
105
|
});
|
|
106
106
|
const infiniteScroll = vue.ref();
|
|
107
107
|
const infiniteScrollKey = vue.ref(qxUtil.createUUID());
|
|
@@ -279,7 +279,7 @@ const ListControl = /* @__PURE__ */ vue.defineComponent({
|
|
|
279
279
|
});
|
|
280
280
|
};
|
|
281
281
|
const renderListContent = () => {
|
|
282
|
-
if (c.
|
|
282
|
+
if (c.state.enableGroup && !c.state.isSimple) {
|
|
283
283
|
return vue.createVNode(vue.resolveComponent("el-collapse"), {
|
|
284
284
|
"modelValue": c.state.expandedKeys,
|
|
285
285
|
"onUpdate:modelValue": ($event) => c.state.expandedKeys = $event,
|
|
@@ -108,10 +108,10 @@ const TreeControl = /* @__PURE__ */ vue.defineComponent({
|
|
|
108
108
|
const c = vue3Util.useControlController((...args) => new runtime.TreeController(...args));
|
|
109
109
|
elTreeUtil.useAppTreeBase(c, props);
|
|
110
110
|
const cascadeSelect = vue.ref(false);
|
|
111
|
-
const counterData = vue.
|
|
111
|
+
const counterData = vue.ref({});
|
|
112
112
|
const menuShowMode = vue.ref("default");
|
|
113
113
|
const fn = (counter) => {
|
|
114
|
-
|
|
114
|
+
counterData.value = counter;
|
|
115
115
|
};
|
|
116
116
|
c.evt.on("onCreated", () => {
|
|
117
117
|
if (c.counter) {
|
|
@@ -673,7 +673,7 @@ const TreeControl = /* @__PURE__ */ vue.defineComponent({
|
|
|
673
673
|
});
|
|
674
674
|
const renderCounter = (nodeModel) => {
|
|
675
675
|
if (nodeModel.counterId) {
|
|
676
|
-
const value = counterData[nodeModel.counterId];
|
|
676
|
+
const value = counterData.value[nodeModel.counterId];
|
|
677
677
|
if (ramda.isNil(value)) {
|
|
678
678
|
return null;
|
|
679
679
|
}
|
|
@@ -18,7 +18,7 @@ function useRowEditPopover(tableRef, c) {
|
|
|
18
18
|
const tableEl = tableRef.value.$el;
|
|
19
19
|
let selector = ".el-table__row";
|
|
20
20
|
if (row.data._uuid) {
|
|
21
|
-
selector += "
|
|
21
|
+
selector += '[class*="id-'.concat(row.data._uuid, '"]');
|
|
22
22
|
}
|
|
23
23
|
const trEl = tableEl.querySelector(selector);
|
|
24
24
|
if (!trEl) {
|
|
@@ -165,11 +165,11 @@ const IBizSlider = /* @__PURE__ */ vue.defineComponent({
|
|
|
165
165
|
const textVal = vue.computed(() => {
|
|
166
166
|
if (textItem) {
|
|
167
167
|
const data = props.data || {};
|
|
168
|
-
return ibiz.util.text.format("".concat(data[textItem]), format);
|
|
168
|
+
return ibiz.util.text.format("".concat(data[textItem] != null ? data[textItem] : ""), format);
|
|
169
169
|
}
|
|
170
170
|
const tempCurVal = Number(currentVal.value);
|
|
171
171
|
const value = Number(tempCurVal / max);
|
|
172
|
-
const formatValue = ibiz.util.text.format("".concat(value), format);
|
|
172
|
+
const formatValue = ibiz.util.text.format("".concat(value != null ? value : ""), format);
|
|
173
173
|
return formatValue;
|
|
174
174
|
});
|
|
175
175
|
const handleChange = (currentValue) => {
|
|
@@ -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;
|