diff --git a/CHANGELOG.md b/CHANGELOG.md index 9032927157239f30d7b9bf1bd4cfb2c2a5805f86..7f90cd01c8eeeee40a1852325903555d187e2240 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ ### Added - 菜单部件支持注入属性,通过菜单逻辑模型配置 +- 新增文本框编辑器参数openmode(AI窗口的打开模式)与autoclose(AI窗口的自动关闭模式) ### Changed diff --git a/src/editor/text-box/input/input.tsx b/src/editor/text-box/input/input.tsx index 3b54608db5e97abdffc643f0c317f5a2576f627f..c73a5b354c33d5568392bf5fcd7ee93287eed804 100644 --- a/src/editor/text-box/input/input.tsx +++ b/src/editor/text-box/input/input.tsx @@ -48,6 +48,8 @@ import './input.scss'; * @editorparams {name:emptyhiddenunit,parameterType:boolean,defaultvalue:true,description:编辑器无值时,其对应的值单位(如'天'、'%'等)是否隐藏} * @editorparams {name:autoquestion,parameterType:boolean,defaultvalue:true,description: 用于AI聊天,AI历史数据最后一个项是用户消息(USER)时是否自动提问,默认开启} * @editorparams {name:autofill,parameterType:boolean,defaultvalue:false,description: 用于AI聊天,AI回答完成之后是否触发回填,默认关闭} + * @editorparams {name:openmode,parameterType:'default' | 'minimize' | 'autoexpand',description: 用于AI聊天,AI窗口的打开模式,minimize:默认最小化窗口;autoexpand:默认最小化窗口,当提问完成后自动展开窗口} + * @editorparams {"name":"autoclose","parameterType":"{mode:'minimize' | 'close' | 'closetime',duration?:number}","description": "用于AI聊天,在提问完成后,设置AI窗口的自动关闭模式。其中 mode 设为 minimize 时窗口会最小化,设为 close 时窗口会直接关闭,设为 closetime 时窗口会根据 duration 配置的值延时关闭。duration配置单位为秒(s),默认值为 3 秒"} * @ignoreprops overflowMode * @ignoreemits infoTextChange */ @@ -78,6 +80,9 @@ export const IBizInput = defineComponent({ rows.value = 10; } + // 窗口的自动关闭模式 + let autoClose: IData | void; + if (c.editorParams) { if ( c.editorParams.SHOWLIMIT === 'false' || @@ -91,6 +96,13 @@ export const IBizInput = defineComponent({ ) { isAuto.value = true; } + if (c.editorParams.autoclose) { + try { + autoClose = JSON.parse(c.editorParams.autoclose); + } catch (error) { + ibiz.log.error(error); + } + } } // 类型 @@ -287,6 +299,10 @@ export const IBizInput = defineComponent({ autoQuestion: c.editorParams.autoquestion !== 'false', // 自动填充 autoFill: c.editorParams.autofill === 'true', + // 窗口的打开模式 + openMode: c.editorParams.openmode, + // 窗口的自动关闭模式 + autoClose, // 编辑器参数srfaiappendcurcontent,传入编辑内容作为用户消息,获取历史数据后附加 appendCurContent: c.editorParams.srfaiappendcurcontent ? StringUtil.fill(