@ibiz-template/vue3-components 0.7.41-alpha.40 → 0.7.41-alpha.41
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/ibiz-markdown-editor-DEV-iSvz.js +1 -0
- package/dist/index-Bv2fgePf.js +11 -0
- package/dist/{index-BewO9StC.js → index-CD2XM6M6.js} +1 -1
- package/dist/{index-ClxO69TM.js → index-CaWTEUU1.js} +1 -1
- package/dist/index.min.css +1 -1
- package/dist/index.system.min.js +1 -1
- package/dist/wang-editor-4cNAgOaJ.js +1 -0
- package/dist/{xlsx-util-Cg5zMYCC.js → xlsx-util-Dvg2kWh7.js} +1 -1
- package/es/control/form/form-detail/form-item/composite-form-item-ex/composite-form-item-ex.controller.mjs +2 -1
- package/es/control/form/form-detail/form-item/composite-form-item-ex/composite-form-item-ex.css +1 -1
- package/es/control/form/form-detail/form-item/composite-form-item-ex/composite-form-item-ex.mjs +12 -2
- package/es/editor/code/monaco-editor/monaco-editor.mjs +41 -32
- package/es/editor/html/wang-editor/config/index.mjs +3 -0
- package/es/editor/html/wang-editor/config/toolbar.mjs +90 -0
- package/es/editor/html/wang-editor/constants/svg.mjs +8 -0
- package/es/editor/html/wang-editor/wang-editor.css +1 -1
- package/es/editor/html/wang-editor/wang-editor.mjs +52 -39
- package/es/editor/markdown/ibiz-markdown-editor/custom-menu.mjs +264 -2
- package/es/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.css +1 -1
- package/es/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.mjs +38 -6
- package/es/editor/markdown/ibiz-markdown-editor/render-util.mjs +33 -4
- package/es/editor/text-box/input/input.mjs +41 -32
- package/es/index.mjs +1 -1
- package/es/locale/en/index.mjs +3 -1
- package/es/locale/zh-CN/index.mjs +3 -1
- package/es/util/ai-chat-util/ai-chat-util.mjs +216 -0
- package/es/util/app-util/app-util.mjs +20 -48
- package/es/util/index.mjs +1 -1
- package/es/util/inline-ai-util/inline-ai-textarea/icon.mjs +75 -1
- package/es/util/inline-ai-util/inline-ai-textarea/inline-ai-textarea.css +1 -1
- package/es/util/inline-ai-util/inline-ai-textarea/inline-ai-textarea.hook.mjs +136 -43
- package/es/util/inline-ai-util/inline-ai-textarea/inline-ai-textarea.mjs +130 -48
- package/es/util/inline-ai-util/inline-ai-util.mjs +2 -1
- package/es/web-app/main.mjs +2 -0
- package/lib/control/form/form-detail/form-item/composite-form-item-ex/composite-form-item-ex.cjs +12 -2
- package/lib/control/form/form-detail/form-item/composite-form-item-ex/composite-form-item-ex.controller.cjs +2 -1
- package/lib/control/form/form-detail/form-item/composite-form-item-ex/composite-form-item-ex.css +1 -1
- package/lib/editor/code/monaco-editor/monaco-editor.cjs +40 -31
- package/lib/editor/html/wang-editor/config/index.cjs +7 -0
- package/lib/editor/html/wang-editor/config/toolbar.cjs +92 -0
- package/lib/editor/html/wang-editor/constants/svg.cjs +14 -0
- package/lib/editor/html/wang-editor/wang-editor.cjs +51 -38
- package/lib/editor/html/wang-editor/wang-editor.css +1 -1
- package/lib/editor/markdown/ibiz-markdown-editor/custom-menu.cjs +264 -2
- package/lib/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.cjs +38 -6
- package/lib/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.css +1 -1
- package/lib/editor/markdown/ibiz-markdown-editor/render-util.cjs +33 -4
- package/lib/editor/text-box/input/input.cjs +40 -31
- package/lib/index.cjs +2 -2
- package/lib/locale/en/index.cjs +3 -1
- package/lib/locale/zh-CN/index.cjs +3 -1
- package/lib/util/ai-chat-util/ai-chat-util.cjs +218 -0
- package/lib/util/app-util/app-util.cjs +19 -47
- package/lib/util/index.cjs +2 -2
- package/lib/util/inline-ai-util/inline-ai-textarea/icon.cjs +78 -0
- package/lib/util/inline-ai-util/inline-ai-textarea/inline-ai-textarea.cjs +129 -47
- package/lib/util/inline-ai-util/inline-ai-textarea/inline-ai-textarea.css +1 -1
- package/lib/util/inline-ai-util/inline-ai-textarea/inline-ai-textarea.hook.cjs +135 -42
- package/lib/util/inline-ai-util/inline-ai-util.cjs +2 -1
- package/lib/web-app/main.cjs +2 -0
- package/package.json +5 -5
- package/dist/ibiz-markdown-editor-CxFS8frQ.js +0 -1
- package/dist/index-2eZnbrr4.js +0 -11
- package/dist/wang-editor-BPl509oX.js +0 -1
- package/es/util/ai-util/ai-util.mjs +0 -68
- package/lib/util/ai-util/ai-util.cjs +0 -71
|
@@ -26,7 +26,7 @@ class CompositeFormItemExController extends FormItemController {
|
|
|
26
26
|
__publicField(this, "includesList", ["HTMLEDITOR_DEFAULT", "MARKDOWN_DEFAULT"]);
|
|
27
27
|
/**
|
|
28
28
|
* @description 切换菜单选项
|
|
29
|
-
* @type {{ id: string; name: string; editor?: IData }[]}
|
|
29
|
+
* @type {{ id: string; name: string; icon?: ISysImage, editor?: IData }[]}
|
|
30
30
|
* @memberof CompositeFormItemExController
|
|
31
31
|
*/
|
|
32
32
|
__publicField(this, "switchOptions", []);
|
|
@@ -60,6 +60,7 @@ class CompositeFormItemExController extends FormItemController {
|
|
|
60
60
|
return {
|
|
61
61
|
id: item.value,
|
|
62
62
|
name: item.text,
|
|
63
|
+
icon: item.sysImage,
|
|
63
64
|
editor: item.data
|
|
64
65
|
};
|
|
65
66
|
});
|
package/es/control/form/form-detail/form-item/composite-form-item-ex/composite-form-item-ex.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.ibiz-composite-form-item-ex{--ibiz-composite-form-item-ex-menu-top:0;--ibiz-composite-form-item-ex-menu-right:0;--ibiz-composite-form-item-ex-menu-text-color:var(--ibiz-color-text-2);--ibiz-composite-form-item-ex-menu-font-size:var(--ibiz-font-size-regular);--ibiz-composite-form-item-ex-menu-width:
|
|
1
|
+
.ibiz-composite-form-item-ex{--ibiz-composite-form-item-ex-menu-top:0;--ibiz-composite-form-item-ex-menu-right:0;--ibiz-composite-form-item-ex-menu-text-color:var(--ibiz-color-text-2);--ibiz-composite-form-item-ex-menu-font-size:var(--ibiz-font-size-regular);--ibiz-composite-form-item-ex-menu-width:120px;--ibiz-composite-form-item-ex-menu-height:var(--ibiz-height-control-default);--ibiz-composite-form-item-ex-menu-icon-gap:var(--ibiz-spacing-extra-tight);--ibiz-composite-form-item-ex-menu-z-index:9;--ibiz-composite-form-item-ex-menu-padding:0 var(--ibiz-spacing-base-tight);--ibiz-composite-form-item-ex-menu-item-padding:var(--ibiz-spacing-extra-tight);--ibiz-composite-form-item-ex-menu-item-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-composite-form-item-ex-menu-bg-color:var(--ibiz-color-bg-3);--ibiz-composite-form-item-ex-menu-text-icon-size:var(--ibiz-font-size-header-6);--ibiz-composite-form-item-ex-menu-content-padding:var(--ibiz-spacing-base-tight);--ibiz-composite-form-item-ex-loading-min-height:calc(var(--el-loading-spinner-size) + var(--ibiz-spacing-tight));position:relative}.ibiz-composite-form-item-ex .ibiz-composite-form-item-ex-menu{position:absolute;top:var(--ibiz-composite-form-item-ex-menu-top);right:var(--ibiz-composite-form-item-ex-menu-right);z-index:var(--ibiz-composite-form-item-ex-menu-z-index);display:flex;align-items:center;width:var(--ibiz-composite-form-item-ex-menu-width);height:var(--ibiz-composite-form-item-ex-menu-height);padding:var(--ibiz-composite-form-item-ex-menu-padding);font-size:var(--ibiz-composite-form-item-ex-menu-font-size);color:var(--ibiz-composite-form-item-ex-menu-text-color);cursor:pointer;background:var(--ibiz-composite-form-item-ex-menu-bg-color)}.ibiz-composite-form-item-ex-menu__text-icon{display:flex;flex:0 0 auto;align-items:center;justify-content:center;width:1em;height:1em;margin-right:var(--ibiz-composite-form-item-ex-menu-icon-gap);font-size:var(--ibiz-composite-form-item-ex-menu-text-icon-size)}.ibiz-composite-form-item-ex-menu__text-icon .ibiz-icon{display:flex;align-items:center;justify-content:center}.ibiz-composite-form-item-ex-menu__text-icon .ibiz-icon svg{width:1em;height:1em;fill:currentcolor}.ibiz-composite-form-item-ex-menu__text{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-composite-form-item-ex-menu__icon{display:flex;flex:0 0 auto;align-items:center;justify-content:center;margin-left:var(--ibiz-composite-form-item-ex-menu-icon-gap)}.ibiz-composite-form-item-ex-menu__icon svg{width:1em;height:1em}.ibiz-form-item-container__editor>.el-loading-parent--relative{min-height:var(--ibiz-composite-form-item-ex-loading-min-height)}.ibiz-composite-form-item-ex-menu-popover{--ibiz-composite-form-item-ex-menu-top:0;--ibiz-composite-form-item-ex-menu-right:0;--ibiz-composite-form-item-ex-menu-text-color:var(--ibiz-color-text-2);--ibiz-composite-form-item-ex-menu-font-size:var(--ibiz-font-size-regular);--ibiz-composite-form-item-ex-menu-width:120px;--ibiz-composite-form-item-ex-menu-height:var(--ibiz-height-control-default);--ibiz-composite-form-item-ex-menu-icon-gap:var(--ibiz-spacing-extra-tight);--ibiz-composite-form-item-ex-menu-z-index:9;--ibiz-composite-form-item-ex-menu-padding:0 var(--ibiz-spacing-base-tight);--ibiz-composite-form-item-ex-menu-item-padding:var(--ibiz-spacing-extra-tight);--ibiz-composite-form-item-ex-menu-item-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-composite-form-item-ex-menu-bg-color:var(--ibiz-color-bg-3);--ibiz-composite-form-item-ex-menu-text-icon-size:var(--ibiz-font-size-header-6);--ibiz-composite-form-item-ex-menu-content-padding:var(--ibiz-spacing-base-tight);--ibiz-composite-form-item-ex-loading-min-height:calc(var(--el-loading-spinner-size) + var(--ibiz-spacing-tight))}.ibiz-composite-form-item-ex-menu-popover.el-popover.el-popper{width:var(--ibiz-composite-form-item-ex-menu-width)!important;min-width:var(--ibiz-composite-form-item-ex-menu-width);padding:var(--ibiz-composite-form-item-ex-menu-content-padding)}.ibiz-composite-form-item-ex-menu-content{font-size:var(--ibiz-composite-form-item-ex-menu-font-size);color:var(--ibiz-composite-form-item-ex-menu-text-color)}.ibiz-composite-form-item-ex-menu-item{display:flex;align-items:center;padding:var(--ibiz-composite-form-item-ex-menu-item-padding);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.ibiz-composite-form-item-ex-menu-item__icon{flex:0 0 auto;width:1em;height:1em;margin-right:var(--ibiz-composite-form-item-ex-menu-icon-gap);visibility:hidden;fill:currentcolor}.ibiz-composite-form-item-ex-menu-item__text-icon{display:flex;flex:0 0 auto;align-items:center;justify-content:center;width:1em;height:1em;margin-right:var(--ibiz-composite-form-item-ex-menu-icon-gap);font-size:var(--ibiz-composite-form-item-ex-menu-text-icon-size)}.ibiz-composite-form-item-ex-menu-item__text-icon .ibiz-icon{display:flex;align-items:center;justify-content:center}.ibiz-composite-form-item-ex-menu-item__text-icon .ibiz-icon svg{width:1em;height:1em;fill:currentcolor}.ibiz-composite-form-item-ex-menu-item__text{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-composite-form-item-ex-menu-item.is-active .ibiz-composite-form-item-ex-menu-item__icon{visibility:visible}.ibiz-composite-form-item-ex-menu-item:hover{background-color:var(--ibiz-composite-form-item-ex-menu-item-hover-bg-color)}
|
package/es/control/form/form-detail/form-item/composite-form-item-ex/composite-form-item-ex.mjs
CHANGED
|
@@ -66,14 +66,20 @@ const CompositeFormItemEx = /* @__PURE__ */ defineComponent({
|
|
|
66
66
|
const isIncludes = this.c.includesList.some((id) => id === "".concat(editorType, "_").concat(editorStyle));
|
|
67
67
|
const editorSwitchMenu = createVNode(resolveComponent("el-popover"), {
|
|
68
68
|
"trigger": "click",
|
|
69
|
-
"popper-class": this.ns2.b("menu-popover")
|
|
69
|
+
"popper-class": this.ns2.b("menu-popover"),
|
|
70
|
+
"offset": 0
|
|
70
71
|
}, {
|
|
71
72
|
reference: () => {
|
|
73
|
+
const option = this.c.switchOptions.find((item) => item.id === this.c.state.editorId);
|
|
72
74
|
return createVNode("div", {
|
|
73
75
|
"class": this.ns2.b("menu")
|
|
74
76
|
}, [createVNode("div", {
|
|
77
|
+
"class": this.ns2.be("menu", "text-icon")
|
|
78
|
+
}, [createVNode(resolveComponent("iBizIcon"), {
|
|
79
|
+
"icon": option == null ? void 0 : option.icon
|
|
80
|
+
}, null)]), createVNode("div", {
|
|
75
81
|
"class": this.ns2.be("menu", "text")
|
|
76
|
-
}, [this.c.state.editorId]), createVNode("div", {
|
|
82
|
+
}, [(option == null ? void 0 : option.name) || this.c.state.editorId]), createVNode("div", {
|
|
77
83
|
"class": this.ns2.be("menu", "icon")
|
|
78
84
|
}, [createVNode("svg", {
|
|
79
85
|
"xmlns": "http://www.w3.org/2000/svg",
|
|
@@ -97,6 +103,10 @@ const CompositeFormItemEx = /* @__PURE__ */ defineComponent({
|
|
|
97
103
|
"class": this.ns2.be("menu-item", "icon")
|
|
98
104
|
}, [createVNode("path", {
|
|
99
105
|
"d": "M574.116299 786.736392 1238.811249 48.517862C1272.390222 11.224635 1329.414799 7.827718 1366.75664 41.450462 1403.840015 74.840484 1406.731043 132.084741 1373.10189 169.433699L655.118888 966.834607C653.072421 969.716875 650.835807 972.514337 648.407938 975.210759 615.017957 1012.29409 558.292155 1015.652019 521.195664 982.250188L72.778218 578.493306C35.910826 545.297758 32.859041 488.584019 66.481825 451.242134 99.871807 414.158803 156.597563 410.800834 193.694055 444.202665L574.116299 786.736392Z"
|
|
106
|
+
}, null)]), createVNode("div", {
|
|
107
|
+
"class": this.ns2.be("menu-item", "text-icon")
|
|
108
|
+
}, [createVNode(resolveComponent("iBizIcon"), {
|
|
109
|
+
"icon": option.icon
|
|
100
110
|
}, null)]), createVNode("span", {
|
|
101
111
|
"class": this.ns2.be("menu-item", "text")
|
|
102
112
|
}, [option.name])]);
|
|
@@ -4,10 +4,8 @@ import { createUUID } from 'qx-util';
|
|
|
4
4
|
import { ElMessageBox } from 'element-plus';
|
|
5
5
|
import '../../../node_modules/.pnpm/@monaco-editor_loader@1.5.0/node_modules/@monaco-editor/loader/lib/es/index.mjs';
|
|
6
6
|
import { UIActionUtil, SysUIActionTag } from '@ibiz-template/runtime';
|
|
7
|
-
import { IBizContext
|
|
8
|
-
import '../../../util/index.mjs';
|
|
7
|
+
import { IBizContext } from '@ibiz-template/core';
|
|
9
8
|
import './monaco-editor.css';
|
|
10
|
-
import { calcAiToolbarItemsByAc } from '../../../util/ai-util/ai-util.mjs';
|
|
11
9
|
import loader from '../../../node_modules/.pnpm/@monaco-editor_loader@1.5.0/node_modules/@monaco-editor/loader/lib/es/loader/index.mjs';
|
|
12
10
|
|
|
13
11
|
"use strict";
|
|
@@ -33,7 +31,6 @@ const IBizCode = /* @__PURE__ */ defineComponent({
|
|
|
33
31
|
const enableFullScreen = ref(false);
|
|
34
32
|
const isFullScreen = ref(false);
|
|
35
33
|
const isLoading = ref(false);
|
|
36
|
-
let autoClose;
|
|
37
34
|
const textTBRef = ref();
|
|
38
35
|
const textTBStyle = ref({
|
|
39
36
|
[ns.cssVarBlockName("text-editor-toolbar-z-index")]: zIndex.increment()
|
|
@@ -58,13 +55,6 @@ const IBizCode = /* @__PURE__ */ defineComponent({
|
|
|
58
55
|
if (editorModel.editorParams.enablefullscreen) {
|
|
59
56
|
enableFullScreen.value = c.toBoolean(editorModel.editorParams.enablefullscreen);
|
|
60
57
|
}
|
|
61
|
-
if (editorModel.editorParams.autoclose) {
|
|
62
|
-
try {
|
|
63
|
-
autoClose = JSON.parse(editorModel.editorParams.autoclose);
|
|
64
|
-
} catch (error) {
|
|
65
|
-
ibiz.log.error(error);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
58
|
}
|
|
69
59
|
let editor;
|
|
70
60
|
let monacoEditor;
|
|
@@ -127,19 +117,24 @@ const IBizCode = /* @__PURE__ */ defineComponent({
|
|
|
127
117
|
const openAIChat = async () => {
|
|
128
118
|
if (!c.deACMode || !c.model.appDataEntityId)
|
|
129
119
|
return;
|
|
120
|
+
const aiAgentlist = await ibiz.aiChatUtil.getAIAgentList(c.context, c.params);
|
|
130
121
|
const {
|
|
131
122
|
contentToolbarItems,
|
|
132
123
|
footerToolbarItems,
|
|
133
124
|
questionToolbarItems,
|
|
134
125
|
otherToolbarItems
|
|
135
|
-
} = calcAiToolbarItemsByAc(c.deACMode);
|
|
136
|
-
const
|
|
137
|
-
|
|
126
|
+
} = ibiz.aiChatUtil.calcAiToolbarItemsByAc(c.deACMode);
|
|
127
|
+
const {
|
|
128
|
+
containerOptions,
|
|
129
|
+
chatOptions
|
|
130
|
+
} = ibiz.aiChatUtil.getEditorExAIChatParams(c.editorParams, c.context, c.params, props.data);
|
|
131
|
+
chatInstance = await ibiz.aiChatUtil.getAIChat();
|
|
138
132
|
let id = "";
|
|
139
133
|
let abortController;
|
|
140
134
|
chatInstance.create({
|
|
141
135
|
containerOptions: {
|
|
142
|
-
zIndex: zIndex.increment()
|
|
136
|
+
zIndex: zIndex.increment(),
|
|
137
|
+
...containerOptions
|
|
143
138
|
},
|
|
144
139
|
chatOptions: {
|
|
145
140
|
caption: c.deACMode.logicName,
|
|
@@ -150,28 +145,28 @@ const IBizCode = /* @__PURE__ */ defineComponent({
|
|
|
150
145
|
...c.params,
|
|
151
146
|
srfactag: c.deACMode.codeName
|
|
152
147
|
},
|
|
153
|
-
// 编辑器参数srfaiappendcurdata,是否传入对象参数,用于历史查询传参
|
|
154
|
-
appendCurData: c.editorParams.srfaiappendcurdata === "true" ? props.data : void 0,
|
|
155
|
-
// 自动提问
|
|
156
|
-
autoQuestion: c.editorParams.autoquestion !== "false",
|
|
157
|
-
// 自动填充
|
|
158
|
-
autoFill: c.editorParams.autofill === "true",
|
|
159
|
-
// 窗口的打开模式
|
|
160
|
-
openMode: c.editorParams.openmode,
|
|
161
|
-
// 窗口的自动关闭模式
|
|
162
|
-
autoClose,
|
|
163
|
-
// 编辑器参数srfaiappendcurcontent,传入编辑内容作为用户消息,获取历史数据后附加
|
|
164
|
-
appendCurContent: c.editorParams.srfaiappendcurcontent ? StringUtil.fill(c.editorParams.srfaiappendcurcontent, c.context, c.params, props.data) : void 0,
|
|
165
148
|
appDataEntityId: c.model.appDataEntityId,
|
|
166
149
|
contentToolbarItems,
|
|
167
150
|
footerToolbarItems,
|
|
168
151
|
questionToolbarItems,
|
|
169
152
|
otherToolbarItems,
|
|
170
|
-
|
|
153
|
+
aiAgentlist,
|
|
154
|
+
...chatOptions,
|
|
155
|
+
question: async (aiChat, ctx, param, other, arr, sessionid, srfaiagent, srfmode) => {
|
|
171
156
|
id = createUUID();
|
|
172
157
|
abortController = new AbortController();
|
|
173
158
|
const deService = await ibiz.hub.getApp(ctx.srfappid).deService.getService(ctx, other.appDataEntityId);
|
|
174
159
|
try {
|
|
160
|
+
const questionRequestData = {
|
|
161
|
+
messages: arr,
|
|
162
|
+
sessionid
|
|
163
|
+
};
|
|
164
|
+
if (srfaiagent) {
|
|
165
|
+
questionRequestData.srfaiagent = srfaiagent;
|
|
166
|
+
}
|
|
167
|
+
if (srfmode) {
|
|
168
|
+
questionRequestData.mode = srfmode;
|
|
169
|
+
}
|
|
175
170
|
await deService.aiChatSse((msg) => {
|
|
176
171
|
if (msg.actionstate === 20 && msg.actionresult) {
|
|
177
172
|
aiChat.addMessage({
|
|
@@ -203,8 +198,7 @@ const IBizCode = /* @__PURE__ */ defineComponent({
|
|
|
203
198
|
});
|
|
204
199
|
}
|
|
205
200
|
}, abortController, ctx, param, {
|
|
206
|
-
|
|
207
|
-
sessionid
|
|
201
|
+
...questionRequestData
|
|
208
202
|
});
|
|
209
203
|
} catch (error) {
|
|
210
204
|
aiChat.replaceMessage({
|
|
@@ -237,8 +231,23 @@ const IBizCode = /* @__PURE__ */ defineComponent({
|
|
|
237
231
|
},
|
|
238
232
|
history: async (ctx, param, other) => {
|
|
239
233
|
const deService = await ibiz.hub.getApp(ctx.srfappid).deService.getService(ctx, other.appDataEntityId);
|
|
240
|
-
const
|
|
241
|
-
|
|
234
|
+
const historyRequestData = {};
|
|
235
|
+
if (other.appendCurData) {
|
|
236
|
+
Object.assign(historyRequestData, {
|
|
237
|
+
...other.appendCurData
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
if (other.srfaiagent) {
|
|
241
|
+
Object.assign(historyRequestData, {
|
|
242
|
+
srfaiagent: other.srfaiagent
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
if (other.srfmode) {
|
|
246
|
+
Object.assign(historyRequestData, {
|
|
247
|
+
mode: other.srfmode
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
const result = await deService.aiChatHistory(ctx, param, historyRequestData);
|
|
242
251
|
if (result.data && Array.isArray(result.data)) {
|
|
243
252
|
let preMsg;
|
|
244
253
|
result.data.forEach((item) => {
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { t } from '@wangeditor/editor';
|
|
2
|
+
import { MORE_SVG, JUSTIFY_LEFT_SVG, INDENT_RIGHT_SVG, IMAGE_SVG, VIDEO_SVG } from '../constants/svg.mjs';
|
|
3
|
+
|
|
4
|
+
"use strict";
|
|
5
|
+
function genDefaultToolbarKeys() {
|
|
6
|
+
return [
|
|
7
|
+
"headerSelect",
|
|
8
|
+
// 'header1',
|
|
9
|
+
// 'header2',
|
|
10
|
+
// 'header3',
|
|
11
|
+
"blockquote",
|
|
12
|
+
"|",
|
|
13
|
+
"bold",
|
|
14
|
+
"underline",
|
|
15
|
+
"italic",
|
|
16
|
+
{
|
|
17
|
+
key: "group-more-style",
|
|
18
|
+
// 以 group 开头
|
|
19
|
+
title: t("editor.more"),
|
|
20
|
+
iconSvg: MORE_SVG,
|
|
21
|
+
menuKeys: ["through", "code", "sup", "sub", "clearStyle"]
|
|
22
|
+
},
|
|
23
|
+
"color",
|
|
24
|
+
"bgColor",
|
|
25
|
+
"|",
|
|
26
|
+
"fontSize",
|
|
27
|
+
"fontFamily",
|
|
28
|
+
"lineHeight",
|
|
29
|
+
"|",
|
|
30
|
+
"bulletedList",
|
|
31
|
+
"numberedList",
|
|
32
|
+
"todo",
|
|
33
|
+
{
|
|
34
|
+
key: "group-justify",
|
|
35
|
+
// 以 group 开头
|
|
36
|
+
title: t("editor.justify"),
|
|
37
|
+
iconSvg: JUSTIFY_LEFT_SVG,
|
|
38
|
+
menuKeys: [
|
|
39
|
+
"justifyLeft",
|
|
40
|
+
"justifyRight",
|
|
41
|
+
"justifyCenter",
|
|
42
|
+
"justifyJustify"
|
|
43
|
+
]
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
key: "group-indent",
|
|
47
|
+
// 以 group 开头
|
|
48
|
+
title: t("editor.indent"),
|
|
49
|
+
iconSvg: INDENT_RIGHT_SVG,
|
|
50
|
+
menuKeys: ["indent", "delIndent"]
|
|
51
|
+
},
|
|
52
|
+
"|",
|
|
53
|
+
"emotion",
|
|
54
|
+
"insertLink",
|
|
55
|
+
// 'editLink',
|
|
56
|
+
// 'unLink',
|
|
57
|
+
// 'viewLink',
|
|
58
|
+
{
|
|
59
|
+
key: "group-image",
|
|
60
|
+
// 以 group 开头
|
|
61
|
+
title: t("editor.image"),
|
|
62
|
+
iconSvg: IMAGE_SVG,
|
|
63
|
+
menuKeys: ["insertImage", "uploadImage"]
|
|
64
|
+
},
|
|
65
|
+
// 'deleteImage',
|
|
66
|
+
// 'editImage',
|
|
67
|
+
// 'viewImageLink',
|
|
68
|
+
{
|
|
69
|
+
key: "group-video",
|
|
70
|
+
// 以 group 开头
|
|
71
|
+
title: t("editor.video"),
|
|
72
|
+
iconSvg: VIDEO_SVG,
|
|
73
|
+
menuKeys: ["insertVideo", "uploadVideo"]
|
|
74
|
+
},
|
|
75
|
+
// 'deleteVideo',
|
|
76
|
+
"insertTable",
|
|
77
|
+
"codeBlock",
|
|
78
|
+
// 'codeSelectLang',
|
|
79
|
+
"divider",
|
|
80
|
+
// 'deleteTable',
|
|
81
|
+
"|",
|
|
82
|
+
"undo",
|
|
83
|
+
"redo",
|
|
84
|
+
"|",
|
|
85
|
+
"fullScreen",
|
|
86
|
+
"emoji"
|
|
87
|
+
];
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
export { genDefaultToolbarKeys };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const INDENT_RIGHT_SVG = '<svg viewBox="0 0 1024 1024"><path d="M0 64h1024v128H0z m384 192h640v128H384z m0 192h640v128H384z m0 192h640v128H384zM0 832h1024v128H0z m0-128V320l256 192z"></path></svg>';
|
|
3
|
+
const JUSTIFY_LEFT_SVG = '<svg viewBox="0 0 1024 1024"><path d="M768 793.6v102.4H51.2v-102.4h716.8z m204.8-230.4v102.4H51.2v-102.4h921.6z m-204.8-230.4v102.4H51.2v-102.4h716.8zM972.8 102.4v102.4H51.2V102.4h921.6z"></path></svg>';
|
|
4
|
+
const IMAGE_SVG = '<svg viewBox="0 0 1024 1024"><path d="M959.877 128l0.123 0.123v767.775l-0.123 0.122H64.102l-0.122-0.122V128.123l0.122-0.123h895.775zM960 64H64C28.795 64 0 92.795 0 128v768c0 35.205 28.795 64 64 64h896c35.205 0 64-28.795 64-64V128c0-35.205-28.795-64-64-64zM832 288.01c0 53.023-42.988 96.01-96.01 96.01s-96.01-42.987-96.01-96.01S682.967 192 735.99 192 832 234.988 832 288.01zM896 832H128V704l224.01-384 256 320h64l224.01-192z"></path></svg>';
|
|
5
|
+
const MORE_SVG = '<svg viewBox="0 0 1024 1024"><path d="M204.8 505.6m-76.8 0a76.8 76.8 0 1 0 153.6 0 76.8 76.8 0 1 0-153.6 0Z"></path><path d="M505.6 505.6m-76.8 0a76.8 76.8 0 1 0 153.6 0 76.8 76.8 0 1 0-153.6 0Z"></path><path d="M806.4 505.6m-76.8 0a76.8 76.8 0 1 0 153.6 0 76.8 76.8 0 1 0-153.6 0Z"></path></svg>';
|
|
6
|
+
const VIDEO_SVG = '<svg viewBox="0 0 1024 1024"><path d="M981.184 160.096C837.568 139.456 678.848 128 512 128S186.432 139.456 42.816 160.096C15.296 267.808 0 386.848 0 512s15.264 244.16 42.816 351.904C186.464 884.544 345.152 896 512 896s325.568-11.456 469.184-32.096C1008.704 756.192 1024 637.152 1024 512s-15.264-244.16-42.816-351.904zM384 704V320l320 192-320 192z"></path></svg>';
|
|
7
|
+
|
|
8
|
+
export { IMAGE_SVG, INDENT_RIGHT_SVG, JUSTIFY_LEFT_SVG, MORE_SVG, VIDEO_SVG };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ibiz-html{--ibiz-html-height:300px;display:inline-block;width:100%;height:100%}.ibiz-html .ibiz-html-content{display:flex;flex-direction:column;height:100%;background-color:var(--ibiz-color-bg-0)}.ibiz-html .ibiz-html-editor{height:var(--ibiz-html-height)!important;padding:0;overflow-y:scroll;border:1px solid var(--ibiz-color-border)}.ibiz-html .ibiz-html-editor.is-readonly{height:auto!important}.ibiz-html .ibiz-html-editor table{width:100%!important;border-collapse:collapse}.ibiz-html .ibiz-html-editor table th{height:var(--ibiz-height-control-large);min-height:var(--ibiz-height-control-large);padding:var(--ibiz-spacing-tight);border:1px solid var(--ibiz-color-border)}.ibiz-html .ibiz-html-editor table td{height:var(--ibiz-height-control-large);min-height:var(--ibiz-height-control-large);padding:var(--ibiz-spacing-tight);empty-cells:show;border:1px solid var(--ibiz-color-border)}.ibiz-html{--w-e-textarea-bg-color:var(--ibiz-color-bg-1);--w-e-textarea-color:var(--ibiz-color-text-2);--w-e-textarea-border-color:var(--ibiz-color-border);--w-e-textarea-slight-border-color:var(--ibiz-color-border);--w-e-textarea-slight-color:var(--ibiz-color-text-3);--w-e-textarea-slight-bg-color:var(--ibiz-color-bg-1);--w-e-textarea-selected-border-color:var(--ibiz-color-border);--w-e-textarea-handler-bg-color:var(--ibiz-color-primary);--w-e-toolbar-color:var(--ibiz-color-text-0);--w-e-toolbar-bg-color:var(--ibiz-color-bg-1);--w-e-toolbar-active-color:var(--ibiz-color-text-0);--w-e-toolbar-active-bg-color:var(--ibiz-color-bg-1);--w-e-toolbar-disabled-color:var(--ibiz-color-disabled-text);--w-e-toolbar-border-color:var(--ibiz-color-border);--w-e-modal-button-bg-color:var(--ibiz-color-bg-1);--w-e-modal-button-border-color:var(--ibiz-color-border)}.ibiz-html .w-e-menu-tooltip-v5::before{color:var(--ibiz-color-text-0);background-color:var(--w-e-toolbar-bg-color)}.ibiz-html .w-e-full-screen-container{z-index:9999}.ibiz-html .w-e-scroll>div{background-color:var(--ibiz-color-bg-1)}.ibiz-html .table-container table{width:100%}.ibiz-html.is-enable-edit .w-e-bar-item>button{color:var(--w-e-toolbar-color);cursor:pointer}.ibiz-html.is-enable-edit .w-e-bar-item>button svg{fill:var(--w-e-toolbar-color)}.ibiz-html.is-show-editor-switch-menu .ibiz-html-content{position:relative}.ibiz-html.is-show-editor-switch-menu .ibiz-composite-form-item-ex-menu{--ibiz-composite-form-item-ex-menu-height:
|
|
1
|
+
.ibiz-html{--ibiz-html-height:300px;display:inline-block;width:100%;height:100%}.ibiz-html .ibiz-html-content{display:flex;flex-direction:column;height:100%;background-color:var(--ibiz-color-bg-0)}.ibiz-html .ibiz-html-editor{height:var(--ibiz-html-height)!important;padding:0;overflow-y:scroll;border:1px solid var(--ibiz-color-border)}.ibiz-html .ibiz-html-editor.is-readonly{height:auto!important}.ibiz-html .ibiz-html-editor table{width:100%!important;border-collapse:collapse}.ibiz-html .ibiz-html-editor table th{height:var(--ibiz-height-control-large);min-height:var(--ibiz-height-control-large);padding:var(--ibiz-spacing-tight);border:1px solid var(--ibiz-color-border)}.ibiz-html .ibiz-html-editor table td{height:var(--ibiz-height-control-large);min-height:var(--ibiz-height-control-large);padding:var(--ibiz-spacing-tight);empty-cells:show;border:1px solid var(--ibiz-color-border)}.ibiz-html{--w-e-textarea-bg-color:var(--ibiz-color-bg-1);--w-e-textarea-color:var(--ibiz-color-text-2);--w-e-textarea-border-color:var(--ibiz-color-border);--w-e-textarea-slight-border-color:var(--ibiz-color-border);--w-e-textarea-slight-color:var(--ibiz-color-text-3);--w-e-textarea-slight-bg-color:var(--ibiz-color-bg-1);--w-e-textarea-selected-border-color:var(--ibiz-color-border);--w-e-textarea-handler-bg-color:var(--ibiz-color-primary);--w-e-toolbar-color:var(--ibiz-color-text-0);--w-e-toolbar-bg-color:var(--ibiz-color-bg-1);--w-e-toolbar-active-color:var(--ibiz-color-text-0);--w-e-toolbar-active-bg-color:var(--ibiz-color-bg-1);--w-e-toolbar-disabled-color:var(--ibiz-color-disabled-text);--w-e-toolbar-border-color:var(--ibiz-color-border);--w-e-modal-button-bg-color:var(--ibiz-color-bg-1);--w-e-modal-button-border-color:var(--ibiz-color-border)}.ibiz-html .w-e-menu-tooltip-v5::before{color:var(--ibiz-color-text-0);background-color:var(--w-e-toolbar-bg-color)}.ibiz-html .w-e-full-screen-container{z-index:9999}.ibiz-html .w-e-scroll>div{background-color:var(--ibiz-color-bg-1)}.ibiz-html .table-container table{width:100%}.ibiz-html.is-enable-edit .w-e-bar-item>button{color:var(--w-e-toolbar-color);cursor:pointer}.ibiz-html.is-enable-edit .w-e-bar-item>button svg{fill:var(--w-e-toolbar-color)}.ibiz-html.is-show-editor-switch-menu .ibiz-html-content{position:relative}.ibiz-html.is-show-editor-switch-menu .ibiz-composite-form-item-ex-menu{--ibiz-composite-form-item-ex-menu-height:40px;position:relative;max-height:100%}.ibiz-html.is-show-editor-switch-menu .ibiz-html-toolbar>.w-e-toolbar.w-e-bar{padding-right:var(--ibiz-composite-form-item-ex-menu-width)}.ibiz-html.is-show-editor-switch-menu .ibiz-html-menu{position:absolute;top:2px;right:1px;z-index:var(--ibiz-composite-form-item-ex-menu-z-index);display:flex;align-items:center;height:calc(var(--ibiz-html-toolbar-height) - 1px);background:var(--ibiz-composite-form-item-ex-menu-bg-color);border-left:1px solid var(--ibiz-color-border)}.ibiz-html-editor-readonly .ibiz-html-toolbar{display:none}.ibiz-html-editor-readonly .ibiz-html-editor{border:none}.ibiz-html-editor-readonly .ibiz-composite-form-item-ex-menu{display:none}.ibiz-html-toolbar .w-e-toolbar{background-color:var(--ibiz-color-bg-0);border:1px solid var(--ibiz-color-border);border-bottom:none;box-shadow:none}.ibiz-html-toolbar .w-e-toolbar .w-e-bar-item>button:hover{background-color:var(--ibiz-color-bg-0)}.ibiz-html-footer{display:flex;align-items:center;justify-content:end;margin-top:var(--ibiz-spacing-base-tight);margin-right:var(--ibiz-spacing-tight)}.ibiz-html-footer>*+*{margin-left:var(--ibiz-spacing-base)}.ibiz-html-footer__cancel{height:var(--ibiz-height-control-default);line-height:var(--ibiz-height-control-default);color:var(--ibiz-color-text-1);cursor:pointer;opacity:.7}.ibiz-html-footer__cancel:hover{color:var(--ibiz-color-primary);opacity:1}.ibiz-html-footer__save{height:var(--ibiz-height-control-default);padding:0 var(--ibiz-spacing-base);line-height:var(--ibiz-height-control-default);color:var(--ibiz-color-primary-active-text);text-align:center;cursor:pointer;background-color:var(--ibiz-color-primary);border-radius:var(--ibiz-border-radius-small)}.ibiz-html-custom-toolbar{display:flex;align-items:center;justify-content:end;width:100%;height:var(--ibiz-height-control-default);padding-right:var(--ibiz-spacing-base);font-size:var(--ibiz-font-size-header-6)}.ibiz-html-custom-toolbar>*+*{margin-left:var(--ibiz-spacing-base-loose)}.ibiz-html-custom-toolbar i{cursor:pointer}.ibiz-html-custom-toolbar i:hover{color:var(--ibiz-color-primary)}.ibiz-html-message{width:500px;max-width:unset}.ibiz-html-message__message-content--message-tip{color:var(--ibiz-color-text-3)}.ibiz-html-message__message-cancel{color:var(--ibiz-color-text-1);background-color:transparent}.ibiz-html-message__message-cancel:hover{color:var(--ibiz-color-primary);background-color:transparent}.ibiz-html-message__message-comfire{background-color:var(--ibiz-color-danger)!important}.ibiz-html-message__message-comfire:hover{box-shadow:0 2px 5px 1px var(--ibiz-color-danger)}.ibiz-html-dialog-full-screen{height:80%}.ibiz-html-dialog-full-screen .el-dialog__header{display:none}.ibiz-html-dialog-full-screen .el-dialog__body{height:100%;padding-top:0}.ibiz-html-dialog-full-screen.is-editing .el-dialog__body{padding-bottom:0}.ibiz-html-dialog-full-screen .ibiz-html{padding:0;--w-e-toolbar-bg-color:var(--ibiz-color-bg-0)}.ibiz-html-dialog-full-screen .ibiz-html-custom-toolbar{height:56px;padding-right:0}.ibiz-html-dialog-full-screen .ibiz-html-content{height:calc(100% - 56px)}.ibiz-html-dialog-full-screen .ibiz-html-content .ibiz-html-editor{height:100%!important}.ibiz-html-dialog-full-screen .ibiz-html-content.is-editing{height:calc(100% - 128px)}.ibiz-html-footer-dialog{height:68px;margin-top:0;margin-right:0}emoji-elem{margin:0 1px!important}
|
|
@@ -3,14 +3,14 @@ import { Toolbar, Editor } from '@wangeditor/editor-for-vue';
|
|
|
3
3
|
import { createUUID } from 'qx-util';
|
|
4
4
|
import { isNil } from 'ramda';
|
|
5
5
|
import { useNamespace, useUIStore, getEditorEmits, getHtmlProps } from '@ibiz-template/vue3-util';
|
|
6
|
-
import { IBizContext,
|
|
6
|
+
import { IBizContext, awaitTimeout } from '@ibiz-template/core';
|
|
7
7
|
import { UIActionUtil, SysUIActionTag } from '@ibiz-template/runtime';
|
|
8
8
|
import { ElMessageBox } from 'element-plus';
|
|
9
|
-
import '../../../util/index.mjs';
|
|
10
9
|
import './module/index.mjs';
|
|
10
|
+
import './config/index.mjs';
|
|
11
11
|
import './wang-editor.css';
|
|
12
|
+
import { genDefaultToolbarKeys } from './config/toolbar.mjs';
|
|
12
13
|
import { hoverbarKeysEx } from './module/inline-ai-module.mjs';
|
|
13
|
-
import { calcAiToolbarItemsByAc } from '../../../util/ai-util/ai-util.mjs';
|
|
14
14
|
|
|
15
15
|
"use strict";
|
|
16
16
|
const IBizHtml = /* @__PURE__ */ defineComponent({
|
|
@@ -40,7 +40,6 @@ const IBizHtml = /* @__PURE__ */ defineComponent({
|
|
|
40
40
|
const readonlyState = ref(false);
|
|
41
41
|
const enableFullScreen = ref(false);
|
|
42
42
|
const isFullScreen = ref(false);
|
|
43
|
-
let autoClose;
|
|
44
43
|
const editorModel = c.model;
|
|
45
44
|
if (editorModel.editorParams) {
|
|
46
45
|
if (editorModel.editorParams.enableEdit) {
|
|
@@ -59,13 +58,6 @@ const IBizHtml = /* @__PURE__ */ defineComponent({
|
|
|
59
58
|
if (editorModel.editorParams.enablefullscreen) {
|
|
60
59
|
enableFullScreen.value = c.toBoolean(editorModel.editorParams.enablefullscreen);
|
|
61
60
|
}
|
|
62
|
-
if (editorModel.editorParams.autoclose) {
|
|
63
|
-
try {
|
|
64
|
-
autoClose = JSON.parse(editorModel.editorParams.autoclose);
|
|
65
|
-
} catch (error) {
|
|
66
|
-
ibiz.log.error(error);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
61
|
}
|
|
70
62
|
if (props.readonly) {
|
|
71
63
|
hasEnableEdit.value = false;
|
|
@@ -108,12 +100,12 @@ const IBizHtml = /* @__PURE__ */ defineComponent({
|
|
|
108
100
|
const customParseLinkUrl = (url) => {
|
|
109
101
|
return url;
|
|
110
102
|
};
|
|
103
|
+
const toolbarKeys = genDefaultToolbarKeys();
|
|
104
|
+
if (c.chatCompletion)
|
|
105
|
+
toolbarKeys.unshift(...["aichart", "|"]);
|
|
111
106
|
const toolbarConfig = {
|
|
112
107
|
excludeKeys: ["group-video", "emotion"],
|
|
113
|
-
|
|
114
|
-
index: 60,
|
|
115
|
-
keys: c.chatCompletion ? ["emoji", "|", "aichart"] : ["emoji"]
|
|
116
|
-
}
|
|
108
|
+
toolbarKeys
|
|
117
109
|
};
|
|
118
110
|
const editorConfig = {
|
|
119
111
|
placeholder: c.placeHolder,
|
|
@@ -205,23 +197,28 @@ const IBizHtml = /* @__PURE__ */ defineComponent({
|
|
|
205
197
|
const appDataEntityId = c.model.appDataEntityId;
|
|
206
198
|
if (!appDataEntityId || !c.deACMode)
|
|
207
199
|
return;
|
|
200
|
+
const aiAgentlist = await ibiz.aiChatUtil.getAIAgentList(c.context, c.params);
|
|
208
201
|
const {
|
|
209
202
|
contentToolbarItems,
|
|
210
203
|
footerToolbarItems,
|
|
211
204
|
questionToolbarItems,
|
|
212
205
|
otherToolbarItems
|
|
213
|
-
} = calcAiToolbarItemsByAc(c.deACMode);
|
|
206
|
+
} = ibiz.aiChatUtil.calcAiToolbarItemsByAc(c.deACMode);
|
|
207
|
+
const {
|
|
208
|
+
containerOptions,
|
|
209
|
+
chatOptions
|
|
210
|
+
} = ibiz.aiChatUtil.getEditorExAIChatParams(c.editorParams, c.context, c.params, props.data);
|
|
214
211
|
const {
|
|
215
212
|
zIndex
|
|
216
213
|
} = useUIStore();
|
|
217
214
|
const containerZIndex = zIndex.increment();
|
|
218
|
-
|
|
219
|
-
chatInstance = module.chat || module.default.chat;
|
|
215
|
+
chatInstance = await ibiz.aiChatUtil.getAIChat();
|
|
220
216
|
let id = "";
|
|
221
217
|
let abortController;
|
|
222
218
|
chatInstance.create({
|
|
223
219
|
containerOptions: {
|
|
224
|
-
zIndex: containerZIndex
|
|
220
|
+
zIndex: containerZIndex,
|
|
221
|
+
...containerOptions
|
|
225
222
|
},
|
|
226
223
|
chatOptions: {
|
|
227
224
|
caption: c.deACMode.logicName,
|
|
@@ -237,23 +234,23 @@ const IBizHtml = /* @__PURE__ */ defineComponent({
|
|
|
237
234
|
footerToolbarItems,
|
|
238
235
|
questionToolbarItems,
|
|
239
236
|
otherToolbarItems,
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
autoQuestion: c.editorParams.autoquestion !== "false",
|
|
244
|
-
// 自动填充
|
|
245
|
-
autoFill: c.editorParams.autofill === "true",
|
|
246
|
-
// 窗口的打开模式
|
|
247
|
-
openMode: c.editorParams.openmode,
|
|
248
|
-
// 窗口的自动关闭模式
|
|
249
|
-
autoClose,
|
|
250
|
-
// 编辑器参数srfaiappendcurcontent,传入编辑内容作为用户消息,获取历史数据后附加
|
|
251
|
-
appendCurContent: c.editorParams.srfaiappendcurcontent ? StringUtil.fill(c.editorParams.srfaiappendcurcontent, c.context, c.params, props.data) : void 0,
|
|
252
|
-
question: async (aiChat, ctx, param, other, arr, sessionid) => {
|
|
237
|
+
aiAgentlist,
|
|
238
|
+
...chatOptions,
|
|
239
|
+
question: async (aiChat, ctx, param, other, arr, sessionid, srfaiagent, srfmode) => {
|
|
253
240
|
id = createUUID();
|
|
254
241
|
abortController = new AbortController();
|
|
255
242
|
const deService = await ibiz.hub.getApp(ctx.srfappid).deService.getService(ctx, other.appDataEntityId);
|
|
256
243
|
try {
|
|
244
|
+
const questionRequestData = {
|
|
245
|
+
messages: arr,
|
|
246
|
+
sessionid
|
|
247
|
+
};
|
|
248
|
+
if (srfaiagent) {
|
|
249
|
+
questionRequestData.srfaiagent = srfaiagent;
|
|
250
|
+
}
|
|
251
|
+
if (srfmode) {
|
|
252
|
+
questionRequestData.mode = srfmode;
|
|
253
|
+
}
|
|
257
254
|
await deService.aiChatSse((msg) => {
|
|
258
255
|
if (msg.actionstate === 20 && msg.actionresult) {
|
|
259
256
|
aiChat.addMessage({
|
|
@@ -285,8 +282,7 @@ const IBizHtml = /* @__PURE__ */ defineComponent({
|
|
|
285
282
|
});
|
|
286
283
|
}
|
|
287
284
|
}, abortController, ctx, param, {
|
|
288
|
-
|
|
289
|
-
sessionid
|
|
285
|
+
...questionRequestData
|
|
290
286
|
});
|
|
291
287
|
} catch (error) {
|
|
292
288
|
aiChat.replaceMessage({
|
|
@@ -324,8 +320,23 @@ const IBizHtml = /* @__PURE__ */ defineComponent({
|
|
|
324
320
|
},
|
|
325
321
|
history: async (ctx, param, other) => {
|
|
326
322
|
const deService = await ibiz.hub.getApp(ctx.srfappid).deService.getService(ctx, other.appDataEntityId);
|
|
327
|
-
const
|
|
328
|
-
|
|
323
|
+
const historyRequestData = {};
|
|
324
|
+
if (other.appendCurData) {
|
|
325
|
+
Object.assign(historyRequestData, {
|
|
326
|
+
...other.appendCurData
|
|
327
|
+
});
|
|
328
|
+
}
|
|
329
|
+
if (other.srfaiagent) {
|
|
330
|
+
Object.assign(historyRequestData, {
|
|
331
|
+
srfaiagent: other.srfaiagent
|
|
332
|
+
});
|
|
333
|
+
}
|
|
334
|
+
if (other.srfmode) {
|
|
335
|
+
Object.assign(historyRequestData, {
|
|
336
|
+
mode: other.srfmode
|
|
337
|
+
});
|
|
338
|
+
}
|
|
339
|
+
const result = await deService.aiChatHistory(ctx, param, historyRequestData);
|
|
329
340
|
if (result.data && Array.isArray(result.data)) {
|
|
330
341
|
let preMsg;
|
|
331
342
|
result.data.forEach((item) => {
|
|
@@ -523,7 +534,8 @@ const IBizHtml = /* @__PURE__ */ defineComponent({
|
|
|
523
534
|
const height = entries[0].contentRect.height;
|
|
524
535
|
if (height !== lastToolbarHeight) {
|
|
525
536
|
const tempCssVars = {
|
|
526
|
-
height: "".concat(htmlContentHeight - entries[0].contentRect.height + (height !== 0 ? 300 : 0), "px")
|
|
537
|
+
height: "".concat(htmlContentHeight - entries[0].contentRect.height + (height !== 0 ? 300 : 0), "px"),
|
|
538
|
+
"toolbar-height": "".concat(height, "px")
|
|
527
539
|
};
|
|
528
540
|
cssVars.value = ns.cssVarBlock(tempCssVars);
|
|
529
541
|
lastToolbarHeight = height;
|
|
@@ -652,12 +664,13 @@ const IBizHtml = /* @__PURE__ */ defineComponent({
|
|
|
652
664
|
return null;
|
|
653
665
|
};
|
|
654
666
|
const renderEditorContent = () => {
|
|
655
|
-
var _a;
|
|
656
667
|
return createVNode("div", {
|
|
657
668
|
"class": [ns.b("content"), ns.is("editing", !readonlyState.value)],
|
|
658
669
|
"ref": "htmlContent",
|
|
659
670
|
"style": cssVars.value
|
|
660
|
-
}, [
|
|
671
|
+
}, [slots.editorSwitchMenu ? createVNode("div", {
|
|
672
|
+
"class": ns.b("menu")
|
|
673
|
+
}, [slots.editorSwitchMenu()]) : null, createVNode(Toolbar, {
|
|
661
674
|
"ref": "toolbarRef",
|
|
662
675
|
"editor": editorRef.value,
|
|
663
676
|
"default-config": toolbarConfig,
|