@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
package/lib/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)}
|
|
@@ -7,9 +7,7 @@ var ElementPlus = require('element-plus');
|
|
|
7
7
|
require('../../../node_modules/.pnpm/@monaco-editor_loader@1.5.0/node_modules/@monaco-editor/loader/lib/es/index.cjs');
|
|
8
8
|
var runtime = require('@ibiz-template/runtime');
|
|
9
9
|
var core = require('@ibiz-template/core');
|
|
10
|
-
require('../../../util/index.cjs');
|
|
11
10
|
require('./monaco-editor.css');
|
|
12
|
-
var aiUtil = require('../../../util/ai-util/ai-util.cjs');
|
|
13
11
|
var index = require('../../../node_modules/.pnpm/@monaco-editor_loader@1.5.0/node_modules/@monaco-editor/loader/lib/es/loader/index.cjs');
|
|
14
12
|
|
|
15
13
|
"use strict";
|
|
@@ -35,7 +33,6 @@ const IBizCode = /* @__PURE__ */ vue.defineComponent({
|
|
|
35
33
|
const enableFullScreen = vue.ref(false);
|
|
36
34
|
const isFullScreen = vue.ref(false);
|
|
37
35
|
const isLoading = vue.ref(false);
|
|
38
|
-
let autoClose;
|
|
39
36
|
const textTBRef = vue.ref();
|
|
40
37
|
const textTBStyle = vue.ref({
|
|
41
38
|
[ns.cssVarBlockName("text-editor-toolbar-z-index")]: zIndex.increment()
|
|
@@ -60,13 +57,6 @@ const IBizCode = /* @__PURE__ */ vue.defineComponent({
|
|
|
60
57
|
if (editorModel.editorParams.enablefullscreen) {
|
|
61
58
|
enableFullScreen.value = c.toBoolean(editorModel.editorParams.enablefullscreen);
|
|
62
59
|
}
|
|
63
|
-
if (editorModel.editorParams.autoclose) {
|
|
64
|
-
try {
|
|
65
|
-
autoClose = JSON.parse(editorModel.editorParams.autoclose);
|
|
66
|
-
} catch (error) {
|
|
67
|
-
ibiz.log.error(error);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
60
|
}
|
|
71
61
|
let editor;
|
|
72
62
|
let monacoEditor;
|
|
@@ -129,19 +119,24 @@ const IBizCode = /* @__PURE__ */ vue.defineComponent({
|
|
|
129
119
|
const openAIChat = async () => {
|
|
130
120
|
if (!c.deACMode || !c.model.appDataEntityId)
|
|
131
121
|
return;
|
|
122
|
+
const aiAgentlist = await ibiz.aiChatUtil.getAIAgentList(c.context, c.params);
|
|
132
123
|
const {
|
|
133
124
|
contentToolbarItems,
|
|
134
125
|
footerToolbarItems,
|
|
135
126
|
questionToolbarItems,
|
|
136
127
|
otherToolbarItems
|
|
137
|
-
} =
|
|
138
|
-
const
|
|
139
|
-
|
|
128
|
+
} = ibiz.aiChatUtil.calcAiToolbarItemsByAc(c.deACMode);
|
|
129
|
+
const {
|
|
130
|
+
containerOptions,
|
|
131
|
+
chatOptions
|
|
132
|
+
} = ibiz.aiChatUtil.getEditorExAIChatParams(c.editorParams, c.context, c.params, props.data);
|
|
133
|
+
chatInstance = await ibiz.aiChatUtil.getAIChat();
|
|
140
134
|
let id = "";
|
|
141
135
|
let abortController;
|
|
142
136
|
chatInstance.create({
|
|
143
137
|
containerOptions: {
|
|
144
|
-
zIndex: zIndex.increment()
|
|
138
|
+
zIndex: zIndex.increment(),
|
|
139
|
+
...containerOptions
|
|
145
140
|
},
|
|
146
141
|
chatOptions: {
|
|
147
142
|
caption: c.deACMode.logicName,
|
|
@@ -152,28 +147,28 @@ const IBizCode = /* @__PURE__ */ vue.defineComponent({
|
|
|
152
147
|
...c.params,
|
|
153
148
|
srfactag: c.deACMode.codeName
|
|
154
149
|
},
|
|
155
|
-
// 编辑器参数srfaiappendcurdata,是否传入对象参数,用于历史查询传参
|
|
156
|
-
appendCurData: c.editorParams.srfaiappendcurdata === "true" ? props.data : void 0,
|
|
157
|
-
// 自动提问
|
|
158
|
-
autoQuestion: c.editorParams.autoquestion !== "false",
|
|
159
|
-
// 自动填充
|
|
160
|
-
autoFill: c.editorParams.autofill === "true",
|
|
161
|
-
// 窗口的打开模式
|
|
162
|
-
openMode: c.editorParams.openmode,
|
|
163
|
-
// 窗口的自动关闭模式
|
|
164
|
-
autoClose,
|
|
165
|
-
// 编辑器参数srfaiappendcurcontent,传入编辑内容作为用户消息,获取历史数据后附加
|
|
166
|
-
appendCurContent: c.editorParams.srfaiappendcurcontent ? core.StringUtil.fill(c.editorParams.srfaiappendcurcontent, c.context, c.params, props.data) : void 0,
|
|
167
150
|
appDataEntityId: c.model.appDataEntityId,
|
|
168
151
|
contentToolbarItems,
|
|
169
152
|
footerToolbarItems,
|
|
170
153
|
questionToolbarItems,
|
|
171
154
|
otherToolbarItems,
|
|
172
|
-
|
|
155
|
+
aiAgentlist,
|
|
156
|
+
...chatOptions,
|
|
157
|
+
question: async (aiChat, ctx, param, other, arr, sessionid, srfaiagent, srfmode) => {
|
|
173
158
|
id = qxUtil.createUUID();
|
|
174
159
|
abortController = new AbortController();
|
|
175
160
|
const deService = await ibiz.hub.getApp(ctx.srfappid).deService.getService(ctx, other.appDataEntityId);
|
|
176
161
|
try {
|
|
162
|
+
const questionRequestData = {
|
|
163
|
+
messages: arr,
|
|
164
|
+
sessionid
|
|
165
|
+
};
|
|
166
|
+
if (srfaiagent) {
|
|
167
|
+
questionRequestData.srfaiagent = srfaiagent;
|
|
168
|
+
}
|
|
169
|
+
if (srfmode) {
|
|
170
|
+
questionRequestData.mode = srfmode;
|
|
171
|
+
}
|
|
177
172
|
await deService.aiChatSse((msg) => {
|
|
178
173
|
if (msg.actionstate === 20 && msg.actionresult) {
|
|
179
174
|
aiChat.addMessage({
|
|
@@ -205,8 +200,7 @@ const IBizCode = /* @__PURE__ */ vue.defineComponent({
|
|
|
205
200
|
});
|
|
206
201
|
}
|
|
207
202
|
}, abortController, ctx, param, {
|
|
208
|
-
|
|
209
|
-
sessionid
|
|
203
|
+
...questionRequestData
|
|
210
204
|
});
|
|
211
205
|
} catch (error) {
|
|
212
206
|
aiChat.replaceMessage({
|
|
@@ -239,8 +233,23 @@ const IBizCode = /* @__PURE__ */ vue.defineComponent({
|
|
|
239
233
|
},
|
|
240
234
|
history: async (ctx, param, other) => {
|
|
241
235
|
const deService = await ibiz.hub.getApp(ctx.srfappid).deService.getService(ctx, other.appDataEntityId);
|
|
242
|
-
const
|
|
243
|
-
|
|
236
|
+
const historyRequestData = {};
|
|
237
|
+
if (other.appendCurData) {
|
|
238
|
+
Object.assign(historyRequestData, {
|
|
239
|
+
...other.appendCurData
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
if (other.srfaiagent) {
|
|
243
|
+
Object.assign(historyRequestData, {
|
|
244
|
+
srfaiagent: other.srfaiagent
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
if (other.srfmode) {
|
|
248
|
+
Object.assign(historyRequestData, {
|
|
249
|
+
mode: other.srfmode
|
|
250
|
+
});
|
|
251
|
+
}
|
|
252
|
+
const result = await deService.aiChatHistory(ctx, param, historyRequestData);
|
|
244
253
|
if (result.data && Array.isArray(result.data)) {
|
|
245
254
|
let preMsg;
|
|
246
255
|
result.data.forEach((item) => {
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var editor = require('@wangeditor/editor');
|
|
4
|
+
var svg = require('../constants/svg.cjs');
|
|
5
|
+
|
|
6
|
+
"use strict";
|
|
7
|
+
function genDefaultToolbarKeys() {
|
|
8
|
+
return [
|
|
9
|
+
"headerSelect",
|
|
10
|
+
// 'header1',
|
|
11
|
+
// 'header2',
|
|
12
|
+
// 'header3',
|
|
13
|
+
"blockquote",
|
|
14
|
+
"|",
|
|
15
|
+
"bold",
|
|
16
|
+
"underline",
|
|
17
|
+
"italic",
|
|
18
|
+
{
|
|
19
|
+
key: "group-more-style",
|
|
20
|
+
// 以 group 开头
|
|
21
|
+
title: editor.t("editor.more"),
|
|
22
|
+
iconSvg: svg.MORE_SVG,
|
|
23
|
+
menuKeys: ["through", "code", "sup", "sub", "clearStyle"]
|
|
24
|
+
},
|
|
25
|
+
"color",
|
|
26
|
+
"bgColor",
|
|
27
|
+
"|",
|
|
28
|
+
"fontSize",
|
|
29
|
+
"fontFamily",
|
|
30
|
+
"lineHeight",
|
|
31
|
+
"|",
|
|
32
|
+
"bulletedList",
|
|
33
|
+
"numberedList",
|
|
34
|
+
"todo",
|
|
35
|
+
{
|
|
36
|
+
key: "group-justify",
|
|
37
|
+
// 以 group 开头
|
|
38
|
+
title: editor.t("editor.justify"),
|
|
39
|
+
iconSvg: svg.JUSTIFY_LEFT_SVG,
|
|
40
|
+
menuKeys: [
|
|
41
|
+
"justifyLeft",
|
|
42
|
+
"justifyRight",
|
|
43
|
+
"justifyCenter",
|
|
44
|
+
"justifyJustify"
|
|
45
|
+
]
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
key: "group-indent",
|
|
49
|
+
// 以 group 开头
|
|
50
|
+
title: editor.t("editor.indent"),
|
|
51
|
+
iconSvg: svg.INDENT_RIGHT_SVG,
|
|
52
|
+
menuKeys: ["indent", "delIndent"]
|
|
53
|
+
},
|
|
54
|
+
"|",
|
|
55
|
+
"emotion",
|
|
56
|
+
"insertLink",
|
|
57
|
+
// 'editLink',
|
|
58
|
+
// 'unLink',
|
|
59
|
+
// 'viewLink',
|
|
60
|
+
{
|
|
61
|
+
key: "group-image",
|
|
62
|
+
// 以 group 开头
|
|
63
|
+
title: editor.t("editor.image"),
|
|
64
|
+
iconSvg: svg.IMAGE_SVG,
|
|
65
|
+
menuKeys: ["insertImage", "uploadImage"]
|
|
66
|
+
},
|
|
67
|
+
// 'deleteImage',
|
|
68
|
+
// 'editImage',
|
|
69
|
+
// 'viewImageLink',
|
|
70
|
+
{
|
|
71
|
+
key: "group-video",
|
|
72
|
+
// 以 group 开头
|
|
73
|
+
title: editor.t("editor.video"),
|
|
74
|
+
iconSvg: svg.VIDEO_SVG,
|
|
75
|
+
menuKeys: ["insertVideo", "uploadVideo"]
|
|
76
|
+
},
|
|
77
|
+
// 'deleteVideo',
|
|
78
|
+
"insertTable",
|
|
79
|
+
"codeBlock",
|
|
80
|
+
// 'codeSelectLang',
|
|
81
|
+
"divider",
|
|
82
|
+
// 'deleteTable',
|
|
83
|
+
"|",
|
|
84
|
+
"undo",
|
|
85
|
+
"redo",
|
|
86
|
+
"|",
|
|
87
|
+
"fullScreen",
|
|
88
|
+
"emoji"
|
|
89
|
+
];
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
exports.genDefaultToolbarKeys = genDefaultToolbarKeys;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
"use strict";
|
|
4
|
+
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>';
|
|
5
|
+
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>';
|
|
6
|
+
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>';
|
|
7
|
+
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>';
|
|
8
|
+
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>';
|
|
9
|
+
|
|
10
|
+
exports.IMAGE_SVG = IMAGE_SVG;
|
|
11
|
+
exports.INDENT_RIGHT_SVG = INDENT_RIGHT_SVG;
|
|
12
|
+
exports.JUSTIFY_LEFT_SVG = JUSTIFY_LEFT_SVG;
|
|
13
|
+
exports.MORE_SVG = MORE_SVG;
|
|
14
|
+
exports.VIDEO_SVG = VIDEO_SVG;
|
|
@@ -10,11 +10,11 @@ var vue3Util = require('@ibiz-template/vue3-util');
|
|
|
10
10
|
var core = require('@ibiz-template/core');
|
|
11
11
|
var runtime = require('@ibiz-template/runtime');
|
|
12
12
|
var ElementPlus = require('element-plus');
|
|
13
|
-
require('../../../util/index.cjs');
|
|
14
13
|
require('./module/index.cjs');
|
|
14
|
+
require('./config/index.cjs');
|
|
15
15
|
require('./wang-editor.css');
|
|
16
|
+
var toolbar = require('./config/toolbar.cjs');
|
|
16
17
|
var inlineAiModule = require('./module/inline-ai-module.cjs');
|
|
17
|
-
var aiUtil = require('../../../util/ai-util/ai-util.cjs');
|
|
18
18
|
|
|
19
19
|
"use strict";
|
|
20
20
|
const IBizHtml = /* @__PURE__ */ vue.defineComponent({
|
|
@@ -44,7 +44,6 @@ const IBizHtml = /* @__PURE__ */ vue.defineComponent({
|
|
|
44
44
|
const readonlyState = vue.ref(false);
|
|
45
45
|
const enableFullScreen = vue.ref(false);
|
|
46
46
|
const isFullScreen = vue.ref(false);
|
|
47
|
-
let autoClose;
|
|
48
47
|
const editorModel = c.model;
|
|
49
48
|
if (editorModel.editorParams) {
|
|
50
49
|
if (editorModel.editorParams.enableEdit) {
|
|
@@ -63,13 +62,6 @@ const IBizHtml = /* @__PURE__ */ vue.defineComponent({
|
|
|
63
62
|
if (editorModel.editorParams.enablefullscreen) {
|
|
64
63
|
enableFullScreen.value = c.toBoolean(editorModel.editorParams.enablefullscreen);
|
|
65
64
|
}
|
|
66
|
-
if (editorModel.editorParams.autoclose) {
|
|
67
|
-
try {
|
|
68
|
-
autoClose = JSON.parse(editorModel.editorParams.autoclose);
|
|
69
|
-
} catch (error) {
|
|
70
|
-
ibiz.log.error(error);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
65
|
}
|
|
74
66
|
if (props.readonly) {
|
|
75
67
|
hasEnableEdit.value = false;
|
|
@@ -112,12 +104,12 @@ const IBizHtml = /* @__PURE__ */ vue.defineComponent({
|
|
|
112
104
|
const customParseLinkUrl = (url) => {
|
|
113
105
|
return url;
|
|
114
106
|
};
|
|
107
|
+
const toolbarKeys = toolbar.genDefaultToolbarKeys();
|
|
108
|
+
if (c.chatCompletion)
|
|
109
|
+
toolbarKeys.unshift(...["aichart", "|"]);
|
|
115
110
|
const toolbarConfig = {
|
|
116
111
|
excludeKeys: ["group-video", "emotion"],
|
|
117
|
-
|
|
118
|
-
index: 60,
|
|
119
|
-
keys: c.chatCompletion ? ["emoji", "|", "aichart"] : ["emoji"]
|
|
120
|
-
}
|
|
112
|
+
toolbarKeys
|
|
121
113
|
};
|
|
122
114
|
const editorConfig = {
|
|
123
115
|
placeholder: c.placeHolder,
|
|
@@ -209,23 +201,28 @@ const IBizHtml = /* @__PURE__ */ vue.defineComponent({
|
|
|
209
201
|
const appDataEntityId = c.model.appDataEntityId;
|
|
210
202
|
if (!appDataEntityId || !c.deACMode)
|
|
211
203
|
return;
|
|
204
|
+
const aiAgentlist = await ibiz.aiChatUtil.getAIAgentList(c.context, c.params);
|
|
212
205
|
const {
|
|
213
206
|
contentToolbarItems,
|
|
214
207
|
footerToolbarItems,
|
|
215
208
|
questionToolbarItems,
|
|
216
209
|
otherToolbarItems
|
|
217
|
-
} =
|
|
210
|
+
} = ibiz.aiChatUtil.calcAiToolbarItemsByAc(c.deACMode);
|
|
211
|
+
const {
|
|
212
|
+
containerOptions,
|
|
213
|
+
chatOptions
|
|
214
|
+
} = ibiz.aiChatUtil.getEditorExAIChatParams(c.editorParams, c.context, c.params, props.data);
|
|
218
215
|
const {
|
|
219
216
|
zIndex
|
|
220
217
|
} = vue3Util.useUIStore();
|
|
221
218
|
const containerZIndex = zIndex.increment();
|
|
222
|
-
|
|
223
|
-
chatInstance = module.chat || module.default.chat;
|
|
219
|
+
chatInstance = await ibiz.aiChatUtil.getAIChat();
|
|
224
220
|
let id = "";
|
|
225
221
|
let abortController;
|
|
226
222
|
chatInstance.create({
|
|
227
223
|
containerOptions: {
|
|
228
|
-
zIndex: containerZIndex
|
|
224
|
+
zIndex: containerZIndex,
|
|
225
|
+
...containerOptions
|
|
229
226
|
},
|
|
230
227
|
chatOptions: {
|
|
231
228
|
caption: c.deACMode.logicName,
|
|
@@ -241,23 +238,23 @@ const IBizHtml = /* @__PURE__ */ vue.defineComponent({
|
|
|
241
238
|
footerToolbarItems,
|
|
242
239
|
questionToolbarItems,
|
|
243
240
|
otherToolbarItems,
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
autoQuestion: c.editorParams.autoquestion !== "false",
|
|
248
|
-
// 自动填充
|
|
249
|
-
autoFill: c.editorParams.autofill === "true",
|
|
250
|
-
// 窗口的打开模式
|
|
251
|
-
openMode: c.editorParams.openmode,
|
|
252
|
-
// 窗口的自动关闭模式
|
|
253
|
-
autoClose,
|
|
254
|
-
// 编辑器参数srfaiappendcurcontent,传入编辑内容作为用户消息,获取历史数据后附加
|
|
255
|
-
appendCurContent: c.editorParams.srfaiappendcurcontent ? core.StringUtil.fill(c.editorParams.srfaiappendcurcontent, c.context, c.params, props.data) : void 0,
|
|
256
|
-
question: async (aiChat, ctx, param, other, arr, sessionid) => {
|
|
241
|
+
aiAgentlist,
|
|
242
|
+
...chatOptions,
|
|
243
|
+
question: async (aiChat, ctx, param, other, arr, sessionid, srfaiagent, srfmode) => {
|
|
257
244
|
id = qxUtil.createUUID();
|
|
258
245
|
abortController = new AbortController();
|
|
259
246
|
const deService = await ibiz.hub.getApp(ctx.srfappid).deService.getService(ctx, other.appDataEntityId);
|
|
260
247
|
try {
|
|
248
|
+
const questionRequestData = {
|
|
249
|
+
messages: arr,
|
|
250
|
+
sessionid
|
|
251
|
+
};
|
|
252
|
+
if (srfaiagent) {
|
|
253
|
+
questionRequestData.srfaiagent = srfaiagent;
|
|
254
|
+
}
|
|
255
|
+
if (srfmode) {
|
|
256
|
+
questionRequestData.mode = srfmode;
|
|
257
|
+
}
|
|
261
258
|
await deService.aiChatSse((msg) => {
|
|
262
259
|
if (msg.actionstate === 20 && msg.actionresult) {
|
|
263
260
|
aiChat.addMessage({
|
|
@@ -289,8 +286,7 @@ const IBizHtml = /* @__PURE__ */ vue.defineComponent({
|
|
|
289
286
|
});
|
|
290
287
|
}
|
|
291
288
|
}, abortController, ctx, param, {
|
|
292
|
-
|
|
293
|
-
sessionid
|
|
289
|
+
...questionRequestData
|
|
294
290
|
});
|
|
295
291
|
} catch (error) {
|
|
296
292
|
aiChat.replaceMessage({
|
|
@@ -328,8 +324,23 @@ const IBizHtml = /* @__PURE__ */ vue.defineComponent({
|
|
|
328
324
|
},
|
|
329
325
|
history: async (ctx, param, other) => {
|
|
330
326
|
const deService = await ibiz.hub.getApp(ctx.srfappid).deService.getService(ctx, other.appDataEntityId);
|
|
331
|
-
const
|
|
332
|
-
|
|
327
|
+
const historyRequestData = {};
|
|
328
|
+
if (other.appendCurData) {
|
|
329
|
+
Object.assign(historyRequestData, {
|
|
330
|
+
...other.appendCurData
|
|
331
|
+
});
|
|
332
|
+
}
|
|
333
|
+
if (other.srfaiagent) {
|
|
334
|
+
Object.assign(historyRequestData, {
|
|
335
|
+
srfaiagent: other.srfaiagent
|
|
336
|
+
});
|
|
337
|
+
}
|
|
338
|
+
if (other.srfmode) {
|
|
339
|
+
Object.assign(historyRequestData, {
|
|
340
|
+
mode: other.srfmode
|
|
341
|
+
});
|
|
342
|
+
}
|
|
343
|
+
const result = await deService.aiChatHistory(ctx, param, historyRequestData);
|
|
333
344
|
if (result.data && Array.isArray(result.data)) {
|
|
334
345
|
let preMsg;
|
|
335
346
|
result.data.forEach((item) => {
|
|
@@ -527,7 +538,8 @@ const IBizHtml = /* @__PURE__ */ vue.defineComponent({
|
|
|
527
538
|
const height = entries[0].contentRect.height;
|
|
528
539
|
if (height !== lastToolbarHeight) {
|
|
529
540
|
const tempCssVars = {
|
|
530
|
-
height: "".concat(htmlContentHeight - entries[0].contentRect.height + (height !== 0 ? 300 : 0), "px")
|
|
541
|
+
height: "".concat(htmlContentHeight - entries[0].contentRect.height + (height !== 0 ? 300 : 0), "px"),
|
|
542
|
+
"toolbar-height": "".concat(height, "px")
|
|
531
543
|
};
|
|
532
544
|
cssVars.value = ns.cssVarBlock(tempCssVars);
|
|
533
545
|
lastToolbarHeight = height;
|
|
@@ -656,12 +668,13 @@ const IBizHtml = /* @__PURE__ */ vue.defineComponent({
|
|
|
656
668
|
return null;
|
|
657
669
|
};
|
|
658
670
|
const renderEditorContent = () => {
|
|
659
|
-
var _a;
|
|
660
671
|
return vue.createVNode("div", {
|
|
661
672
|
"class": [ns.b("content"), ns.is("editing", !readonlyState.value)],
|
|
662
673
|
"ref": "htmlContent",
|
|
663
674
|
"style": cssVars.value
|
|
664
|
-
}, [
|
|
675
|
+
}, [slots.editorSwitchMenu ? vue.createVNode("div", {
|
|
676
|
+
"class": ns.b("menu")
|
|
677
|
+
}, [slots.editorSwitchMenu()]) : null, vue.createVNode(editorForVue.Toolbar, {
|
|
665
678
|
"ref": "toolbarRef",
|
|
666
679
|
"editor": editorRef.value,
|
|
667
680
|
"default-config": toolbarConfig,
|
|
@@ -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}
|