@ibiz-template/vue3-components 0.7.41-alpha.145 → 0.7.41-alpha.147
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/{index-B_sVovOS.js → index-B-mkNJ8X.js} +1 -1
- package/dist/index-BAfdAw1V.js +339 -0
- package/dist/{index-Qf-i9QxK.js → index-DA2x586m.js} +1 -1
- package/dist/{index.es-CfZdec4G.js → index.es-CSMb33DK.js} +1 -1
- package/dist/index.min.css +1 -1
- package/dist/index.system.min.js +1 -1
- package/dist/{wang-editor-CUGqp4Uw.js → wang-editor-LyrHDNOt.js} +1 -1
- package/dist/{xlsx-util-C9Q58lgT.js → xlsx-util-DcIFyyjA.js} +1 -1
- package/es/common/html-doc-preview/html-doc-preview.mjs +3 -0
- package/es/common/no-data/no-data.css +1 -1
- package/es/common/no-data/no-data.mjs +3 -4
- package/es/control/app-menu/app-menu.css +1 -1
- package/es/control/app-menu/app-menu.mjs +40 -8
- package/es/control/calendar/calendar.mjs +17 -21
- package/es/control/drbar/drbar.controller.mjs +12 -1
- package/es/control/drtab/drtab.controller.mjs +12 -1
- package/es/control/grid/grid-column/grid-field-column/grid-field-column.mjs +1 -14
- package/es/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.mjs +44 -9
- package/es/control/tree/tree.mjs +7 -1
- package/es/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-edit-column/all-edit.mjs +2 -1
- package/es/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-edit-column/cell-edit.mjs +2 -1
- package/es/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-edit-column/row-edit.mjs +2 -1
- package/es/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-edit-column/tree-grid-ex-edit-column.mjs +50 -14
- package/es/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/tree-grid-ex-field-column.mjs +40 -8
- package/es/editor/ai-chat/embed-ai-chat/embed-ai-chat.mjs +24 -1
- package/es/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.css +1 -1
- package/es/editor/text-box/input/input.mjs +8 -1
- package/es/locale/en/index.mjs +0 -6
- package/es/locale/zh-CN/index.mjs +0 -6
- package/es/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.mjs +1 -0
- package/es/panel-component/app-extend-menu/extend-menu-base/common-extend-menu/common-extend-menu.mjs +6 -0
- package/es/panel-component/app-extend-menu/extend-menu-base/extend-button-menu/extend-button-menu.css +1 -1
- package/es/panel-component/app-extend-menu/extend-menu-base/extend-button-menu/extend-button-menu.mjs +38 -4
- package/es/panel-component/app-extend-menu/extend-menu-base/extend-menu-base.controller.mjs +29 -1
- package/es/panel-component/app-extend-menu/extend-menu-base/extend-standard-menu/extend-standard-menu.css +1 -1
- package/es/panel-component/app-extend-menu/extend-menu-base/extend-standard-menu/extend-standard-menu.mjs +45 -7
- package/es/panel-component/app-extend-menu/left-side-menu/left-side-menu.mjs +1 -0
- package/es/panel-component/app-extend-menu/right-side-menu/right-side-menu.mjs +1 -0
- package/es/panel-component/app-extend-menu/top-side-menu/top-side-menu.mjs +1 -0
- package/es/util/ai-chat-util/ai-chat-util.mjs +124 -24
- package/lib/common/html-doc-preview/html-doc-preview.cjs +3 -0
- package/lib/common/no-data/no-data.cjs +3 -4
- package/lib/common/no-data/no-data.css +1 -1
- package/lib/control/app-menu/app-menu.cjs +40 -8
- package/lib/control/app-menu/app-menu.css +1 -1
- package/lib/control/calendar/calendar.cjs +17 -21
- package/lib/control/drbar/drbar.controller.cjs +12 -1
- package/lib/control/drtab/drtab.controller.cjs +12 -1
- package/lib/control/grid/grid-column/grid-field-column/grid-field-column.cjs +1 -14
- package/lib/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.cjs +42 -7
- package/lib/control/tree/tree.cjs +7 -1
- package/lib/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-edit-column/all-edit.cjs +2 -1
- package/lib/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-edit-column/cell-edit.cjs +2 -1
- package/lib/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-edit-column/row-edit.cjs +2 -1
- package/lib/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-edit-column/tree-grid-ex-edit-column.cjs +49 -13
- package/lib/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/tree-grid-ex-field-column.cjs +39 -7
- package/lib/editor/ai-chat/embed-ai-chat/embed-ai-chat.cjs +23 -0
- package/lib/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.css +1 -1
- package/lib/editor/text-box/input/input.cjs +8 -1
- package/lib/locale/en/index.cjs +0 -6
- package/lib/locale/zh-CN/index.cjs +0 -6
- package/lib/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.cjs +1 -0
- package/lib/panel-component/app-extend-menu/extend-menu-base/common-extend-menu/common-extend-menu.cjs +6 -0
- package/lib/panel-component/app-extend-menu/extend-menu-base/extend-button-menu/extend-button-menu.cjs +38 -4
- package/lib/panel-component/app-extend-menu/extend-menu-base/extend-button-menu/extend-button-menu.css +1 -1
- package/lib/panel-component/app-extend-menu/extend-menu-base/extend-menu-base.controller.cjs +28 -0
- package/lib/panel-component/app-extend-menu/extend-menu-base/extend-standard-menu/extend-standard-menu.cjs +45 -7
- package/lib/panel-component/app-extend-menu/extend-menu-base/extend-standard-menu/extend-standard-menu.css +1 -1
- package/lib/panel-component/app-extend-menu/left-side-menu/left-side-menu.cjs +1 -0
- package/lib/panel-component/app-extend-menu/right-side-menu/right-side-menu.cjs +1 -0
- package/lib/panel-component/app-extend-menu/top-side-menu/top-side-menu.cjs +1 -0
- package/lib/util/ai-chat-util/ai-chat-util.cjs +124 -24
- package/package.json +5 -5
- package/src/common/html-doc-preview/html-doc-preview.tsx +4 -0
- package/src/common/no-data/no-data.scss +1 -1
- package/src/common/no-data/no-data.tsx +4 -5
- package/src/control/app-menu/app-menu.scss +4 -0
- package/src/control/app-menu/app-menu.tsx +39 -11
- package/src/control/calendar/calendar.tsx +24 -27
- package/src/control/drbar/drbar.controller.ts +12 -0
- package/src/control/drtab/drtab.controller.ts +12 -0
- package/src/control/grid/grid-column/grid-field-column/grid-field-column.tsx +2 -19
- package/src/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.tsx +60 -13
- package/src/control/tree/tree.tsx +8 -1
- package/src/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-edit-column/all-edit.ts +1 -0
- package/src/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-edit-column/cell-edit.ts +1 -0
- package/src/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-edit-column/row-edit.ts +1 -0
- package/src/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-edit-column/tree-grid-ex-edit-column.tsx +60 -14
- package/src/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/tree-grid-ex-field-column.tsx +44 -4
- package/src/editor/ai-chat/embed-ai-chat/embed-ai-chat.tsx +37 -2
- package/src/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.scss +2 -1
- package/src/editor/text-box/input/input.tsx +10 -1
- package/src/locale/en/index.ts +0 -8
- package/src/locale/zh-CN/index.ts +0 -6
- package/src/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.tsx +1 -0
- package/src/panel-component/app-extend-menu/extend-menu-base/common-extend-menu/common-extend-menu.tsx +7 -0
- package/src/panel-component/app-extend-menu/extend-menu-base/extend-button-menu/extend-button-menu.scss +4 -0
- package/src/panel-component/app-extend-menu/extend-menu-base/extend-button-menu/extend-button-menu.tsx +30 -1
- package/src/panel-component/app-extend-menu/extend-menu-base/extend-menu-base.controller.ts +29 -0
- package/src/panel-component/app-extend-menu/extend-menu-base/extend-menu-base.util.ts +3 -0
- package/src/panel-component/app-extend-menu/extend-menu-base/extend-standard-menu/extend-standard-menu.scss +4 -0
- package/src/panel-component/app-extend-menu/extend-menu-base/extend-standard-menu/extend-standard-menu.tsx +43 -5
- package/src/panel-component/app-extend-menu/left-side-menu/left-side-menu.tsx +1 -0
- package/src/panel-component/app-extend-menu/right-side-menu/right-side-menu.tsx +1 -0
- package/src/panel-component/app-extend-menu/top-side-menu/top-side-menu.tsx +1 -0
- package/src/util/ai-chat-util/ai-chat-util.ts +161 -25
- package/dist/index-DrjG63wY.js +0 -339
package/src/locale/en/index.ts
CHANGED
|
@@ -937,14 +937,6 @@ export default {
|
|
|
937
937
|
failed: 'File upload failure',
|
|
938
938
|
title: 'Process manager',
|
|
939
939
|
},
|
|
940
|
-
appUtil: {
|
|
941
|
-
aiTitle: 'delete conversation',
|
|
942
|
-
aiDesc:
|
|
943
|
-
'After deletion, the conversation will not be recoverable. Are you sure to delete?',
|
|
944
|
-
clearTopic: 'Clear conversation',
|
|
945
|
-
clearTopicDesc:
|
|
946
|
-
'Are you sure to clear all conversation data except for the current activation item?',
|
|
947
|
-
},
|
|
948
940
|
appModal: {
|
|
949
941
|
prev: 'Previous record',
|
|
950
942
|
next: 'Next record',
|
|
@@ -880,12 +880,6 @@ export default {
|
|
|
880
880
|
failed: '文件上传失败',
|
|
881
881
|
title: '进程管理器',
|
|
882
882
|
},
|
|
883
|
-
appUtil: {
|
|
884
|
-
aiTitle: '删除对话',
|
|
885
|
-
aiDesc: '删除后,该对话将不可恢复。确认删除吗?',
|
|
886
|
-
clearTopic: '清空会话',
|
|
887
|
-
clearTopicDesc: '确认清空除当前激活项外的所有会话数据?',
|
|
888
|
-
},
|
|
889
883
|
appModal: {
|
|
890
884
|
prev: '上一个记录',
|
|
891
885
|
next: '下一个记录',
|
|
@@ -50,6 +50,7 @@ export const BottomSideMenu = defineComponent({
|
|
|
50
50
|
<iBizCommonExtendMenu
|
|
51
51
|
renderMode={this.controller.rawItemParams.rendermode}
|
|
52
52
|
items={this.state.items}
|
|
53
|
+
controller={this.controller}
|
|
53
54
|
menuItemsState={this.state.menuItemsState}
|
|
54
55
|
providers={this.controller.itemProviders}
|
|
55
56
|
position={'BOTTOM'}
|
|
@@ -7,6 +7,7 @@ import { useNamespace } from '@ibiz-template/vue3-util';
|
|
|
7
7
|
import './common-extend-menu.scss';
|
|
8
8
|
import { ExtendButtonMenu } from '../extend-button-menu/extend-button-menu';
|
|
9
9
|
import { ExtendStandardMenu } from '../extend-standard-menu/extend-standard-menu';
|
|
10
|
+
import { ExtendMenuBaseController } from '../extend-menu-base.controller';
|
|
10
11
|
|
|
11
12
|
/**
|
|
12
13
|
* 扩展基础菜单
|
|
@@ -73,6 +74,10 @@ export const CommonExtendMenu = defineComponent({
|
|
|
73
74
|
layout: {
|
|
74
75
|
type: Object as PropType<ILayout>,
|
|
75
76
|
},
|
|
77
|
+
controller: {
|
|
78
|
+
type: Object as PropType<ExtendMenuBaseController>,
|
|
79
|
+
required: true,
|
|
80
|
+
},
|
|
76
81
|
},
|
|
77
82
|
emits: {
|
|
78
83
|
/**
|
|
@@ -99,6 +104,7 @@ export const CommonExtendMenu = defineComponent({
|
|
|
99
104
|
let content = (
|
|
100
105
|
<ExtendButtonMenu
|
|
101
106
|
items={this.items}
|
|
107
|
+
controller={this.controller}
|
|
102
108
|
menuItemsState={this.menuItemsState}
|
|
103
109
|
providers={this.providers}
|
|
104
110
|
position={this.position}
|
|
@@ -112,6 +118,7 @@ export const CommonExtendMenu = defineComponent({
|
|
|
112
118
|
content = (
|
|
113
119
|
<ExtendStandardMenu
|
|
114
120
|
items={this.items}
|
|
121
|
+
controller={this.controller}
|
|
115
122
|
menuItemsState={this.menuItemsState}
|
|
116
123
|
providers={this.providers}
|
|
117
124
|
position={this.position}
|
|
@@ -18,6 +18,7 @@ import {
|
|
|
18
18
|
useCascaderPopover,
|
|
19
19
|
IMenuSemantic,
|
|
20
20
|
} from '../extend-menu-base.util';
|
|
21
|
+
import { ExtendMenuBaseController } from '../extend-menu-base.controller';
|
|
21
22
|
import './extend-button-menu.scss';
|
|
22
23
|
|
|
23
24
|
const rightArrow = () => (
|
|
@@ -35,11 +36,30 @@ const rightArrow = () => (
|
|
|
35
36
|
</svg>
|
|
36
37
|
);
|
|
37
38
|
|
|
39
|
+
function renderItemRender(params: IMenuItemParams) {
|
|
40
|
+
const { ns, menu, controller } = params;
|
|
41
|
+
const panel = menu.controlRenders?.find(
|
|
42
|
+
render => render.renderType === 'LAYOUTPANEL',
|
|
43
|
+
)?.layoutPanel;
|
|
44
|
+
if (panel)
|
|
45
|
+
return (
|
|
46
|
+
<iBizControlShell
|
|
47
|
+
class={ns.e('panel')}
|
|
48
|
+
modelData={panel}
|
|
49
|
+
context={controller.context}
|
|
50
|
+
params={controller.params}
|
|
51
|
+
/>
|
|
52
|
+
);
|
|
53
|
+
const htmlCode = controller.getCustomHtml(menu);
|
|
54
|
+
if (htmlCode) return <div class={ns.e('script')} v-html={htmlCode}></div>;
|
|
55
|
+
}
|
|
56
|
+
|
|
38
57
|
function renderMenuItem(params: IMenuItemParams): VNode | undefined {
|
|
39
58
|
const { ns, menu, menuAlign, menuItemsState, semantic } = params;
|
|
40
59
|
|
|
41
60
|
if (!menu.id || !menuItemsState[menu.id]?.visible) return;
|
|
42
|
-
|
|
61
|
+
const render = renderItemRender(params);
|
|
62
|
+
if (render) return render;
|
|
43
63
|
if (menu.itemType === 'MENUITEM') {
|
|
44
64
|
return (
|
|
45
65
|
<el-button
|
|
@@ -122,6 +142,7 @@ function renderMenuContent(_params: IMenuContentParams) {
|
|
|
122
142
|
menuItemsState,
|
|
123
143
|
showCascaderArrow,
|
|
124
144
|
semantic,
|
|
145
|
+
controller,
|
|
125
146
|
handleMenuItemClick,
|
|
126
147
|
handleMenuItemMouseEnter,
|
|
127
148
|
handleMenuItemMouseLeave,
|
|
@@ -146,6 +167,7 @@ function renderMenuContent(_params: IMenuContentParams) {
|
|
|
146
167
|
menuAlign,
|
|
147
168
|
menuItemsState,
|
|
148
169
|
semantic,
|
|
170
|
+
controller,
|
|
149
171
|
});
|
|
150
172
|
if (!menuItem) return;
|
|
151
173
|
|
|
@@ -226,6 +248,10 @@ export const ExtendButtonMenu = defineComponent({
|
|
|
226
248
|
semanticStyle: () => '',
|
|
227
249
|
}),
|
|
228
250
|
},
|
|
251
|
+
controller: {
|
|
252
|
+
type: Object as PropType<ExtendMenuBaseController>,
|
|
253
|
+
required: true,
|
|
254
|
+
},
|
|
229
255
|
},
|
|
230
256
|
emits: {
|
|
231
257
|
menuItemClick: (item: IAppMenuItem, event: MouseEvent) => true,
|
|
@@ -252,6 +278,7 @@ export const ExtendButtonMenu = defineComponent({
|
|
|
252
278
|
showCascaderArrow: true,
|
|
253
279
|
isLayout: false,
|
|
254
280
|
semantic: props.semantic,
|
|
281
|
+
controller: props.controller,
|
|
255
282
|
});
|
|
256
283
|
};
|
|
257
284
|
const renderBorderContent = () => {
|
|
@@ -267,6 +294,7 @@ export const ExtendButtonMenu = defineComponent({
|
|
|
267
294
|
showCascaderArrow: true,
|
|
268
295
|
isLayout: false,
|
|
269
296
|
semantic: props.semantic,
|
|
297
|
+
controller: props.controller,
|
|
270
298
|
});
|
|
271
299
|
};
|
|
272
300
|
|
|
@@ -347,6 +375,7 @@ export const ExtendButtonMenu = defineComponent({
|
|
|
347
375
|
handleMenuItemMouseEnter: this.handleMenuItemMouseEnter,
|
|
348
376
|
handleMenuItemMouseLeave: this.handleMenuItemMouseLeave,
|
|
349
377
|
semantic: this.semantic,
|
|
378
|
+
controller: this.controller,
|
|
350
379
|
})}
|
|
351
380
|
</div>
|
|
352
381
|
);
|
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
PanelItemController,
|
|
12
12
|
IAppMenuItemProvider,
|
|
13
13
|
getAppMenuItemProvider,
|
|
14
|
+
ScriptFactory,
|
|
14
15
|
} from '@ibiz-template/runtime';
|
|
15
16
|
import { IAppMenu, IAppMenuItem, IPanelRawItem } from '@ibiz/model-core';
|
|
16
17
|
import { recursiveIterate, RuntimeModelError } from '@ibiz-template/core';
|
|
@@ -327,4 +328,32 @@ export class ExtendMenuBaseController extends PanelItemController<IPanelRawItem>
|
|
|
327
328
|
},
|
|
328
329
|
);
|
|
329
330
|
}
|
|
331
|
+
|
|
332
|
+
/**
|
|
333
|
+
* @description 解析获取脚本代码html
|
|
334
|
+
* @param {IAppMenuItem} menuItem
|
|
335
|
+
* @returns {*} {(string | undefined)}
|
|
336
|
+
* @memberof ExtendMenuBaseController
|
|
337
|
+
*/
|
|
338
|
+
getCustomHtml(menuItem: IAppMenuItem): string | undefined {
|
|
339
|
+
const { controlRenders = [] } = menuItem;
|
|
340
|
+
let scriptCode = controlRenders.find(
|
|
341
|
+
render => render.renderType === 'LAYOUTPANEL_MODEL',
|
|
342
|
+
)?.layoutPanelModel;
|
|
343
|
+
if (scriptCode) {
|
|
344
|
+
// 兼容单行模式
|
|
345
|
+
if (!scriptCode.includes('return')) scriptCode = `return (${scriptCode})`;
|
|
346
|
+
return ScriptFactory.execScriptFn(
|
|
347
|
+
{
|
|
348
|
+
context: this.context,
|
|
349
|
+
params: this.params,
|
|
350
|
+
ctrl: this,
|
|
351
|
+
view: this.view,
|
|
352
|
+
metadata: { model: menuItem },
|
|
353
|
+
},
|
|
354
|
+
scriptCode,
|
|
355
|
+
{ isAsync: false },
|
|
356
|
+
) as string;
|
|
357
|
+
}
|
|
358
|
+
}
|
|
330
359
|
}
|
|
@@ -8,6 +8,7 @@ import { h, ref, Ref, VNode, onMounted, onUnmounted } from 'vue';
|
|
|
8
8
|
import { IAppMenuItem, IFlexLayout, ILayout } from '@ibiz/model-core';
|
|
9
9
|
import { IAppMenuItemProvider } from '@ibiz-template/runtime';
|
|
10
10
|
import { Namespace } from '@ibiz-template/core';
|
|
11
|
+
import { ExtendMenuBaseController } from './extend-menu-base.controller';
|
|
11
12
|
|
|
12
13
|
/**
|
|
13
14
|
* @description 组件传参类型定义
|
|
@@ -86,6 +87,8 @@ export interface IMenuRenderParams {
|
|
|
86
87
|
menuItemsState: { [p: string]: { visible: boolean; permitted: boolean } };
|
|
87
88
|
// 语义化节点数据
|
|
88
89
|
semantic: IMenuSemantic;
|
|
90
|
+
/** 控制器 */
|
|
91
|
+
controller: ExtendMenuBaseController;
|
|
89
92
|
}
|
|
90
93
|
|
|
91
94
|
/**
|
|
@@ -12,12 +12,31 @@ import {
|
|
|
12
12
|
IMenuBaseItem,
|
|
13
13
|
IMenuSemantic,
|
|
14
14
|
} from '../extend-menu-base.util';
|
|
15
|
+
import { ExtendMenuBaseController } from '../extend-menu-base.controller';
|
|
15
16
|
import './extend-standard-menu.scss';
|
|
16
17
|
|
|
17
18
|
const ellipsisSvg = (): VNode => {
|
|
18
19
|
return <ion-icon name='ellipsis-horizontal'></ion-icon>;
|
|
19
20
|
};
|
|
20
21
|
|
|
22
|
+
function renderItemRender(params: IStandardMenuItemParams) {
|
|
23
|
+
const { ns, menu, controller } = params;
|
|
24
|
+
const panel = menu.controlRenders?.find(
|
|
25
|
+
render => render.renderType === 'LAYOUTPANEL',
|
|
26
|
+
)?.layoutPanel;
|
|
27
|
+
if (panel)
|
|
28
|
+
return (
|
|
29
|
+
<iBizControlShell
|
|
30
|
+
class={ns.e('panel')}
|
|
31
|
+
modelData={panel}
|
|
32
|
+
context={controller.context}
|
|
33
|
+
params={controller.params}
|
|
34
|
+
/>
|
|
35
|
+
);
|
|
36
|
+
const htmlCode = controller.getCustomHtml(menu);
|
|
37
|
+
if (htmlCode) return <div class={ns.e('script')} v-html={htmlCode}></div>;
|
|
38
|
+
}
|
|
39
|
+
|
|
21
40
|
/**
|
|
22
41
|
* 绘制菜单项
|
|
23
42
|
* @param {IStandardMenuItemParams} _params
|
|
@@ -30,7 +49,7 @@ function renderMenuItem(_params: IStandardMenuItemParams): VNode | undefined {
|
|
|
30
49
|
if (!menu.id || (menuItemsState && !menuItemsState[menu.id]?.visible)) {
|
|
31
50
|
return;
|
|
32
51
|
}
|
|
33
|
-
|
|
52
|
+
const render = renderItemRender(_params);
|
|
34
53
|
if (menu.itemType === 'MENUITEM') {
|
|
35
54
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
36
55
|
let content: any;
|
|
@@ -80,7 +99,7 @@ function renderMenuItem(_params: IStandardMenuItemParams): VNode | undefined {
|
|
|
80
99
|
),
|
|
81
100
|
];
|
|
82
101
|
}
|
|
83
|
-
|
|
102
|
+
if (render) content = render;
|
|
84
103
|
return !(isFirst && collapse) ? (
|
|
85
104
|
<el-menu-item
|
|
86
105
|
class={[
|
|
@@ -118,6 +137,7 @@ function renderMenuItem(_params: IStandardMenuItemParams): VNode | undefined {
|
|
|
118
137
|
if (menu.itemType === 'SEPERATOR') {
|
|
119
138
|
const direction =
|
|
120
139
|
menuAlign === 'horizontal' && isFirst ? 'vertical' : 'horizontal';
|
|
140
|
+
if (render) return render;
|
|
121
141
|
return (
|
|
122
142
|
<el-divider
|
|
123
143
|
direction={direction}
|
|
@@ -142,7 +162,7 @@ function renderMenuItem(_params: IStandardMenuItemParams): VNode | undefined {
|
|
|
142
162
|
]}
|
|
143
163
|
style={semantic.semanticStyle('rawitem', { item: menu })}
|
|
144
164
|
>
|
|
145
|
-
<iBizRawItem rawItem={menu}></iBizRawItem>
|
|
165
|
+
{render || <iBizRawItem rawItem={menu}></iBizRawItem>}
|
|
146
166
|
</el-menu-item>
|
|
147
167
|
);
|
|
148
168
|
}
|
|
@@ -154,8 +174,16 @@ function renderMenuItem(_params: IStandardMenuItemParams): VNode | undefined {
|
|
|
154
174
|
* @returns {*}
|
|
155
175
|
*/
|
|
156
176
|
function renderSubmenu(_params: IStandardMenuItemParams): VNode | undefined {
|
|
157
|
-
const {
|
|
158
|
-
|
|
177
|
+
const {
|
|
178
|
+
isFirst,
|
|
179
|
+
menu,
|
|
180
|
+
collapse,
|
|
181
|
+
ns,
|
|
182
|
+
menuAlign,
|
|
183
|
+
menuItemsState,
|
|
184
|
+
semantic,
|
|
185
|
+
controller,
|
|
186
|
+
} = _params;
|
|
159
187
|
if (!menu.id || (menuItemsState && !menuItemsState[menu.id]?.visible)) {
|
|
160
188
|
return;
|
|
161
189
|
}
|
|
@@ -187,6 +215,7 @@ function renderSubmenu(_params: IStandardMenuItemParams): VNode | undefined {
|
|
|
187
215
|
menuAlign,
|
|
188
216
|
menuItemsState,
|
|
189
217
|
semantic,
|
|
218
|
+
controller,
|
|
190
219
|
});
|
|
191
220
|
}
|
|
192
221
|
return renderMenuItem({
|
|
@@ -197,6 +226,7 @@ function renderSubmenu(_params: IStandardMenuItemParams): VNode | undefined {
|
|
|
197
226
|
menuAlign,
|
|
198
227
|
menuItemsState,
|
|
199
228
|
semantic,
|
|
229
|
+
controller,
|
|
200
230
|
});
|
|
201
231
|
}),
|
|
202
232
|
title: () => {
|
|
@@ -259,6 +289,7 @@ function renderMenuContent(_params: IStandardMenuContentParams): VNode {
|
|
|
259
289
|
menus,
|
|
260
290
|
menuItemsState,
|
|
261
291
|
semantic,
|
|
292
|
+
controller,
|
|
262
293
|
handleMenuSelect,
|
|
263
294
|
} = _params;
|
|
264
295
|
|
|
@@ -296,6 +327,7 @@ function renderMenuContent(_params: IStandardMenuContentParams): VNode {
|
|
|
296
327
|
menuAlign,
|
|
297
328
|
menuItemsState,
|
|
298
329
|
semantic,
|
|
330
|
+
controller,
|
|
299
331
|
});
|
|
300
332
|
}
|
|
301
333
|
return renderMenuItem({
|
|
@@ -306,6 +338,7 @@ function renderMenuContent(_params: IStandardMenuContentParams): VNode {
|
|
|
306
338
|
menuAlign,
|
|
307
339
|
menuItemsState,
|
|
308
340
|
semantic,
|
|
341
|
+
controller,
|
|
309
342
|
});
|
|
310
343
|
});
|
|
311
344
|
},
|
|
@@ -347,6 +380,10 @@ export const ExtendStandardMenu = defineComponent({
|
|
|
347
380
|
semanticStyle: () => '',
|
|
348
381
|
}),
|
|
349
382
|
},
|
|
383
|
+
controller: {
|
|
384
|
+
type: Object as PropType<ExtendMenuBaseController>,
|
|
385
|
+
required: true,
|
|
386
|
+
},
|
|
350
387
|
},
|
|
351
388
|
emits: {
|
|
352
389
|
/**
|
|
@@ -411,6 +448,7 @@ export const ExtendStandardMenu = defineComponent({
|
|
|
411
448
|
menuItemsState: this.menuItemsState,
|
|
412
449
|
handleMenuSelect: this.handleMenuSelect,
|
|
413
450
|
semantic: this.semantic,
|
|
451
|
+
controller: this.controller,
|
|
414
452
|
})}
|
|
415
453
|
</div>
|
|
416
454
|
);
|
|
@@ -48,6 +48,7 @@ export const LeftSideMenu = defineComponent({
|
|
|
48
48
|
style={this.semanticStyle('root')}
|
|
49
49
|
>
|
|
50
50
|
<iBizCommonExtendMenu
|
|
51
|
+
controller={this.controller}
|
|
51
52
|
renderMode={this.controller.rawItemParams.rendermode}
|
|
52
53
|
items={this.state.items}
|
|
53
54
|
menuItemsState={this.state.menuItemsState}
|
|
@@ -50,6 +50,7 @@ export const RightSideMenu = defineComponent({
|
|
|
50
50
|
<iBizCommonExtendMenu
|
|
51
51
|
renderMode={this.controller.rawItemParams.rendermode}
|
|
52
52
|
items={this.state.items}
|
|
53
|
+
controller={this.controller}
|
|
53
54
|
menuItemsState={this.state.menuItemsState}
|
|
54
55
|
providers={this.controller.itemProviders}
|
|
55
56
|
position={'RIGHT'}
|
|
@@ -50,6 +50,7 @@ export const TopSideMenu = defineComponent({
|
|
|
50
50
|
<iBizCommonExtendMenu
|
|
51
51
|
renderMode={this.controller.rawItemParams.rendermode}
|
|
52
52
|
items={this.state.items}
|
|
53
|
+
controller={this.controller}
|
|
53
54
|
menuItemsState={this.state.menuItemsState}
|
|
54
55
|
providers={this.controller.itemProviders}
|
|
55
56
|
position={'TOP'}
|