@ibiz-template/vue3-components 0.7.41-alpha.96 → 0.7.41-alpha.98

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 (93) hide show
  1. package/dist/index-CTxNNWbw.js +1 -0
  2. package/dist/index-DAM-lgrU.js +1 -0
  3. package/dist/index-DSNJCnK2.js +339 -0
  4. package/dist/{index.es-COHR8lWq.js → index.es-STEFwkv3.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-Dchfm22O.js +1 -0
  8. package/dist/{xlsx-util-CzrO72Os.js → xlsx-util-D-uPcLFr.js} +2 -2
  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/common/pagination/pagination.mjs +5 -1
  15. package/es/common/rawitem/rawitem.mjs +2 -0
  16. package/es/control/calendar/calendar-util.mjs +1 -1
  17. package/es/control/calendar/calendar.mjs +54 -40
  18. package/es/control/calendar/components/calendar-flatten/calendar-flatten.css +1 -0
  19. package/es/control/calendar/components/calendar-flatten/calendar-flatten.mjs +200 -0
  20. package/es/control/calendar/components/calendar-flatten/index.mjs +9 -0
  21. package/es/control/calendar/components/custom-calendar/custom-calendar.mjs +1 -1
  22. package/es/control/calendar/components/custom-calendar/use-custom-calendar.mjs +2 -2
  23. package/es/control/dashboard/portlet/menu-portlet/app-menu-portlet/app-menu-portlet.css +1 -1
  24. package/es/control/dashboard/portlet/menu-portlet/app-menu-portlet/app-menu-portlet.mjs +20 -3
  25. package/es/control/dashboard/portlet/rawitem-portlet/rawitem-portlet.mjs +32 -7
  26. package/es/control/data-view/data-view.mjs +2 -2
  27. package/es/control/form/form-detail/form-page/form-page.mjs +1 -1
  28. package/es/control/form/form-detail/form-rawitem/form-rawitem.mjs +3 -1
  29. package/es/control/grid/grid/grid-control.util.mjs +1 -1
  30. package/es/control/grid/grid/grid.css +1 -1
  31. package/es/control/grid/grid/grid.mjs +31 -9
  32. package/es/control/grid/grid-column/grid-column-header/grid-column-header.css +1 -1
  33. package/es/control/grid/grid-column/grid-field-column/grid-field-column.css +1 -1
  34. package/es/control/grid/grid-column/grid-field-edit-column/grid-edit-item/grid-edit-item.css +1 -1
  35. package/es/control/grid/grid-column/grid-ua-column/grid-ua-column.css +1 -1
  36. package/es/control/grid/row-edit-popover/row-edit-popover.css +1 -1
  37. package/es/control/list/list.css +1 -1
  38. package/es/control/list/list.mjs +6 -3
  39. package/es/control/search-bar/filter-mode-select/filter-mode-select.mjs +2 -2
  40. package/es/control/search-bar/filter-tree/filter-tree.mjs +2 -2
  41. package/es/editor/code/code-editor.controller.mjs +11 -1
  42. package/es/editor/code/monaco-editor/monaco-editor.css +1 -1
  43. package/es/editor/code/monaco-editor/monaco-editor.mjs +54 -7
  44. package/es/editor/raw/ibiz-raw/ibiz-raw.mjs +3 -1
  45. package/es/locale/en/index.mjs +4 -3
  46. package/es/locale/index.mjs +29 -1
  47. package/es/locale/zh-CN/index.mjs +4 -3
  48. package/es/util/inline-ai-util/inline-ai-util.mjs +17 -1
  49. package/lib/common/control-navigation/provider/navigation-base.provider.cjs +3 -1
  50. package/lib/common/high-light-code/high-light-code-util.cjs +185 -0
  51. package/lib/common/high-light-code/high-light-code.cjs +33 -0
  52. package/lib/common/high-light-code/high-light-code.css +1 -0
  53. package/lib/common/index.cjs +2 -0
  54. package/lib/common/pagination/pagination.cjs +5 -1
  55. package/lib/common/rawitem/rawitem.cjs +2 -0
  56. package/lib/control/calendar/calendar-util.cjs +1 -1
  57. package/lib/control/calendar/calendar.cjs +54 -40
  58. package/lib/control/calendar/components/calendar-flatten/calendar-flatten.cjs +202 -0
  59. package/lib/control/calendar/components/calendar-flatten/calendar-flatten.css +1 -0
  60. package/lib/control/calendar/components/calendar-flatten/index.cjs +14 -0
  61. package/lib/control/calendar/components/custom-calendar/custom-calendar.cjs +1 -1
  62. package/lib/control/calendar/components/custom-calendar/use-custom-calendar.cjs +2 -2
  63. package/lib/control/dashboard/portlet/menu-portlet/app-menu-portlet/app-menu-portlet.cjs +20 -3
  64. package/lib/control/dashboard/portlet/menu-portlet/app-menu-portlet/app-menu-portlet.css +1 -1
  65. package/lib/control/dashboard/portlet/rawitem-portlet/rawitem-portlet.cjs +31 -6
  66. package/lib/control/data-view/data-view.cjs +2 -2
  67. package/lib/control/form/form-detail/form-page/form-page.cjs +1 -1
  68. package/lib/control/form/form-detail/form-rawitem/form-rawitem.cjs +3 -1
  69. package/lib/control/grid/grid/grid-control.util.cjs +1 -1
  70. package/lib/control/grid/grid/grid.cjs +30 -8
  71. package/lib/control/grid/grid/grid.css +1 -1
  72. package/lib/control/grid/grid-column/grid-column-header/grid-column-header.css +1 -1
  73. package/lib/control/grid/grid-column/grid-field-column/grid-field-column.css +1 -1
  74. package/lib/control/grid/grid-column/grid-field-edit-column/grid-edit-item/grid-edit-item.css +1 -1
  75. package/lib/control/grid/grid-column/grid-ua-column/grid-ua-column.css +1 -1
  76. package/lib/control/grid/row-edit-popover/row-edit-popover.css +1 -1
  77. package/lib/control/list/list.cjs +6 -3
  78. package/lib/control/list/list.css +1 -1
  79. package/lib/control/search-bar/filter-mode-select/filter-mode-select.cjs +2 -2
  80. package/lib/control/search-bar/filter-tree/filter-tree.cjs +2 -2
  81. package/lib/editor/code/code-editor.controller.cjs +11 -1
  82. package/lib/editor/code/monaco-editor/monaco-editor.cjs +54 -7
  83. package/lib/editor/code/monaco-editor/monaco-editor.css +1 -1
  84. package/lib/editor/raw/ibiz-raw/ibiz-raw.cjs +3 -1
  85. package/lib/locale/en/index.cjs +4 -3
  86. package/lib/locale/index.cjs +29 -1
  87. package/lib/locale/zh-CN/index.cjs +4 -3
  88. package/lib/util/inline-ai-util/inline-ai-util.cjs +17 -1
  89. package/package.json +6 -6
  90. package/dist/index-CSWh3Soj.js +0 -339
  91. package/dist/index-ChKlnzfZ.js +0 -1
  92. package/dist/index-DiSn0c6_.js +0 -1
  93. package/dist/wang-editor-DGTnSGqn.js +0 -1
@@ -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{padding:var(--ibiz-spacing-tight) 0}.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)}
@@ -35,6 +35,7 @@ const IBizCode = /* @__PURE__ */ defineComponent({
35
35
  });
36
36
  const textTBVisible = ref(false);
37
37
  const editorTheme = ref("");
38
+ const functionBody = ref();
38
39
  const editorModel = c.model;
39
40
  if (editorModel.editorParams) {
40
41
  if (editorModel.editorParams.enableEdit) {
@@ -83,6 +84,20 @@ const IBizCode = /* @__PURE__ */ defineComponent({
83
84
  }, {
84
85
  immediate: true
85
86
  });
87
+ watch(() => props.data, async (newVal) => {
88
+ if (c.functionBody) {
89
+ functionBody.value = await ibiz.util.hbs.render(c.functionBody.replaceAll("//n", "\n"), {
90
+ data: {
91
+ ...newVal
92
+ },
93
+ context: c.context,
94
+ params: c.params
95
+ });
96
+ }
97
+ }, {
98
+ immediate: true,
99
+ deep: true
100
+ });
86
101
  const updateEditorOptions = () => {
87
102
  if (!editor) {
88
103
  return;
@@ -364,14 +379,12 @@ const IBizCode = /* @__PURE__ */ defineComponent({
364
379
  };
365
380
  const isAllowRenderFullScreen = () => {
366
381
  if (enableFullScreen.value)
367
- return createVNode("span", {
382
+ return createVNode("div", {
368
383
  "class": ns.be("toolbar", "fullscreen"),
369
384
  "title": ibiz.i18n.t("editor.common.".concat(isFullScreen.value ? "minimize" : "fullscreen")),
370
385
  "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"
386
+ }, [createVNode("ion-icon", {
387
+ "name": isFullScreen.value ? "contract-outline" : "resize-outline"
375
388
  }, null)]);
376
389
  return null;
377
390
  };
@@ -428,15 +441,49 @@ const IBizCode = /* @__PURE__ */ defineComponent({
428
441
  }
429
442
  return null;
430
443
  };
444
+ const renderFunctionBody = () => {
445
+ if (!functionBody.value)
446
+ return null;
447
+ return createVNode("div", {
448
+ "class": ns.e("function")
449
+ }, [createVNode(resolveComponent("el-tooltip"), {
450
+ "trigger": "click",
451
+ "effect": "light",
452
+ "popper-class": ns.e("function-popper")
453
+ }, {
454
+ default: () => {
455
+ return createVNode("div", {
456
+ "title": ibiz.i18n.t("editor.code.functionBody")
457
+ }, [createVNode("svg", {
458
+ "viewBox": "0 0 1024 1024",
459
+ "version": "1.1",
460
+ "xmlns": "http://www.w3.org/2000/svg",
461
+ "p-id": "8206",
462
+ "width": "1em",
463
+ "height": "1em"
464
+ }, [createVNode("path", {
465
+ "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",
466
+ "fill": "currentColor",
467
+ "p-id": "8207"
468
+ }, null)])]);
469
+ },
470
+ content: () => {
471
+ return createVNode(resolveComponent("iBizHighLightCode"), {
472
+ "code": functionBody.value,
473
+ "class": ns.e("function-signature")
474
+ }, null);
475
+ }
476
+ })]);
477
+ };
431
478
  const renderHeaderToolbar = () => {
432
- if (hasEnableEdit.value || enableFullScreen.value) {
479
+ if (hasEnableEdit.value || enableFullScreen.value || functionBody.value) {
433
480
  return createVNode("div", {
434
481
  "class": ns.b("toolbar")
435
482
  }, [hasEnableEdit.value && enableEdit.value && readonlyState.value ? createVNode("i", {
436
483
  "class": "fa fa-edit",
437
484
  "aria-hidden": "true",
438
485
  "onClick": () => changeEditState()
439
- }, null) : null, isAllowRenderFullScreen()]);
486
+ }, null) : null, renderFunctionBody(), isAllowRenderFullScreen()]);
440
487
  }
441
488
  return null;
442
489
  };
@@ -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"
@@ -47,12 +47,40 @@ class IBizI18n {
47
47
  __publicField(this, "langMap", /* @__PURE__ */ new Map());
48
48
  this.defaultLang = "zh-CN";
49
49
  this.html = document.querySelector("html");
50
- const lang = localStorage.getItem("language") || navigator.language || this.defaultLang;
50
+ const rawLang = localStorage.getItem("language") || this.defaultLang;
51
+ const lang = this.normalizeLang(rawLang);
51
52
  i18n.global.locale.value = lang;
52
53
  this.html.setAttribute("lang", lang);
53
54
  this.langMap.set("en", () => import('./en/index.mjs'));
54
55
  this.langMap.set("zh-CN", () => import('./zh-CN/index.mjs'));
55
56
  }
57
+ /**
58
+ * 归一化语言标识,兼容不同操作系统/浏览器返回的格式差异
59
+ * 例如:en-US/en_US -> en,zh-Hans-CN/zh_CN -> zh-CN,zh-Hant-* -> zh-CN
60
+ *
61
+ * @author tony001
62
+ * @date 2026-06-02
63
+ * @protected
64
+ * @param {string} lang
65
+ * @return {*} {string}
66
+ */
67
+ normalizeLang(lang) {
68
+ if (!lang) {
69
+ return this.defaultLang;
70
+ }
71
+ const tag = lang.replace(/_/g, "-");
72
+ const lower = tag.toLowerCase();
73
+ if (lower === "en" || lower.startsWith("en-")) {
74
+ return "en";
75
+ }
76
+ if (lower === "zh" || lower.startsWith("zh-hans") || lower === "zh-cn" || lower === "zh-sg") {
77
+ return "zh-CN";
78
+ }
79
+ if (lower.startsWith("zh-hant") || lower === "zh-tw" || lower === "zh-hk" || lower === "zh-mo") {
80
+ return "zh-CN";
81
+ }
82
+ return tag;
83
+ }
56
84
  /**
57
85
  * 初始化加载默认多语言文件
58
86
  *
@@ -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"
@@ -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
 
@@ -118,7 +118,11 @@ const IBizPagination = /* @__PURE__ */ vue.defineComponent({
118
118
  default: () => [vue.createVNode("ion-icon", {
119
119
  "name": "refresh-outline"
120
120
  }, null)]
121
- })]), ramda.isNil(this.totalPages) || this.calcTotalPages === this.totalPages ? vue.createVNode("span", null, [ibiz.i18n.t("component.pagination.display"), vue.createTextVNode("\xA0"), this.start, vue.createTextVNode("\xA0-\xA0"), this.end, vue.createTextVNode("\xA0"), ibiz.i18n.t("component.pagination.piece"), vue.createTextVNode("\uFF0C")]) : null, vue.createVNode("span", null, [ibiz.i18n.t("component.pagination.total"), vue.createTextVNode("\xA0"), this.total, vue.createTextVNode("\xA0"), ibiz.i18n.t("component.pagination.pieceData")])]
121
+ })]), ramda.isNil(this.totalPages) || this.calcTotalPages === this.totalPages ? vue.createVNode("span", {
122
+ "class": this.ns.b("desc")
123
+ }, [ibiz.i18n.t("component.pagination.display"), vue.createTextVNode("\xA0"), this.start, vue.createTextVNode("\xA0-\xA0"), this.end, vue.createTextVNode("\xA0"), ibiz.i18n.t("component.pagination.piece"), vue.createTextVNode("\uFF0C")]) : null, vue.createVNode("span", {
124
+ "class": this.ns.b("desc")
125
+ }, [ibiz.i18n.t("component.pagination.total"), vue.createTextVNode("\xA0"), this.total, vue.createTextVNode("\xA0"), ibiz.i18n.t("component.pagination.pieceData")])]
122
126
  })]);
123
127
  }
124
128
  });
@@ -271,6 +271,7 @@ const IBizRawItem = /* @__PURE__ */ vue.defineComponent({
271
271
  }
272
272
  if (this.rawItemType === "DIVIDER") {
273
273
  return vue.createVNode(vue.resolveComponent("el-divider"), {
274
+ "class": this.ns.e("divider"),
274
275
  "content-position": this.dividerParams.contentPosition
275
276
  }, {
276
277
  default: () => [vue.createVNode("span", {
@@ -280,6 +281,7 @@ const IBizRawItem = /* @__PURE__ */ vue.defineComponent({
280
281
  }
281
282
  if (this.rawItemType === "INFO" || this.rawItemType === "WARNING" || this.rawItemType === "ERROR") {
282
283
  return vue.createVNode(vue.resolveComponent("el-alert"), {
284
+ "class": this.ns.e("alert"),
283
285
  "title": this.alertParams.title,
284
286
  "type": this.alertParams.type,
285
287
  "show-icon": this.alertParams.showIcon,