@ibiz-template/vue3-components 0.7.41-alpha.96 → 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 (53) hide show
  1. package/dist/index-CTxNNWbw.js +1 -0
  2. package/dist/index-DAM-lgrU.js +1 -0
  3. package/dist/{index-CSWh3Soj.js → index-YyzbGEva.js} +7 -7
  4. package/dist/{index.es-COHR8lWq.js → index.es-Bx7ry_G4.js} +1 -1
  5. package/dist/index.min.css +1 -1
  6. package/dist/index.system.min.js +1 -1
  7. package/dist/{wang-editor-DGTnSGqn.js → wang-editor-BnRUlcfv.js} +1 -1
  8. package/dist/{xlsx-util-CzrO72Os.js → xlsx-util-DXx8himL.js} +1 -1
  9. package/es/common/control-navigation/provider/navigation-base.provider.mjs +3 -1
  10. package/es/common/high-light-code/high-light-code-util.mjs +183 -0
  11. package/es/common/high-light-code/high-light-code.css +1 -0
  12. package/es/common/high-light-code/high-light-code.mjs +31 -0
  13. package/es/common/index.mjs +2 -0
  14. package/es/control/dashboard/portlet/menu-portlet/app-menu-portlet/app-menu-portlet.css +1 -1
  15. package/es/control/dashboard/portlet/menu-portlet/app-menu-portlet/app-menu-portlet.mjs +20 -3
  16. package/es/control/dashboard/portlet/rawitem-portlet/rawitem-portlet.mjs +32 -7
  17. package/es/control/data-view/data-view.mjs +2 -2
  18. package/es/control/form/form-detail/form-rawitem/form-rawitem.mjs +3 -1
  19. package/es/control/list/list.css +1 -1
  20. package/es/control/list/list.mjs +6 -3
  21. package/es/control/search-bar/filter-mode-select/filter-mode-select.mjs +2 -2
  22. package/es/control/search-bar/filter-tree/filter-tree.mjs +2 -2
  23. package/es/editor/code/code-editor.controller.mjs +11 -1
  24. package/es/editor/code/monaco-editor/monaco-editor.css +1 -1
  25. package/es/editor/code/monaco-editor/monaco-editor.mjs +40 -7
  26. package/es/editor/raw/ibiz-raw/ibiz-raw.mjs +3 -1
  27. package/es/locale/en/index.mjs +4 -3
  28. package/es/locale/zh-CN/index.mjs +4 -3
  29. package/es/util/inline-ai-util/inline-ai-util.mjs +17 -1
  30. package/lib/common/control-navigation/provider/navigation-base.provider.cjs +3 -1
  31. package/lib/common/high-light-code/high-light-code-util.cjs +185 -0
  32. package/lib/common/high-light-code/high-light-code.cjs +33 -0
  33. package/lib/common/high-light-code/high-light-code.css +1 -0
  34. package/lib/common/index.cjs +2 -0
  35. package/lib/control/dashboard/portlet/menu-portlet/app-menu-portlet/app-menu-portlet.cjs +20 -3
  36. package/lib/control/dashboard/portlet/menu-portlet/app-menu-portlet/app-menu-portlet.css +1 -1
  37. package/lib/control/dashboard/portlet/rawitem-portlet/rawitem-portlet.cjs +31 -6
  38. package/lib/control/data-view/data-view.cjs +2 -2
  39. package/lib/control/form/form-detail/form-rawitem/form-rawitem.cjs +3 -1
  40. package/lib/control/list/list.cjs +6 -3
  41. package/lib/control/list/list.css +1 -1
  42. package/lib/control/search-bar/filter-mode-select/filter-mode-select.cjs +2 -2
  43. package/lib/control/search-bar/filter-tree/filter-tree.cjs +2 -2
  44. package/lib/editor/code/code-editor.controller.cjs +11 -1
  45. package/lib/editor/code/monaco-editor/monaco-editor.cjs +40 -7
  46. package/lib/editor/code/monaco-editor/monaco-editor.css +1 -1
  47. package/lib/editor/raw/ibiz-raw/ibiz-raw.cjs +3 -1
  48. package/lib/locale/en/index.cjs +4 -3
  49. package/lib/locale/zh-CN/index.cjs +4 -3
  50. package/lib/util/inline-ai-util/inline-ai-util.cjs +17 -1
  51. package/package.json +5 -5
  52. package/dist/index-ChKlnzfZ.js +0 -1
  53. package/dist/index-DiSn0c6_.js +0 -1
@@ -106,7 +106,9 @@ class NavgationBaseProvider {
106
106
  */
107
107
  setNavData(data) {
108
108
  this.controller.setNavData(data);
109
- this.controller.setSelection([data]);
109
+ setTimeout(() => {
110
+ this.controller.setSelection([data]);
111
+ }, 0);
110
112
  }
111
113
  /**
112
114
  * 通过栈数据导航
@@ -0,0 +1,183 @@
1
+ "use strict";
2
+ const KEYWORDS = /* @__PURE__ */ new Set([
3
+ "async",
4
+ "function",
5
+ "Function",
6
+ "return",
7
+ "const",
8
+ "let",
9
+ "var",
10
+ "await",
11
+ "new",
12
+ "this",
13
+ "null",
14
+ "undefined",
15
+ "true",
16
+ "false"
17
+ ]);
18
+ function escapeHtml(s) {
19
+ return s.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
20
+ }
21
+ function normalizeFunctionBody(src) {
22
+ const open = src.lastIndexOf("{");
23
+ if (open === -1)
24
+ return src;
25
+ let depth = 0;
26
+ let close = -1;
27
+ let i = open;
28
+ while (i < src.length) {
29
+ const ch = src[i];
30
+ if (ch === '"' || ch === "'" || ch === "`") {
31
+ const q = ch;
32
+ i++;
33
+ while (i < src.length && src[i] !== q) {
34
+ if (src[i] === "\\")
35
+ i++;
36
+ i++;
37
+ }
38
+ i++;
39
+ continue;
40
+ }
41
+ if (ch === "/" && src[i + 1] === "/") {
42
+ while (i < src.length && src[i] !== "\n")
43
+ i++;
44
+ continue;
45
+ }
46
+ if (ch === "/" && src[i + 1] === "*") {
47
+ i += 2;
48
+ while (i < src.length - 1 && !(src[i] === "*" && src[i + 1] === "/"))
49
+ i++;
50
+ i += 2;
51
+ continue;
52
+ }
53
+ if (ch === "{")
54
+ depth++;
55
+ else if (ch === "}") {
56
+ depth--;
57
+ if (depth === 0) {
58
+ close = i;
59
+ break;
60
+ }
61
+ }
62
+ i++;
63
+ }
64
+ if (close === -1)
65
+ return src;
66
+ const inner = src.slice(open + 1, close);
67
+ if (/\n/.test(inner))
68
+ return src;
69
+ const trimmed = inner.trim();
70
+ const indented = trimmed ? "\n ".concat(trimmed, "\n") : "\n";
71
+ return src.slice(0, open + 1) + indented + src.slice(close);
72
+ }
73
+ const highlight = (src) => {
74
+ src = normalizeFunctionBody(src);
75
+ let result = "";
76
+ let i = 0;
77
+ console.log(src);
78
+ while (i < src.length) {
79
+ if (src[i] === "/" && src[i + 1] === "/") {
80
+ let j = i;
81
+ while (j < src.length && src[j] !== "\n")
82
+ j++;
83
+ result += '<span class="comment">'.concat(escapeHtml(src.slice(i, j)), "</span>");
84
+ i = j;
85
+ continue;
86
+ }
87
+ if (src[i] === "/" && src[i + 1] === "*") {
88
+ let j = i + 2;
89
+ while (j < src.length - 1 && !(src[j] === "*" && src[j + 1] === "/"))
90
+ j++;
91
+ j += 2;
92
+ result += '<span class="comment">'.concat(escapeHtml(src.slice(i, j)), "</span>");
93
+ i = j;
94
+ continue;
95
+ }
96
+ if (src[i] === '"' || src[i] === "'" || src[i] === "`") {
97
+ const quote = src[i];
98
+ let j = i + 1;
99
+ while (j < src.length && src[j] !== quote) {
100
+ if (src[j] === "\\")
101
+ j++;
102
+ j++;
103
+ }
104
+ j++;
105
+ result += '<span class="string">'.concat(escapeHtml(src.slice(i, j)), "</span>");
106
+ i = j;
107
+ continue;
108
+ }
109
+ if (/[0-9]/.test(src[i])) {
110
+ let j = i;
111
+ while (j < src.length && /[0-9._]/.test(src[j]))
112
+ j++;
113
+ result += '<span class="number">'.concat(escapeHtml(src.slice(i, j)), "</span>");
114
+ i = j;
115
+ continue;
116
+ }
117
+ if (/[a-zA-Z_$]/.test(src[i])) {
118
+ let j = i;
119
+ while (j < src.length && /[a-zA-Z0-9_$]/.test(src[j]))
120
+ j++;
121
+ const word = src.slice(i, j);
122
+ let k = j;
123
+ while (k < src.length && src[k] === " ")
124
+ k++;
125
+ const isCall = src[k] === "(";
126
+ let m = j;
127
+ while (m < src.length && src[m] === " ")
128
+ m++;
129
+ const isTyped = src[m] === ":";
130
+ if (KEYWORDS.has(word)) {
131
+ result += '<span class="keyword">'.concat(escapeHtml(word), "</span>");
132
+ } else if (isTyped) {
133
+ result += '<span class="param">'.concat(escapeHtml(word), "</span>");
134
+ } else if (isCall) {
135
+ result += '<span class="fn-call">'.concat(escapeHtml(word), "</span>");
136
+ } else {
137
+ result += '<span class="ident">'.concat(escapeHtml(word), "</span>");
138
+ }
139
+ i = j;
140
+ continue;
141
+ }
142
+ if (src[i] === ":") {
143
+ result += '<span class="punct">:</span>';
144
+ i++;
145
+ let ws = "";
146
+ while (i < src.length && src[i] === " ") {
147
+ ws += src[i];
148
+ i++;
149
+ }
150
+ if (ws)
151
+ result += ws;
152
+ if (i < src.length && /[a-zA-Z_$]/.test(src[i])) {
153
+ let j = i;
154
+ while (j < src.length && /[a-zA-Z0-9_$<>[\]|&]/.test(src[j]))
155
+ j++;
156
+ result += '<span class="type">'.concat(escapeHtml(src.slice(i, j)), "</span>");
157
+ i = j;
158
+ }
159
+ continue;
160
+ }
161
+ if ("(){}[]".includes(src[i])) {
162
+ const cls = "([{".includes(src[i]) ? "bracket-open" : "bracket-close";
163
+ result += '<span class="bracket '.concat(cls, '">').concat(escapeHtml(src[i]), "</span>");
164
+ i++;
165
+ continue;
166
+ }
167
+ if (",;.".includes(src[i])) {
168
+ result += '<span class="punct">'.concat(escapeHtml(src[i]), "</span>");
169
+ i++;
170
+ continue;
171
+ }
172
+ if ("=><+-*/%!&|^~".includes(src[i])) {
173
+ result += '<span class="operator">'.concat(escapeHtml(src[i]), "</span>");
174
+ i++;
175
+ continue;
176
+ }
177
+ result += escapeHtml(src[i]);
178
+ i++;
179
+ }
180
+ return result;
181
+ };
182
+
183
+ export { highlight };
@@ -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}
@@ -0,0 +1,31 @@
1
+ import { defineComponent, createVNode, computed } from 'vue';
2
+ import { useNamespace } from '@ibiz-template/vue3-util';
3
+ import { highlight } from './high-light-code-util.mjs';
4
+ import './high-light-code.css';
5
+
6
+ "use strict";
7
+ const IBizHighLightCode = /* @__PURE__ */ defineComponent({
8
+ name: "IBizHighLightCode",
9
+ props: {
10
+ code: {
11
+ type: String,
12
+ required: true
13
+ }
14
+ },
15
+ setup(props) {
16
+ const ns = useNamespace("high-light-code");
17
+ const highlighted = computed(() => highlight(props.code));
18
+ return {
19
+ ns,
20
+ highlighted
21
+ };
22
+ },
23
+ render() {
24
+ return createVNode("div", {
25
+ "class": this.ns.b(),
26
+ "innerHTML": this.highlighted
27
+ }, null);
28
+ }
29
+ });
30
+
31
+ export { IBizHighLightCode };
@@ -34,6 +34,7 @@ import { IBizNavSplit } from './nav-split/nav-split.mjs';
34
34
  import { IBizCropping } from './cropping/cropping.mjs';
35
35
  import { IBizEditorEmptyText } from './editor-empty-text/editor-empty-text.mjs';
36
36
  import { IBizKanbanSetting } from './kanben-setting/kanben-setting.mjs';
37
+ import { IBizHighLightCode } from './high-light-code/high-light-code.mjs';
37
38
 
38
39
  "use strict";
39
40
  const IBizCommonComponents = {
@@ -92,6 +93,7 @@ const IBizCommonComponents = {
92
93
  v.component(IBizGanttSetting.name, IBizGanttSetting);
93
94
  v.component(IBizNavSplit.name, IBizNavSplit);
94
95
  v.component(IBizSignaturePad.name, IBizSignaturePad);
96
+ v.component(IBizHighLightCode.name, IBizHighLightCode);
95
97
  }
96
98
  };
97
99
 
@@ -1 +1 @@
1
- .ibiz-control-appmenu-portlet{--ibiz-control-appmenu-portlet-margin:var(--ibiz-spacing-base-tight);--ibiz-control-appmenu-portlet-border-color:var(--ibiz-color-primary);--ibiz-control-appmenu-portlet-bg-color:var(--ibiz-color-bg-0);--ibiz-control-appmenu-portlet-padding:var(--ibiz-spacing-base-tight);--ibiz-control-appmenu-portlet-content-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base);padding:var(--ibiz-control-appmenu-portlet-content-padding)}.ibiz-control-appmenu-portlet__content{display:flex;flex-wrap:wrap;width:100%}.ibiz-control-appmenu-portlet-item{position:relative;display:flex;flex-direction:column;flex-shrink:0;align-items:flex-start;justify-content:center;width:calc(25% - var(--ibiz-control-appmenu-portlet-margin) * 2);padding:var(--ibiz-control-appmenu-portlet-padding);margin:var(--ibiz-control-appmenu-portlet-margin);cursor:pointer;background-color:var(--ibiz-control-appmenu-portlet-bg-color)}.ibiz-control-appmenu-portlet-item::before{position:absolute;left:0;width:4px;height:100%;content:"";background-color:var(--ibiz-control-appmenu-portlet-border-color)}.ibiz-control-appmenu-portlet-group{width:100%}.ibiz-control-appmenu-portlet-group .el-collapse-item__content{display:flex;flex-wrap:wrap}
1
+ .ibiz-control-appmenu-portlet{--ibiz-control-appmenu-portlet-margin:var(--ibiz-spacing-base-tight);--ibiz-control-appmenu-portlet-border-color:var(--ibiz-color-primary);--ibiz-control-appmenu-portlet-bg-color:var(--ibiz-color-bg-0);--ibiz-control-appmenu-portlet-padding:var(--ibiz-spacing-base-tight);--ibiz-control-appmenu-portlet-content-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base);--ibiz-control-appmenu-portlet-counter-gap:var(--ibiz-spacing-tight);padding:var(--ibiz-control-appmenu-portlet-content-padding)}.ibiz-control-appmenu-portlet__content{display:flex;flex-wrap:wrap;width:100%}.ibiz-control-appmenu-portlet-item{position:relative;display:flex;flex-direction:column;flex-shrink:0;align-items:flex-start;justify-content:center;width:calc(25% - var(--ibiz-control-appmenu-portlet-margin) * 2);padding:var(--ibiz-control-appmenu-portlet-padding);margin:var(--ibiz-control-appmenu-portlet-margin);cursor:pointer;background-color:var(--ibiz-control-appmenu-portlet-bg-color)}.ibiz-control-appmenu-portlet-item::before{position:absolute;left:0;width:4px;height:100%;content:"";background-color:var(--ibiz-control-appmenu-portlet-border-color)}.ibiz-control-appmenu-portlet-item .ibiz-control-appmenu-portlet__counter{position:absolute;top:var(--ibiz-control-appmenu-portlet-counter-gap);right:var(--ibiz-control-appmenu-portlet-counter-gap)}.ibiz-control-appmenu-portlet-group{width:100%}.ibiz-control-appmenu-portlet-group .el-collapse-item__header .ibiz-control-appmenu-portlet__counter{margin-left:var(--ibiz-control-appmenu-portlet-counter-gap)}.ibiz-control-appmenu-portlet-group .el-collapse-item__content{display:flex;flex-wrap:wrap}
@@ -48,6 +48,9 @@ const AppMenuPortletControl = /* @__PURE__ */ defineComponent({
48
48
  if (!state.visible) {
49
49
  return null;
50
50
  }
51
+ const {
52
+ counterId
53
+ } = item;
51
54
  return createVNode("div", {
52
55
  "class": [ns.b("item"), ns.is("disabled", !item.appFuncId)],
53
56
  "title": showTitle(item.tooltip || item.caption),
@@ -59,7 +62,10 @@ const AppMenuPortletControl = /* @__PURE__ */ defineComponent({
59
62
  }, [createVNode(resolveComponent("iBizIcon"), {
60
63
  "class": ns.be("item", "icon"),
61
64
  "icon": item.sysImage
62
- }, null), createVNode("span", {
65
+ }, null), counterId ? createVNode(resolveComponent("iBizBadge"), {
66
+ "class": ns.e("counter"),
67
+ "value": c.state.counterData[counterId]
68
+ }, null) : null, createVNode("span", {
63
69
  "class": ns.be("item", "label")
64
70
  }, [item.caption])]);
65
71
  };
@@ -71,16 +77,27 @@ const AppMenuPortletControl = /* @__PURE__ */ defineComponent({
71
77
  if (!item.appMenuItems) {
72
78
  return renderItem(item);
73
79
  }
80
+ const {
81
+ counterId
82
+ } = item;
74
83
  return createVNode(resolveComponent("el-collapse-item"), {
75
84
  "class": ns.b("group"),
76
85
  "name": item.id,
77
86
  "title": showTitle(item.caption)
78
87
  }, {
88
+ title: () => {
89
+ return [createVNode("span", {
90
+ "class": ns.be("group", "label")
91
+ }, [item.caption]), counterId ? createVNode(resolveComponent("iBizBadge"), {
92
+ "class": ns.e("counter"),
93
+ "value": c.state.counterData[counterId]
94
+ }, null) : null];
95
+ },
79
96
  default: () => {
80
97
  var _a2;
81
- return [(_a2 = item.appMenuItems) == null ? void 0 : _a2.map((child) => {
98
+ return (_a2 = item.appMenuItems) == null ? void 0 : _a2.map((child) => {
82
99
  return renderItem(child);
83
- })];
100
+ });
84
101
  }
85
102
  });
86
103
  };
@@ -1,6 +1,5 @@
1
- import { isVNode, defineComponent, createVNode, resolveComponent, h } from 'vue';
1
+ import { isVNode, defineComponent, createVNode, resolveComponent, h, ref, onMounted } from 'vue';
2
2
  import { useNamespace } from '@ibiz-template/vue3-util';
3
- import { RawItemPortletController } from '@ibiz-template/runtime';
4
3
 
5
4
  "use strict";
6
5
  function _isSlot(s) {
@@ -14,17 +13,42 @@ const RawItemPortlet = /* @__PURE__ */ defineComponent({
14
13
  required: true
15
14
  },
16
15
  controller: {
17
- type: RawItemPortletController,
16
+ type: Object,
18
17
  required: true
19
18
  }
20
19
  },
21
20
  setup(props) {
22
21
  var _a;
23
- const ns = useNamespace("portlet-".concat((_a = props.modelData.portletType) == null ? void 0 : _a.toLowerCase()));
24
- const rawItem = props.modelData;
22
+ const c = props.controller;
23
+ const ns = useNamespace("portlet-".concat((_a = c.model.portletType) == null ? void 0 : _a.toLowerCase()));
24
+ const content = ref();
25
+ const onInit = async () => {
26
+ const rawItemModel = c.model.rawItem;
27
+ if (!rawItemModel)
28
+ return;
29
+ let rawItemContent;
30
+ if (rawItemModel.contentType === "RAW") {
31
+ rawItemContent = rawItemModel.caption;
32
+ } else if (rawItemModel.contentType === "HTML") {
33
+ rawItemContent = rawItemModel.content;
34
+ }
35
+ const data = c.dashboard.view.srfactiveviewdata || {};
36
+ if (rawItemContent && rawItemModel.templateMode)
37
+ rawItemContent = await ibiz.util.hbs.render(rawItemContent.replaceAll("//n", "\n"), {
38
+ data: {
39
+ ...data
40
+ },
41
+ context: props.controller.context,
42
+ params: props.controller.params
43
+ });
44
+ content.value = rawItemContent;
45
+ };
46
+ onMounted(() => {
47
+ onInit();
48
+ });
25
49
  return {
26
50
  ns,
27
- rawItem
51
+ content
28
52
  };
29
53
  },
30
54
  render() {
@@ -34,7 +58,8 @@ const RawItemPortlet = /* @__PURE__ */ defineComponent({
34
58
  "controller": this.controller,
35
59
  "class": classArr
36
60
  }, _isSlot(_slot = h(resolveComponent("iBizRawItem"), {
37
- rawItem: this.rawItem
61
+ rawItem: this.modelData,
62
+ content: this.content
38
63
  })) ? _slot : {
39
64
  default: () => [_slot]
40
65
  });
@@ -524,13 +524,13 @@ const DataViewControl = /* @__PURE__ */ defineComponent({
524
524
  }
525
525
  return icon;
526
526
  };
527
- const ITEM_HEIGHT = 30;
527
+ const ITEM_HEIGHT = 24;
528
528
  const calcSkeletonRows = () => {
529
529
  const {
530
530
  cardHeight
531
531
  } = c.model;
532
532
  if (cardHeight) {
533
- return Math.max(1, Math.floor(cardHeight / ITEM_HEIGHT));
533
+ return Math.max(1, Math.floor((cardHeight - 32 + 4) / ITEM_HEIGHT));
534
534
  }
535
535
  return 2;
536
536
  };
@@ -168,7 +168,9 @@ const FormRawItem = /* @__PURE__ */ defineComponent({
168
168
  rawItemContent = await ibiz.util.hbs.render(rawItemContent.replaceAll("//n", "\n"), Object.assign(obj, {
169
169
  data: {
170
170
  ...newVal
171
- }
171
+ },
172
+ context: c.context,
173
+ params: c.params
172
174
  }));
173
175
  }
174
176
  content.value = rawItemContent;
@@ -1 +1 @@
1
- .ibiz-control-list-item{flex-grow:1;min-height:var(--ibiz-control-list-item-height);padding:var(--ibiz-control-list-padding);font-weight:var(--ibiz-control-list-font-weight);color:var(--ibiz-control-list-text-color);cursor:pointer;background-color:var(--ibiz-control-list-item-bg-color)}.ibiz-control-list-item__right{padding:0 var(--ibiz-spacing-extra-tight)}.ibiz-control-list-item__right--actions{display:flex;-moz-column-gap:var(--ibiz-spacing-extra-tight);column-gap:var(--ibiz-spacing-extra-tight);justify-content:center}.ibiz-control-list-item__right--actions .ibiz-action-toolbar__item{margin:0}.ibiz-control-list-item__right--actions .ibiz-action-toolbar__item--label.is-has-caption{margin:0}.ibiz-control-list-item:has(.ibiz-control-list-item__right){display:flex;justify-content:space-between}.ibiz-control-list-item:has(.ibiz-control-list-item__right) .ibiz-control-list-item__caption{flex:1}.ibiz-control-list-item__new{display:flex;align-items:center;justify-content:center;margin-top:var(--ibiz-spacing-tight);color:var(--ibiz-color-text-3);border:2px dashed var(--ibiz-color-border)}.ibiz-control-list{--ibiz-control-list-text-color:var(--ibiz-color-text-0);--ibiz-control-list-load-more-color:var(--ibiz-color-text-2);--ibiz-control-list-hover-bg-color:var(--ibiz-color-fill-1);--ibiz-control-list-active-bg-color:var(--ibiz-color-fill-2);--ibiz-control-list-font-weight:var(--ibiz-font-weight-regular);--ibiz-control-list-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base-tight);--ibiz-control-list-item-bg-color:unset;display:flex;flex-flow:column nowrap;align-items:stretch;justify-content:flex-start;position:relative;height:100%}.ibiz-control-list__drag-icon{cursor:move;visibility:hidden}.ibiz-control-list__nav-icon{position:absolute;top:18px;right:10px;color:var(--ibiz-color-primary);cursor:pointer}.ibiz-control-list__load-more{text-align:center}.ibiz-control-list__load-more i{font-size:var(--ibiz-font-size-header-3);color:var(--ibiz-control-list-load-more-color);cursor:pointer}.ibiz-control-list__load-more i:hover{color:var(--ibiz-color-primary-light-hover)}.ibiz-control-list__collapse-expand-icon{width:calc(100% - var(--ibiz-spacing-base-tight));text-align:center}.ibiz-control-list__collapse-expand-icon i{font-size:var(--ibiz-font-size-header-3);color:var(--ibiz-color-text-2);cursor:pointer}.ibiz-control-list__collapse-expand-icon i:hover{color:var(--ibiz-color-primary-light-hover)}.ibiz-control-list__load-more-button{padding:var(--ibiz-control-list-padding);text-align:center}.ibiz-control-list__quicktoolbar{display:flex;justify-content:center;width:100%}.ibiz-control-list__batchtoolbar{display:none;margin:var(--ibiz-spacing-tight) 0}.ibiz-control-list__batchtoolbar.is-show{display:block}.ibiz-control-list .ibiz-control-list-content{flex-grow:1}.ibiz-control-list-content.is-show-underLine .ibiz-control-list-scroll-item{border-bottom:1px solid var(--ibiz-color-border)}.ibiz-control-list-content .ibiz-row-detail:last-of-type .ibiz-control-list-scroll-item{border-bottom:none}.ibiz-control-list-scroll{height:100%;overflow:auto}.ibiz-control-list-scroll.is-reverse-scroll .ibiz-control-list__layout-flex{display:flex;flex-direction:column-reverse}.ibiz-control-list-group-content__item-header{display:flex;align-items:center;justify-content:space-between;width:100%}.ibiz-control-list-scroll-item{display:flex;align-items:center}.ibiz-control-list-scroll-item__checkbox{flex-shrink:0;margin-left:var(--ibiz-spacing-tight)}.ibiz-control-list-scroll-item__icon{flex-shrink:0;margin-left:var(--ibiz-spacing-tight);color:var(--ibiz-color-text-2);cursor:pointer}.ibiz-control-list-scroll-item:hover{background-color:var(--ibiz-control-list-hover-bg-color)}.ibiz-control-list-scroll-item:hover .ibiz-control-list__drag-icon{visibility:visible}.ibiz-control-list-scroll-item.is-active{background-color:var(--ibiz-control-list-active-bg-color)}.ibiz-control-list-group-style2{--ibiz-control-list-group-style2-color:var(--ibiz-color-disabled-text)}.ibiz-control-list-group-style2__header{display:flex;align-items:center;justify-content:center;width:100%}.ibiz-control-list-group-style2__header--title{padding:0 var(--ibiz-spacing-tight);font-size:var(--ibiz-font-size-regular);color:var(--ibiz-control-list-group-style2-color)}.ibiz-control-list-group-style2__header::after,.ibiz-control-list-group-style2__header::before{display:block;flex:1;height:1px;margin-top:1px;content:"";border-top:1px var(--ibiz-color-border) solid;transform:translateY(-50%)}.ibiz-control-list-skeleton-item{padding-bottom:var(--ibiz-spacing-tight)}.ibiz-control-list-skeleton-group__header{margin-bottom:var(--ibiz-spacing-base)}.ibiz-control-list-skeleton-group-style2__header{display:flex;justify-content:center}
1
+ .ibiz-control-list-item{flex-grow:1;min-height:var(--ibiz-control-list-item-height);padding:var(--ibiz-control-list-padding);font-weight:var(--ibiz-control-list-font-weight);color:var(--ibiz-control-list-text-color);cursor:pointer;background-color:var(--ibiz-control-list-item-bg-color)}.ibiz-control-list-item__right{padding:0 var(--ibiz-spacing-extra-tight)}.ibiz-control-list-item__right--actions{display:flex;-moz-column-gap:var(--ibiz-spacing-extra-tight);column-gap:var(--ibiz-spacing-extra-tight);justify-content:center}.ibiz-control-list-item__right--actions .ibiz-action-toolbar__item{margin:0}.ibiz-control-list-item__right--actions .ibiz-action-toolbar__item--label.is-has-caption{margin:0}.ibiz-control-list-item:has(.ibiz-control-list-item__right){display:flex;justify-content:space-between}.ibiz-control-list-item:has(.ibiz-control-list-item__right) .ibiz-control-list-item__caption{flex:1}.ibiz-control-list-item__new{display:flex;align-items:center;justify-content:center;margin-top:var(--ibiz-spacing-tight);color:var(--ibiz-color-text-3);border:2px dashed var(--ibiz-color-border)}.ibiz-control-list{--ibiz-control-list-text-color:var(--ibiz-color-text-0);--ibiz-control-list-load-more-color:var(--ibiz-color-text-2);--ibiz-control-list-hover-bg-color:var(--ibiz-color-fill-1);--ibiz-control-list-active-bg-color:var(--ibiz-color-fill-2);--ibiz-control-list-font-weight:var(--ibiz-font-weight-regular);--ibiz-control-list-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base-tight);--ibiz-control-list-item-bg-color:unset;display:flex;flex-flow:column nowrap;align-items:stretch;justify-content:flex-start;position:relative;height:100%}.ibiz-control-list__drag-icon{cursor:move;visibility:hidden}.ibiz-control-list__nav-icon{position:absolute;top:18px;right:10px;color:var(--ibiz-color-primary);cursor:pointer}.ibiz-control-list__load-more{text-align:center}.ibiz-control-list__load-more i{font-size:var(--ibiz-font-size-header-3);color:var(--ibiz-control-list-load-more-color);cursor:pointer}.ibiz-control-list__load-more i:hover{color:var(--ibiz-color-primary-light-hover)}.ibiz-control-list__collapse-expand-icon{width:calc(100% - var(--ibiz-spacing-base-tight));text-align:center}.ibiz-control-list__collapse-expand-icon i{font-size:var(--ibiz-font-size-header-3);color:var(--ibiz-color-text-2);cursor:pointer}.ibiz-control-list__collapse-expand-icon i:hover{color:var(--ibiz-color-primary-light-hover)}.ibiz-control-list__load-more-button{padding:var(--ibiz-control-list-padding);text-align:center}.ibiz-control-list__quicktoolbar{display:flex;justify-content:center;width:100%}.ibiz-control-list__batchtoolbar{display:none;margin:var(--ibiz-spacing-tight) 0}.ibiz-control-list__batchtoolbar.is-show{display:block}.ibiz-control-list .ibiz-control-list-content{flex-grow:1}.ibiz-control-list-content.is-show-underLine .ibiz-control-list-scroll-item{border-bottom:1px solid var(--ibiz-color-border)}.ibiz-control-list-content .ibiz-row-detail:last-of-type .ibiz-control-list-scroll-item{border-bottom:none}.ibiz-control-list-scroll{height:100%;overflow:auto}.ibiz-control-list-scroll.is-reverse-scroll .ibiz-control-list__layout-flex{display:flex;flex-direction:column-reverse}.ibiz-control-list-group-content__item-header{display:flex;align-items:center;justify-content:space-between;width:100%}.ibiz-control-list-scroll-item{display:flex;align-items:center}.ibiz-control-list-scroll-item__checkbox{flex-shrink:0;margin-left:var(--ibiz-spacing-tight)}.ibiz-control-list-scroll-item__icon{flex-shrink:0;margin-left:var(--ibiz-spacing-tight);color:var(--ibiz-color-text-2);cursor:pointer}.ibiz-control-list-scroll-item:hover{background-color:var(--ibiz-control-list-hover-bg-color)}.ibiz-control-list-scroll-item:hover .ibiz-control-list__drag-icon{visibility:visible}.ibiz-control-list-scroll-item.is-active{background-color:var(--ibiz-control-list-active-bg-color)}.ibiz-control-list-group-style2{--ibiz-control-list-group-style2-color:var(--ibiz-color-disabled-text)}.ibiz-control-list-group-style2__header{display:flex;align-items:center;justify-content:center;width:100%}.ibiz-control-list-group-style2__header--title{padding:0 var(--ibiz-spacing-tight);font-size:var(--ibiz-font-size-regular);color:var(--ibiz-control-list-group-style2-color)}.ibiz-control-list-group-style2__header::after,.ibiz-control-list-group-style2__header::before{display:block;flex:1;height:1px;margin-top:1px;content:"";border-top:1px var(--ibiz-color-border) solid;transform:translateY(-50%)}.ibiz-control-list-skeleton-item{display:flex;padding-bottom:var(--ibiz-spacing-tight)}.ibiz-control-list-skeleton-item__avatar{flex:none;width:calc(var(--ibiz-spacing-base) * 2 + var(--ibiz-spacing-base-loose) * 3 + var(--ibiz-spacing-base-tight) * 2);padding:0 var(--ibiz-spacing-base);--el-skeleton-circle-size:calc(var(--ibiz-spacing-base-loose) * 3 + var(--ibiz-spacing-base-tight) * 2)}.ibiz-control-list-skeleton-item__avatar .el-skeleton__circle{height:var(--el-skeleton-circle-size)}.ibiz-control-list-skeleton-group__header{margin-bottom:var(--ibiz-spacing-base)}.ibiz-control-list-skeleton-group-style2__header{display:flex;justify-content:center}
@@ -530,12 +530,15 @@ const ListControl = /* @__PURE__ */ defineComponent({
530
530
  "class": ns.b("skeleton-item")
531
531
  }, [createVNode(resolveComponent("el-skeleton"), {
532
532
  "animated": true,
533
- "rows": 1
533
+ "class": ns.be("skeleton-item", "avatar")
534
534
  }, {
535
535
  template: () => createVNode(resolveComponent("el-skeleton-item"), {
536
- "variant": "rect"
536
+ "variant": "circle"
537
537
  }, null)
538
- })]);
538
+ }), createVNode(resolveComponent("el-skeleton"), {
539
+ "animated": true,
540
+ "rows": 2
541
+ }, null)]);
539
542
  };
540
543
  const renderGroupSkeleton = () => {
541
544
  return createVNode("div", {
@@ -52,8 +52,8 @@ const FilterModeSelect = /* @__PURE__ */ defineComponent({
52
52
  valueOP: ValueOP.LIKE,
53
53
  label: ibiz.i18n.t("control.searchBar.conditions.like")
54
54
  }, {
55
- valueOP: ValueOP.LIFT_LIKE,
56
- label: ibiz.i18n.t("control.searchBar.conditions.lift_like")
55
+ valueOP: ValueOP.LEFT_LIKE,
56
+ label: ibiz.i18n.t("control.searchBar.conditions.left_like")
57
57
  }, {
58
58
  valueOP: ValueOP.RIGHT_LIKE,
59
59
  label: ibiz.i18n.t("control.searchBar.conditions.right_like")
@@ -90,8 +90,8 @@ const FilterTreeControl = /* @__PURE__ */ defineComponent({
90
90
  valueOP: ValueOP.LIKE,
91
91
  label: ibiz.i18n.t("control.searchBar.conditions.like")
92
92
  }, {
93
- valueOP: ValueOP.LIFT_LIKE,
94
- label: ibiz.i18n.t("control.searchBar.conditions.lift_like")
93
+ valueOP: ValueOP.LEFT_LIKE,
94
+ label: ibiz.i18n.t("control.searchBar.conditions.left_like")
95
95
  }, {
96
96
  valueOP: ValueOP.RIGHT_LIKE,
97
97
  label: ibiz.i18n.t("control.searchBar.conditions.right_like")
@@ -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
- srfaichatcaption
116
+ srfaichatcaption,
117
+ functionbody
111
118
  } = this.editorParams;
112
119
  if (inlineaichatheight)
113
120
  this.inlineAiChatHeight = Number(inlineaichatheight);
@@ -118,6 +125,9 @@ class CodeEditorController extends EditorController {
118
125
  if (srfaichatcaption) {
119
126
  this.aiChatCaption = ibiz.appUtil.resolveI18nText(srfaichatcaption);
120
127
  }
128
+ if (functionbody) {
129
+ this.functionBody = functionbody;
130
+ }
121
131
  }
122
132
  const { appDEACModeId, appDataEntityId } = this.model;
123
133
  if (appDEACModeId)
@@ -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)}
@@ -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
  };
@@ -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);
@@ -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"