@ibiz-template/vue3-components 0.7.1 → 0.7.3

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 (86) hide show
  1. package/dist/index-GhyQOvbY.js +4 -0
  2. package/dist/index.min.css +1 -1
  3. package/dist/index.system.min.js +1 -1
  4. package/dist/{xlsx-util-X-Qzwu1f.js → xlsx-util-bB9hH3iO.js} +1 -1
  5. package/es/common/data-import/data-import.d.ts +1 -3
  6. package/es/common/data-import/data-import.mjs +34 -77
  7. package/es/common/data-import2/data-import2.d.ts +0 -1
  8. package/es/common/data-import2/data-import2.mjs +26 -67
  9. package/es/common/data-import2-select/data-import2-select.mjs +5 -3
  10. package/es/control/form/form/form.mjs +7 -9
  11. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.d.ts +40 -0
  12. package/es/control/grid/grid/grid.d.ts +1 -0
  13. package/es/control/grid/grid/grid.mjs +15 -3
  14. package/es/control/grid/grid/index.d.ts +3 -0
  15. package/es/control/search-bar/filter-tree/filter-tree.mjs +6 -1
  16. package/es/control/tree-grid/index.d.ts +3 -0
  17. package/es/control/tree-grid/tree-grid.d.ts +3 -1
  18. package/es/control/tree-grid/tree-grid.mjs +15 -3
  19. package/es/control/tree-grid-ex/tree-grid-ex.mjs +7 -1
  20. package/es/editor/autocomplete/ibiz-autocomplete/ibiz-autocomplete.css +1 -1
  21. package/es/editor/autocomplete/ibiz-autocomplete/ibiz-autocomplete.mjs +7 -3
  22. package/es/editor/data-picker/ibiz-mpicker/ibiz-mpicker.mjs +5 -1
  23. package/es/editor/data-picker/ibiz-picker/ibiz-picker.css +1 -1
  24. package/es/editor/data-picker/ibiz-picker/ibiz-picker.mjs +7 -3
  25. package/es/editor/data-picker/ibiz-picker-dropdown/ibiz-picker-dropdown.mjs +5 -1
  26. package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.css +1 -1
  27. package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.mjs +18 -3
  28. package/es/editor/text-box/input/input.d.ts +1 -1
  29. package/es/editor/text-box/input/input.mjs +4 -1
  30. package/es/index.mjs +1 -0
  31. package/es/panel-component/data-import/data-import-shell.css +0 -0
  32. package/es/panel-component/data-import/data-import-shell.d.ts +27 -0
  33. package/es/panel-component/data-import/data-import-shell.mjs +49 -0
  34. package/es/panel-component/data-import/data-import.provider.d.ts +15 -0
  35. package/es/panel-component/data-import/data-import.provider.mjs +21 -0
  36. package/es/panel-component/data-import/index.d.ts +24 -0
  37. package/es/panel-component/data-import/index.mjs +15 -0
  38. package/es/panel-component/index.d.ts +1 -0
  39. package/es/panel-component/index.mjs +5 -1
  40. package/es/panel-component/panel-index-view-search/panel-index-view-search.mjs +0 -1
  41. package/es/panel-component/user-action/index.d.ts +25 -0
  42. package/es/panel-component/user-action/index.mjs +14 -0
  43. package/es/panel-component/user-action/user-action-provider.d.ts +6 -0
  44. package/es/panel-component/user-action/user-action-provider.mjs +21 -0
  45. package/es/panel-component/user-action/user-action.css +1 -0
  46. package/es/panel-component/user-action/user-action.d.ts +28 -0
  47. package/es/panel-component/user-action/user-action.mjs +74 -0
  48. package/es/util/modal-util/modal-util.mjs +16 -4
  49. package/es/view-engine/app-data-upload-view.engine.d.ts +13 -0
  50. package/es/view-engine/app-data-upload-view.engine.mjs +7 -0
  51. package/es/view-engine/index-view.engine.mjs +13 -1
  52. package/es/view-engine/index.mjs +5 -0
  53. package/lib/common/data-import/data-import.cjs +33 -76
  54. package/lib/common/data-import2/data-import2.cjs +24 -66
  55. package/lib/common/data-import2-select/data-import2-select.cjs +5 -3
  56. package/lib/control/form/form/form.cjs +7 -9
  57. package/lib/control/grid/grid/grid.cjs +14 -2
  58. package/lib/control/search-bar/filter-tree/filter-tree.cjs +6 -1
  59. package/lib/control/tree-grid/tree-grid.cjs +14 -2
  60. package/lib/control/tree-grid-ex/tree-grid-ex.cjs +6 -0
  61. package/lib/editor/autocomplete/ibiz-autocomplete/ibiz-autocomplete.cjs +7 -3
  62. package/lib/editor/autocomplete/ibiz-autocomplete/ibiz-autocomplete.css +1 -1
  63. package/lib/editor/data-picker/ibiz-mpicker/ibiz-mpicker.cjs +5 -1
  64. package/lib/editor/data-picker/ibiz-picker/ibiz-picker.cjs +7 -3
  65. package/lib/editor/data-picker/ibiz-picker/ibiz-picker.css +1 -1
  66. package/lib/editor/data-picker/ibiz-picker-dropdown/ibiz-picker-dropdown.cjs +5 -1
  67. package/lib/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.cjs +18 -3
  68. package/lib/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.css +1 -1
  69. package/lib/editor/text-box/input/input.cjs +4 -1
  70. package/lib/index.cjs +12 -10
  71. package/lib/panel-component/data-import/data-import-shell.cjs +51 -0
  72. package/lib/panel-component/data-import/data-import-shell.css +0 -0
  73. package/lib/panel-component/data-import/data-import.provider.cjs +23 -0
  74. package/lib/panel-component/data-import/index.cjs +20 -0
  75. package/lib/panel-component/index.cjs +31 -26
  76. package/lib/panel-component/panel-index-view-search/panel-index-view-search.cjs +0 -1
  77. package/lib/panel-component/user-action/index.cjs +19 -0
  78. package/lib/panel-component/user-action/user-action-provider.cjs +23 -0
  79. package/lib/panel-component/user-action/user-action.cjs +76 -0
  80. package/lib/panel-component/user-action/user-action.css +1 -0
  81. package/lib/util/modal-util/modal-util.cjs +16 -4
  82. package/lib/view-engine/app-data-upload-view.engine.cjs +9 -0
  83. package/lib/view-engine/index-view.engine.cjs +12 -0
  84. package/lib/view-engine/index.cjs +5 -0
  85. package/package.json +6 -6
  86. package/dist/index-XRnHM6lw.js +0 -4
@@ -1 +1 @@
1
- .ibiz-autocomplete{width:100%}.ibiz-autocomplete .ibiz-autocomplete-input{width:100%}.ibiz-autocomplete--readonly{font-size:var(--ibiz-form-item-font-size);line-height:var(--ibiz-editor-default-line-height);color:var(--ibiz-form-item-readonly-color)}.ibiz-autocomplete-form-default-content{display:none}.ibiz-form-item .ibiz-autocomplete.is-show-default:hover .ibiz-autocomplete-form-default-content{display:none}.ibiz-form-item .ibiz-autocomplete.is-show-default:hover .ibiz-autocomplete-input{display:block}.ibiz-form-item .ibiz-autocomplete.is-show-default .ibiz-autocomplete-form-default-content{display:flex;align-items:center;width:100%;padding:var(--ibiz-form-item-hover-edit-padding);font-family:Arial,sans-serif;font-size:var(--ibiz-form-item-font-size);line-height:var(--ibiz-editor-default-line-height);color:var(--ibiz-form-item-text-color)}.ibiz-form-item .ibiz-autocomplete.is-show-default .ibiz-autocomplete-input{display:none}.ibiz-form-item .ibiz-autocomplete.is-show-default.is-editable .ibiz-autocomplete-form-default-content{display:none}.ibiz-form-item .ibiz-autocomplete.is-show-default.is-editable .ibiz-autocomplete-input{display:block}
1
+ .ibiz-autocomplete{width:100%}.ibiz-autocomplete__transfer-item.is-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-autocomplete .ibiz-autocomplete-input{width:100%}.ibiz-autocomplete--readonly{font-size:var(--ibiz-form-item-font-size);line-height:var(--ibiz-editor-default-line-height);color:var(--ibiz-form-item-readonly-color)}.ibiz-autocomplete-form-default-content{display:none}.ibiz-form-item .ibiz-autocomplete.is-show-default:hover .ibiz-autocomplete-form-default-content{display:none}.ibiz-form-item .ibiz-autocomplete.is-show-default:hover .ibiz-autocomplete-input{display:block}.ibiz-form-item .ibiz-autocomplete.is-show-default .ibiz-autocomplete-form-default-content{display:flex;align-items:center;width:100%;padding:var(--ibiz-form-item-hover-edit-padding);font-family:Arial,sans-serif;font-size:var(--ibiz-form-item-font-size);line-height:var(--ibiz-editor-default-line-height);color:var(--ibiz-form-item-text-color)}.ibiz-form-item .ibiz-autocomplete.is-show-default .ibiz-autocomplete-input{display:none}.ibiz-form-item .ibiz-autocomplete.is-show-default.is-editable .ibiz-autocomplete-form-default-content{display:none}.ibiz-form-item .ibiz-autocomplete.is-show-default.is-editable .ibiz-autocomplete-input{display:block}
@@ -155,6 +155,8 @@ const IBizAutoComplete = /* @__PURE__ */ defineComponent({
155
155
  };
156
156
  },
157
157
  render() {
158
+ const overflowMode = this.c.editorParams.overflowMode || ibiz.config.pickerEditor.overflowMode;
159
+ const isEllipsis = overflowMode === "ellipsis";
158
160
  const editContent = createVNode(resolveComponent("el-autocomplete"), mergeProps({
159
161
  "class": this.ns.b("input"),
160
162
  "ref": "editorRef",
@@ -164,7 +166,7 @@ const IBizAutoComplete = /* @__PURE__ */ defineComponent({
164
166
  "placeholder": this.c.placeHolder,
165
167
  "placement": "bottom",
166
168
  "clearable": this.autoCompleteClearable,
167
- "popper-class": this.ns.e("transfer"),
169
+ "popper-class": [this.ns.e("transfer")],
168
170
  "teleported": !this.showFormDefaultContent,
169
171
  "fetch-suggestions": this.onSearch,
170
172
  "onClear": this.onClear,
@@ -173,13 +175,15 @@ const IBizAutoComplete = /* @__PURE__ */ defineComponent({
173
175
  "onInput": this.handleInput,
174
176
  "onFocus": this.onFocus,
175
177
  "onBlur": this.onBlur,
176
- "onKeyup": this.handleKeyUp
178
+ "onKeyup": this.handleKeyUp,
179
+ "fit-input-width": isEllipsis
177
180
  }, this.$attrs), {
178
181
  default: ({
179
182
  item
180
183
  }) => {
181
184
  return createVNode("div", {
182
- "class": this.ns.e("transfer-item")
185
+ "class": [this.ns.e("transfer-item"), this.ns.is("ellipsis", isEllipsis)],
186
+ "title": isEllipsis ? item[this.c.textName] : ""
183
187
  }, [item[this.c.textName]]);
184
188
  },
185
189
  suffix: () => {
@@ -279,6 +279,8 @@ const IBizMPicker = /* @__PURE__ */ defineComponent({
279
279
  },
280
280
  render() {
281
281
  let _slot;
282
+ const overflowMode = this.c.editorParams.overflowMode || ibiz.config.pickerEditor.overflowMode;
283
+ const isEllipsis = overflowMode === "ellipsis";
282
284
  const editContent = [!this.readonly && createVNode(resolveComponent("el-select"), mergeProps({
283
285
  "ref": "editorRef",
284
286
  "class": [this.ns.b("select")],
@@ -297,9 +299,11 @@ const IBizMPicker = /* @__PURE__ */ defineComponent({
297
299
  "disabled": this.disabled,
298
300
  "onFocus": this.onFocus,
299
301
  "onBlur": this.onBlur,
300
- "onKeyup": this.handleKeyUp
302
+ "onKeyup": this.handleKeyUp,
303
+ "fit-input-width": isEllipsis
301
304
  }, this.$attrs), _isSlot(_slot = this.items.map((item) => {
302
305
  return createVNode(resolveComponent("el-option"), {
306
+ "title": isEllipsis ? item[this.c.textName] : "",
303
307
  "key": item[this.c.keyName],
304
308
  "value": item[this.c.keyName],
305
309
  "label": item[this.c.textName]
@@ -1 +1 @@
1
- @charset "UTF-8";.ibiz-picker .el-input .el-input__inner{font-size:var(--ibiz-form-item-font-size);color:var(--ibiz-form-item-text-color);border-color:var(--ibiz-form-item-border-color)}.ibiz-picker .el-input .el-input__inner::-moz-placeholder{color:var(--ibiz-form-item-placeholder-color)}.ibiz-picker .el-input .el-input__inner::placeholder{color:var(--ibiz-form-item-placeholder-color)}.ibiz-picker .el-input.is-disabled .el-input__inner{color:var(--ibiz-form-item-disabled-color);border-color:var(--ibiz-form-item-disabled-border-color)}.ibiz-picker ion-icon{font-size:var(--ibiz-form-item-font-size);cursor:pointer}.ibiz-picker .ibiz-picker-input{width:100%}.ibiz-picker .ibiz-picker-input .el-input__wrapper{width:100%}.ibiz-picker-input__buns-position{position:relative;display:inline-block}.ibiz-picker-input__btns{position:absolute;right:0;display:flex;height:var(--ibiz-picker-height)}.ibiz-picker-input__btns span{display:flex;flex-flow:column nowrap;justify-content:center}.ibiz-picker-input__autocomplete{display:flex}.ibiz-picker-input__autocomplete .el-autocomplete{width:100%}.ibiz-picker-input__transfer-item{padding:5px;cursor:pointer}.ibiz-picker-input__transfer-item:hover{background-color:var(--ibiz-form-item-hover-bg-color)}.ibiz-picker-input__link{width:32px;height:32px;padding:0 6px;font-size:16px}.ibiz-picker--disabled ion-icon{pointer-events:none}.ibiz-picker--readonly{font-size:var(--ibiz-form-item-font-size);line-height:var(--ibiz-editor-default-line-height);color:var(--ibiz-form-item-readonly-color)}.ibiz-picker-form-default-content{display:none}.ibiz-form-item .ibiz-picker.is-show-default:hover .ibiz-picker-form-default-content{display:none}.ibiz-form-item .ibiz-picker.is-show-default:hover .ibiz-picker-input{display:block}.ibiz-form-item .ibiz-picker.is-show-default .ibiz-picker-form-default-content{display:flex;align-items:center;width:100%;padding:var(--ibiz-form-item-hover-edit-padding);font-family:Arial,sans-serif;font-size:var(--ibiz-form-item-font-size);line-height:var(--ibiz-editor-default-line-height);color:var(--ibiz-form-item-text-color)}.ibiz-form-item .ibiz-picker.is-show-default .ibiz-picker-input{display:none}.ibiz-form-item .ibiz-picker.is-show-default.is-editable .ibiz-picker-form-default-content{display:none}.ibiz-form-item .ibiz-picker.is-show-default.is-editable .ibiz-picker-input{display:block}
1
+ @charset "UTF-8";.ibiz-picker .el-input .el-input__inner{font-size:var(--ibiz-form-item-font-size);color:var(--ibiz-form-item-text-color);border-color:var(--ibiz-form-item-border-color)}.ibiz-picker .el-input .el-input__inner::-moz-placeholder{color:var(--ibiz-form-item-placeholder-color)}.ibiz-picker .el-input .el-input__inner::placeholder{color:var(--ibiz-form-item-placeholder-color)}.ibiz-picker .el-input.is-disabled .el-input__inner{color:var(--ibiz-form-item-disabled-color);border-color:var(--ibiz-form-item-disabled-border-color)}.ibiz-picker ion-icon{font-size:var(--ibiz-form-item-font-size);cursor:pointer}.ibiz-picker .ibiz-picker-input{width:100%}.ibiz-picker .ibiz-picker-input .el-input__wrapper{width:100%}.ibiz-picker-input__buns-position{position:relative;display:inline-block}.ibiz-picker-input__btns{position:absolute;right:0;display:flex;height:var(--ibiz-picker-height)}.ibiz-picker-input__btns span{display:flex;flex-flow:column nowrap;justify-content:center}.ibiz-picker-input__autocomplete{display:flex}.ibiz-picker-input__autocomplete .el-autocomplete{width:100%}.ibiz-picker-input__transfer-item{padding:5px;cursor:pointer}.ibiz-picker-input__transfer-item:hover{background-color:var(--ibiz-form-item-hover-bg-color)}.ibiz-picker-input__link{width:32px;height:32px;padding:0 6px;font-size:16px}.ibiz-picker--disabled ion-icon{pointer-events:none}.ibiz-picker--readonly{font-size:var(--ibiz-form-item-font-size);line-height:var(--ibiz-editor-default-line-height);color:var(--ibiz-form-item-readonly-color)}.ibiz-picker__transfer-item.is-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-picker-form-default-content{display:none}.ibiz-form-item .ibiz-picker.is-show-default:hover .ibiz-picker-form-default-content{display:none}.ibiz-form-item .ibiz-picker.is-show-default:hover .ibiz-picker-input{display:block}.ibiz-form-item .ibiz-picker.is-show-default .ibiz-picker-form-default-content{display:flex;align-items:center;width:100%;padding:var(--ibiz-form-item-hover-edit-padding);font-family:Arial,sans-serif;font-size:var(--ibiz-form-item-font-size);line-height:var(--ibiz-editor-default-line-height);color:var(--ibiz-form-item-text-color)}.ibiz-form-item .ibiz-picker.is-show-default .ibiz-picker-input{display:none}.ibiz-form-item .ibiz-picker.is-show-default.is-editable .ibiz-picker-form-default-content{display:none}.ibiz-form-item .ibiz-picker.is-show-default.is-editable .ibiz-picker-input{display:block}
@@ -196,6 +196,8 @@ const IBizPicker = /* @__PURE__ */ defineComponent({
196
196
  };
197
197
  },
198
198
  render() {
199
+ const overflowMode = this.c.editorParams.overflowMode || ibiz.config.pickerEditor.overflowMode;
200
+ const isEllipsis = overflowMode === "ellipsis";
199
201
  const itemContent = (item) => {
200
202
  var _a;
201
203
  const panel = (_a = this.c.deACMode) == null ? void 0 : _a.itemLayoutPanel;
@@ -212,7 +214,8 @@ const IBizPicker = /* @__PURE__ */ defineComponent({
212
214
  this.onACSelect(item);
213
215
  }
214
216
  }, null) : createVNode("div", {
215
- "class": this.ns.e("transfer-item"),
217
+ "class": [this.ns.e("transfer-item"), this.ns.is("ellipsis", isEllipsis)],
218
+ "title": isEllipsis ? item[this.c.textName] : "",
216
219
  "onClick": () => {
217
220
  this.onACSelect(item);
218
221
  }
@@ -256,13 +259,14 @@ const IBizPicker = /* @__PURE__ */ defineComponent({
256
259
  "value-key": this.c.textName,
257
260
  "placeholder": this.c.placeHolder,
258
261
  "clearable": true,
259
- "popper-class": this.ns.e("transfer"),
262
+ "popper-class": [this.ns.e("transfer")],
260
263
  "fetch-suggestions": this.onSearch,
261
264
  "onClear": this.onClear,
262
265
  "onBlur": this.onBlur,
263
266
  "onFocus": this.onFocus,
264
267
  "onKeyup": this.handleKeyUp,
265
- "disabled": this.disabled
268
+ "disabled": this.disabled,
269
+ "fit-input-width": isEllipsis
266
270
  }, this.$attrs), {
267
271
  default: ({
268
272
  item
@@ -211,6 +211,8 @@ const IBizPickerDropDown = /* @__PURE__ */ defineComponent({
211
211
  },
212
212
  render() {
213
213
  let _slot;
214
+ const overflowMode = this.c.editorParams.overflowMode || ibiz.config.pickerEditor.overflowMode;
215
+ const isEllipsis = overflowMode === "ellipsis";
214
216
  const editContent = this.readonly ? this.value : createVNode(resolveComponent("el-select"), mergeProps({
215
217
  "ref": "editorRef",
216
218
  "class": [this.ns.b("select")],
@@ -230,9 +232,11 @@ const IBizPickerDropDown = /* @__PURE__ */ defineComponent({
230
232
  "onFocus": this.onFocus,
231
233
  "onBlur": this.onBlur,
232
234
  "onKeyup": this.handleKeyUp,
233
- "onClick": this.onClick
235
+ "onClick": this.onClick,
236
+ "fit-input-width": isEllipsis
234
237
  }, this.$attrs), _isSlot(_slot = this.items.map((item) => {
235
238
  return createVNode(resolveComponent("el-option"), {
239
+ "title": isEllipsis ? item[this.c.textName] : "",
236
240
  "value": item[this.c.keyName],
237
241
  "key": item[this.c.keyName],
238
242
  "label": item[this.c.textName]
@@ -1 +1 @@
1
- .ibiz-dropdown{width:var(--ibiz-dropdown-width);--ibiz-dropdown-width:100%;--ibiz-dropdown-readonly-text-item-color:var(--ibiz-form-item-text-color)}.ibiz-dropdown__branch-node>.el-tree-node__content{--ibiz-color-disabled-text:var(--ibiz-color-text-0)}.ibiz-dropdown .el-select{width:100%}.ibiz-dropdown-readonly-text-item{margin-right:var(--ibiz-spacing-tight);font-size:var(--ibiz-form-item-font-size);line-height:var(--ibiz-editor-default-line-height);color:var(--ibiz-dropdown-readonly-text-item-color)}.ibiz-dropdown-readonly-text-item .ibiz-icon{display:flex;align-items:center;justify-content:center;width:var(--ibiz-width-icon-medium);height:var(--ibiz-width-icon-medium);margin-right:var(--ibiz-spacing-extra-tight);font-size:var(--ibiz-font-size-regular)}.el-select-dropdown__item{width:100%;background-color:var(--ibiz-dropdown-select-option-item-bkcolor)}.ibiz-dropdown-select-option-content{display:flex;align-items:center;justify-content:flex-start;width:100%;height:100%;color:var(--ibiz-dropdown-select-option-item-color)}.ibiz-dropdown-select-option-content .ibiz-icon{display:flex;align-items:center;justify-content:center;width:var(--ibiz-width-icon-medium);height:var(--ibiz-width-icon-medium);margin-right:var(--ibiz-spacing-extra-tight);font-size:var(--ibiz-font-size-regular)}.ibiz-dropdown-form-default-content{display:none}.ibiz-form-item .ibiz-dropdown.is-show-default:hover .ibiz-dropdown-form-default-content{display:none}.ibiz-form-item .ibiz-dropdown.is-show-default:hover .ibiz-dropdown-select{display:block}.ibiz-form-item .ibiz-dropdown.is-show-default .ibiz-dropdown-form-default-content{display:flex;align-items:center;width:100%;padding:var(--ibiz-form-item-hover-edit-padding);font-family:Arial,sans-serif;font-size:var(--ibiz-form-item-font-size);line-height:var(--ibiz-editor-default-line-height);color:var(--ibiz-form-item-text-color)}.ibiz-form-item .ibiz-dropdown.is-show-default .ibiz-dropdown-form-default-content.is-multiple{height:var(--ibiz-editor-default-line-height)}.ibiz-form-item .ibiz-dropdown.is-show-default .ibiz-dropdown-form-default-content.is-multiple .ibiz-dropdown-content-item{height:22px;padding:0 9px;margin:2px 6px 2px 0;font-size:var(--ibiz-font-size-small);line-height:22px;color:var(--ibiz-editor-default-text-color);background-color:var(--ibiz-color-fill-0);border:1px solid transparent;border-radius:var(--ibiz-border-radius-small)}.ibiz-form-item .ibiz-dropdown.is-show-default .ibiz-dropdown-select{display:none}.ibiz-form-item .ibiz-dropdown.is-show-default.is-editable .ibiz-dropdown-form-default-content{display:none}.ibiz-form-item .ibiz-dropdown.is-show-default.is-editable .ibiz-dropdown-select{display:block}
1
+ .ibiz-dropdown{width:var(--ibiz-dropdown-width);--ibiz-dropdown-width:100%;--ibiz-dropdown-readonly-text-item-color:var(--ibiz-form-item-text-color)}.ibiz-dropdown__branch-node>.el-tree-node__content{--ibiz-color-disabled-text:var(--ibiz-color-text-0)}.ibiz-dropdown .el-select{width:100%}.ibiz-dropdown-readonly-text-item{margin-right:var(--ibiz-spacing-tight);font-size:var(--ibiz-form-item-font-size);line-height:var(--ibiz-editor-default-line-height);color:var(--ibiz-dropdown-readonly-text-item-color)}.ibiz-dropdown-readonly-text-item .ibiz-icon{display:flex;align-items:center;justify-content:center;width:var(--ibiz-width-icon-medium);height:var(--ibiz-width-icon-medium);margin-right:var(--ibiz-spacing-extra-tight);font-size:var(--ibiz-font-size-regular)}.el-select-dropdown__item{width:100%;background-color:var(--ibiz-dropdown-select-option-item-bkcolor)}.ibiz-dropdown-select-option-content{display:flex;align-items:center;justify-content:flex-start;width:100%;height:100%;color:var(--ibiz-dropdown-select-option-item-color)}.ibiz-dropdown-select-option-content__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-dropdown-select-option-content .ibiz-icon{display:flex;align-items:center;justify-content:center;width:var(--ibiz-width-icon-medium);height:var(--ibiz-width-icon-medium);margin-right:var(--ibiz-spacing-extra-tight);font-size:var(--ibiz-font-size-regular)}.ibiz-dropdown-form-default-content{display:none}.ibiz-form-item .ibiz-dropdown.is-show-default:hover .ibiz-dropdown-form-default-content{display:none}.ibiz-form-item .ibiz-dropdown.is-show-default:hover .ibiz-dropdown-select{display:block}.ibiz-form-item .ibiz-dropdown.is-show-default .ibiz-dropdown-form-default-content{display:flex;align-items:center;width:100%;padding:var(--ibiz-form-item-hover-edit-padding);font-family:Arial,sans-serif;font-size:var(--ibiz-form-item-font-size);line-height:var(--ibiz-editor-default-line-height);color:var(--ibiz-form-item-text-color)}.ibiz-form-item .ibiz-dropdown.is-show-default .ibiz-dropdown-form-default-content.is-multiple{height:var(--ibiz-editor-default-line-height)}.ibiz-form-item .ibiz-dropdown.is-show-default .ibiz-dropdown-form-default-content.is-multiple .ibiz-dropdown-content-item{height:22px;padding:0 9px;margin:2px 6px 2px 0;font-size:var(--ibiz-font-size-small);line-height:22px;color:var(--ibiz-editor-default-text-color);background-color:var(--ibiz-color-fill-0);border:1px solid transparent;border-radius:var(--ibiz-border-radius-small)}.ibiz-form-item .ibiz-dropdown.is-show-default .ibiz-dropdown-select{display:none}.ibiz-form-item .ibiz-dropdown.is-show-default.is-editable .ibiz-dropdown-form-default-content{display:none}.ibiz-form-item .ibiz-dropdown.is-show-default.is-editable .ibiz-dropdown-select{display:block}
@@ -233,6 +233,8 @@ const IBizDropdown = /* @__PURE__ */ defineComponent({
233
233
  },
234
234
  render() {
235
235
  let _slot;
236
+ const overflowMode = this.c.editorParams.overflowMode || ibiz.config.pickerEditor.overflowMode;
237
+ const isEllipsis = overflowMode === "ellipsis";
236
238
  const editContent = this.hasChildren ? createVNode(resolveComponent("el-tree-select"), mergeProps({
237
239
  "ref": "editorRef",
238
240
  "modelValue": this.curValue,
@@ -248,6 +250,7 @@ const IBizDropdown = /* @__PURE__ */ defineComponent({
248
250
  "placeholder": this.c.placeHolder ? this.c.placeHolder : " ",
249
251
  "disabled": this.disabled,
250
252
  "loading": this.isLoading,
253
+ "fit-input-width": isEllipsis,
251
254
  "onBlur": this.onBlur,
252
255
  "onFocus": this.onFocus,
253
256
  "onKeyup": this.handleKeyUp,
@@ -255,7 +258,15 @@ const IBizDropdown = /* @__PURE__ */ defineComponent({
255
258
  "props": {
256
259
  class: this.customNodeClass
257
260
  }
258
- }, this.$attrs), null) : createVNode(resolveComponent("el-select"), mergeProps({
261
+ }, this.$attrs), {
262
+ default: (node) => {
263
+ const data = node.data || {};
264
+ const label = data.label || "";
265
+ return createVNode("span", {
266
+ "title": isEllipsis ? label : ""
267
+ }, [label]);
268
+ }
269
+ }) : createVNode(resolveComponent("el-select"), mergeProps({
259
270
  "ref": "editorRef",
260
271
  "modelValue": this.curValue,
261
272
  "onUpdate:modelValue": ($event) => this.curValue = $event,
@@ -268,6 +279,7 @@ const IBizDropdown = /* @__PURE__ */ defineComponent({
268
279
  "placeholder": this.c.placeHolder ? this.c.placeHolder : " ",
269
280
  "disabled": this.disabled,
270
281
  "loading": this.isLoading,
282
+ "fit-input-width": isEllipsis,
271
283
  "onBlur": this.onBlur,
272
284
  "onFocus": this.onFocus,
273
285
  "onKeyup": this.handleKeyUp,
@@ -281,7 +293,8 @@ const IBizDropdown = /* @__PURE__ */ defineComponent({
281
293
  "style": item.bkcolor ? this.ns.cssVarBlock({
282
294
  "select-option-item-bkcolor": "".concat(item.bkcolor)
283
295
  }) : "",
284
- "class": [item.cls ? item.cls : null]
296
+ "class": [item.cls ? item.cls : null],
297
+ "title": isEllipsis ? item.text : ""
285
298
  }, {
286
299
  default: () => {
287
300
  return createVNode("div", {
@@ -291,7 +304,9 @@ const IBizDropdown = /* @__PURE__ */ defineComponent({
291
304
  }) : ""
292
305
  }, [item.sysImage && createVNode(resolveComponent("iBizIcon"), {
293
306
  "icon": item.sysImage
294
- }, null), item.text]);
307
+ }, null), createVNode("span", {
308
+ "class": [isEllipsis && this.ns.be("select-option-content", "text")]
309
+ }, [item.text])]);
295
310
  }
296
311
  });
297
312
  })) ? _slot : {
@@ -26,7 +26,7 @@ export declare const IBizInput: import("vue").DefineComponent<{
26
26
  c: TextBoxEditorController;
27
27
  ns: import("@ibiz-template/core").Namespace;
28
28
  rows: import("vue").Ref<number>;
29
- type: import("vue").ComputedRef<"string" | "text" | "password" | "textarea">;
29
+ type: import("vue").ComputedRef<"string" | "text" | "textarea" | "password">;
30
30
  currentVal: import("vue").Ref<string>;
31
31
  readonlyText: import("vue").ComputedRef<string>;
32
32
  handleChange: (val: string | number) => void;
@@ -283,7 +283,10 @@ const IBizInput = /* @__PURE__ */ defineComponent({
283
283
  width: editorWidth ? "".concat(editorWidth, "px") : "",
284
284
  height: editorHeight ? "".concat(editorHeight, "px") : ""
285
285
  }
286
- }, [this.showFormDefaultContent && formDefaultContent, content, this.c.chatCompletion ? createVNode("div", {
286
+ }, [this.showFormDefaultContent && formDefaultContent, this.type === "password" && this.shouldAutoComplete === "new-password" ? createVNode("input", {
287
+ "type": "text",
288
+ "style": "opacity: 0;position:absolute;width:0;height:0;"
289
+ }, null) : null, content, this.c.chatCompletion ? createVNode("div", {
287
290
  "class": this.ns.e("ai-chat"),
288
291
  "onClick": this.onClick
289
292
  }, [createVNode("ion-icon", {
package/es/index.mjs CHANGED
@@ -98,6 +98,7 @@ export { SplitContainerController } from './panel-component/split-container/spli
98
98
  export { IBizSplitContainer } from './panel-component/split-container/index.mjs';
99
99
  export { IBizPanelIndexViewSearch } from './panel-component/panel-index-view-search/index.mjs';
100
100
  export { IBizIndexActions } from './panel-component/index-actions/index.mjs';
101
+ export { IBizUserAction } from './panel-component/user-action/index.mjs';
101
102
  export { View404 } from './view/404-view/404-view.mjs';
102
103
  export { LoginView } from './view/login-view/login-view.mjs';
103
104
  export { IBizWFStepTraceView } from './view/wf-step-trace-view/index.mjs';
@@ -0,0 +1,27 @@
1
+ import { PropType } from 'vue';
2
+ import { IPanelRawItem } from '@ibiz/model-core';
3
+ import { PanelItemController } from '@ibiz-template/runtime';
4
+ import './data-import-shell.scss';
5
+ export declare const DataImportShell: import("vue").DefineComponent<{
6
+ modelData: {
7
+ type: PropType<IPanelRawItem>;
8
+ required: true;
9
+ };
10
+ controller: {
11
+ type: typeof PanelItemController;
12
+ required: true;
13
+ };
14
+ }, {
15
+ ns: import("@ibiz-template/core").Namespace;
16
+ c: PanelItemController<import("@ibiz/model-core").IPanelItem>;
17
+ onDismiss: () => void;
18
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
19
+ modelData: {
20
+ type: PropType<IPanelRawItem>;
21
+ required: true;
22
+ };
23
+ controller: {
24
+ type: typeof PanelItemController;
25
+ required: true;
26
+ };
27
+ }>>, {}, {}>;
@@ -0,0 +1,49 @@
1
+ import { resolveComponent, h, defineComponent } from 'vue';
2
+ import { useNamespace } from '@ibiz-template/vue3-util';
3
+ import { PanelItemController } from '@ibiz-template/runtime';
4
+ import './data-import-shell.css';
5
+
6
+ "use strict";
7
+ const DataImportShell = /* @__PURE__ */ defineComponent({
8
+ name: "IBizDataImportShell",
9
+ props: {
10
+ modelData: {
11
+ type: Object,
12
+ required: true
13
+ },
14
+ controller: {
15
+ type: PanelItemController,
16
+ required: true
17
+ }
18
+ },
19
+ setup(prop) {
20
+ const ns = useNamespace("data-import-shell");
21
+ const c = prop.controller;
22
+ const onDismiss = () => {
23
+ c.panel.view.closeView();
24
+ };
25
+ return {
26
+ ns,
27
+ c,
28
+ onDismiss
29
+ };
30
+ },
31
+ render() {
32
+ const {
33
+ deDataImport,
34
+ appDataEntity
35
+ } = this.c.panel.view.state;
36
+ const classNames = [this.ns.b(), this.ns.m(this.modelData.id), ...this.controller.containerClass];
37
+ const importComponentName = deDataImport.enableCustomized ? "DataImport2" : "DataImport";
38
+ return h(resolveComponent(importComponentName), {
39
+ dismiss: this.onDismiss,
40
+ dataImport: deDataImport,
41
+ appDataEntity,
42
+ context: this.c.panel.context,
43
+ params: this.c.panel.params,
44
+ class: classNames
45
+ });
46
+ }
47
+ });
48
+
49
+ export { DataImportShell };
@@ -0,0 +1,15 @@
1
+ import { IPanelItemProvider, PanelController, PanelItemController } from '@ibiz-template/runtime';
2
+ import { IPanelItem } from '@ibiz/model-core';
3
+ /**
4
+ * 用户信息适配器
5
+ *
6
+ * @author lxm
7
+ * @date 2022-09-19 22:09:03
8
+ * @export
9
+ * @class DataImportProvider
10
+ * @implements {EditorProvider}
11
+ */
12
+ export declare class DataImportProvider implements IPanelItemProvider {
13
+ component: string;
14
+ createController(panelItem: IPanelItem, panel: PanelController, parent: PanelItemController | undefined): Promise<PanelItemController>;
15
+ }
@@ -0,0 +1,21 @@
1
+ import { PanelItemController } from '@ibiz-template/runtime';
2
+
3
+ "use strict";
4
+ var __defProp = Object.defineProperty;
5
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
+ var __publicField = (obj, key, value) => {
7
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
8
+ return value;
9
+ };
10
+ class DataImportProvider {
11
+ constructor() {
12
+ __publicField(this, "component", "IBizDataImportShell");
13
+ }
14
+ async createController(panelItem, panel, parent) {
15
+ const c = new PanelItemController(panelItem, panel, parent);
16
+ await c.init();
17
+ return c;
18
+ }
19
+ }
20
+
21
+ export { DataImportProvider };
@@ -0,0 +1,24 @@
1
+ export declare const IBizDataImport: import("@ibiz-template/vue3-util").TypeWithInstall<import("vue").DefineComponent<{
2
+ modelData: {
3
+ type: import("vue").PropType<import("@ibiz/model-core").IPanelRawItem>;
4
+ required: true;
5
+ };
6
+ controller: {
7
+ type: typeof import("@ibiz-template/runtime").PanelItemController;
8
+ required: true;
9
+ };
10
+ }, {
11
+ ns: import("@ibiz-template/core").Namespace;
12
+ c: import("@ibiz-template/runtime").PanelItemController<import("@ibiz/model-core").IPanelItem>;
13
+ onDismiss: () => void;
14
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
15
+ modelData: {
16
+ type: import("vue").PropType<import("@ibiz/model-core").IPanelRawItem>;
17
+ required: true;
18
+ };
19
+ controller: {
20
+ type: typeof import("@ibiz-template/runtime").PanelItemController;
21
+ required: true;
22
+ };
23
+ }>>, {}, {}>>;
24
+ export default IBizDataImport;
@@ -0,0 +1,15 @@
1
+ import { registerPanelItemProvider } from '@ibiz-template/runtime';
2
+ import { withInstall } from '@ibiz-template/vue3-util';
3
+ import { DataImportShell } from './data-import-shell.mjs';
4
+ import { DataImportProvider } from './data-import.provider.mjs';
5
+
6
+ "use strict";
7
+ const IBizDataImport = withInstall(DataImportShell, function(v) {
8
+ v.component(DataImportShell.name, DataImportShell);
9
+ registerPanelItemProvider(
10
+ "RAWITEM_DATA_IMPORT",
11
+ () => new DataImportProvider()
12
+ );
13
+ });
14
+
15
+ export { IBizDataImport, IBizDataImport as default };
@@ -7,6 +7,7 @@ export * from './panel-tab-panel';
7
7
  export * from './split-container';
8
8
  export * from './panel-index-view-search';
9
9
  export * from './index-actions';
10
+ export * from './user-action';
10
11
  export declare const IBizPanelComponents: {
11
12
  install: (v: App) => void;
12
13
  };
@@ -20,6 +20,8 @@ import { IBizViewMessage } from './view-message/index.mjs';
20
20
  import { IBizPanelStaticCarousel } from './panel-static-carousel/index.mjs';
21
21
  import { IBizCoopPos } from './coop-pos/index.mjs';
22
22
  import { IBizViewMsgPos } from './view-msg-pos/index.mjs';
23
+ import { IBizUserAction } from './user-action/index.mjs';
24
+ import { IBizDataImport } from './data-import/index.mjs';
23
25
  export { NavPosIndexState } from './nav-pos-index/nav-pos-index.state.mjs';
24
26
  export { NavPosIndexController } from './nav-pos-index/nav-pos-index.controller.mjs';
25
27
  export { PanelButtonController } from './panel-button/panel-button.controller.mjs';
@@ -65,7 +67,9 @@ const IBizPanelComponents = {
65
67
  v.use(IBizPanelContainerTabs);
66
68
  v.use(IBizCoopPos);
67
69
  v.use(IBizViewMsgPos);
70
+ v.use(IBizUserAction);
71
+ v.use(IBizDataImport);
68
72
  }
69
73
  };
70
74
 
71
- export { IBizAuthUserinfo, IBizIndexActions, IBizNavPosIndex, IBizPanelAppTitle, IBizPanelButton, IBizPanelComponents, IBizPanelIndexViewSearch, IBizPanelTabPanel, IBizSplitContainer, IBizPanelComponents as default };
75
+ export { IBizAuthUserinfo, IBizIndexActions, IBizNavPosIndex, IBizPanelAppTitle, IBizPanelButton, IBizPanelComponents, IBizPanelIndexViewSearch, IBizPanelTabPanel, IBizSplitContainer, IBizUserAction, IBizPanelComponents as default };
@@ -91,7 +91,6 @@ const PanelIndexViewSearch = /* @__PURE__ */ defineComponent({
91
91
  "class": this.ns.b("search"),
92
92
  "placeholder": ibiz.i18n.t("component.indexSearch.placeholder"),
93
93
  "onInput": this.onInput,
94
- "onChange": this.onSearch,
95
94
  "onKeyup": this.onEnter
96
95
  }, {
97
96
  prefix: () => {
@@ -0,0 +1,25 @@
1
+ export declare const IBizUserAction: import("@ibiz-template/vue3-util").TypeWithInstall<import("vue").DefineComponent<{
2
+ modelData: {
3
+ type: import("vue").PropType<import("@ibiz/model-core").IPanelRawItem>;
4
+ required: true;
5
+ };
6
+ controller: {
7
+ type: import("vue").PropType<import("@ibiz-template/runtime").PanelItemController<import("@ibiz/model-core").IPanelItem>>;
8
+ required: true;
9
+ };
10
+ }, {
11
+ ns: import("@ibiz-template/core").Namespace;
12
+ c: import("@ibiz-template/runtime").PanelItemController<import("@ibiz/model-core").IPanelItem>;
13
+ sysImage: import("@ibiz/model-core").ISysImage | undefined;
14
+ onClick: () => Promise<void>;
15
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
16
+ modelData: {
17
+ type: import("vue").PropType<import("@ibiz/model-core").IPanelRawItem>;
18
+ required: true;
19
+ };
20
+ controller: {
21
+ type: import("vue").PropType<import("@ibiz-template/runtime").PanelItemController<import("@ibiz/model-core").IPanelItem>>;
22
+ required: true;
23
+ };
24
+ }>>, {}, {}>>;
25
+ export default IBizUserAction;
@@ -0,0 +1,14 @@
1
+ import { withInstall } from '@ibiz-template/vue3-util';
2
+ import { registerPanelItemProvider } from '@ibiz-template/runtime';
3
+ import { UserAction } from './user-action.mjs';
4
+ import { UserActionProvider } from './user-action-provider.mjs';
5
+
6
+ "use strict";
7
+ const IBizUserAction = withInstall(UserAction, function(v) {
8
+ v.component(UserAction.name, UserAction);
9
+ registerPanelItemProvider("RAWITEM_SETTING", () => new UserActionProvider());
10
+ registerPanelItemProvider("RAWITEM_HELPER", () => new UserActionProvider());
11
+ registerPanelItemProvider("RAWITEM_CUSTOM", () => new UserActionProvider());
12
+ });
13
+
14
+ export { IBizUserAction, IBizUserAction as default };
@@ -0,0 +1,6 @@
1
+ import { IPanelItemProvider, PanelController, PanelItemController } from '@ibiz-template/runtime';
2
+ import { IPanelItem } from '@ibiz/model-core';
3
+ export declare class UserActionProvider implements IPanelItemProvider {
4
+ component: string;
5
+ createController(panelItem: IPanelItem, panel: PanelController, parent: PanelItemController | undefined): Promise<PanelItemController>;
6
+ }
@@ -0,0 +1,21 @@
1
+ import { PanelItemController } from '@ibiz-template/runtime';
2
+
3
+ "use strict";
4
+ var __defProp = Object.defineProperty;
5
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
+ var __publicField = (obj, key, value) => {
7
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
8
+ return value;
9
+ };
10
+ class UserActionProvider {
11
+ constructor() {
12
+ __publicField(this, "component", "IBizUserAction");
13
+ }
14
+ async createController(panelItem, panel, parent) {
15
+ const c = new PanelItemController(panelItem, panel, parent);
16
+ await c.init();
17
+ return c;
18
+ }
19
+ }
20
+
21
+ export { UserActionProvider };
@@ -0,0 +1 @@
1
+ .ibiz-user-action{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.ibiz-user-action__image{display:flex;place-items:center center;justify-content:center;width:28px;height:28px;margin-bottom:6px;cursor:pointer}
@@ -0,0 +1,28 @@
1
+ import { PropType } from 'vue';
2
+ import { PanelItemController } from '@ibiz-template/runtime';
3
+ import { IPanelRawItem } from '@ibiz/model-core';
4
+ import './user-action.scss';
5
+ export declare const UserAction: import("vue").DefineComponent<{
6
+ modelData: {
7
+ type: PropType<IPanelRawItem>;
8
+ required: true;
9
+ };
10
+ controller: {
11
+ type: PropType<PanelItemController<import("@ibiz/model-core").IPanelItem>>;
12
+ required: true;
13
+ };
14
+ }, {
15
+ ns: import("@ibiz-template/core").Namespace;
16
+ c: PanelItemController<import("@ibiz/model-core").IPanelItem>;
17
+ sysImage: import("@ibiz/model-core").ISysImage | undefined;
18
+ onClick: () => Promise<void>;
19
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
20
+ modelData: {
21
+ type: PropType<IPanelRawItem>;
22
+ required: true;
23
+ };
24
+ controller: {
25
+ type: PropType<PanelItemController<import("@ibiz/model-core").IPanelItem>>;
26
+ required: true;
27
+ };
28
+ }>>, {}, {}>;
@@ -0,0 +1,74 @@
1
+ import { resolveComponent, createVNode, defineComponent } from 'vue';
2
+ import { useNamespace } from '@ibiz-template/vue3-util';
3
+ import { AppFuncCommand } from '@ibiz-template/runtime';
4
+ import './user-action.css';
5
+
6
+ "use strict";
7
+ const UserAction = /* @__PURE__ */ defineComponent({
8
+ name: "IBizUserAction",
9
+ props: {
10
+ modelData: {
11
+ type: Object,
12
+ required: true
13
+ },
14
+ controller: {
15
+ type: Object,
16
+ required: true
17
+ }
18
+ },
19
+ setup(props) {
20
+ const ns = useNamespace("user-action");
21
+ const c = props.controller;
22
+ const imgConfig = {
23
+ SETTING: {
24
+ imagePath: "svg/setting.svg"
25
+ },
26
+ HELPER: {
27
+ imagePath: "svg/helper.svg"
28
+ },
29
+ CUSTOM: {
30
+ imagePath: "svg/custom-workbench.svg"
31
+ }
32
+ };
33
+ let sysImage = props.modelData.sysImage;
34
+ if (!sysImage && props.modelData && props.modelData.rawItem) {
35
+ const predefinedType = props.modelData.rawItem.predefinedType;
36
+ if (predefinedType) {
37
+ sysImage = imgConfig[predefinedType];
38
+ }
39
+ }
40
+ const onClick = async () => {
41
+ const id = props.modelData.id;
42
+ const menuC = c.panel.view.getController("appmenu");
43
+ if (menuC) {
44
+ const targetMenu = menuC.allAppMenuItems.find((item) => {
45
+ return item.id === id;
46
+ });
47
+ if (targetMenu) {
48
+ const tempContext = c.panel.context.clone();
49
+ const tempParam = c.panel.params;
50
+ tempContext.srfappid = targetMenu.appId || ibiz.env.appId;
51
+ await ibiz.commands.execute(AppFuncCommand.TAG, targetMenu.appFuncId, tempContext, tempParam, {});
52
+ }
53
+ }
54
+ };
55
+ return {
56
+ ns,
57
+ c,
58
+ sysImage,
59
+ onClick
60
+ };
61
+ },
62
+ render() {
63
+ return createVNode("div", {
64
+ "class": this.ns.b(),
65
+ "onClick": this.onClick,
66
+ "title": this.modelData.caption
67
+ }, [createVNode(resolveComponent("i-biz-icon"), {
68
+ "class": [this.ns.e("image")],
69
+ "icon": this.sysImage
70
+ }, null)]);
71
+ }
72
+ });
73
+
74
+ export { UserAction };