@ibiz-template/vue3-components 0.7.41-alpha.95 → 0.7.41-alpha.97

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 (69) hide show
  1. package/dist/ibiz-markdown-editor-CQRvKzXG.js +1 -0
  2. package/dist/index-CTxNNWbw.js +1 -0
  3. package/dist/index-DAM-lgrU.js +1 -0
  4. package/dist/index-YyzbGEva.js +339 -0
  5. package/dist/{index.es-Cvhhf-Jp.js → index.es-Bx7ry_G4.js} +1 -1
  6. package/dist/index.min.css +1 -1
  7. package/dist/index.system.min.js +1 -1
  8. package/dist/wang-editor-BnRUlcfv.js +1 -0
  9. package/dist/{xlsx-util-Dq_UVHCG.js → xlsx-util-DXx8himL.js} +1 -1
  10. package/es/common/control-navigation/provider/navigation-base.provider.mjs +3 -1
  11. package/es/common/high-light-code/high-light-code-util.mjs +183 -0
  12. package/es/common/high-light-code/high-light-code.css +1 -0
  13. package/es/common/high-light-code/high-light-code.mjs +31 -0
  14. package/es/common/index.mjs +2 -0
  15. package/es/control/dashboard/portlet/menu-portlet/app-menu-portlet/app-menu-portlet.css +1 -1
  16. package/es/control/dashboard/portlet/menu-portlet/app-menu-portlet/app-menu-portlet.mjs +20 -3
  17. package/es/control/dashboard/portlet/rawitem-portlet/rawitem-portlet.mjs +32 -7
  18. package/es/control/data-view/data-view.mjs +98 -2
  19. package/es/control/form/form-detail/form-rawitem/form-rawitem.mjs +3 -1
  20. package/es/control/list/list.css +1 -1
  21. package/es/control/list/list.mjs +80 -2
  22. package/es/control/search-bar/filter-mode-select/filter-mode-select.mjs +2 -2
  23. package/es/control/search-bar/filter-tree/filter-tree.mjs +2 -2
  24. package/es/editor/ai-chat/embed-ai-chat/embed-ai-chat.mjs +10 -3
  25. package/es/editor/code/code-editor.controller.mjs +13 -3
  26. package/es/editor/code/monaco-editor/monaco-editor.css +1 -1
  27. package/es/editor/code/monaco-editor/monaco-editor.mjs +41 -8
  28. package/es/editor/dropdown-list/ibiz-virtualized-list/ibiz-virtualized-list.mjs +1 -1
  29. package/es/editor/html/wang-editor/wang-editor.mjs +5 -1
  30. package/es/editor/markdown/ibiz-markdown-editor/custom-menu.mjs +7 -1
  31. package/es/editor/raw/ibiz-raw/ibiz-raw.mjs +3 -1
  32. package/es/editor/text-box/input/input.mjs +5 -1
  33. package/es/locale/en/index.mjs +4 -3
  34. package/es/locale/zh-CN/index.mjs +4 -3
  35. package/es/util/app-util/app-util.mjs +9 -2
  36. package/es/util/inline-ai-util/inline-ai-util.mjs +17 -1
  37. package/lib/common/control-navigation/provider/navigation-base.provider.cjs +3 -1
  38. package/lib/common/high-light-code/high-light-code-util.cjs +185 -0
  39. package/lib/common/high-light-code/high-light-code.cjs +33 -0
  40. package/lib/common/high-light-code/high-light-code.css +1 -0
  41. package/lib/common/index.cjs +2 -0
  42. package/lib/control/dashboard/portlet/menu-portlet/app-menu-portlet/app-menu-portlet.cjs +20 -3
  43. package/lib/control/dashboard/portlet/menu-portlet/app-menu-portlet/app-menu-portlet.css +1 -1
  44. package/lib/control/dashboard/portlet/rawitem-portlet/rawitem-portlet.cjs +31 -6
  45. package/lib/control/data-view/data-view.cjs +97 -1
  46. package/lib/control/form/form-detail/form-rawitem/form-rawitem.cjs +3 -1
  47. package/lib/control/list/list.cjs +80 -2
  48. package/lib/control/list/list.css +1 -1
  49. package/lib/control/search-bar/filter-mode-select/filter-mode-select.cjs +2 -2
  50. package/lib/control/search-bar/filter-tree/filter-tree.cjs +2 -2
  51. package/lib/editor/ai-chat/embed-ai-chat/embed-ai-chat.cjs +10 -3
  52. package/lib/editor/code/code-editor.controller.cjs +13 -3
  53. package/lib/editor/code/monaco-editor/monaco-editor.cjs +41 -8
  54. package/lib/editor/code/monaco-editor/monaco-editor.css +1 -1
  55. package/lib/editor/dropdown-list/ibiz-virtualized-list/ibiz-virtualized-list.cjs +1 -1
  56. package/lib/editor/html/wang-editor/wang-editor.cjs +5 -1
  57. package/lib/editor/markdown/ibiz-markdown-editor/custom-menu.cjs +7 -1
  58. package/lib/editor/raw/ibiz-raw/ibiz-raw.cjs +3 -1
  59. package/lib/editor/text-box/input/input.cjs +5 -1
  60. package/lib/locale/en/index.cjs +4 -3
  61. package/lib/locale/zh-CN/index.cjs +4 -3
  62. package/lib/util/app-util/app-util.cjs +9 -2
  63. package/lib/util/inline-ai-util/inline-ai-util.cjs +17 -1
  64. package/package.json +6 -6
  65. package/dist/ibiz-markdown-editor-8I67TTyP.js +0 -1
  66. package/dist/index-1KhprUjB.js +0 -339
  67. package/dist/index-ChKlnzfZ.js +0 -1
  68. package/dist/index-DiSn0c6_.js +0 -1
  69. package/dist/wang-editor-D7CsxIdH.js +0 -1
@@ -13,14 +13,13 @@ const IBizEmbedAIChat = /* @__PURE__ */ defineComponent({
13
13
  const c = props.controller;
14
14
  const aiChatElementRef = ref(null);
15
15
  const mountedAIChat = async () => {
16
- var _a;
16
+ var _a, _b;
17
17
  const appDataEntityId = c.model.appDataEntityId;
18
18
  const chatInstance = c.chatInstance;
19
19
  if (!appDataEntityId || !c.deACMode || !chatInstance)
20
20
  return;
21
21
  const topicId = createUUID();
22
22
  const sessionid = ibiz.aiChatUtil.getChatSessionId("TOPIC", topicId);
23
- const topicCaption = "[".concat(c.deACMode.logicName, "]").concat(((_a = props.data) == null ? void 0 : _a.srfmajortext) || "");
24
23
  const tempParams = {
25
24
  ...c.params,
26
25
  ...{
@@ -36,6 +35,14 @@ const IBizEmbedAIChat = /* @__PURE__ */ defineComponent({
36
35
  ctrl: c.ctrl
37
36
  });
38
37
  const resourceOptions = await ibiz.aiChatUtil.getAIResourceOptions(c.context, c.params);
38
+ let topicCaption = "[".concat(c.deACMode.logicName, "]").concat(((_a = props.data) == null ? void 0 : _a.srfmajortext) || "");
39
+ if (c.editorParams.srfaitopiccaption) {
40
+ topicCaption = "[".concat(ibiz.appUtil.resolveI18nText(c.editorParams.srfaitopiccaption), "]").concat(((_b = props.data) == null ? void 0 : _b.srfmajortext) || "");
41
+ }
42
+ let chatCaption = c.deACMode.logicName;
43
+ if (c.editorParams.srfaichatcaption) {
44
+ chatCaption = ibiz.appUtil.resolveI18nText(c.editorParams.srfaichatcaption);
45
+ }
39
46
  chatInstance.create({
40
47
  mode: "TOPIC",
41
48
  resourceOptions,
@@ -51,7 +58,7 @@ const IBizEmbedAIChat = /* @__PURE__ */ defineComponent({
51
58
  ...topicOptions
52
59
  },
53
60
  chatOptions: {
54
- caption: c.deACMode.logicName,
61
+ caption: chatCaption,
55
62
  context: {
56
63
  ...c.context
57
64
  },
@@ -74,6 +74,12 @@ class CodeEditorController extends EditorController {
74
74
  * @memberof CodeEditorController
75
75
  */
76
76
  __publicField(this, "aiChatCaption", "");
77
+ /**
78
+ * @description 函数体
79
+ * @type {string}
80
+ * @memberof CodeEditorController
81
+ */
82
+ __publicField(this, "functionBody", "");
77
83
  }
78
84
  /**
79
85
  * 语言类型
@@ -107,7 +113,8 @@ class CodeEditorController extends EditorController {
107
113
  inlineaichatheight,
108
114
  hidelinenumbers,
109
115
  hideminimap,
110
- aichatcaption
116
+ srfaichatcaption,
117
+ functionbody
111
118
  } = this.editorParams;
112
119
  if (inlineaichatheight)
113
120
  this.inlineAiChatHeight = Number(inlineaichatheight);
@@ -115,8 +122,11 @@ class CodeEditorController extends EditorController {
115
122
  this.hideLineNumbers = this.toBoolean(hidelinenumbers);
116
123
  if (hideminimap)
117
124
  this.hideMinimap = this.toBoolean(hideminimap);
118
- if (aichatcaption) {
119
- this.aiChatCaption = ibiz.appUtil.resolveI18nText(aichatcaption);
125
+ if (srfaichatcaption) {
126
+ this.aiChatCaption = ibiz.appUtil.resolveI18nText(srfaichatcaption);
127
+ }
128
+ if (functionbody) {
129
+ this.functionBody = functionbody;
120
130
  }
121
131
  }
122
132
  const { appDEACModeId, appDataEntityId } = this.model;
@@ -1 +1 @@
1
- .ibiz-code{--ibiz-code-color-text-editor-toolbar-bg:var(--ibiz-color-bg-2);--ibiz-code-color-text-editor-toolbar-text:var(--ibiz-color-text-0);--ibiz-code-color-text-editor-toolbar-item-bg-hover:var(--ibiz-color-primary-light-default);--ibiz-code-color-text-editor-toolbar-item-text-hover:var(--ibiz-color-primary);--ibiz-code-height-text-editor-toolbar:40px;--ibiz-code-footer-toolbar-height:36px;--ibiz-code-footer-button-height:36px;--ibiz-code-spacing-code-text-editor-toolbar-padding:var(--ibiz-spacing-extra-tight);--ibiz-code-spacing-code-text-editor-toolbar-item-padding:var(--ibiz-spacing-extra-tight) var(--ibiz-spacing-tight);--ibiz-code-spacing-code-text-editor-toolbar-circle:var(--ibiz-border-radius-extra-small);--ibiz-code-spacing-code-text-editor-toolbar-item-circle:var(--ibiz-border-radius-extra-small);--ibiz-code-text-editor-toolbar-z-index:1;--ibiz-code-text-editor-toolbar-left:0;--ibiz-code-text-editor-toolbar-top:0;display:flex;flex-direction:column;width:100%;height:100%}.ibiz-code__box{width:100%;height:100%;min-height:200px;overflow:hidden}.ibiz-code__first-prompt::before{padding-right:var(--ibiz-spacing-base);content:var(--ibiz-code-placeholder)}.ibiz-code-toolbar{position:absolute;top:4px;right:18px;z-index:10;display:flex;align-items:center;justify-content:end;width:auto;height:auto;padding-right:0;font-size:var(--ibiz-font-size-header-6)}.ibiz-code-toolbar>*+*{margin-left:var(--ibiz-spacing-base-loose)}.ibiz-code-toolbar__fullscreen{height:38px;padding:0 12px;font-size:var(--ibiz-font-size-regular);font-style:normal;line-height:2.8;cursor:pointer}.ibiz-code-toolbar__fullscreen:hover{background-color:var(--ibiz-color-bg-3)}.ibiz-code-footer{display:flex;align-items:center;justify-content:end;width:100%;min-height:var(--ibiz-code-footer-toolbar-height);margin-top:var(--ibiz-spacing-base-tight);margin-right:var(--ibiz-spacing-tight)}.ibiz-code-footer>*+*{margin-left:var(--ibiz-spacing-base)}.ibiz-code-footer__cancel{height:var(--ibiz-code-footer-button-height);line-height:var(--ibiz-code-footer-button-height);color:var(--ibiz-color-text-1);cursor:pointer;opacity:.7}.ibiz-code-footer__cancel:hover{color:var(--ibiz-color-primary);opacity:1}.ibiz-code-footer__save{width:96px;height:var(--ibiz-code-footer-button-height);line-height:var(--ibiz-code-footer-button-height);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-code-footer__save:hover{box-shadow:0 2px 5px 1px var(--ibiz-color-primary)}.ibiz-code-message{width:500px;max-width:unset}.ibiz-code-message__message-content--message-tip{color:var(--ibiz-color-text-3)}.ibiz-code-message__message-cancel{color:var(--ibiz-color-text-1);background-color:transparent}.ibiz-code-message__message-cancel:hover{color:var(--ibiz-color-primary);background-color:transparent}.ibiz-code-message__message-comfire{background-color:var(--ibiz-color-danger)!important}.ibiz-code-message__message-comfire:hover{box-shadow:0 2px 5px 1px var(--ibiz-color-danger)}.ibiz-code-editor-enable .ibiz-code__box{height:100%}.ibiz-code-editor-enable:has(.ibiz-code-footer) .ibiz-code__box{height:calc(100% - var(--ibiz-code-footer-toolbar-height))}.ibiz-code-dialog-full-screen{width:100%!important;height:100%!important;margin:0!important}.ibiz-code-dialog-full-screen .ibiz-code-footer{--ibiz-code-footer-toolbar-height:68px}.ibiz-code-dialog-full-screen .ibiz-code{gap:0;padding:0 var(--ibiz-spacing-extra-loose);--w-e-toolbar-bg-color:var(--ibiz-color-bg-0)}.ibiz-code-dialog-full-screen .ibiz-code .ibiz-code-toolbar{right:calc(var(--ibiz-spacing-extra-loose) + 18px)}.ibiz-code-dialog-full-screen .el-dialog__header{display:none!important}.ibiz-code-dialog-full-screen .el-dialog__body{width:100%;height:100%;padding:0 0 var(--ibiz-spacing-base)}.ibiz-code-dialog-full-screen .el-dialog__body:has(.ibiz-code-footer){padding-bottom:0}.ibiz-code-footer-dialog{margin-top:0}.ibiz-code-text-editor-toolbar{position:fixed;top:var(--ibiz-code-text-editor-toolbar-top);left:var(--ibiz-code-text-editor-toolbar-left);z-index:var(--ibiz-code-text-editor-toolbar-z-index);display:flex;gap:var(--ibiz-spacing-tight);height:var(--ibiz-code-height-text-editor-toolbar);padding:var(--ibiz-code-spacing-code-text-editor-toolbar-padding);font-size:var(--ibiz-font-size-regular);color:var(--ibiz-code-color-text-editor-toolbar-text);background-color:var(--ibiz-code-color-text-editor-toolbar-bg);border-radius:var(--ibiz-code-spacing-code-text-editor-toolbar-circle);box-shadow:var(--ibiz-shadow-elevated)}.ibiz-code-text-editor-toolbar__item{display:flex;align-items:center;justify-content:center;padding:var(--ibiz-code-spacing-code-text-editor-toolbar-item-padding);cursor:pointer;border-radius:var(--ibiz-code-spacing-code-text-editor-toolbar-item-circle)}.ibiz-code-text-editor-toolbar__item:hover{color:var(--ibiz-code-color-text-editor-toolbar-item-text-hover);background-color:var(--ibiz-code-color-text-editor-toolbar-item-bg-hover)}.ibiz-code.is-dark{--ibiz-code-color-text-editor-toolbar-bg:rgb(53, 54, 60);--ibiz-code-color-text-editor-toolbar-text:rgb(249, 249, 249);--ibiz-code-color-text-editor-toolbar-item-bg-hover:rgba(255, 255, 255, 0.12);--ibiz-code-color-text-editor-toolbar-item-text-hover:rgb(249, 249, 249)}
1
+ .ibiz-code{--ibiz-code-color-text-editor-toolbar-bg:var(--ibiz-color-bg-2);--ibiz-code-color-text-editor-toolbar-text:var(--ibiz-color-text-0);--ibiz-code-color-text-editor-toolbar-item-bg-hover:var(--ibiz-color-primary-light-default);--ibiz-code-color-text-editor-toolbar-item-text-hover:var(--ibiz-color-primary);--ibiz-code-height-text-editor-toolbar:40px;--ibiz-code-footer-toolbar-height:36px;--ibiz-code-footer-button-height:36px;--ibiz-code-spacing-code-text-editor-toolbar-padding:var(--ibiz-spacing-extra-tight);--ibiz-code-spacing-code-text-editor-toolbar-item-padding:var(--ibiz-spacing-extra-tight) var(--ibiz-spacing-tight);--ibiz-code-spacing-code-text-editor-toolbar-circle:var(--ibiz-border-radius-extra-small);--ibiz-code-spacing-code-text-editor-toolbar-item-circle:var(--ibiz-border-radius-extra-small);--ibiz-code-text-editor-toolbar-z-index:1;--ibiz-code-text-editor-toolbar-left:0;--ibiz-code-text-editor-toolbar-top:0;--ibiz-code-popper-shadow:var(--ibiz-shadow-elevated);display:flex;flex-direction:column;width:100%;height:100%}.ibiz-code__box{width:100%;height:100%;min-height:200px;overflow:hidden}.ibiz-code__first-prompt::before{padding-right:var(--ibiz-spacing-base);content:var(--ibiz-code-placeholder)}.ibiz-code-toolbar{position:absolute;top:4px;right:18px;z-index:10;display:flex;align-items:center;justify-content:end;width:auto;height:auto;padding-right:0;font-size:var(--ibiz-font-size-header-6)}.ibiz-code-toolbar>*+*{margin-left:var(--ibiz-spacing-base-loose)}.ibiz-code-toolbar__fullscreen{display:flex;align-items:center;height:38px;padding:0 12px;font-size:var(--ibiz-font-size-header-3);font-style:normal;cursor:pointer}.ibiz-code-toolbar__fullscreen:hover{background-color:var(--ibiz-color-bg-3)}.ibiz-code-footer{display:flex;align-items:center;justify-content:end;width:100%;min-height:var(--ibiz-code-footer-toolbar-height);margin-top:var(--ibiz-spacing-base-tight);margin-right:var(--ibiz-spacing-tight)}.ibiz-code-footer>*+*{margin-left:var(--ibiz-spacing-base)}.ibiz-code-footer__cancel{height:var(--ibiz-code-footer-button-height);line-height:var(--ibiz-code-footer-button-height);color:var(--ibiz-color-text-1);cursor:pointer;opacity:.7}.ibiz-code-footer__cancel:hover{color:var(--ibiz-color-primary);opacity:1}.ibiz-code-footer__save{width:96px;height:var(--ibiz-code-footer-button-height);line-height:var(--ibiz-code-footer-button-height);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-code-footer__save:hover{box-shadow:0 2px 5px 1px var(--ibiz-color-primary)}.ibiz-code-message{width:500px;max-width:unset}.ibiz-code-message__message-content--message-tip{color:var(--ibiz-color-text-3)}.ibiz-code-message__message-cancel{color:var(--ibiz-color-text-1);background-color:transparent}.ibiz-code-message__message-cancel:hover{color:var(--ibiz-color-primary);background-color:transparent}.ibiz-code-message__message-comfire{background-color:var(--ibiz-color-danger)!important}.ibiz-code-message__message-comfire:hover{box-shadow:0 2px 5px 1px var(--ibiz-color-danger)}.ibiz-code-editor-enable .ibiz-code__box{height:100%}.ibiz-code-editor-enable:has(.ibiz-code-footer) .ibiz-code__box{height:calc(100% - var(--ibiz-code-footer-toolbar-height))}.ibiz-code-dialog-full-screen{width:100%!important;height:100%!important;margin:0!important}.ibiz-code-dialog-full-screen .ibiz-code-footer{--ibiz-code-footer-toolbar-height:68px}.ibiz-code-dialog-full-screen .ibiz-code{gap:0;padding:0 var(--ibiz-spacing-extra-loose);--w-e-toolbar-bg-color:var(--ibiz-color-bg-0)}.ibiz-code-dialog-full-screen .ibiz-code .ibiz-code-toolbar{right:calc(var(--ibiz-spacing-extra-loose) + 18px)}.ibiz-code-dialog-full-screen .el-dialog__header{display:none!important}.ibiz-code-dialog-full-screen .el-dialog__body{width:100%;height:100%;padding:0 0 var(--ibiz-spacing-base)}.ibiz-code-dialog-full-screen .el-dialog__body:has(.ibiz-code-footer){padding-bottom:0}.ibiz-code-footer-dialog{margin-top:0}.ibiz-code-text-editor-toolbar{position:fixed;top:var(--ibiz-code-text-editor-toolbar-top);left:var(--ibiz-code-text-editor-toolbar-left);z-index:var(--ibiz-code-text-editor-toolbar-z-index);display:flex;gap:var(--ibiz-spacing-tight);height:var(--ibiz-code-height-text-editor-toolbar);padding:var(--ibiz-code-spacing-code-text-editor-toolbar-padding);font-size:var(--ibiz-font-size-regular);color:var(--ibiz-code-color-text-editor-toolbar-text);background-color:var(--ibiz-code-color-text-editor-toolbar-bg);border-radius:var(--ibiz-code-spacing-code-text-editor-toolbar-circle);box-shadow:var(--ibiz-shadow-elevated)}.ibiz-code-text-editor-toolbar__item{display:flex;align-items:center;justify-content:center;padding:var(--ibiz-code-spacing-code-text-editor-toolbar-item-padding);cursor:pointer;border-radius:var(--ibiz-code-spacing-code-text-editor-toolbar-item-circle)}.ibiz-code-text-editor-toolbar__item:hover{color:var(--ibiz-code-color-text-editor-toolbar-item-text-hover);background-color:var(--ibiz-code-color-text-editor-toolbar-item-bg-hover)}.ibiz-code.is-dark{--ibiz-code-color-text-editor-toolbar-bg:rgb(53, 54, 60);--ibiz-code-color-text-editor-toolbar-text:rgb(249, 249, 249);--ibiz-code-color-text-editor-toolbar-item-bg-hover:rgba(255, 255, 255, 0.12);--ibiz-code-color-text-editor-toolbar-item-text-hover:rgb(249, 249, 249)}.ibiz-code__function{display:flex;align-items:center;height:38px;padding:0 var(--ibiz-spacing-base-tight);font-size:var(--ibiz-font-size-header-3);cursor:pointer}.ibiz-code__function:hover{background-color:var(--ibiz-color-bg-3)}.ibiz-code__function-popper{--ibiz-code-color-text-editor-toolbar-bg:var(--ibiz-color-bg-2);--ibiz-code-color-text-editor-toolbar-text:var(--ibiz-color-text-0);--ibiz-code-color-text-editor-toolbar-item-bg-hover:var(--ibiz-color-primary-light-default);--ibiz-code-color-text-editor-toolbar-item-text-hover:var(--ibiz-color-primary);--ibiz-code-height-text-editor-toolbar:40px;--ibiz-code-footer-toolbar-height:36px;--ibiz-code-footer-button-height:36px;--ibiz-code-spacing-code-text-editor-toolbar-padding:var(--ibiz-spacing-extra-tight);--ibiz-code-spacing-code-text-editor-toolbar-item-padding:var(--ibiz-spacing-extra-tight) var(--ibiz-spacing-tight);--ibiz-code-spacing-code-text-editor-toolbar-circle:var(--ibiz-border-radius-extra-small);--ibiz-code-spacing-code-text-editor-toolbar-item-circle:var(--ibiz-border-radius-extra-small);--ibiz-code-text-editor-toolbar-z-index:1;--ibiz-code-text-editor-toolbar-left:0;--ibiz-code-text-editor-toolbar-top:0;--ibiz-code-popper-shadow:var(--ibiz-shadow-elevated);max-width:50vw;padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base);box-shadow:var(--ibiz-code-popper-shadow)}.ibiz-code__function-popper.el-popper.is-light{background-color:var(--ibiz-color-fill-1)}
@@ -132,7 +132,7 @@ const IBizCode = /* @__PURE__ */ defineComponent({
132
132
  ...containerOptions
133
133
  },
134
134
  chatOptions: {
135
- caption: c.deACMode.logicName,
135
+ caption: "".concat(c.aiChatCaption || c.deACMode.logicName),
136
136
  context: {
137
137
  ...c.context
138
138
  },
@@ -364,14 +364,12 @@ const IBizCode = /* @__PURE__ */ defineComponent({
364
364
  };
365
365
  const isAllowRenderFullScreen = () => {
366
366
  if (enableFullScreen.value)
367
- return createVNode("span", {
367
+ return createVNode("div", {
368
368
  "class": ns.be("toolbar", "fullscreen"),
369
369
  "title": ibiz.i18n.t("editor.common.".concat(isFullScreen.value ? "minimize" : "fullscreen")),
370
370
  "onClick": () => changeFullScreenState()
371
- }, [isFullScreen.value ? createVNode("i", {
372
- "class": "ch-icon ch-icon-minscreen"
373
- }, null) : createVNode("i", {
374
- "class": "ch-icon ch-icon-fullscreen"
371
+ }, [createVNode("ion-icon", {
372
+ "name": isFullScreen.value ? "contract-outline" : "resize-outline"
375
373
  }, null)]);
376
374
  return null;
377
375
  };
@@ -428,15 +426,50 @@ const IBizCode = /* @__PURE__ */ defineComponent({
428
426
  }
429
427
  return null;
430
428
  };
429
+ const renderFunctionBody = () => {
430
+ if (!c.functionBody) {
431
+ return null;
432
+ }
433
+ return createVNode("div", {
434
+ "class": ns.e("function")
435
+ }, [createVNode(resolveComponent("el-tooltip"), {
436
+ "trigger": "click",
437
+ "effect": "light",
438
+ "popper-class": ns.e("function-popper")
439
+ }, {
440
+ default: () => {
441
+ return createVNode("div", {
442
+ "title": ibiz.i18n.t("editor.code.functionBody")
443
+ }, [createVNode("svg", {
444
+ "viewBox": "0 0 1024 1024",
445
+ "version": "1.1",
446
+ "xmlns": "http://www.w3.org/2000/svg",
447
+ "p-id": "8206",
448
+ "width": "1em",
449
+ "height": "1em"
450
+ }, [createVNode("path", {
451
+ "d": "M469.211429 292.571429a36.571429 36.571429 0 0 0 0-73.142858h-259.657143a36.571429 36.571429 0 0 0-36.571429 36.571429v512a36.571429 36.571429 0 0 0 73.142857 0v-236.251429h223.085715a36.571429 36.571429 0 0 0 0-73.142857h-223.085715V292.571429zM741.302857 367.908571a182.857143 182.857143 0 0 0-182.857143 182.857143v219.428572a36.571429 36.571429 0 0 0 73.142857 0v-219.428572a109.714286 109.714286 0 1 1 219.428572 0v219.428572a36.571429 36.571429 0 0 0 73.142857 0v-219.428572a182.857143 182.857143 0 0 0-182.857143-182.857143z",
452
+ "fill": "currentColor",
453
+ "p-id": "8207"
454
+ }, null)])]);
455
+ },
456
+ content: () => {
457
+ return createVNode(resolveComponent("iBizHighLightCode"), {
458
+ "class": ns.e("function-signature"),
459
+ "code": c.functionBody
460
+ }, null);
461
+ }
462
+ })]);
463
+ };
431
464
  const renderHeaderToolbar = () => {
432
- if (hasEnableEdit.value || enableFullScreen.value) {
465
+ if (hasEnableEdit.value || enableFullScreen.value || c.functionBody) {
433
466
  return createVNode("div", {
434
467
  "class": ns.b("toolbar")
435
468
  }, [hasEnableEdit.value && enableEdit.value && readonlyState.value ? createVNode("i", {
436
469
  "class": "fa fa-edit",
437
470
  "aria-hidden": "true",
438
471
  "onClick": () => changeEditState()
439
- }, null) : null, isAllowRenderFullScreen()]);
472
+ }, null) : null, renderFunctionBody(), isAllowRenderFullScreen()]);
440
473
  }
441
474
  return null;
442
475
  };
@@ -60,7 +60,7 @@ const IBizVirtualizedList = /* @__PURE__ */ defineComponent({
60
60
  if (c.blankItemName && !c.multiple) {
61
61
  items.value = [{
62
62
  value: void 0,
63
- text: c.blankItemName
63
+ text: ibiz.appUtil.resolveI18nText(c.blankItemName)
64
64
  }, ...codeList];
65
65
  } else {
66
66
  items.value = codeList;
@@ -230,6 +230,10 @@ const IBizHtml = /* @__PURE__ */ defineComponent({
230
230
  ctrl: c.ctrl
231
231
  });
232
232
  const resourceOptions = await ibiz.aiChatUtil.getAIResourceOptions(c.context, c.params);
233
+ let chatCaption = c.deACMode.logicName;
234
+ if (c.editorParams.srfaichatcaption) {
235
+ chatCaption = ibiz.appUtil.resolveI18nText(c.editorParams.srfaichatcaption);
236
+ }
233
237
  chatInstance.create({
234
238
  resourceOptions,
235
239
  containerOptions: {
@@ -237,7 +241,7 @@ const IBizHtml = /* @__PURE__ */ defineComponent({
237
241
  ...containerOptions
238
242
  },
239
243
  chatOptions: {
240
- caption: c.deACMode.logicName,
244
+ caption: chatCaption,
241
245
  context: {
242
246
  ...c.context
243
247
  },
@@ -74,6 +74,12 @@ function initCustomMenu(c, opts) {
74
74
  c.context,
75
75
  c.params
76
76
  );
77
+ let chatCaption = c.deACMode.logicName;
78
+ if (c.editorParams.srfaichatcaption) {
79
+ chatCaption = ibiz.appUtil.resolveI18nText(
80
+ c.editorParams.srfaichatcaption
81
+ );
82
+ }
77
83
  chatInstance.create({
78
84
  resourceOptions,
79
85
  containerOptions: {
@@ -81,7 +87,7 @@ function initCustomMenu(c, opts) {
81
87
  ...containerOptions
82
88
  },
83
89
  chatOptions: {
84
- caption: c.deACMode.logicName,
90
+ caption: chatCaption,
85
91
  context: { ...c.context },
86
92
  params: { ...c.params, srfactag: c.deACMode.codeName },
87
93
  appDataEntityId,
@@ -55,7 +55,9 @@ const IBizRaw = /* @__PURE__ */ defineComponent({
55
55
  Object.assign(obj, {
56
56
  data: {
57
57
  ...props.data
58
- }
58
+ },
59
+ context: c.context,
60
+ params: c.params
59
61
  });
60
62
  }
61
63
  ibiz.log.debug("\u6A21\u677F\u5185\u5BB9\uFF1A", template);
@@ -176,6 +176,10 @@ const IBizInput = /* @__PURE__ */ defineComponent({
176
176
  ctrl: c.ctrl
177
177
  });
178
178
  const resourceOptions = await ibiz.aiChatUtil.getAIResourceOptions(c.context, c.params);
179
+ let chatCaption = c.deACMode.logicName;
180
+ if (c.editorParams.srfaichatcaption) {
181
+ chatCaption = ibiz.appUtil.resolveI18nText(c.editorParams.srfaichatcaption);
182
+ }
179
183
  chatInstance.create({
180
184
  resourceOptions,
181
185
  containerOptions: {
@@ -183,7 +187,7 @@ const IBizInput = /* @__PURE__ */ defineComponent({
183
187
  ...containerOptions
184
188
  },
185
189
  chatOptions: {
186
- caption: c.deACMode.logicName,
190
+ caption: chatCaption,
187
191
  context: {
188
192
  ...c.context
189
193
  },
@@ -35,7 +35,7 @@ var index = {
35
35
  fullscreen: "Fullscreen",
36
36
  cancelFullscreen: "Cancel fullscreen",
37
37
  tips: "tips",
38
- changeLanguage: "Switching languages requires refreshing the page to confirm the switch",
38
+ changeLanguage: "Switching languages requires refreshing the page, are you sure to switch?",
39
39
  piece: ""
40
40
  },
41
41
  // 视图
@@ -504,7 +504,7 @@ var index = {
504
504
  in: "Value In range (In)",
505
505
  not_in: "Value not in range (NotIn)",
506
506
  like: "Text contains (%)",
507
- lift_like: "Text left contained (%#)",
507
+ left_like: "Text left contained (%#)",
508
508
  right_like: "Text right included (#%)",
509
509
  exists: "exists(EXISTS)",
510
510
  not_exists: "Does not exist (NOTEXISTS)"
@@ -656,7 +656,8 @@ var index = {
656
656
  noSelStart: "No start position of current selection",
657
657
  noEditorRect: "No editor DOM node position info",
658
658
  noSelCoords: "No scroll coordinates of selection",
659
- editorNotInit: "Editor not initialized"
659
+ editorNotInit: "Editor not initialized",
660
+ functionBody: "Function body"
660
661
  },
661
662
  dateRange: {
662
663
  rangeSeparator: "To"
@@ -35,7 +35,7 @@ var index = {
35
35
  fullscreen: "\u5168\u5C4F",
36
36
  cancelFullscreen: "\u53D6\u6D88\u5168\u5C4F",
37
37
  tips: "\u63D0\u793A",
38
- changeLanguage: "\u5207\u6362\u8BED\u8A00\u9700\u8981\u5237\u65B0\u9875\u9762\uFF0C\u786E\u8BA4\u5207\u6362",
38
+ changeLanguage: "\u5207\u6362\u8BED\u8A00\u9700\u8981\u5237\u65B0\u9875\u9762\uFF0C\u786E\u8BA4\u5207\u6362?",
39
39
  piece: "\u4E2A"
40
40
  },
41
41
  // 视图
@@ -500,7 +500,7 @@ var index = {
500
500
  in: "\u503C\u5728\u8303\u56F4\u4E2D(In)",
501
501
  not_in: "\u503C\u4E0D\u5728\u8303\u56F4\u4E2D(NotIn)",
502
502
  like: "\u6587\u672C\u5305\u542B(%)",
503
- lift_like: "\u6587\u672C\u5DE6\u5305\u542B(%#)",
503
+ left_like: "\u6587\u672C\u5DE6\u5305\u542B(%#)",
504
504
  right_like: "\u6587\u672C\u53F3\u5305\u542B(#%)",
505
505
  exists: "\u5B58\u5728(EXISTS)",
506
506
  not_exists: "\u4E0D\u5B58\u5728(NOTEXISTS)"
@@ -652,7 +652,8 @@ var index = {
652
652
  noSelStart: "\u672A\u83B7\u53D6\u5230\u5F53\u524D\u9009\u4E2D\u533A\u57DF\u7684\u8D77\u59CB\u4F4D\u7F6E",
653
653
  noEditorRect: "\u672A\u83B7\u53D6\u5230\u7F16\u8F91\u5668DOM\u8282\u70B9\u7684\u4F4D\u7F6E\u4FE1\u606F",
654
654
  noSelCoords: "\u672A\u8BA1\u7B97\u51FA\u9009\u4E2D\u4F4D\u7F6E\u7684\u6EDA\u52A8\u53EF\u89C6\u5750\u6807",
655
- editorNotInit: "\u7F16\u8F91\u5668\u672A\u521D\u59CB\u5316"
655
+ editorNotInit: "\u7F16\u8F91\u5668\u672A\u521D\u59CB\u5316",
656
+ functionBody: "\u51FD\u6570\u4F53"
656
657
  },
657
658
  dateRange: {
658
659
  rangeSeparator: "\u81F3"
@@ -235,7 +235,6 @@ class AppUtil {
235
235
  let topicId = "".concat(appDataEntityId, "@").concat(appDEACModeId, "@");
236
236
  topicId += context[appDataEntityName] ? context[appDataEntityName] : "default";
237
237
  const sessionid = ibiz.aiChatUtil.getChatSessionId("TOPIC", topicId);
238
- const topicCaption = "[".concat(deACMode.logicName, "]").concat((data == null ? void 0 : data.srfmajortext) || "");
239
238
  const tempParams = { ...params, ...{ srfactag: deACMode.codeName } };
240
239
  const { zIndex } = useUIStore();
241
240
  const containerZIndex = zIndex.increment();
@@ -250,6 +249,14 @@ class AppUtil {
250
249
  context,
251
250
  params
252
251
  );
252
+ let topicCaption = "[".concat(deACMode.logicName, "]").concat((data == null ? void 0 : data.srfmajortext) || "");
253
+ if (params.srfaitopiccaption) {
254
+ topicCaption = "[".concat(ibiz.appUtil.resolveI18nText(params.srfaitopiccaption), "]").concat((data == null ? void 0 : data.srfmajortext) || "");
255
+ }
256
+ let chatCaption = deACMode.logicName;
257
+ if (params.srfaichatcaption) {
258
+ chatCaption = ibiz.appUtil.resolveI18nText(params.srfaichatcaption);
259
+ }
253
260
  return new Promise((resolve) => {
254
261
  chatInstance.create({
255
262
  mode: "TOPIC",
@@ -268,7 +275,7 @@ class AppUtil {
268
275
  ...topicOptions
269
276
  },
270
277
  chatOptions: {
271
- caption: deACMode.logicName,
278
+ caption: chatCaption,
272
279
  context: { ...context },
273
280
  params: tempParams,
274
281
  appDataEntityId,
@@ -37,6 +37,12 @@ class InLineAIUtil {
37
37
  if (item.detailType === "DEUIACTION" && ((_a2 = item.uiactionId) == null ? void 0 : _a2.startsWith("inline"))) {
38
38
  if (item.showCaption && item.caption) {
39
39
  menuItem.label = item.caption;
40
+ if (item.capLanguageRes && item.capLanguageRes.lanResTag) {
41
+ menuItem.label = ibiz.i18n.t(
42
+ item.capLanguageRes.lanResTag,
43
+ item.caption
44
+ );
45
+ }
40
46
  }
41
47
  if (item.sysImage && item.showIcon) {
42
48
  menuItem.icon = h("iBizIcon", {
@@ -57,8 +63,18 @@ class InLineAIUtil {
57
63
  var _a3;
58
64
  return detail.detailType === "DEUIACTION" && ((_a3 = detail.uiactionId) == null ? void 0 : _a3.startsWith("inline"));
59
65
  }).map((detail) => {
66
+ let caption;
67
+ if (detail.showCaption) {
68
+ caption = detail.caption;
69
+ if (detail.capLanguageRes && detail.capLanguageRes.lanResTag) {
70
+ caption = ibiz.i18n.t(
71
+ detail.capLanguageRes.lanResTag,
72
+ detail.caption
73
+ );
74
+ }
75
+ }
60
76
  return {
61
- label: detail.showCaption ? detail.caption : void 0,
77
+ label: caption,
62
78
  icon: detail.showIcon && detail.sysImage ? h("iBizIcon", {
63
79
  icon: detail.sysImage
64
80
  }) : void 0,
@@ -108,7 +108,9 @@ class NavgationBaseProvider {
108
108
  */
109
109
  setNavData(data) {
110
110
  this.controller.setNavData(data);
111
- this.controller.setSelection([data]);
111
+ setTimeout(() => {
112
+ this.controller.setSelection([data]);
113
+ }, 0);
112
114
  }
113
115
  /**
114
116
  * 通过栈数据导航
@@ -0,0 +1,185 @@
1
+ 'use strict';
2
+
3
+ "use strict";
4
+ const KEYWORDS = /* @__PURE__ */ new Set([
5
+ "async",
6
+ "function",
7
+ "Function",
8
+ "return",
9
+ "const",
10
+ "let",
11
+ "var",
12
+ "await",
13
+ "new",
14
+ "this",
15
+ "null",
16
+ "undefined",
17
+ "true",
18
+ "false"
19
+ ]);
20
+ function escapeHtml(s) {
21
+ return s.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
22
+ }
23
+ function normalizeFunctionBody(src) {
24
+ const open = src.lastIndexOf("{");
25
+ if (open === -1)
26
+ return src;
27
+ let depth = 0;
28
+ let close = -1;
29
+ let i = open;
30
+ while (i < src.length) {
31
+ const ch = src[i];
32
+ if (ch === '"' || ch === "'" || ch === "`") {
33
+ const q = ch;
34
+ i++;
35
+ while (i < src.length && src[i] !== q) {
36
+ if (src[i] === "\\")
37
+ i++;
38
+ i++;
39
+ }
40
+ i++;
41
+ continue;
42
+ }
43
+ if (ch === "/" && src[i + 1] === "/") {
44
+ while (i < src.length && src[i] !== "\n")
45
+ i++;
46
+ continue;
47
+ }
48
+ if (ch === "/" && src[i + 1] === "*") {
49
+ i += 2;
50
+ while (i < src.length - 1 && !(src[i] === "*" && src[i + 1] === "/"))
51
+ i++;
52
+ i += 2;
53
+ continue;
54
+ }
55
+ if (ch === "{")
56
+ depth++;
57
+ else if (ch === "}") {
58
+ depth--;
59
+ if (depth === 0) {
60
+ close = i;
61
+ break;
62
+ }
63
+ }
64
+ i++;
65
+ }
66
+ if (close === -1)
67
+ return src;
68
+ const inner = src.slice(open + 1, close);
69
+ if (/\n/.test(inner))
70
+ return src;
71
+ const trimmed = inner.trim();
72
+ const indented = trimmed ? "\n ".concat(trimmed, "\n") : "\n";
73
+ return src.slice(0, open + 1) + indented + src.slice(close);
74
+ }
75
+ const highlight = (src) => {
76
+ src = normalizeFunctionBody(src);
77
+ let result = "";
78
+ let i = 0;
79
+ console.log(src);
80
+ while (i < src.length) {
81
+ if (src[i] === "/" && src[i + 1] === "/") {
82
+ let j = i;
83
+ while (j < src.length && src[j] !== "\n")
84
+ j++;
85
+ result += '<span class="comment">'.concat(escapeHtml(src.slice(i, j)), "</span>");
86
+ i = j;
87
+ continue;
88
+ }
89
+ if (src[i] === "/" && src[i + 1] === "*") {
90
+ let j = i + 2;
91
+ while (j < src.length - 1 && !(src[j] === "*" && src[j + 1] === "/"))
92
+ j++;
93
+ j += 2;
94
+ result += '<span class="comment">'.concat(escapeHtml(src.slice(i, j)), "</span>");
95
+ i = j;
96
+ continue;
97
+ }
98
+ if (src[i] === '"' || src[i] === "'" || src[i] === "`") {
99
+ const quote = src[i];
100
+ let j = i + 1;
101
+ while (j < src.length && src[j] !== quote) {
102
+ if (src[j] === "\\")
103
+ j++;
104
+ j++;
105
+ }
106
+ j++;
107
+ result += '<span class="string">'.concat(escapeHtml(src.slice(i, j)), "</span>");
108
+ i = j;
109
+ continue;
110
+ }
111
+ if (/[0-9]/.test(src[i])) {
112
+ let j = i;
113
+ while (j < src.length && /[0-9._]/.test(src[j]))
114
+ j++;
115
+ result += '<span class="number">'.concat(escapeHtml(src.slice(i, j)), "</span>");
116
+ i = j;
117
+ continue;
118
+ }
119
+ if (/[a-zA-Z_$]/.test(src[i])) {
120
+ let j = i;
121
+ while (j < src.length && /[a-zA-Z0-9_$]/.test(src[j]))
122
+ j++;
123
+ const word = src.slice(i, j);
124
+ let k = j;
125
+ while (k < src.length && src[k] === " ")
126
+ k++;
127
+ const isCall = src[k] === "(";
128
+ let m = j;
129
+ while (m < src.length && src[m] === " ")
130
+ m++;
131
+ const isTyped = src[m] === ":";
132
+ if (KEYWORDS.has(word)) {
133
+ result += '<span class="keyword">'.concat(escapeHtml(word), "</span>");
134
+ } else if (isTyped) {
135
+ result += '<span class="param">'.concat(escapeHtml(word), "</span>");
136
+ } else if (isCall) {
137
+ result += '<span class="fn-call">'.concat(escapeHtml(word), "</span>");
138
+ } else {
139
+ result += '<span class="ident">'.concat(escapeHtml(word), "</span>");
140
+ }
141
+ i = j;
142
+ continue;
143
+ }
144
+ if (src[i] === ":") {
145
+ result += '<span class="punct">:</span>';
146
+ i++;
147
+ let ws = "";
148
+ while (i < src.length && src[i] === " ") {
149
+ ws += src[i];
150
+ i++;
151
+ }
152
+ if (ws)
153
+ result += ws;
154
+ if (i < src.length && /[a-zA-Z_$]/.test(src[i])) {
155
+ let j = i;
156
+ while (j < src.length && /[a-zA-Z0-9_$<>[\]|&]/.test(src[j]))
157
+ j++;
158
+ result += '<span class="type">'.concat(escapeHtml(src.slice(i, j)), "</span>");
159
+ i = j;
160
+ }
161
+ continue;
162
+ }
163
+ if ("(){}[]".includes(src[i])) {
164
+ const cls = "([{".includes(src[i]) ? "bracket-open" : "bracket-close";
165
+ result += '<span class="bracket '.concat(cls, '">').concat(escapeHtml(src[i]), "</span>");
166
+ i++;
167
+ continue;
168
+ }
169
+ if (",;.".includes(src[i])) {
170
+ result += '<span class="punct">'.concat(escapeHtml(src[i]), "</span>");
171
+ i++;
172
+ continue;
173
+ }
174
+ if ("=><+-*/%!&|^~".includes(src[i])) {
175
+ result += '<span class="operator">'.concat(escapeHtml(src[i]), "</span>");
176
+ i++;
177
+ continue;
178
+ }
179
+ result += escapeHtml(src[i]);
180
+ i++;
181
+ }
182
+ return result;
183
+ };
184
+
185
+ exports.highlight = highlight;
@@ -0,0 +1,33 @@
1
+ 'use strict';
2
+
3
+ var vue = require('vue');
4
+ var vue3Util = require('@ibiz-template/vue3-util');
5
+ var highLightCodeUtil = require('./high-light-code-util.cjs');
6
+ require('./high-light-code.css');
7
+
8
+ "use strict";
9
+ const IBizHighLightCode = /* @__PURE__ */ vue.defineComponent({
10
+ name: "IBizHighLightCode",
11
+ props: {
12
+ code: {
13
+ type: String,
14
+ required: true
15
+ }
16
+ },
17
+ setup(props) {
18
+ const ns = vue3Util.useNamespace("high-light-code");
19
+ const highlighted = vue.computed(() => highLightCodeUtil.highlight(props.code));
20
+ return {
21
+ ns,
22
+ highlighted
23
+ };
24
+ },
25
+ render() {
26
+ return vue.createVNode("div", {
27
+ "class": this.ns.b(),
28
+ "innerHTML": this.highlighted
29
+ }, null);
30
+ }
31
+ });
32
+
33
+ exports.IBizHighLightCode = IBizHighLightCode;
@@ -0,0 +1 @@
1
+ .ibiz-high-light-code{color:var(--ibiz-color-text-3);white-space:break-spaces}.ibiz-high-light-code .keyword{color:#7f77dd}.ibiz-high-light-code .type{color:#378add}.ibiz-high-light-code .param{color:#1d9e75}.ibiz-high-light-code .ident{color:#1d9e75}.ibiz-high-light-code .fn-call{color:#d2a8ff}.ibiz-high-light-code .string{color:#639922}.ibiz-high-light-code .number{color:#79c0ff}.ibiz-high-light-code .comment{font-style:italic;color:#8b949e}.ibiz-high-light-code .operator{color:#ff7b72}.ibiz-high-light-code .punct{color:#8b949e}.ibiz-high-light-code .bracket-open{color:#e3b341}.ibiz-high-light-code .bracket-close{color:#e3b341}
@@ -38,6 +38,7 @@ var navSplit = require('./nav-split/nav-split.cjs');
38
38
  var cropping = require('./cropping/cropping.cjs');
39
39
  var editorEmptyText = require('./editor-empty-text/editor-empty-text.cjs');
40
40
  var kanbenSetting = require('./kanben-setting/kanben-setting.cjs');
41
+ var highLightCode = require('./high-light-code/high-light-code.cjs');
41
42
 
42
43
  "use strict";
43
44
  const IBizCommonComponents = {
@@ -96,6 +97,7 @@ const IBizCommonComponents = {
96
97
  v.component(ganttSetting.IBizGanttSetting.name, ganttSetting.IBizGanttSetting);
97
98
  v.component(navSplit.IBizNavSplit.name, navSplit.IBizNavSplit);
98
99
  v.component(vue3Util.IBizSignaturePad.name, vue3Util.IBizSignaturePad);
100
+ v.component(highLightCode.IBizHighLightCode.name, highLightCode.IBizHighLightCode);
99
101
  }
100
102
  };
101
103