@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.
Files changed (121) hide show
  1. package/dist/chart-8QfxarWf.js +1 -0
  2. package/dist/index-u5jvzY6s.js +4 -0
  3. package/dist/index.min.css +1 -1
  4. package/dist/index.system.min.js +1 -1
  5. package/dist/{wang-editor-6EirGFoh.js → wang-editor--AXyy3P_.js} +1 -1
  6. package/dist/{xlsx-util-J1RHk00u.js → xlsx-util-GVd_ca5q.js} +1 -1
  7. package/es/common/split/split.css +1 -1
  8. package/es/control/app-menu/app-menu.css +1 -1
  9. package/es/control/chart/chart.mjs +1 -1
  10. package/es/control/data-view/data-view.mjs +2 -2
  11. package/es/control/form/form-detail/form-item/form-item-container/form-item-container.css +1 -1
  12. package/es/control/form/form-detail/form-item/form-item-container/form-item-container.mjs +25 -4
  13. package/es/control/grid/grid/grid-control.util.d.ts +1 -1
  14. package/es/control/grid/grid/grid-control.util.mjs +32 -5
  15. package/es/control/grid/grid/grid.mjs +8 -6
  16. package/es/control/grid/row-edit-popover/use-row-edit-popover.mjs +1 -1
  17. package/es/control/list/list.mjs +2 -2
  18. package/es/control/tree/el-tree-util.d.ts +23 -1
  19. package/es/control/tree/el-tree-util.mjs +30 -1
  20. package/es/control/tree/tree.d.ts +5 -0
  21. package/es/control/tree/tree.mjs +94 -14
  22. package/es/control/tree-grid/tree-grid.mjs +1 -1
  23. package/es/control/tree-grid-ex/use-row-edit-popover.mjs +1 -1
  24. package/es/editor/slider/ibiz-slider/ibiz-slider.mjs +2 -2
  25. package/es/locale/en/index.d.ts +6 -0
  26. package/es/locale/zh-CN/index.d.ts +6 -0
  27. package/es/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.controller.d.ts +10 -0
  28. package/es/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.controller.mjs +17 -0
  29. package/es/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.css +1 -0
  30. package/es/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.d.ts +45 -0
  31. package/es/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.mjs +56 -0
  32. package/es/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.provider.d.ts +7 -0
  33. package/es/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.provider.mjs +21 -0
  34. package/es/panel-component/app-extend-menu/bottom-side-menu/index.d.ts +5 -0
  35. package/es/panel-component/app-extend-menu/bottom-side-menu/index.mjs +16 -0
  36. package/es/panel-component/app-extend-menu/extend-menu-base/common-extend-menu/common-extend-menu.css +1 -0
  37. package/es/panel-component/app-extend-menu/extend-menu-base/common-extend-menu/common-extend-menu.d.ts +134 -0
  38. package/es/panel-component/app-extend-menu/extend-menu-base/common-extend-menu/common-extend-menu.mjs +77 -0
  39. package/es/panel-component/app-extend-menu/extend-menu-base/extend-menu-base.controller.d.ts +149 -0
  40. package/es/panel-component/app-extend-menu/extend-menu-base/extend-menu-base.controller.mjs +258 -0
  41. package/es/panel-component/app-extend-menu/extend-menu-base/extend-menu-base.state.d.ts +27 -0
  42. package/es/panel-component/app-extend-menu/extend-menu-base/extend-menu-base.state.mjs +28 -0
  43. package/es/panel-component/app-extend-menu/index.d.ts +5 -0
  44. package/es/panel-component/app-extend-menu/index.mjs +18 -0
  45. package/es/panel-component/app-extend-menu/left-side-menu/index.d.ts +5 -0
  46. package/es/panel-component/app-extend-menu/left-side-menu/index.mjs +16 -0
  47. package/es/panel-component/app-extend-menu/left-side-menu/left-side-menu.controller.d.ts +10 -0
  48. package/es/panel-component/app-extend-menu/left-side-menu/left-side-menu.controller.mjs +17 -0
  49. package/es/panel-component/app-extend-menu/left-side-menu/left-side-menu.css +1 -0
  50. package/es/panel-component/app-extend-menu/left-side-menu/left-side-menu.d.ts +45 -0
  51. package/es/panel-component/app-extend-menu/left-side-menu/left-side-menu.mjs +56 -0
  52. package/es/panel-component/app-extend-menu/left-side-menu/left-side-menu.provider.d.ts +7 -0
  53. package/es/panel-component/app-extend-menu/left-side-menu/left-side-menu.provider.mjs +21 -0
  54. package/es/panel-component/app-extend-menu/right-side-menu/index.d.ts +5 -0
  55. package/es/panel-component/app-extend-menu/right-side-menu/index.mjs +16 -0
  56. package/es/panel-component/app-extend-menu/right-side-menu/right-side-menu.controller.d.ts +10 -0
  57. package/es/panel-component/app-extend-menu/right-side-menu/right-side-menu.controller.mjs +17 -0
  58. package/es/panel-component/app-extend-menu/right-side-menu/right-side-menu.css +1 -0
  59. package/es/panel-component/app-extend-menu/right-side-menu/right-side-menu.d.ts +45 -0
  60. package/es/panel-component/app-extend-menu/right-side-menu/right-side-menu.mjs +56 -0
  61. package/es/panel-component/app-extend-menu/right-side-menu/right-side-menu.provider.d.ts +7 -0
  62. package/es/panel-component/app-extend-menu/right-side-menu/right-side-menu.provider.mjs +21 -0
  63. package/es/panel-component/app-extend-menu/top-side-menu/index.d.ts +5 -0
  64. package/es/panel-component/app-extend-menu/top-side-menu/index.mjs +16 -0
  65. package/es/panel-component/app-extend-menu/top-side-menu/top-side-menu.controller.d.ts +10 -0
  66. package/es/panel-component/app-extend-menu/top-side-menu/top-side-menu.controller.mjs +17 -0
  67. package/es/panel-component/app-extend-menu/top-side-menu/top-side-menu.css +1 -0
  68. package/es/panel-component/app-extend-menu/top-side-menu/top-side-menu.d.ts +45 -0
  69. package/es/panel-component/app-extend-menu/top-side-menu/top-side-menu.mjs +56 -0
  70. package/es/panel-component/app-extend-menu/top-side-menu/top-side-menu.provider.d.ts +7 -0
  71. package/es/panel-component/app-extend-menu/top-side-menu/top-side-menu.provider.mjs +21 -0
  72. package/es/panel-component/index.mjs +2 -0
  73. package/es/view-engine/index-view.engine.mjs +1 -1
  74. package/es/view-engine/opt-view.engine.d.ts +6 -0
  75. package/es/view-engine/opt-view.engine.mjs +12 -0
  76. package/lib/common/split/split.css +1 -1
  77. package/lib/control/app-menu/app-menu.css +1 -1
  78. package/lib/control/chart/chart.cjs +1 -1
  79. package/lib/control/data-view/data-view.cjs +2 -2
  80. package/lib/control/form/form-detail/form-item/form-item-container/form-item-container.cjs +25 -4
  81. package/lib/control/form/form-detail/form-item/form-item-container/form-item-container.css +1 -1
  82. package/lib/control/grid/grid/grid-control.util.cjs +31 -4
  83. package/lib/control/grid/grid/grid.cjs +8 -6
  84. package/lib/control/grid/row-edit-popover/use-row-edit-popover.cjs +1 -1
  85. package/lib/control/list/list.cjs +2 -2
  86. package/lib/control/tree/el-tree-util.cjs +31 -0
  87. package/lib/control/tree/tree.cjs +91 -11
  88. package/lib/control/tree-grid/tree-grid.cjs +1 -1
  89. package/lib/control/tree-grid-ex/use-row-edit-popover.cjs +1 -1
  90. package/lib/editor/slider/ibiz-slider/ibiz-slider.cjs +2 -2
  91. package/lib/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.cjs +58 -0
  92. package/lib/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.controller.cjs +19 -0
  93. package/lib/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.css +1 -0
  94. package/lib/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.provider.cjs +23 -0
  95. package/lib/panel-component/app-extend-menu/bottom-side-menu/index.cjs +20 -0
  96. package/lib/panel-component/app-extend-menu/extend-menu-base/common-extend-menu/common-extend-menu.cjs +79 -0
  97. package/lib/panel-component/app-extend-menu/extend-menu-base/common-extend-menu/common-extend-menu.css +1 -0
  98. package/lib/panel-component/app-extend-menu/extend-menu-base/extend-menu-base.controller.cjs +260 -0
  99. package/lib/panel-component/app-extend-menu/extend-menu-base/extend-menu-base.state.cjs +30 -0
  100. package/lib/panel-component/app-extend-menu/index.cjs +22 -0
  101. package/lib/panel-component/app-extend-menu/left-side-menu/index.cjs +20 -0
  102. package/lib/panel-component/app-extend-menu/left-side-menu/left-side-menu.cjs +58 -0
  103. package/lib/panel-component/app-extend-menu/left-side-menu/left-side-menu.controller.cjs +19 -0
  104. package/lib/panel-component/app-extend-menu/left-side-menu/left-side-menu.css +1 -0
  105. package/lib/panel-component/app-extend-menu/left-side-menu/left-side-menu.provider.cjs +23 -0
  106. package/lib/panel-component/app-extend-menu/right-side-menu/index.cjs +20 -0
  107. package/lib/panel-component/app-extend-menu/right-side-menu/right-side-menu.cjs +58 -0
  108. package/lib/panel-component/app-extend-menu/right-side-menu/right-side-menu.controller.cjs +19 -0
  109. package/lib/panel-component/app-extend-menu/right-side-menu/right-side-menu.css +1 -0
  110. package/lib/panel-component/app-extend-menu/right-side-menu/right-side-menu.provider.cjs +23 -0
  111. package/lib/panel-component/app-extend-menu/top-side-menu/index.cjs +20 -0
  112. package/lib/panel-component/app-extend-menu/top-side-menu/top-side-menu.cjs +58 -0
  113. package/lib/panel-component/app-extend-menu/top-side-menu/top-side-menu.controller.cjs +19 -0
  114. package/lib/panel-component/app-extend-menu/top-side-menu/top-side-menu.css +1 -0
  115. package/lib/panel-component/app-extend-menu/top-side-menu/top-side-menu.provider.cjs +23 -0
  116. package/lib/panel-component/index.cjs +2 -0
  117. package/lib/view-engine/index-view.engine.cjs +1 -1
  118. package/lib/view-engine/opt-view.engine.cjs +12 -0
  119. package/package.json +6 -6
  120. package/dist/chart-GgAfcR6o.js +0 -1
  121. 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;