@ibiz-template/vue3-components 0.7.41-alpha.41 → 0.7.41-alpha.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/dist/ibiz-markdown-editor-pEdb_gS_.js +1 -0
  2. package/dist/{index-Bv2fgePf.js → index-BObZTN7-.js} +3 -3
  3. package/dist/index.min.css +1 -1
  4. package/dist/index.system.min.js +1 -1
  5. package/dist/wang-editor-Ck-JCWqK.js +1 -0
  6. package/dist/{xlsx-util-Dvg2kWh7.js → xlsx-util-B1eGfH7d.js} +1 -1
  7. package/es/control/form/form-detail/form-item/composite-form-item-ex/composite-form-item-ex.controller.mjs +16 -6
  8. package/es/editor/code/monaco-editor/monaco-editor.mjs +8 -2
  9. package/es/editor/html/wang-editor/wang-editor.mjs +12 -2
  10. package/es/editor/markdown/ibiz-markdown-editor/custom-menu.mjs +11 -2
  11. package/es/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.css +1 -1
  12. package/es/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.mjs +2 -1
  13. package/es/editor/text-box/input/input.mjs +1 -1
  14. package/es/util/ai-chat-util/ai-chat-util.mjs +8 -9
  15. package/es/util/inline-ai-util/inline-ai-textarea/inline-ai-textarea.hook.mjs +7 -3
  16. package/es/util/inline-ai-util/inline-ai-textarea/inline-ai-textarea.mjs +3 -1
  17. package/lib/control/form/form-detail/form-item/composite-form-item-ex/composite-form-item-ex.controller.cjs +16 -6
  18. package/lib/editor/code/monaco-editor/monaco-editor.cjs +8 -2
  19. package/lib/editor/html/wang-editor/wang-editor.cjs +12 -2
  20. package/lib/editor/markdown/ibiz-markdown-editor/custom-menu.cjs +11 -2
  21. package/lib/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.cjs +2 -1
  22. package/lib/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.css +1 -1
  23. package/lib/editor/text-box/input/input.cjs +1 -1
  24. package/lib/util/ai-chat-util/ai-chat-util.cjs +8 -9
  25. package/lib/util/inline-ai-util/inline-ai-textarea/inline-ai-textarea.cjs +3 -1
  26. package/lib/util/inline-ai-util/inline-ai-textarea/inline-ai-textarea.hook.cjs +7 -3
  27. package/package.json +4 -4
  28. package/dist/ibiz-markdown-editor-DEV-iSvz.js +0 -1
  29. package/dist/wang-editor-4cNAgOaJ.js +0 -1
@@ -24,6 +24,12 @@ class CompositeFormItemExController extends FormItemController {
24
24
  * @memberof CompositeFormItemExController
25
25
  */
26
26
  __publicField(this, "includesList", ["HTMLEDITOR_DEFAULT", "MARKDOWN_DEFAULT"]);
27
+ /**
28
+ * @description 代码表id
29
+ * @type {string}
30
+ * @memberof CompositeFormItemExController
31
+ */
32
+ __publicField(this, "codeListId", "");
27
33
  /**
28
34
  * @description 切换菜单选项
29
35
  * @type {{ id: string; name: string; icon?: ISysImage, editor?: IData }[]}
@@ -42,16 +48,20 @@ class CompositeFormItemExController extends FormItemController {
42
48
  return new CompositeFormItemExState((_a = this.parent) == null ? void 0 : _a.state);
43
49
  }
44
50
  async onInit() {
45
- var _a, _b, _c;
51
+ var _a, _b, _c, _d;
46
52
  await super.onInit();
47
53
  const editor = this.model.editor;
48
54
  if (!editor) {
49
55
  return;
50
56
  }
51
- if (editor.appCodeListId) {
57
+ this.codeListId = editor.appCodeListId || "";
58
+ if ((_a = editor.editorParams) == null ? void 0 : _a.codelistid) {
59
+ this.codeListId = editor.editorParams.codelistid;
60
+ }
61
+ if (this.codeListId) {
52
62
  const app = ibiz.hub.getApp(this.context.srfappid);
53
63
  const items = await app.codeList.get(
54
- editor.appCodeListId,
64
+ this.codeListId,
55
65
  this.context,
56
66
  this.params
57
67
  );
@@ -64,13 +74,13 @@ class CompositeFormItemExController extends FormItemController {
64
74
  editor: item.data
65
75
  };
66
76
  });
67
- this.defaultType = ((_a = this.switchOptions[0]) == null ? void 0 : _a.id) || "";
77
+ this.defaultType = ((_b = this.switchOptions[0]) == null ? void 0 : _b.id) || "";
68
78
  }
69
79
  }
70
- if ((_b = editor.editorParams) == null ? void 0 : _b.defaulttype) {
80
+ if ((_c = editor.editorParams) == null ? void 0 : _c.defaulttype) {
71
81
  this.defaultType = editor.editorParams.defaulttype;
72
82
  }
73
- if ((_c = editor.editorParams) == null ? void 0 : _c.includes) {
83
+ if ((_d = editor.editorParams) == null ? void 0 : _d.includes) {
74
84
  this.includesList = JSON.parse(editor.editorParams.includes);
75
85
  }
76
86
  if (editor.editorItems && editor.editorItems.length) {
@@ -117,7 +117,7 @@ const IBizCode = /* @__PURE__ */ defineComponent({
117
117
  const openAIChat = async () => {
118
118
  if (!c.deACMode || !c.model.appDataEntityId)
119
119
  return;
120
- const aiAgentlist = await ibiz.aiChatUtil.getAIAgentList(c.context, c.params);
120
+ const aiAgentlist = await ibiz.aiChatUtil.getAIAgentList(c.context, c.params, c.editorParams);
121
121
  const {
122
122
  contentToolbarItems,
123
123
  footerToolbarItems,
@@ -391,7 +391,13 @@ const IBizCode = /* @__PURE__ */ defineComponent({
391
391
  editorRect.left + coordinates.left,
392
392
  // 编辑器上方距离 + 选区距离编辑器上方距离 + 行高度 + 工具栏高度
393
393
  editorRect.top + coordinates.top + coordinates.height + textTBHeight,
394
- items
394
+ items,
395
+ {
396
+ zIndex: zIndex.increment(),
397
+ onClose: () => {
398
+ zIndex.decrement();
399
+ }
400
+ }
395
401
  );
396
402
  };
397
403
  const handleEditorClick = (e) => {
@@ -197,7 +197,7 @@ const IBizHtml = /* @__PURE__ */ defineComponent({
197
197
  const appDataEntityId = c.model.appDataEntityId;
198
198
  if (!appDataEntityId || !c.deACMode)
199
199
  return;
200
- const aiAgentlist = await ibiz.aiChatUtil.getAIAgentList(c.context, c.params);
200
+ const aiAgentlist = await ibiz.aiChatUtil.getAIAgentList(c.context, c.params, c.editorParams);
201
201
  const {
202
202
  contentToolbarItems,
203
203
  footerToolbarItems,
@@ -441,12 +441,22 @@ const IBizHtml = /* @__PURE__ */ defineComponent({
441
441
  if (items.length === 0)
442
442
  return;
443
443
  const editorBoundingClientRect = editor.getEditableContainer().getBoundingClientRect();
444
+ const {
445
+ zIndex
446
+ } = useUIStore();
447
+ const popoverZIndex = zIndex.increment();
444
448
  ibiz.inLineAIUtil.showContextMenus(
445
449
  // 编辑器的左侧距离+选区距离编辑器左侧距离
446
450
  editorBoundingClientRect.x + Number(selectionPosition.left.replace("px", "")),
447
451
  // 编辑器的上方距离+选区距离编辑器上方距离+悬浮工具栏高度
448
452
  editorBoundingClientRect.y + Number(selectionPosition.top.replace("px", "")) + 42,
449
- items
453
+ items,
454
+ {
455
+ zIndex: popoverZIndex,
456
+ onClose: () => {
457
+ zIndex.decrement();
458
+ }
459
+ }
450
460
  );
451
461
  });
452
462
  };
@@ -32,12 +32,20 @@ function initCustomMenu(c, opts) {
32
32
  );
33
33
  if (items.length === 0)
34
34
  return;
35
+ const { zIndex } = useUIStore();
36
+ const popoverZIndex = zIndex.increment();
35
37
  ibiz.inLineAIUtil.showContextMenus(
36
38
  // 浮动工具栏的左侧距离
37
39
  selectionPosition.left,
38
40
  // 浮动工具栏的顶部距离 + 浮动工具栏的高度
39
41
  selectionPosition.top + 43,
40
- items
42
+ items,
43
+ {
44
+ zIndex: popoverZIndex,
45
+ onClose: () => {
46
+ zIndex.decrement();
47
+ }
48
+ }
41
49
  );
42
50
  }
43
51
  });
@@ -54,7 +62,8 @@ function initCustomMenu(c, opts) {
54
62
  return;
55
63
  const aiAgentlist = await ibiz.aiChatUtil.getAIAgentList(
56
64
  c.context,
57
- c.params
65
+ c.params,
66
+ c.editorParams
58
67
  );
59
68
  const {
60
69
  contentToolbarItems,
@@ -1 +1 @@
1
- .ibiz-markdown{--ibiz-markdown-width:100%;--ibiz-markdown-color-manual-toolbar-bg-save:var(--ibiz-color-primary);--ibiz-markdown-color-manual-toolbar-text-save:var(--ibiz-color-primary-active-text);--ibiz-markdown-color-manual-toolbar-text-cancel:var(--ibiz-color-text-1);--ibiz-markdown-color-manual-toolbar-text-cancel-hover:var(--ibiz-color-primary);--ibiz-markdown-color-dark-scrollbar-thumb-dark:rgb(var(--ibiz-grey-4));--ibiz-markdown-color-light-scrollbar-thumb-dark:rgb(var(--ibiz-grey-4));--ibiz-markdown-color-scrollbar-thumb-dark-hover:rgba(var(--ibiz-grey-4), 0.5);--ibiz-markdown-color-dark-toc-text:var(--ibiz-color-fill-0);--ibiz-markdown-color-toc-header-text:var(--ibiz-color-text-0);--ibiz-markdown-color-dark-mardown-border:rgb(var(--ibiz-grey-2));--ibiz-markdown-spacing-manual-toolbar-height:32px;--ibiz-markdown-spacing-manual-toolbar-gap:var(--ibiz-spacing-base);--ibiz-markdown-spacing-manual-toolbar-item-padding:0 var(--ibiz-spacing-base);--ibiz-markdown-spacing-manual-toolbar-margin:var(--ibiz-spacing-base-tight) var(--ibiz-spacing-tight) 0 0;--ibiz-markdown-spacing-manual-toolbar-fullscreen-height:var(--ibiz-height-control-default);--ibiz-markdown-spacing-manual-toolbar-fullscreen-padding:0 var(--ibiz-spacing-extra-loose);--ibiz-markdown-spacing-manual-toolbar-fullscreen-height-header:var(--ibiz-spacing-super-loose);--ibiz-markdown-height-manual-toolbar-height:var(--ibiz-height-control-default);--ibiz-markdown-border-radius-manual-toolbar-item:var(--ibiz-border-radius-small);--ibiz-markdown-border-manual-toolbar-fullscreen-footer:1px solid var(--ibiz-color-border);--ibiz-markdown-img-preview-top:-32px;--ibiz-markdown-img-preview-right:-36px;--ibiz-markdown-img-preview-width:32px;--ibiz-markdown-img-preview-height:32px}.ibiz-markdown__header{display:flex;flex-shrink:0;gap:var(--ibiz-markdown-spacing-manual-toolbar-gap);align-items:center;justify-content:end;height:var(--ibiz-markdown-spacing-manual-toolbar-height)}.ibiz-markdown__header--edit{cursor:pointer}.ibiz-markdown__header--full{cursor:pointer}.ibiz-markdown__header.is-fullscreen{position:fixed;top:0;right:0;left:0;z-index:999;width:100%;height:calc(var(--ibiz-markdown-spacing-manual-toolbar-fullscreen-height-header));padding:var(--ibiz-markdown-spacing-manual-toolbar-fullscreen-padding);margin-top:0;background-color:var(--ibiz-view-bg-color)}.ibiz-markdown__header.is-fullscreen+.ibiz-markdown-cherry .cherry.fullscreen{top:calc(var(--ibiz-markdown-spacing-manual-toolbar-fullscreen-height-header));height:calc(100% - var(--ibiz-markdown-spacing-manual-toolbar-fullscreen-height-header))}.ibiz-markdown__footer{display:flex;gap:var(--ibiz-markdown-spacing-manual-toolbar-gap);align-items:center;justify-content:end;height:var(--ibiz-markdown-spacing-manual-toolbar-height);margin:var(--ibiz-markdown-spacing-manual-toolbar-margin)}.ibiz-markdown__footer--save{height:var(--ibiz-markdown-height-manual-toolbar-height);padding:var(--ibiz-markdown-spacing-manual-toolbar-item-padding);line-height:var(--ibiz-markdown-height-manual-toolbar-height);color:var(--ibiz-markdown-color-manual-toolbar-text-save);text-align:center;cursor:pointer;background-color:var(--ibiz-markdown-color-manual-toolbar-bg-save);border-radius:var(--ibiz-markdown-border-radius-manual-toolbar-item)}.ibiz-markdown__footer--cancel{color:var(--ibiz-markdown-color-manual-toolbar-text-cancel);cursor:pointer}.ibiz-markdown__footer--cancel:hover{color:var(--ibiz-markdown-color-manual-toolbar-text-cancel-hover)}.ibiz-markdown__footer.is-fullscreen{position:fixed;right:0;bottom:0;left:0;z-index:999;width:100%;height:calc(var(--ibiz-markdown-spacing-manual-toolbar-fullscreen-height) * 2);padding:var(--ibiz-markdown-spacing-manual-toolbar-fullscreen-padding);margin-top:0;background-color:var(--ibiz-view-bg-color);border-top:var(--ibiz-markdown-border-manual-toolbar-fullscreen-footer)}.ibiz-markdown__footer.is-fullscreen+.ibiz-markdown-cherry .cherry.fullscreen{height:calc(100% - var(--ibiz-markdown-spacing-manual-toolbar-fullscreen-height) * 2)}.ibiz-markdown__img-preview.el-image{position:absolute;height:0}.ibiz-markdown__img-preview .el-image-viewer__wrapper{width:90%;height:90%;margin:auto}.ibiz-markdown__img-preview .el-image-viewer__mask{position:fixed;width:100vw;height:100vh;cursor:zoom-out;opacity:.7}.ibiz-markdown__img-preview .el-image-viewer__close{top:var(--ibiz-markdown-img-preview-top);right:var(--ibiz-markdown-img-preview-right);width:var(--ibiz-markdown-img-preview-width);height:var(--ibiz-markdown-img-preview-height)}.ibiz-markdown .ibiz-markdown-cherry{width:var(--ibiz-markdown-width);outline:0}.ibiz-markdown .ibiz-markdown-cherry .cherry{width:100%;border:1px solid var(--ibiz-color-border);box-shadow:none}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-toolbar{box-shadow:none}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-editor{border-top:1px solid var(--ibiz-color-border)}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-previewer{border-top:1px solid var(--ibiz-color-border)}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-previewer img{cursor:zoom-in}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-sidebar{border-left:1px solid var(--ibiz-color-border);box-shadow:none}.ibiz-markdown.is-disabled .cherry{min-height:auto}.ibiz-markdown.is-disabled .ibiz-markdown__fullscreen{position:absolute;top:8px;right:12px;z-index:98;font-size:var(--ibiz-font-size-regular);line-height:2.8}.ibiz-markdown.is-disabled .theme__dark .ibiz-markdown__fullscreen{color:var(--ibiz-color-text-0)}.ibiz-markdown.is-disabled .theme__dark .ibiz-markdown__fullscreen:hover{background-color:var(--ibiz-color-bg-3)}.ibiz-markdown.is-manual{display:flex;flex-direction:column}.ibiz-markdown.is-manual .ibiz-markdown-cherry{flex-grow:1;height:calc(100% - var(--ibiz-markdown-spacing-manual-toolbar-height))!important}.ibiz-markdown.is-manual.is-editing{flex-direction:column-reverse}.ibiz-markdown.is-manual .ibiz-markdown-menu{display:none}.ibiz-markdown.is-manual.is-editing .ibiz-markdown-menu{display:block}.ibiz-markdown.is-show-editor-switch-menu .ibiz-composite-form-item-ex-menu{--ibiz-composite-form-item-ex-menu-height:47px;--ibiz-composite-form-item-ex-menu-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-tight) 0;max-height:100%}.ibiz-markdown.is-show-editor-switch-menu .cherry-toolbar{padding-right:calc(var(--ibiz-composite-form-item-ex-menu-width) + 36px)}.ibiz-markdown.is-show-editor-switch-menu .ibiz-markdown-menu{position:absolute;top:1px;right:37px;z-index:var(--ibiz-composite-form-item-ex-menu-z-index);display:flex;align-items:center;height:calc(var(--ibiz-markdown-toolbar-height) - 1px);background:var(--ibiz-composite-form-item-ex-menu-bg-color);border-right:1px solid var(--ibiz-color-border);border-left:1px solid var(--ibiz-color-border)}.ibiz-markdown.is-show-editor-switch-menu .ibiz-markdown-menu.is-fullscreen{position:fixed;z-index:1000}.ibiz-markdown.is-show-editor-switch-menu .ibiz-markdown-menu .ibiz-composite-form-item-ex-menu{position:relative}.ibiz-markdown .cherry-preview--full{border-left:none}.ibiz-markdown .theme__dark,.ibiz-markdown .theme__light{color:var(--ibiz-form-item-text-color)}.ibiz-markdown .cherry-markdown h1 a::before,.ibiz-markdown .cherry-markdown h2 a::before,.ibiz-markdown .cherry-markdown h3 a::before,.ibiz-markdown .cherry-markdown h4 a::before,.ibiz-markdown .cherry-markdown h5 a::before,.ibiz-markdown .cherry-markdown h6 a::before{display:none}.ibiz-markdown .cherry.fullscreen{z-index:999}.ibiz-markdown--light .theme__green .cherry-toolbar,.ibiz-markdown--light .theme__light .cherry-toolbar,.ibiz-markdown--light .theme__violet .cherry-toolbar{background-color:var(--ibiz-color-bg-0)}.ibiz-markdown--light .theme__dark.cherry .cherry-flex-toc{color:var(--ibiz-markdown-color-toc-header-text)}.ibiz-markdown--light .theme__dark.cherry ::-webkit-scrollbar-thumb{background:var(--ibiz-markdown-color-light-scrollbar-thumb-dark)}.ibiz-markdown--light .theme__dark.cherry ::-webkit-scrollbar-thumb:hover{background:var(--ibiz-markdown-color-scrollbar-thumb-dark-hover)}.ibiz-markdown--dark.ibiz-markdown-cherry .cherry{border:1px solid var(--ibiz-markdown-color-dark-mardown-border)}.ibiz-markdown--dark .theme__green .cherry-toolbar,.ibiz-markdown--dark .theme__light .cherry-toolbar,.ibiz-markdown--dark .theme__violet .cherry-toolbar{background-color:var(--ibiz-color-shadow)}.ibiz-markdown--dark .theme__dark.cherry .cherry-toc-head{color:var(--ibiz-markdown-color-dark-toc-text)}.ibiz-markdown--dark .theme__dark.cherry ::-webkit-scrollbar-thumb{background:var(--ibiz-markdown-color-dark-scrollbar-thumb-dark)}.ibiz-markdown--dark .theme__dark.cherry ::-webkit-scrollbar-thumb:hover{background:var(--ibiz-markdown-color-scrollbar-thumb-dark-hover)}
1
+ .ibiz-markdown{--ibiz-markdown-width:100%;--ibiz-markdown-color-manual-toolbar-bg-save:var(--ibiz-color-primary);--ibiz-markdown-color-manual-toolbar-text-save:var(--ibiz-color-primary-active-text);--ibiz-markdown-color-manual-toolbar-text-cancel:var(--ibiz-color-text-1);--ibiz-markdown-color-manual-toolbar-text-cancel-hover:var(--ibiz-color-primary);--ibiz-markdown-color-dark-scrollbar-thumb-dark:rgb(var(--ibiz-grey-4));--ibiz-markdown-color-light-scrollbar-thumb-dark:rgb(var(--ibiz-grey-4));--ibiz-markdown-color-scrollbar-thumb-dark-hover:rgba(var(--ibiz-grey-4), 0.5);--ibiz-markdown-color-dark-toc-text:var(--ibiz-color-fill-0);--ibiz-markdown-color-toc-header-text:var(--ibiz-color-text-0);--ibiz-markdown-color-dark-mardown-border:rgb(var(--ibiz-grey-2));--ibiz-markdown-spacing-manual-toolbar-height:32px;--ibiz-markdown-spacing-manual-toolbar-gap:var(--ibiz-spacing-base);--ibiz-markdown-spacing-manual-toolbar-item-padding:0 var(--ibiz-spacing-base);--ibiz-markdown-spacing-manual-toolbar-margin:var(--ibiz-spacing-base-tight) var(--ibiz-spacing-tight) 0 0;--ibiz-markdown-spacing-manual-toolbar-fullscreen-height:var(--ibiz-height-control-default);--ibiz-markdown-spacing-manual-toolbar-fullscreen-padding:0 var(--ibiz-spacing-extra-loose);--ibiz-markdown-spacing-manual-toolbar-fullscreen-height-header:var(--ibiz-spacing-super-loose);--ibiz-markdown-height-manual-toolbar-height:var(--ibiz-height-control-default);--ibiz-markdown-border-radius-manual-toolbar-item:var(--ibiz-border-radius-small);--ibiz-markdown-border-manual-toolbar-fullscreen-footer:1px solid var(--ibiz-color-border);--ibiz-markdown-img-preview-top:-32px;--ibiz-markdown-img-preview-right:-36px;--ibiz-markdown-img-preview-width:32px;--ibiz-markdown-img-preview-height:32px}.ibiz-markdown__header{display:flex;flex-shrink:0;gap:var(--ibiz-markdown-spacing-manual-toolbar-gap);align-items:center;justify-content:end;height:var(--ibiz-markdown-spacing-manual-toolbar-height)}.ibiz-markdown__header--edit{cursor:pointer}.ibiz-markdown__header--full{cursor:pointer}.ibiz-markdown__header.is-fullscreen{position:fixed;top:0;right:0;left:0;z-index:999;width:100%;height:calc(var(--ibiz-markdown-spacing-manual-toolbar-fullscreen-height-header));padding:var(--ibiz-markdown-spacing-manual-toolbar-fullscreen-padding);margin-top:0;background-color:var(--ibiz-view-bg-color)}.ibiz-markdown__header.is-fullscreen+.ibiz-markdown-cherry .cherry.fullscreen{top:calc(var(--ibiz-markdown-spacing-manual-toolbar-fullscreen-height-header));height:calc(100% - var(--ibiz-markdown-spacing-manual-toolbar-fullscreen-height-header))}.ibiz-markdown__footer{display:flex;gap:var(--ibiz-markdown-spacing-manual-toolbar-gap);align-items:center;justify-content:end;height:var(--ibiz-markdown-spacing-manual-toolbar-height);margin:var(--ibiz-markdown-spacing-manual-toolbar-margin)}.ibiz-markdown__footer--save{height:var(--ibiz-markdown-height-manual-toolbar-height);padding:var(--ibiz-markdown-spacing-manual-toolbar-item-padding);line-height:var(--ibiz-markdown-height-manual-toolbar-height);color:var(--ibiz-markdown-color-manual-toolbar-text-save);text-align:center;cursor:pointer;background-color:var(--ibiz-markdown-color-manual-toolbar-bg-save);border-radius:var(--ibiz-markdown-border-radius-manual-toolbar-item)}.ibiz-markdown__footer--cancel{color:var(--ibiz-markdown-color-manual-toolbar-text-cancel);cursor:pointer}.ibiz-markdown__footer--cancel:hover{color:var(--ibiz-markdown-color-manual-toolbar-text-cancel-hover)}.ibiz-markdown__footer.is-fullscreen{position:fixed;right:0;bottom:0;left:0;z-index:999;width:100%;height:calc(var(--ibiz-markdown-spacing-manual-toolbar-fullscreen-height) * 2);padding:var(--ibiz-markdown-spacing-manual-toolbar-fullscreen-padding);margin-top:0;background-color:var(--ibiz-view-bg-color);border-top:var(--ibiz-markdown-border-manual-toolbar-fullscreen-footer)}.ibiz-markdown__footer.is-fullscreen+.ibiz-markdown-cherry .cherry.fullscreen{height:calc(100% - var(--ibiz-markdown-spacing-manual-toolbar-fullscreen-height) * 2)}.ibiz-markdown__img-preview.el-image{position:absolute;height:0}.ibiz-markdown__img-preview .el-image-viewer__wrapper{width:90%;height:90%;margin:auto}.ibiz-markdown__img-preview .el-image-viewer__mask{position:fixed;width:100vw;height:100vh;cursor:zoom-out;opacity:.7}.ibiz-markdown__img-preview .el-image-viewer__close{top:var(--ibiz-markdown-img-preview-top);right:var(--ibiz-markdown-img-preview-right);width:var(--ibiz-markdown-img-preview-width);height:var(--ibiz-markdown-img-preview-height)}.ibiz-markdown .ibiz-markdown-cherry{width:var(--ibiz-markdown-width);outline:0}.ibiz-markdown .ibiz-markdown-cherry .cherry{width:100%;border:1px solid var(--ibiz-color-border);box-shadow:none}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-toolbar{box-shadow:none}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-editor{border-top:1px solid var(--ibiz-color-border)}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-previewer{border-top:1px solid var(--ibiz-color-border)}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-previewer img{cursor:zoom-in}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-sidebar{top:49px;border-left:1px solid var(--ibiz-color-border);box-shadow:none}.ibiz-markdown.is-disabled .cherry{min-height:auto}.ibiz-markdown.is-disabled .ibiz-markdown__fullscreen{position:absolute;top:8px;right:12px;z-index:98;font-size:var(--ibiz-font-size-regular);line-height:2.8}.ibiz-markdown.is-disabled .theme__dark .ibiz-markdown__fullscreen{color:var(--ibiz-color-text-0)}.ibiz-markdown.is-disabled .theme__dark .ibiz-markdown__fullscreen:hover{background-color:var(--ibiz-color-bg-3)}.ibiz-markdown.is-manual{display:flex;flex-direction:column}.ibiz-markdown.is-manual .ibiz-markdown-cherry{flex-grow:1;height:calc(100% - var(--ibiz-markdown-spacing-manual-toolbar-height))!important}.ibiz-markdown.is-manual.is-editing{flex-direction:column-reverse}.ibiz-markdown.is-manual .ibiz-markdown-menu{display:none}.ibiz-markdown.is-manual.is-editing .ibiz-markdown-menu{display:block}.ibiz-markdown.is-show-editor-switch-menu .ibiz-composite-form-item-ex-menu{--ibiz-composite-form-item-ex-menu-height:47px;--ibiz-composite-form-item-ex-menu-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base-tight) 0;max-height:100%}.ibiz-markdown.is-show-editor-switch-menu .cherry-toolbar{padding-right:calc(var(--ibiz-composite-form-item-ex-menu-width) + var(--ibiz-spacing-extra-tight))}.ibiz-markdown.is-show-editor-switch-menu .ibiz-markdown-menu{position:absolute;top:1px;right:1px;z-index:var(--ibiz-composite-form-item-ex-menu-z-index);display:flex;align-items:center;height:calc(var(--ibiz-markdown-toolbar-height) - 1px);background:var(--ibiz-composite-form-item-ex-menu-bg-color);border-right:1px solid var(--ibiz-color-border);border-left:1px solid var(--ibiz-color-border)}.ibiz-markdown.is-show-editor-switch-menu .ibiz-markdown-menu.is-fullscreen{position:fixed;z-index:1000}.ibiz-markdown.is-show-editor-switch-menu .ibiz-markdown-menu .ibiz-composite-form-item-ex-menu{position:relative}.ibiz-markdown .cherry-preview--full{border-left:none}.ibiz-markdown .theme__dark,.ibiz-markdown .theme__light{color:var(--ibiz-form-item-text-color)}.ibiz-markdown .cherry-markdown h1 a::before,.ibiz-markdown .cherry-markdown h2 a::before,.ibiz-markdown .cherry-markdown h3 a::before,.ibiz-markdown .cherry-markdown h4 a::before,.ibiz-markdown .cherry-markdown h5 a::before,.ibiz-markdown .cherry-markdown h6 a::before{display:none}.ibiz-markdown .cherry.fullscreen{z-index:999}.ibiz-markdown--light .theme__green .cherry-toolbar,.ibiz-markdown--light .theme__light .cherry-toolbar,.ibiz-markdown--light .theme__violet .cherry-toolbar{background-color:var(--ibiz-color-bg-0)}.ibiz-markdown--light .theme__dark.cherry .cherry-flex-toc{color:var(--ibiz-markdown-color-toc-header-text)}.ibiz-markdown--light .theme__dark.cherry ::-webkit-scrollbar-thumb{background:var(--ibiz-markdown-color-light-scrollbar-thumb-dark)}.ibiz-markdown--light .theme__dark.cherry ::-webkit-scrollbar-thumb:hover{background:var(--ibiz-markdown-color-scrollbar-thumb-dark-hover)}.ibiz-markdown--dark.ibiz-markdown-cherry .cherry{border:1px solid var(--ibiz-markdown-color-dark-mardown-border)}.ibiz-markdown--dark .theme__green .cherry-toolbar,.ibiz-markdown--dark .theme__light .cherry-toolbar,.ibiz-markdown--dark .theme__violet .cherry-toolbar{background-color:var(--ibiz-color-shadow)}.ibiz-markdown--dark .theme__dark.cherry .cherry-toc-head{color:var(--ibiz-markdown-color-dark-toc-text)}.ibiz-markdown--dark .theme__dark.cherry ::-webkit-scrollbar-thumb{background:var(--ibiz-markdown-color-dark-scrollbar-thumb-dark)}.ibiz-markdown--dark .theme__dark.cherry ::-webkit-scrollbar-thumb:hover{background:var(--ibiz-markdown-color-scrollbar-thumb-dark-hover)}
@@ -47,7 +47,7 @@ const IBizMarkDown = /* @__PURE__ */ defineComponent({
47
47
  let lastMarkDownWidth = 0;
48
48
  const cssVars = ref({});
49
49
  const toolbarCssVars = ref({});
50
- const lastDirectoryState = ref("full");
50
+ const lastDirectoryState = ref("pure");
51
51
  let isIgnoreChange = false;
52
52
  let chatInstance;
53
53
  const [AIMenu, AIChart] = initCustomMenu(c, {
@@ -351,6 +351,7 @@ const IBizMarkDown = /* @__PURE__ */ defineComponent({
351
351
  }
352
352
  }
353
353
  });
354
+ editor.toggleToc("pure");
354
355
  editor.setTheme(theme.value);
355
356
  if (customTheme) {
356
357
  editor.setTheme(customTheme);
@@ -170,7 +170,7 @@ const IBizInput = /* @__PURE__ */ defineComponent({
170
170
  questionToolbarItems,
171
171
  otherToolbarItems
172
172
  } = ibiz.aiChatUtil.calcAiToolbarItemsByAc(c.deACMode);
173
- const aiAgentlist = await ibiz.aiChatUtil.getAIAgentList(c.context, c.params);
173
+ const aiAgentlist = await ibiz.aiChatUtil.getAIAgentList(c.context, c.params, c.editorParams);
174
174
  const {
175
175
  containerOptions,
176
176
  chatOptions
@@ -11,13 +11,6 @@ class AIChatUtil {
11
11
  const chatInstance = module.chat || module.default.chat;
12
12
  return chatInstance;
13
13
  }
14
- /**
15
- * 添加资源
16
- * @param resource
17
- */
18
- addResource(resource) {
19
- throw new Error("Method not implemented.");
20
- }
21
14
  /**
22
15
  * 获取编辑器扩展AI聊天参数
23
16
  * @param editorParams
@@ -197,7 +190,7 @@ class AIChatUtil {
197
190
  * @param context
198
191
  * @param params
199
192
  */
200
- async getAIAgentList(context, params) {
193
+ async getAIAgentList(context, params, editorParams) {
201
194
  const emptyList = [];
202
195
  const app = ibiz.hub.getApp(ibiz.env.appId);
203
196
  const aiAgentUtil = app.getAppUtil("DYNAMICAIGENT", "CUSTOM");
@@ -205,7 +198,13 @@ class AIChatUtil {
205
198
  return emptyList;
206
199
  }
207
200
  const utilService = new UtilService(aiAgentUtil);
208
- const data = await utilService.load("", context, params);
201
+ const resultParams = { ...params };
202
+ if (editorParams && editorParams.srfaiagentscope) {
203
+ Object.assign(resultParams, {
204
+ srfaiagentscope: editorParams.srfaiagentscope
205
+ });
206
+ }
207
+ const data = await utilService.load("", context, resultParams);
209
208
  if (!data || data.length === 0) {
210
209
  return emptyList;
211
210
  }
@@ -144,8 +144,8 @@ const useAI = (props, opts) => {
144
144
  }
145
145
  return { think, content };
146
146
  };
147
- const asyncAskAI = (question, callBack) => {
148
- return new Promise((resolve, reject) => {
147
+ const asyncAskAI = (question, callBack, errorBack) => {
148
+ return new Promise((resolve) => {
149
149
  abortController.value = new AbortController();
150
150
  const { body, url } = prepareData(question, true);
151
151
  app.net.sse(url, params, {
@@ -168,7 +168,11 @@ const useAI = (props, opts) => {
168
168
  }
169
169
  },
170
170
  onclose: () => resolve(),
171
- onerror: () => reject(),
171
+ onerror: (error) => {
172
+ callBack({ state: 40, content: error.message });
173
+ errorBack();
174
+ throw error;
175
+ },
172
176
  signal: abortController.value.signal
173
177
  });
174
178
  });
@@ -148,7 +148,9 @@ const InlineAITextArea = /* @__PURE__ */ defineComponent({
148
148
  });
149
149
  isCollapse.value = false;
150
150
  if (inlinecompletionmode === "async") {
151
- await asyncAskAI(question, handleAnswer);
151
+ await asyncAskAI(question, handleAnswer, () => {
152
+ isLoading.value = false;
153
+ });
152
154
  } else {
153
155
  const answer = await syncAskAI(question);
154
156
  handleAnswer(answer);
@@ -26,6 +26,12 @@ class CompositeFormItemExController extends runtime.FormItemController {
26
26
  * @memberof CompositeFormItemExController
27
27
  */
28
28
  __publicField(this, "includesList", ["HTMLEDITOR_DEFAULT", "MARKDOWN_DEFAULT"]);
29
+ /**
30
+ * @description 代码表id
31
+ * @type {string}
32
+ * @memberof CompositeFormItemExController
33
+ */
34
+ __publicField(this, "codeListId", "");
29
35
  /**
30
36
  * @description 切换菜单选项
31
37
  * @type {{ id: string; name: string; icon?: ISysImage, editor?: IData }[]}
@@ -44,16 +50,20 @@ class CompositeFormItemExController extends runtime.FormItemController {
44
50
  return new compositeFormItemEx_state.CompositeFormItemExState((_a = this.parent) == null ? void 0 : _a.state);
45
51
  }
46
52
  async onInit() {
47
- var _a, _b, _c;
53
+ var _a, _b, _c, _d;
48
54
  await super.onInit();
49
55
  const editor = this.model.editor;
50
56
  if (!editor) {
51
57
  return;
52
58
  }
53
- if (editor.appCodeListId) {
59
+ this.codeListId = editor.appCodeListId || "";
60
+ if ((_a = editor.editorParams) == null ? void 0 : _a.codelistid) {
61
+ this.codeListId = editor.editorParams.codelistid;
62
+ }
63
+ if (this.codeListId) {
54
64
  const app = ibiz.hub.getApp(this.context.srfappid);
55
65
  const items = await app.codeList.get(
56
- editor.appCodeListId,
66
+ this.codeListId,
57
67
  this.context,
58
68
  this.params
59
69
  );
@@ -66,13 +76,13 @@ class CompositeFormItemExController extends runtime.FormItemController {
66
76
  editor: item.data
67
77
  };
68
78
  });
69
- this.defaultType = ((_a = this.switchOptions[0]) == null ? void 0 : _a.id) || "";
79
+ this.defaultType = ((_b = this.switchOptions[0]) == null ? void 0 : _b.id) || "";
70
80
  }
71
81
  }
72
- if ((_b = editor.editorParams) == null ? void 0 : _b.defaulttype) {
82
+ if ((_c = editor.editorParams) == null ? void 0 : _c.defaulttype) {
73
83
  this.defaultType = editor.editorParams.defaulttype;
74
84
  }
75
- if ((_c = editor.editorParams) == null ? void 0 : _c.includes) {
85
+ if ((_d = editor.editorParams) == null ? void 0 : _d.includes) {
76
86
  this.includesList = JSON.parse(editor.editorParams.includes);
77
87
  }
78
88
  if (editor.editorItems && editor.editorItems.length) {
@@ -119,7 +119,7 @@ const IBizCode = /* @__PURE__ */ vue.defineComponent({
119
119
  const openAIChat = async () => {
120
120
  if (!c.deACMode || !c.model.appDataEntityId)
121
121
  return;
122
- const aiAgentlist = await ibiz.aiChatUtil.getAIAgentList(c.context, c.params);
122
+ const aiAgentlist = await ibiz.aiChatUtil.getAIAgentList(c.context, c.params, c.editorParams);
123
123
  const {
124
124
  contentToolbarItems,
125
125
  footerToolbarItems,
@@ -393,7 +393,13 @@ const IBizCode = /* @__PURE__ */ vue.defineComponent({
393
393
  editorRect.left + coordinates.left,
394
394
  // 编辑器上方距离 + 选区距离编辑器上方距离 + 行高度 + 工具栏高度
395
395
  editorRect.top + coordinates.top + coordinates.height + textTBHeight,
396
- items
396
+ items,
397
+ {
398
+ zIndex: zIndex.increment(),
399
+ onClose: () => {
400
+ zIndex.decrement();
401
+ }
402
+ }
397
403
  );
398
404
  };
399
405
  const handleEditorClick = (e) => {
@@ -201,7 +201,7 @@ const IBizHtml = /* @__PURE__ */ vue.defineComponent({
201
201
  const appDataEntityId = c.model.appDataEntityId;
202
202
  if (!appDataEntityId || !c.deACMode)
203
203
  return;
204
- const aiAgentlist = await ibiz.aiChatUtil.getAIAgentList(c.context, c.params);
204
+ const aiAgentlist = await ibiz.aiChatUtil.getAIAgentList(c.context, c.params, c.editorParams);
205
205
  const {
206
206
  contentToolbarItems,
207
207
  footerToolbarItems,
@@ -445,12 +445,22 @@ const IBizHtml = /* @__PURE__ */ vue.defineComponent({
445
445
  if (items.length === 0)
446
446
  return;
447
447
  const editorBoundingClientRect = editor.getEditableContainer().getBoundingClientRect();
448
+ const {
449
+ zIndex
450
+ } = vue3Util.useUIStore();
451
+ const popoverZIndex = zIndex.increment();
448
452
  ibiz.inLineAIUtil.showContextMenus(
449
453
  // 编辑器的左侧距离+选区距离编辑器左侧距离
450
454
  editorBoundingClientRect.x + Number(selectionPosition.left.replace("px", "")),
451
455
  // 编辑器的上方距离+选区距离编辑器上方距离+悬浮工具栏高度
452
456
  editorBoundingClientRect.y + Number(selectionPosition.top.replace("px", "")) + 42,
453
- items
457
+ items,
458
+ {
459
+ zIndex: popoverZIndex,
460
+ onClose: () => {
461
+ zIndex.decrement();
462
+ }
463
+ }
454
464
  );
455
465
  });
456
466
  };
@@ -34,12 +34,20 @@ function initCustomMenu(c, opts) {
34
34
  );
35
35
  if (items.length === 0)
36
36
  return;
37
+ const { zIndex } = vue3Util.useUIStore();
38
+ const popoverZIndex = zIndex.increment();
37
39
  ibiz.inLineAIUtil.showContextMenus(
38
40
  // 浮动工具栏的左侧距离
39
41
  selectionPosition.left,
40
42
  // 浮动工具栏的顶部距离 + 浮动工具栏的高度
41
43
  selectionPosition.top + 43,
42
- items
44
+ items,
45
+ {
46
+ zIndex: popoverZIndex,
47
+ onClose: () => {
48
+ zIndex.decrement();
49
+ }
50
+ }
43
51
  );
44
52
  }
45
53
  });
@@ -56,7 +64,8 @@ function initCustomMenu(c, opts) {
56
64
  return;
57
65
  const aiAgentlist = await ibiz.aiChatUtil.getAIAgentList(
58
66
  c.context,
59
- c.params
67
+ c.params,
68
+ c.editorParams
60
69
  );
61
70
  const {
62
71
  contentToolbarItems,
@@ -51,7 +51,7 @@ const IBizMarkDown = /* @__PURE__ */ vue.defineComponent({
51
51
  let lastMarkDownWidth = 0;
52
52
  const cssVars = vue.ref({});
53
53
  const toolbarCssVars = vue.ref({});
54
- const lastDirectoryState = vue.ref("full");
54
+ const lastDirectoryState = vue.ref("pure");
55
55
  let isIgnoreChange = false;
56
56
  let chatInstance;
57
57
  const [AIMenu, AIChart] = customMenu.initCustomMenu(c, {
@@ -355,6 +355,7 @@ const IBizMarkDown = /* @__PURE__ */ vue.defineComponent({
355
355
  }
356
356
  }
357
357
  });
358
+ editor.toggleToc("pure");
358
359
  editor.setTheme(theme.value);
359
360
  if (customTheme) {
360
361
  editor.setTheme(customTheme);
@@ -1 +1 @@
1
- .ibiz-markdown{--ibiz-markdown-width:100%;--ibiz-markdown-color-manual-toolbar-bg-save:var(--ibiz-color-primary);--ibiz-markdown-color-manual-toolbar-text-save:var(--ibiz-color-primary-active-text);--ibiz-markdown-color-manual-toolbar-text-cancel:var(--ibiz-color-text-1);--ibiz-markdown-color-manual-toolbar-text-cancel-hover:var(--ibiz-color-primary);--ibiz-markdown-color-dark-scrollbar-thumb-dark:rgb(var(--ibiz-grey-4));--ibiz-markdown-color-light-scrollbar-thumb-dark:rgb(var(--ibiz-grey-4));--ibiz-markdown-color-scrollbar-thumb-dark-hover:rgba(var(--ibiz-grey-4), 0.5);--ibiz-markdown-color-dark-toc-text:var(--ibiz-color-fill-0);--ibiz-markdown-color-toc-header-text:var(--ibiz-color-text-0);--ibiz-markdown-color-dark-mardown-border:rgb(var(--ibiz-grey-2));--ibiz-markdown-spacing-manual-toolbar-height:32px;--ibiz-markdown-spacing-manual-toolbar-gap:var(--ibiz-spacing-base);--ibiz-markdown-spacing-manual-toolbar-item-padding:0 var(--ibiz-spacing-base);--ibiz-markdown-spacing-manual-toolbar-margin:var(--ibiz-spacing-base-tight) var(--ibiz-spacing-tight) 0 0;--ibiz-markdown-spacing-manual-toolbar-fullscreen-height:var(--ibiz-height-control-default);--ibiz-markdown-spacing-manual-toolbar-fullscreen-padding:0 var(--ibiz-spacing-extra-loose);--ibiz-markdown-spacing-manual-toolbar-fullscreen-height-header:var(--ibiz-spacing-super-loose);--ibiz-markdown-height-manual-toolbar-height:var(--ibiz-height-control-default);--ibiz-markdown-border-radius-manual-toolbar-item:var(--ibiz-border-radius-small);--ibiz-markdown-border-manual-toolbar-fullscreen-footer:1px solid var(--ibiz-color-border);--ibiz-markdown-img-preview-top:-32px;--ibiz-markdown-img-preview-right:-36px;--ibiz-markdown-img-preview-width:32px;--ibiz-markdown-img-preview-height:32px}.ibiz-markdown__header{display:flex;flex-shrink:0;gap:var(--ibiz-markdown-spacing-manual-toolbar-gap);align-items:center;justify-content:end;height:var(--ibiz-markdown-spacing-manual-toolbar-height)}.ibiz-markdown__header--edit{cursor:pointer}.ibiz-markdown__header--full{cursor:pointer}.ibiz-markdown__header.is-fullscreen{position:fixed;top:0;right:0;left:0;z-index:999;width:100%;height:calc(var(--ibiz-markdown-spacing-manual-toolbar-fullscreen-height-header));padding:var(--ibiz-markdown-spacing-manual-toolbar-fullscreen-padding);margin-top:0;background-color:var(--ibiz-view-bg-color)}.ibiz-markdown__header.is-fullscreen+.ibiz-markdown-cherry .cherry.fullscreen{top:calc(var(--ibiz-markdown-spacing-manual-toolbar-fullscreen-height-header));height:calc(100% - var(--ibiz-markdown-spacing-manual-toolbar-fullscreen-height-header))}.ibiz-markdown__footer{display:flex;gap:var(--ibiz-markdown-spacing-manual-toolbar-gap);align-items:center;justify-content:end;height:var(--ibiz-markdown-spacing-manual-toolbar-height);margin:var(--ibiz-markdown-spacing-manual-toolbar-margin)}.ibiz-markdown__footer--save{height:var(--ibiz-markdown-height-manual-toolbar-height);padding:var(--ibiz-markdown-spacing-manual-toolbar-item-padding);line-height:var(--ibiz-markdown-height-manual-toolbar-height);color:var(--ibiz-markdown-color-manual-toolbar-text-save);text-align:center;cursor:pointer;background-color:var(--ibiz-markdown-color-manual-toolbar-bg-save);border-radius:var(--ibiz-markdown-border-radius-manual-toolbar-item)}.ibiz-markdown__footer--cancel{color:var(--ibiz-markdown-color-manual-toolbar-text-cancel);cursor:pointer}.ibiz-markdown__footer--cancel:hover{color:var(--ibiz-markdown-color-manual-toolbar-text-cancel-hover)}.ibiz-markdown__footer.is-fullscreen{position:fixed;right:0;bottom:0;left:0;z-index:999;width:100%;height:calc(var(--ibiz-markdown-spacing-manual-toolbar-fullscreen-height) * 2);padding:var(--ibiz-markdown-spacing-manual-toolbar-fullscreen-padding);margin-top:0;background-color:var(--ibiz-view-bg-color);border-top:var(--ibiz-markdown-border-manual-toolbar-fullscreen-footer)}.ibiz-markdown__footer.is-fullscreen+.ibiz-markdown-cherry .cherry.fullscreen{height:calc(100% - var(--ibiz-markdown-spacing-manual-toolbar-fullscreen-height) * 2)}.ibiz-markdown__img-preview.el-image{position:absolute;height:0}.ibiz-markdown__img-preview .el-image-viewer__wrapper{width:90%;height:90%;margin:auto}.ibiz-markdown__img-preview .el-image-viewer__mask{position:fixed;width:100vw;height:100vh;cursor:zoom-out;opacity:.7}.ibiz-markdown__img-preview .el-image-viewer__close{top:var(--ibiz-markdown-img-preview-top);right:var(--ibiz-markdown-img-preview-right);width:var(--ibiz-markdown-img-preview-width);height:var(--ibiz-markdown-img-preview-height)}.ibiz-markdown .ibiz-markdown-cherry{width:var(--ibiz-markdown-width);outline:0}.ibiz-markdown .ibiz-markdown-cherry .cherry{width:100%;border:1px solid var(--ibiz-color-border);box-shadow:none}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-toolbar{box-shadow:none}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-editor{border-top:1px solid var(--ibiz-color-border)}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-previewer{border-top:1px solid var(--ibiz-color-border)}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-previewer img{cursor:zoom-in}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-sidebar{border-left:1px solid var(--ibiz-color-border);box-shadow:none}.ibiz-markdown.is-disabled .cherry{min-height:auto}.ibiz-markdown.is-disabled .ibiz-markdown__fullscreen{position:absolute;top:8px;right:12px;z-index:98;font-size:var(--ibiz-font-size-regular);line-height:2.8}.ibiz-markdown.is-disabled .theme__dark .ibiz-markdown__fullscreen{color:var(--ibiz-color-text-0)}.ibiz-markdown.is-disabled .theme__dark .ibiz-markdown__fullscreen:hover{background-color:var(--ibiz-color-bg-3)}.ibiz-markdown.is-manual{display:flex;flex-direction:column}.ibiz-markdown.is-manual .ibiz-markdown-cherry{flex-grow:1;height:calc(100% - var(--ibiz-markdown-spacing-manual-toolbar-height))!important}.ibiz-markdown.is-manual.is-editing{flex-direction:column-reverse}.ibiz-markdown.is-manual .ibiz-markdown-menu{display:none}.ibiz-markdown.is-manual.is-editing .ibiz-markdown-menu{display:block}.ibiz-markdown.is-show-editor-switch-menu .ibiz-composite-form-item-ex-menu{--ibiz-composite-form-item-ex-menu-height:47px;--ibiz-composite-form-item-ex-menu-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-tight) 0;max-height:100%}.ibiz-markdown.is-show-editor-switch-menu .cherry-toolbar{padding-right:calc(var(--ibiz-composite-form-item-ex-menu-width) + 36px)}.ibiz-markdown.is-show-editor-switch-menu .ibiz-markdown-menu{position:absolute;top:1px;right:37px;z-index:var(--ibiz-composite-form-item-ex-menu-z-index);display:flex;align-items:center;height:calc(var(--ibiz-markdown-toolbar-height) - 1px);background:var(--ibiz-composite-form-item-ex-menu-bg-color);border-right:1px solid var(--ibiz-color-border);border-left:1px solid var(--ibiz-color-border)}.ibiz-markdown.is-show-editor-switch-menu .ibiz-markdown-menu.is-fullscreen{position:fixed;z-index:1000}.ibiz-markdown.is-show-editor-switch-menu .ibiz-markdown-menu .ibiz-composite-form-item-ex-menu{position:relative}.ibiz-markdown .cherry-preview--full{border-left:none}.ibiz-markdown .theme__dark,.ibiz-markdown .theme__light{color:var(--ibiz-form-item-text-color)}.ibiz-markdown .cherry-markdown h1 a::before,.ibiz-markdown .cherry-markdown h2 a::before,.ibiz-markdown .cherry-markdown h3 a::before,.ibiz-markdown .cherry-markdown h4 a::before,.ibiz-markdown .cherry-markdown h5 a::before,.ibiz-markdown .cherry-markdown h6 a::before{display:none}.ibiz-markdown .cherry.fullscreen{z-index:999}.ibiz-markdown--light .theme__green .cherry-toolbar,.ibiz-markdown--light .theme__light .cherry-toolbar,.ibiz-markdown--light .theme__violet .cherry-toolbar{background-color:var(--ibiz-color-bg-0)}.ibiz-markdown--light .theme__dark.cherry .cherry-flex-toc{color:var(--ibiz-markdown-color-toc-header-text)}.ibiz-markdown--light .theme__dark.cherry ::-webkit-scrollbar-thumb{background:var(--ibiz-markdown-color-light-scrollbar-thumb-dark)}.ibiz-markdown--light .theme__dark.cherry ::-webkit-scrollbar-thumb:hover{background:var(--ibiz-markdown-color-scrollbar-thumb-dark-hover)}.ibiz-markdown--dark.ibiz-markdown-cherry .cherry{border:1px solid var(--ibiz-markdown-color-dark-mardown-border)}.ibiz-markdown--dark .theme__green .cherry-toolbar,.ibiz-markdown--dark .theme__light .cherry-toolbar,.ibiz-markdown--dark .theme__violet .cherry-toolbar{background-color:var(--ibiz-color-shadow)}.ibiz-markdown--dark .theme__dark.cherry .cherry-toc-head{color:var(--ibiz-markdown-color-dark-toc-text)}.ibiz-markdown--dark .theme__dark.cherry ::-webkit-scrollbar-thumb{background:var(--ibiz-markdown-color-dark-scrollbar-thumb-dark)}.ibiz-markdown--dark .theme__dark.cherry ::-webkit-scrollbar-thumb:hover{background:var(--ibiz-markdown-color-scrollbar-thumb-dark-hover)}
1
+ .ibiz-markdown{--ibiz-markdown-width:100%;--ibiz-markdown-color-manual-toolbar-bg-save:var(--ibiz-color-primary);--ibiz-markdown-color-manual-toolbar-text-save:var(--ibiz-color-primary-active-text);--ibiz-markdown-color-manual-toolbar-text-cancel:var(--ibiz-color-text-1);--ibiz-markdown-color-manual-toolbar-text-cancel-hover:var(--ibiz-color-primary);--ibiz-markdown-color-dark-scrollbar-thumb-dark:rgb(var(--ibiz-grey-4));--ibiz-markdown-color-light-scrollbar-thumb-dark:rgb(var(--ibiz-grey-4));--ibiz-markdown-color-scrollbar-thumb-dark-hover:rgba(var(--ibiz-grey-4), 0.5);--ibiz-markdown-color-dark-toc-text:var(--ibiz-color-fill-0);--ibiz-markdown-color-toc-header-text:var(--ibiz-color-text-0);--ibiz-markdown-color-dark-mardown-border:rgb(var(--ibiz-grey-2));--ibiz-markdown-spacing-manual-toolbar-height:32px;--ibiz-markdown-spacing-manual-toolbar-gap:var(--ibiz-spacing-base);--ibiz-markdown-spacing-manual-toolbar-item-padding:0 var(--ibiz-spacing-base);--ibiz-markdown-spacing-manual-toolbar-margin:var(--ibiz-spacing-base-tight) var(--ibiz-spacing-tight) 0 0;--ibiz-markdown-spacing-manual-toolbar-fullscreen-height:var(--ibiz-height-control-default);--ibiz-markdown-spacing-manual-toolbar-fullscreen-padding:0 var(--ibiz-spacing-extra-loose);--ibiz-markdown-spacing-manual-toolbar-fullscreen-height-header:var(--ibiz-spacing-super-loose);--ibiz-markdown-height-manual-toolbar-height:var(--ibiz-height-control-default);--ibiz-markdown-border-radius-manual-toolbar-item:var(--ibiz-border-radius-small);--ibiz-markdown-border-manual-toolbar-fullscreen-footer:1px solid var(--ibiz-color-border);--ibiz-markdown-img-preview-top:-32px;--ibiz-markdown-img-preview-right:-36px;--ibiz-markdown-img-preview-width:32px;--ibiz-markdown-img-preview-height:32px}.ibiz-markdown__header{display:flex;flex-shrink:0;gap:var(--ibiz-markdown-spacing-manual-toolbar-gap);align-items:center;justify-content:end;height:var(--ibiz-markdown-spacing-manual-toolbar-height)}.ibiz-markdown__header--edit{cursor:pointer}.ibiz-markdown__header--full{cursor:pointer}.ibiz-markdown__header.is-fullscreen{position:fixed;top:0;right:0;left:0;z-index:999;width:100%;height:calc(var(--ibiz-markdown-spacing-manual-toolbar-fullscreen-height-header));padding:var(--ibiz-markdown-spacing-manual-toolbar-fullscreen-padding);margin-top:0;background-color:var(--ibiz-view-bg-color)}.ibiz-markdown__header.is-fullscreen+.ibiz-markdown-cherry .cherry.fullscreen{top:calc(var(--ibiz-markdown-spacing-manual-toolbar-fullscreen-height-header));height:calc(100% - var(--ibiz-markdown-spacing-manual-toolbar-fullscreen-height-header))}.ibiz-markdown__footer{display:flex;gap:var(--ibiz-markdown-spacing-manual-toolbar-gap);align-items:center;justify-content:end;height:var(--ibiz-markdown-spacing-manual-toolbar-height);margin:var(--ibiz-markdown-spacing-manual-toolbar-margin)}.ibiz-markdown__footer--save{height:var(--ibiz-markdown-height-manual-toolbar-height);padding:var(--ibiz-markdown-spacing-manual-toolbar-item-padding);line-height:var(--ibiz-markdown-height-manual-toolbar-height);color:var(--ibiz-markdown-color-manual-toolbar-text-save);text-align:center;cursor:pointer;background-color:var(--ibiz-markdown-color-manual-toolbar-bg-save);border-radius:var(--ibiz-markdown-border-radius-manual-toolbar-item)}.ibiz-markdown__footer--cancel{color:var(--ibiz-markdown-color-manual-toolbar-text-cancel);cursor:pointer}.ibiz-markdown__footer--cancel:hover{color:var(--ibiz-markdown-color-manual-toolbar-text-cancel-hover)}.ibiz-markdown__footer.is-fullscreen{position:fixed;right:0;bottom:0;left:0;z-index:999;width:100%;height:calc(var(--ibiz-markdown-spacing-manual-toolbar-fullscreen-height) * 2);padding:var(--ibiz-markdown-spacing-manual-toolbar-fullscreen-padding);margin-top:0;background-color:var(--ibiz-view-bg-color);border-top:var(--ibiz-markdown-border-manual-toolbar-fullscreen-footer)}.ibiz-markdown__footer.is-fullscreen+.ibiz-markdown-cherry .cherry.fullscreen{height:calc(100% - var(--ibiz-markdown-spacing-manual-toolbar-fullscreen-height) * 2)}.ibiz-markdown__img-preview.el-image{position:absolute;height:0}.ibiz-markdown__img-preview .el-image-viewer__wrapper{width:90%;height:90%;margin:auto}.ibiz-markdown__img-preview .el-image-viewer__mask{position:fixed;width:100vw;height:100vh;cursor:zoom-out;opacity:.7}.ibiz-markdown__img-preview .el-image-viewer__close{top:var(--ibiz-markdown-img-preview-top);right:var(--ibiz-markdown-img-preview-right);width:var(--ibiz-markdown-img-preview-width);height:var(--ibiz-markdown-img-preview-height)}.ibiz-markdown .ibiz-markdown-cherry{width:var(--ibiz-markdown-width);outline:0}.ibiz-markdown .ibiz-markdown-cherry .cherry{width:100%;border:1px solid var(--ibiz-color-border);box-shadow:none}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-toolbar{box-shadow:none}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-editor{border-top:1px solid var(--ibiz-color-border)}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-previewer{border-top:1px solid var(--ibiz-color-border)}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-previewer img{cursor:zoom-in}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-sidebar{top:49px;border-left:1px solid var(--ibiz-color-border);box-shadow:none}.ibiz-markdown.is-disabled .cherry{min-height:auto}.ibiz-markdown.is-disabled .ibiz-markdown__fullscreen{position:absolute;top:8px;right:12px;z-index:98;font-size:var(--ibiz-font-size-regular);line-height:2.8}.ibiz-markdown.is-disabled .theme__dark .ibiz-markdown__fullscreen{color:var(--ibiz-color-text-0)}.ibiz-markdown.is-disabled .theme__dark .ibiz-markdown__fullscreen:hover{background-color:var(--ibiz-color-bg-3)}.ibiz-markdown.is-manual{display:flex;flex-direction:column}.ibiz-markdown.is-manual .ibiz-markdown-cherry{flex-grow:1;height:calc(100% - var(--ibiz-markdown-spacing-manual-toolbar-height))!important}.ibiz-markdown.is-manual.is-editing{flex-direction:column-reverse}.ibiz-markdown.is-manual .ibiz-markdown-menu{display:none}.ibiz-markdown.is-manual.is-editing .ibiz-markdown-menu{display:block}.ibiz-markdown.is-show-editor-switch-menu .ibiz-composite-form-item-ex-menu{--ibiz-composite-form-item-ex-menu-height:47px;--ibiz-composite-form-item-ex-menu-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base-tight) 0;max-height:100%}.ibiz-markdown.is-show-editor-switch-menu .cherry-toolbar{padding-right:calc(var(--ibiz-composite-form-item-ex-menu-width) + var(--ibiz-spacing-extra-tight))}.ibiz-markdown.is-show-editor-switch-menu .ibiz-markdown-menu{position:absolute;top:1px;right:1px;z-index:var(--ibiz-composite-form-item-ex-menu-z-index);display:flex;align-items:center;height:calc(var(--ibiz-markdown-toolbar-height) - 1px);background:var(--ibiz-composite-form-item-ex-menu-bg-color);border-right:1px solid var(--ibiz-color-border);border-left:1px solid var(--ibiz-color-border)}.ibiz-markdown.is-show-editor-switch-menu .ibiz-markdown-menu.is-fullscreen{position:fixed;z-index:1000}.ibiz-markdown.is-show-editor-switch-menu .ibiz-markdown-menu .ibiz-composite-form-item-ex-menu{position:relative}.ibiz-markdown .cherry-preview--full{border-left:none}.ibiz-markdown .theme__dark,.ibiz-markdown .theme__light{color:var(--ibiz-form-item-text-color)}.ibiz-markdown .cherry-markdown h1 a::before,.ibiz-markdown .cherry-markdown h2 a::before,.ibiz-markdown .cherry-markdown h3 a::before,.ibiz-markdown .cherry-markdown h4 a::before,.ibiz-markdown .cherry-markdown h5 a::before,.ibiz-markdown .cherry-markdown h6 a::before{display:none}.ibiz-markdown .cherry.fullscreen{z-index:999}.ibiz-markdown--light .theme__green .cherry-toolbar,.ibiz-markdown--light .theme__light .cherry-toolbar,.ibiz-markdown--light .theme__violet .cherry-toolbar{background-color:var(--ibiz-color-bg-0)}.ibiz-markdown--light .theme__dark.cherry .cherry-flex-toc{color:var(--ibiz-markdown-color-toc-header-text)}.ibiz-markdown--light .theme__dark.cherry ::-webkit-scrollbar-thumb{background:var(--ibiz-markdown-color-light-scrollbar-thumb-dark)}.ibiz-markdown--light .theme__dark.cherry ::-webkit-scrollbar-thumb:hover{background:var(--ibiz-markdown-color-scrollbar-thumb-dark-hover)}.ibiz-markdown--dark.ibiz-markdown-cherry .cherry{border:1px solid var(--ibiz-markdown-color-dark-mardown-border)}.ibiz-markdown--dark .theme__green .cherry-toolbar,.ibiz-markdown--dark .theme__light .cherry-toolbar,.ibiz-markdown--dark .theme__violet .cherry-toolbar{background-color:var(--ibiz-color-shadow)}.ibiz-markdown--dark .theme__dark.cherry .cherry-toc-head{color:var(--ibiz-markdown-color-dark-toc-text)}.ibiz-markdown--dark .theme__dark.cherry ::-webkit-scrollbar-thumb{background:var(--ibiz-markdown-color-dark-scrollbar-thumb-dark)}.ibiz-markdown--dark .theme__dark.cherry ::-webkit-scrollbar-thumb:hover{background:var(--ibiz-markdown-color-scrollbar-thumb-dark-hover)}
@@ -172,7 +172,7 @@ const IBizInput = /* @__PURE__ */ vue.defineComponent({
172
172
  questionToolbarItems,
173
173
  otherToolbarItems
174
174
  } = ibiz.aiChatUtil.calcAiToolbarItemsByAc(c.deACMode);
175
- const aiAgentlist = await ibiz.aiChatUtil.getAIAgentList(c.context, c.params);
175
+ const aiAgentlist = await ibiz.aiChatUtil.getAIAgentList(c.context, c.params, c.editorParams);
176
176
  const {
177
177
  containerOptions,
178
178
  chatOptions
@@ -13,13 +13,6 @@ class AIChatUtil {
13
13
  const chatInstance = module.chat || module.default.chat;
14
14
  return chatInstance;
15
15
  }
16
- /**
17
- * 添加资源
18
- * @param resource
19
- */
20
- addResource(resource) {
21
- throw new Error("Method not implemented.");
22
- }
23
16
  /**
24
17
  * 获取编辑器扩展AI聊天参数
25
18
  * @param editorParams
@@ -199,7 +192,7 @@ class AIChatUtil {
199
192
  * @param context
200
193
  * @param params
201
194
  */
202
- async getAIAgentList(context, params) {
195
+ async getAIAgentList(context, params, editorParams) {
203
196
  const emptyList = [];
204
197
  const app = ibiz.hub.getApp(ibiz.env.appId);
205
198
  const aiAgentUtil = app.getAppUtil("DYNAMICAIGENT", "CUSTOM");
@@ -207,7 +200,13 @@ class AIChatUtil {
207
200
  return emptyList;
208
201
  }
209
202
  const utilService = new runtime.UtilService(aiAgentUtil);
210
- const data = await utilService.load("", context, params);
203
+ const resultParams = { ...params };
204
+ if (editorParams && editorParams.srfaiagentscope) {
205
+ Object.assign(resultParams, {
206
+ srfaiagentscope: editorParams.srfaiagentscope
207
+ });
208
+ }
209
+ const data = await utilService.load("", context, resultParams);
211
210
  if (!data || data.length === 0) {
212
211
  return emptyList;
213
212
  }
@@ -150,7 +150,9 @@ const InlineAITextArea = /* @__PURE__ */ vue.defineComponent({
150
150
  });
151
151
  isCollapse.value = false;
152
152
  if (inlinecompletionmode === "async") {
153
- await asyncAskAI(question, handleAnswer);
153
+ await asyncAskAI(question, handleAnswer, () => {
154
+ isLoading.value = false;
155
+ });
154
156
  } else {
155
157
  const answer = await syncAskAI(question);
156
158
  handleAnswer(answer);
@@ -146,8 +146,8 @@ const useAI = (props, opts) => {
146
146
  }
147
147
  return { think, content };
148
148
  };
149
- const asyncAskAI = (question, callBack) => {
150
- return new Promise((resolve, reject) => {
149
+ const asyncAskAI = (question, callBack, errorBack) => {
150
+ return new Promise((resolve) => {
151
151
  abortController.value = new AbortController();
152
152
  const { body, url } = prepareData(question, true);
153
153
  app.net.sse(url, params, {
@@ -170,7 +170,11 @@ const useAI = (props, opts) => {
170
170
  }
171
171
  },
172
172
  onclose: () => resolve(),
173
- onerror: () => reject(),
173
+ onerror: (error) => {
174
+ callBack({ state: 40, content: error.message });
175
+ errorBack();
176
+ throw error;
177
+ },
174
178
  signal: abortController.value.signal
175
179
  });
176
180
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibiz-template/vue3-components",
3
- "version": "0.7.41-alpha.41",
3
+ "version": "0.7.41-alpha.42",
4
4
  "description": "web端组件库(vue3)",
5
5
  "main": "lib/index.cjs",
6
6
  "module": "es/index.mjs",
@@ -36,10 +36,10 @@
36
36
  "@ibiz-template-plugin/data-view": "0.0.6",
37
37
  "@ibiz-template/core": "0.7.41-alpha.35",
38
38
  "@ibiz-template/devtool": "0.0.13",
39
- "@ibiz-template/model-helper": "0.7.41-alpha.40",
40
- "@ibiz-template/runtime": "0.7.41-alpha.40",
39
+ "@ibiz-template/model-helper": "0.7.41-alpha.41",
40
+ "@ibiz-template/runtime": "0.7.41-alpha.41",
41
41
  "@ibiz-template/theme": "0.7.39",
42
- "@ibiz-template/vue3-util": "0.7.41-alpha.40",
42
+ "@ibiz-template/vue3-util": "0.7.41-alpha.41",
43
43
  "@ibiz-template/web-theme": "3.9.0",
44
44
  "@ibiz/model-core": "^0.1.83",
45
45
  "@imengyu/vue3-context-menu": "^1.3.5",