@ibiz-template/vue3-components 0.6.8 → 0.6.10

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 (137) hide show
  1. package/dist/index-Udkmmoqt.js +4 -0
  2. package/dist/index.min.css +1 -1
  3. package/dist/index.system.min.js +1 -1
  4. package/dist/wang-editor-Zc_Y0dGt.js +1 -0
  5. package/dist/{xlsx-util-Ivrrn3GI.js → xlsx-util-2FgdNqpT.js} +1 -1
  6. package/es/control/calendar/calendar.css +1 -1
  7. package/es/control/drbar/drbar.controller.d.ts +14 -0
  8. package/es/control/drbar/drbar.controller.mjs +57 -4
  9. package/es/control/drbar/drbar.css +1 -1
  10. package/es/control/drbar/drbar.d.ts +1 -0
  11. package/es/control/drbar/drbar.mjs +18 -2
  12. package/es/control/drbar/index.d.ts +1 -0
  13. package/es/control/exp-bar/calendar-exp-bar/calendar-exp-bar.d.ts +1 -1
  14. package/es/control/exp-bar/calendar-exp-bar/calendar-exp-bar.mjs +3 -3
  15. package/es/control/exp-bar/calendar-exp-bar/index.d.ts +1 -1
  16. package/es/control/exp-bar/chart-exp-bar/chart-exp-bar.d.ts +1 -1
  17. package/es/control/exp-bar/chart-exp-bar/chart-exp-bar.mjs +3 -3
  18. package/es/control/exp-bar/chart-exp-bar/index.d.ts +1 -1
  19. package/es/control/exp-bar/data-view-exp-bar/data-view-view-exp-bar.d.ts +1 -1
  20. package/es/control/exp-bar/data-view-exp-bar/data-view-view-exp-bar.mjs +3 -3
  21. package/es/control/exp-bar/data-view-exp-bar/index.d.ts +1 -1
  22. package/es/control/exp-bar/grid-exp-bar/grid-exp-bar.d.ts +1 -1
  23. package/es/control/exp-bar/grid-exp-bar/grid-exp-bar.mjs +3 -3
  24. package/es/control/exp-bar/grid-exp-bar/index.d.ts +1 -1
  25. package/es/control/exp-bar/list-exp-bar/index.d.ts +1 -1
  26. package/es/control/exp-bar/list-exp-bar/list-exp-bar.d.ts +1 -1
  27. package/es/control/exp-bar/list-exp-bar/list-exp-bar.mjs +3 -3
  28. package/es/control/exp-bar/render-util.d.ts +2 -2
  29. package/es/control/exp-bar/render-util.mjs +16 -3
  30. package/es/control/exp-bar/tree-exp-bar/index.d.ts +1 -1
  31. package/es/control/exp-bar/tree-exp-bar/tree-exp-bar.d.ts +1 -1
  32. package/es/control/exp-bar/tree-exp-bar/tree-exp-bar.mjs +3 -3
  33. package/es/control/form/form/form.mjs +16 -2
  34. package/es/control/form/form-detail/form-item/form-item.mjs +2 -1
  35. package/es/control/search-bar/filter-mode-select/filter-mode-select.d.ts +12 -0
  36. package/es/control/search-bar/filter-mode-select/filter-mode-select.mjs +6 -0
  37. package/es/control/search-bar/filter-tree/filter-tree.css +1 -1
  38. package/es/control/search-bar/filter-tree/filter-tree.d.ts +3 -3
  39. package/es/control/search-bar/filter-tree/filter-tree.mjs +90 -9
  40. package/es/control/toolbar/toolbar.mjs +12 -2
  41. package/es/editor/array/ibiz-array/ibiz-array.mjs +5 -5
  42. package/es/editor/autocomplete/ibiz-autocomplete/ibiz-autocomplete.mjs +3 -3
  43. package/es/editor/carousel/ibiz-carousel/ibiz-carousel.mjs +3 -3
  44. package/es/editor/cascader/ibiz-cascader/ibiz-cascader.mjs +3 -3
  45. package/es/editor/check-box/ibiz-checkbox/ibiz-checkbox.mjs +3 -3
  46. package/es/editor/check-box-list/ibiz-checkbox-list/ibiz-checkbox-list.mjs +3 -3
  47. package/es/editor/color-picker/ibiz-color-picker/ibiz-color-picker.mjs +3 -3
  48. package/es/editor/data-picker/ibiz-mpicker/ibiz-mpicker.css +1 -1
  49. package/es/editor/data-picker/ibiz-mpicker/ibiz-mpicker.mjs +3 -3
  50. package/es/editor/data-picker/ibiz-picker/ibiz-picker.css +1 -1
  51. package/es/editor/data-picker/ibiz-picker/ibiz-picker.mjs +5 -5
  52. package/es/editor/data-picker/ibiz-picker-dropdown/ibiz-picker-dropdown.css +1 -1
  53. package/es/editor/data-picker/ibiz-picker-dropdown/ibiz-picker-dropdown.mjs +3 -3
  54. package/es/editor/date-picker/ibiz-date-picker/ibiz-date-picker.css +1 -1
  55. package/es/editor/date-picker/ibiz-date-picker/ibiz-date-picker.mjs +4 -4
  56. package/es/editor/date-range/ibiz-date-range-picker/ibiz-date-range-picker.css +1 -1
  57. package/es/editor/date-range/ibiz-date-range-picker/ibiz-date-range-picker.mjs +5 -5
  58. package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.mjs +4 -4
  59. package/es/editor/html/wang-editor/wang-editor.css +1 -1
  60. package/es/editor/html/wang-editor/wang-editor.mjs +8 -2
  61. package/es/editor/list-box/ibiz-list-box/ibiz-list-box.mjs +5 -5
  62. package/es/editor/number-range/ibiz-number-range-picker/ibiz-number-range-picker.mjs +5 -5
  63. package/es/editor/radio-button-list/ibiz-radio/ibiz-radio.mjs +3 -3
  64. package/es/editor/rate/ibiz-rate/ibiz-rate.mjs +3 -3
  65. package/es/editor/slider/ibiz-slider/ibiz-slider.mjs +3 -3
  66. package/es/editor/stepper/ibiz-stepper/ibiz-stepper.mjs +3 -3
  67. package/es/editor/switch/ibiz-switch/ibiz-switch.mjs +3 -3
  68. package/es/editor/text-box/ibiz-input-number/ibiz-input-number.mjs +3 -3
  69. package/es/editor/text-box/input/input.mjs +3 -3
  70. package/es/editor/upload/ibiz-file-upload/ibiz-file-upload.mjs +3 -3
  71. package/es/editor/upload/ibiz-image-preview/ibiz-image-preview.mjs +3 -3
  72. package/es/editor/upload/ibiz-image-upload/ibiz-image-upload.mjs +5 -5
  73. package/es/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.mjs +3 -3
  74. package/es/view-engine/exp-view.engine.d.ts +2 -1
  75. package/es/view-engine/exp-view.engine.mjs +10 -0
  76. package/es/view-engine/index.mjs +5 -0
  77. package/es/view-engine/tab-search-view.engine.d.ts +61 -0
  78. package/es/view-engine/tab-search-view.engine.mjs +105 -0
  79. package/es/web-app/guard/auth-guard/auth-guard.d.ts +0 -7
  80. package/es/web-app/guard/auth-guard/auth-guard.mjs +24 -34
  81. package/lib/control/calendar/calendar.css +1 -1
  82. package/lib/control/drbar/drbar.cjs +18 -2
  83. package/lib/control/drbar/drbar.controller.cjs +57 -4
  84. package/lib/control/drbar/drbar.css +1 -1
  85. package/lib/control/exp-bar/calendar-exp-bar/calendar-exp-bar.cjs +3 -3
  86. package/lib/control/exp-bar/chart-exp-bar/chart-exp-bar.cjs +3 -3
  87. package/lib/control/exp-bar/data-view-exp-bar/data-view-view-exp-bar.cjs +3 -3
  88. package/lib/control/exp-bar/grid-exp-bar/grid-exp-bar.cjs +3 -3
  89. package/lib/control/exp-bar/list-exp-bar/list-exp-bar.cjs +3 -3
  90. package/lib/control/exp-bar/render-util.cjs +15 -2
  91. package/lib/control/exp-bar/tree-exp-bar/tree-exp-bar.cjs +3 -3
  92. package/lib/control/form/form/form.cjs +15 -1
  93. package/lib/control/form/form-detail/form-item/form-item.cjs +2 -1
  94. package/lib/control/search-bar/filter-mode-select/filter-mode-select.cjs +6 -0
  95. package/lib/control/search-bar/filter-tree/filter-tree.cjs +90 -9
  96. package/lib/control/search-bar/filter-tree/filter-tree.css +1 -1
  97. package/lib/control/toolbar/toolbar.cjs +12 -2
  98. package/lib/editor/array/ibiz-array/ibiz-array.cjs +4 -4
  99. package/lib/editor/autocomplete/ibiz-autocomplete/ibiz-autocomplete.cjs +2 -2
  100. package/lib/editor/carousel/ibiz-carousel/ibiz-carousel.cjs +2 -2
  101. package/lib/editor/cascader/ibiz-cascader/ibiz-cascader.cjs +2 -2
  102. package/lib/editor/check-box/ibiz-checkbox/ibiz-checkbox.cjs +2 -2
  103. package/lib/editor/check-box-list/ibiz-checkbox-list/ibiz-checkbox-list.cjs +2 -2
  104. package/lib/editor/color-picker/ibiz-color-picker/ibiz-color-picker.cjs +2 -2
  105. package/lib/editor/data-picker/ibiz-mpicker/ibiz-mpicker.cjs +2 -2
  106. package/lib/editor/data-picker/ibiz-mpicker/ibiz-mpicker.css +1 -1
  107. package/lib/editor/data-picker/ibiz-picker/ibiz-picker.cjs +4 -4
  108. package/lib/editor/data-picker/ibiz-picker/ibiz-picker.css +1 -1
  109. package/lib/editor/data-picker/ibiz-picker-dropdown/ibiz-picker-dropdown.cjs +2 -2
  110. package/lib/editor/data-picker/ibiz-picker-dropdown/ibiz-picker-dropdown.css +1 -1
  111. package/lib/editor/date-picker/ibiz-date-picker/ibiz-date-picker.cjs +3 -3
  112. package/lib/editor/date-picker/ibiz-date-picker/ibiz-date-picker.css +1 -1
  113. package/lib/editor/date-range/ibiz-date-range-picker/ibiz-date-range-picker.cjs +4 -4
  114. package/lib/editor/date-range/ibiz-date-range-picker/ibiz-date-range-picker.css +1 -1
  115. package/lib/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.cjs +3 -3
  116. package/lib/editor/html/wang-editor/wang-editor.cjs +8 -2
  117. package/lib/editor/html/wang-editor/wang-editor.css +1 -1
  118. package/lib/editor/list-box/ibiz-list-box/ibiz-list-box.cjs +4 -4
  119. package/lib/editor/number-range/ibiz-number-range-picker/ibiz-number-range-picker.cjs +4 -4
  120. package/lib/editor/radio-button-list/ibiz-radio/ibiz-radio.cjs +2 -2
  121. package/lib/editor/rate/ibiz-rate/ibiz-rate.cjs +2 -2
  122. package/lib/editor/slider/ibiz-slider/ibiz-slider.cjs +2 -2
  123. package/lib/editor/stepper/ibiz-stepper/ibiz-stepper.cjs +2 -2
  124. package/lib/editor/switch/ibiz-switch/ibiz-switch.cjs +2 -2
  125. package/lib/editor/text-box/ibiz-input-number/ibiz-input-number.cjs +2 -2
  126. package/lib/editor/text-box/input/input.cjs +2 -2
  127. package/lib/editor/upload/ibiz-file-upload/ibiz-file-upload.cjs +2 -2
  128. package/lib/editor/upload/ibiz-image-preview/ibiz-image-preview.cjs +2 -2
  129. package/lib/editor/upload/ibiz-image-upload/ibiz-image-upload.cjs +4 -4
  130. package/lib/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.cjs +2 -2
  131. package/lib/view-engine/exp-view.engine.cjs +10 -0
  132. package/lib/view-engine/index.cjs +5 -0
  133. package/lib/view-engine/tab-search-view.engine.cjs +107 -0
  134. package/lib/web-app/guard/auth-guard/auth-guard.cjs +22 -32
  135. package/package.json +8 -8
  136. package/dist/index-I0JaiEjL.js +0 -4
  137. package/dist/wang-editor-R2mUYWuB.js +0 -1
@@ -1,4 +1,4 @@
1
- import { ref, computed, resolveComponent, createVNode, defineComponent } from 'vue';
1
+ import { ref, computed, resolveComponent, mergeProps, createVNode, defineComponent } from 'vue';
2
2
  import { getDateRangeProps, getEditorEmits, useNamespace } from '@ibiz-template/vue3-util';
3
3
  import './ibiz-date-range-picker.css';
4
4
 
@@ -143,7 +143,7 @@ const IBizDateRangePicker = /* @__PURE__ */ defineComponent({
143
143
  };
144
144
  },
145
145
  render() {
146
- const editContent = createVNode(resolveComponent("el-date-picker"), {
146
+ const editContent = createVNode(resolveComponent("el-date-picker"), mergeProps({
147
147
  "ref": "editorRef",
148
148
  "modelValue": this.curValue,
149
149
  "onUpdate:modelValue": ($event) => this.curValue = $event,
@@ -160,13 +160,13 @@ const IBizDateRangePicker = /* @__PURE__ */ defineComponent({
160
160
  "unlink-panels": this.unlinkPanels,
161
161
  "onFocus": this.onFocus,
162
162
  "onBlur": this.onBlur
163
- }, null);
163
+ }, this.$attrs), null);
164
164
  const readonlyContent = createVNode("div", {
165
165
  "class": (this.ns.b(), this.ns.m("readonly"))
166
166
  }, [this.valueText]);
167
167
  const formDefaultContent = createVNode("div", {
168
168
  "class": [this.ns.b("form-default-content"), this.ns.is("has-val", this.curValue.length > 0)]
169
- }, [this.curValue.length > 0 ? createVNode(resolveComponent("el-date-picker"), {
169
+ }, [this.curValue.length > 0 ? createVNode(resolveComponent("el-date-picker"), mergeProps({
170
170
  "model-value": this.curValue,
171
171
  "class": this.ns.b("default-input"),
172
172
  "type": this.type,
@@ -177,7 +177,7 @@ const IBizDateRangePicker = /* @__PURE__ */ defineComponent({
177
177
  "start-placeholder": this.startPlaceHolder,
178
178
  "end-placeholder": this.endPlaceHolder,
179
179
  "unlink-panels": this.unlinkPanels
180
- }, null) : "-"]);
180
+ }, this.$attrs), null) : "-"]);
181
181
  return createVNode("div", {
182
182
  "class": [this.ns.b(), this.disabled ? this.ns.m("disabled") : "", this.readonly ? this.ns.m("readonly") : "", this.ns.is("editable", this.isEditable), this.ns.is("show-default", this.showFormDefaultContent)],
183
183
  "onKeyup": this.handleKeyUp
@@ -1,4 +1,4 @@
1
- import { isVNode, ref, computed, watch, nextTick, onMounted, onUnmounted, resolveComponent, createVNode, defineComponent } from 'vue';
1
+ import { isVNode, ref, computed, watch, nextTick, onMounted, onUnmounted, resolveComponent, mergeProps, createVNode, defineComponent } from 'vue';
2
2
  import { getDropdownProps, getEditorEmits, useNamespace, useClickOutside } from '@ibiz-template/vue3-util';
3
3
  import './ibiz-dropdown.css';
4
4
 
@@ -224,7 +224,7 @@ const IBizDropdown = /* @__PURE__ */ defineComponent({
224
224
  },
225
225
  render() {
226
226
  let _slot;
227
- const editContent = this.hasChildren ? createVNode(resolveComponent("el-tree-select"), {
227
+ const editContent = this.hasChildren ? createVNode(resolveComponent("el-tree-select"), mergeProps({
228
228
  "ref": "editorRef",
229
229
  "modelValue": this.curValue,
230
230
  "onUpdate:modelValue": ($event) => this.curValue = $event,
@@ -246,7 +246,7 @@ const IBizDropdown = /* @__PURE__ */ defineComponent({
246
246
  "props": {
247
247
  class: this.customNodeClass
248
248
  }
249
- }, null) : createVNode(resolveComponent("el-select"), {
249
+ }, this.$attrs), null) : createVNode(resolveComponent("el-select"), mergeProps({
250
250
  "ref": "editorRef",
251
251
  "modelValue": this.curValue,
252
252
  "onUpdate:modelValue": ($event) => this.curValue = $event,
@@ -263,7 +263,7 @@ const IBizDropdown = /* @__PURE__ */ defineComponent({
263
263
  "onFocus": this.onFocus,
264
264
  "onKeyup": this.handleKeyUp,
265
265
  "onVisibleChange": this.onVisibleChange
266
- }, _isSlot(_slot = this.items.map((item) => {
266
+ }, this.$attrs), _isSlot(_slot = this.items.map((item) => {
267
267
  return createVNode(resolveComponent("el-option"), {
268
268
  "key": item.value,
269
269
  "value": item.value.toString(),
@@ -1 +1 @@
1
- .ibiz-html{--ibiz-html-height:300px;display:inline-block;width:100%;height:100%;--w-e-textarea-bg-color:var(--ibiz-color-bg-1);--w-e-textarea-color:var(--ibiz-color-text-2);--w-e-textarea-border-color:var(--ibiz-color-border);--w-e-textarea-slight-border-color:var(--ibiz-color-border);--w-e-textarea-slight-color:var(--ibiz-color-text-1);--w-e-textarea-slight-bg-color:var(--ibiz-color-bg-1);--w-e-textarea-selected-border-color:var(--ibiz-color-border);--w-e-textarea-handler-bg-color:var(--ibiz-color-primary);--w-e-toolbar-color:var(--ibiz-color-text-0);--w-e-toolbar-bg-color:var(--ibiz-color-bg-1);--w-e-toolbar-active-color:var(--ibiz-color-text-0);--w-e-toolbar-active-bg-color:var(--ibiz-color-bg-1);--w-e-toolbar-disabled-color:var(--ibiz-color-disabled-text);--w-e-toolbar-border-color:var(--ibiz-color-border);--w-e-modal-button-bg-color:var(--ibiz-color-bg-1);--w-e-modal-button-border-color:var(--ibiz-color-border)}.ibiz-html .ibiz-html-content{display:flex;flex-direction:column;height:100%;background-color:var(--ibiz-color-bg-0)}.ibiz-html .ibiz-html-editor{height:var(--ibiz-html-height)!important;padding:0;overflow-y:scroll;border:1px solid var(--ibiz-color-border)}.ibiz-html .w-e-menu-tooltip-v5::before{color:var(--ibiz-color-text-0);background-color:var(--w-e-toolbar-bg-color)}.ibiz-html .w-e-full-screen-container{z-index:9999}.ibiz-html .w-e-scroll>div{background-color:var(--ibiz-color-bg-0)}.ibiz-html-editor-readonly .ibiz-html-toolbar{display:none}.ibiz-html-editor-readonly .ibiz-html-editor{border:none}.ibiz-html-footer{display:flex;align-items:center;justify-content:end;margin-top:12px;margin-right:8px}.ibiz-html-footer>*+*{margin-left:16px}.ibiz-html-footer__cancel{height:36px;line-height:36px;color:var(--ibiz-color-text-1);cursor:pointer;opacity:.7}.ibiz-html-footer__cancel:hover{color:var(--ibiz-color-primary);opacity:1}.ibiz-html-footer__save{width:96px;height:36px;line-height:36px;color:var(--ibiz-color-primary-active-text);text-align:center;cursor:pointer;background-color:var(--ibiz-color-primary);border-radius:5px}.ibiz-html-footer__save:hover{box-shadow:0 2px 5px 1px var(--ibiz-color-primary)}.ibiz-html-custom-toolbar{display:flex;align-items:center;justify-content:end;width:100%;height:32px;padding-right:16px;font-size:16px}.ibiz-html-custom-toolbar>*+*{margin-left:20px}.ibiz-html-custom-toolbar i{cursor:pointer}.ibiz-html-custom-toolbar i:hover{color:var(--ibiz-color-primary)}.ibiz-html-message{width:500px;max-width:unset}.ibiz-html-message__message-content--message-tip{color:var(--ibiz-color-text-3)}.ibiz-html-message__message-cancel{color:var(--ibiz-color-text-1);background-color:transparent}.ibiz-html-message__message-cancel:hover{color:var(--ibiz-color-primary);background-color:transparent}.ibiz-html-message__message-comfire{background-color:var(--ibiz-color-danger)!important}.ibiz-html-message__message-comfire:hover{box-shadow:0 2px 5px 1px var(--ibiz-color-danger)}.ibiz-html-dialog-full-screen{height:80%}.ibiz-html-dialog-full-screen .ibiz-html{padding:0 32px;--w-e-toolbar-bg-color:var(--ibiz-color-bg-0)}.ibiz-html-dialog-full-screen .ibiz-html-custom-toolbar{height:56px}.ibiz-html-dialog-full-screen .ibiz-html-content{height:calc(100% - 124px)}.ibiz-html-dialog-full-screen .ibiz-html-content .ibiz-html-editor{height:100%!important}.ibiz-html-footer-dialog{height:68px;margin-top:0}
1
+ .ibiz-html{--ibiz-html-height:300px;display:inline-block;width:100%;height:100%;--w-e-textarea-bg-color:var(--ibiz-color-bg-1);--w-e-textarea-color:var(--ibiz-color-text-2);--w-e-textarea-border-color:var(--ibiz-color-border);--w-e-textarea-slight-border-color:var(--ibiz-color-border);--w-e-textarea-slight-color:var(--ibiz-color-text-1);--w-e-textarea-slight-bg-color:var(--ibiz-color-bg-1);--w-e-textarea-selected-border-color:var(--ibiz-color-border);--w-e-textarea-handler-bg-color:var(--ibiz-color-primary);--w-e-toolbar-color:var(--ibiz-color-text-0);--w-e-toolbar-bg-color:var(--ibiz-color-bg-1);--w-e-toolbar-active-color:var(--ibiz-color-text-0);--w-e-toolbar-active-bg-color:var(--ibiz-color-bg-1);--w-e-toolbar-disabled-color:var(--ibiz-color-disabled-text);--w-e-toolbar-border-color:var(--ibiz-color-border);--w-e-modal-button-bg-color:var(--ibiz-color-bg-1);--w-e-modal-button-border-color:var(--ibiz-color-border)}.ibiz-html .ibiz-html-content{display:flex;flex-direction:column;height:100%;background-color:var(--ibiz-color-bg-0)}.ibiz-html .ibiz-html-editor{height:var(--ibiz-html-height)!important;padding:0;overflow-y:scroll;border:1px solid var(--ibiz-color-border)}.ibiz-html .w-e-menu-tooltip-v5::before{color:var(--ibiz-color-text-0);background-color:var(--w-e-toolbar-bg-color)}.ibiz-html .w-e-full-screen-container{z-index:9999}.ibiz-html .w-e-scroll>div{background-color:var(--ibiz-color-bg-0)}.ibiz-html .table-container table{width:100%}.rich-html-table{width:100%!important;border-collapse:collapse}.rich-html-table th{height:49px;min-height:49px;padding:8px;background-color:#f3f3f3;border:1px solid #d3d3d3}.rich-html-table td{height:49px;min-height:49px;padding:8px;empty-cells:show;border:1px solid #d3d3d3}.ibiz-html-editor-readonly .ibiz-html-toolbar{display:none}.ibiz-html-editor-readonly .ibiz-html-editor{border:none}.ibiz-html-footer{display:flex;align-items:center;justify-content:end;margin-top:12px;margin-right:8px}.ibiz-html-footer>*+*{margin-left:16px}.ibiz-html-footer__cancel{height:36px;line-height:36px;color:var(--ibiz-color-text-1);cursor:pointer;opacity:.7}.ibiz-html-footer__cancel:hover{color:var(--ibiz-color-primary);opacity:1}.ibiz-html-footer__save{width:96px;height:36px;line-height:36px;color:var(--ibiz-color-primary-active-text);text-align:center;cursor:pointer;background-color:var(--ibiz-color-primary);border-radius:5px}.ibiz-html-footer__save:hover{box-shadow:0 2px 5px 1px var(--ibiz-color-primary)}.ibiz-html-custom-toolbar{display:flex;align-items:center;justify-content:end;width:100%;height:32px;padding-right:16px;font-size:16px}.ibiz-html-custom-toolbar>*+*{margin-left:20px}.ibiz-html-custom-toolbar i{cursor:pointer}.ibiz-html-custom-toolbar i:hover{color:var(--ibiz-color-primary)}.ibiz-html-message{width:500px;max-width:unset}.ibiz-html-message__message-content--message-tip{color:var(--ibiz-color-text-3)}.ibiz-html-message__message-cancel{color:var(--ibiz-color-text-1);background-color:transparent}.ibiz-html-message__message-cancel:hover{color:var(--ibiz-color-primary);background-color:transparent}.ibiz-html-message__message-comfire{background-color:var(--ibiz-color-danger)!important}.ibiz-html-message__message-comfire:hover{box-shadow:0 2px 5px 1px var(--ibiz-color-danger)}.ibiz-html-dialog-full-screen{height:80%}.ibiz-html-dialog-full-screen .ibiz-html{padding:0 32px;--w-e-toolbar-bg-color:var(--ibiz-color-bg-0)}.ibiz-html-dialog-full-screen .ibiz-html-custom-toolbar{height:56px}.ibiz-html-dialog-full-screen .ibiz-html-content{height:calc(100% - 124px)}.ibiz-html-dialog-full-screen .ibiz-html-content .ibiz-html-editor{height:100%!important}.ibiz-html-footer-dialog{height:68px;margin-top:0}
@@ -45,6 +45,10 @@ const IBizHtml = /* @__PURE__ */ defineComponent({
45
45
  enableFullScreen.value = c.toBoolean(editorModel.editorParams.enableFullScreen);
46
46
  }
47
47
  }
48
+ if (props.readonly) {
49
+ hasEnableEdit.value = false;
50
+ readonlyState.value = true;
51
+ }
48
52
  watch(() => props.data, (newVal) => {
49
53
  if (newVal) {
50
54
  const urls = ibiz.util.file.calcFileUpDownUrl(c.context, c.params, newVal, c.editorParams);
@@ -143,11 +147,12 @@ const IBizHtml = /* @__PURE__ */ defineComponent({
143
147
  };
144
148
  const handleChange = (editor) => {
145
149
  const html = editor.getHtml();
146
- const emitValue = html === "<p><br></p>" ? "" : html;
150
+ let emitValue = html === "<p><br></p>" ? "" : html;
147
151
  if (emitValue === props.value || emitValue === "" && isNil(props.value)) {
148
152
  return;
149
153
  }
150
154
  if (!hasEnableEdit.value && editor.isFocused()) {
155
+ emitValue = emitValue.replaceAll('class="rich-html-table"', "").replace(/<table/g, '<table class="rich-html-table"');
151
156
  emit("change", emitValue);
152
157
  }
153
158
  };
@@ -284,7 +289,8 @@ const IBizHtml = /* @__PURE__ */ defineComponent({
284
289
  const save = () => {
285
290
  readonlyState.value = true;
286
291
  editorRef.value.disable();
287
- emit("change", valueHtml.value);
292
+ const value = valueHtml.value.replaceAll('class="rich-html-table"', "").replace(/<table/g, '<table class="rich-html-table"');
293
+ emit("change", value);
288
294
  if (isFullScreen.value) {
289
295
  isFullScreen.value = false;
290
296
  }
@@ -1,4 +1,4 @@
1
- import { isVNode, computed, ref, watch, resolveComponent, createVNode, defineComponent } from 'vue';
1
+ import { isVNode, computed, ref, watch, resolveComponent, mergeProps, createVNode, defineComponent } from 'vue';
2
2
  import { getListBoxProps, getEditorEmits, useNamespace, useFocusAndBlur } from '@ibiz-template/vue3-util';
3
3
  import { isNil } from 'ramda';
4
4
  import './ibiz-list-box.css';
@@ -143,11 +143,11 @@ const IBizListBox = /* @__PURE__ */ defineComponent({
143
143
  return createVNode("div", {
144
144
  "class": [this.ns.b(), this.ns.is("show-default", this.showFormDefaultContent)],
145
145
  "ref": "editorRef"
146
- }, [this.multiple ? createVNode(resolveComponent("el-checkbox-group"), {
146
+ }, [this.multiple ? createVNode(resolveComponent("el-checkbox-group"), mergeProps({
147
147
  "class": this.ns.b("checkbox"),
148
148
  "modelValue": this.selectArray,
149
149
  "onChange": this.onSelectArrayChange
150
- }, _isSlot(_slot = this.items.map((item, index) => createVNode(resolveComponent("el-checkbox"), {
150
+ }, this.$attrs), _isSlot(_slot = this.items.map((item, index) => createVNode(resolveComponent("el-checkbox"), {
151
151
  "key": index,
152
152
  "label": item.value,
153
153
  "disabled": this.disabled || this.readonly || item.disableSelect === true
@@ -157,10 +157,10 @@ const IBizListBox = /* @__PURE__ */ defineComponent({
157
157
  }, [item.text])]
158
158
  }))) ? _slot : {
159
159
  default: () => [_slot]
160
- }) : createVNode(resolveComponent("el-radio-group"), {
160
+ }) : createVNode(resolveComponent("el-radio-group"), mergeProps({
161
161
  "class": this.ns.b("radio"),
162
162
  "modelValue": this.selectArray[0]
163
- }, _isSlot(_slot2 = this.items.map((item, index) => createVNode(resolveComponent("el-radio"), {
163
+ }, this.$attrs), _isSlot(_slot2 = this.items.map((item, index) => createVNode(resolveComponent("el-radio"), {
164
164
  "key": index,
165
165
  "label": item.value,
166
166
  "disabled": this.disabled || this.readonly || item.disableSelect === true,
@@ -1,4 +1,4 @@
1
- import { ref, computed, watch, resolveComponent, createVNode, defineComponent } from 'vue';
1
+ import { ref, computed, watch, resolveComponent, mergeProps, createVNode, defineComponent } from 'vue';
2
2
  import { getNumberRangeProps, getEditorEmits, useNamespace, useFocusAndBlur } from '@ibiz-template/vue3-util';
3
3
  import './ibiz-number-range-picker.css';
4
4
  import { toNumber } from 'lodash-es';
@@ -136,7 +136,7 @@ const IBizNumberRangePicker = /* @__PURE__ */ defineComponent({
136
136
  render() {
137
137
  const editContent = createVNode("div", {
138
138
  "class": this.ns.b("input")
139
- }, [createVNode(resolveComponent("el-input-number"), {
139
+ }, [createVNode(resolveComponent("el-input-number"), mergeProps({
140
140
  "min": this.min,
141
141
  "modelValue": this.minValue,
142
142
  "disabled": this.disabled,
@@ -148,9 +148,9 @@ const IBizNumberRangePicker = /* @__PURE__ */ defineComponent({
148
148
  "onKeyup": this.handleKeyUp,
149
149
  "onFocus": this.onFocus,
150
150
  "onBlur": this.onBlur
151
- }, null), createVNode("div", {
151
+ }, this.$attrs), null), createVNode("div", {
152
152
  "class": this.ns.b("separator")
153
- }, [this.rangeSeparator]), createVNode(resolveComponent("el-input-number"), {
153
+ }, [this.rangeSeparator]), createVNode(resolveComponent("el-input-number"), mergeProps({
154
154
  "min": typeof this.minValue === "number" ? this.minValue + 1 : -Infinity,
155
155
  "max": this.max,
156
156
  "modelValue": this.maxValue,
@@ -163,7 +163,7 @@ const IBizNumberRangePicker = /* @__PURE__ */ defineComponent({
163
163
  "onKeyup": this.handleKeyUp,
164
164
  "onFocus": this.onFocus,
165
165
  "onBlur": this.onBlur
166
- }, null)]);
166
+ }, this.$attrs), null)]);
167
167
  const readonlyContent = createVNode("div", {
168
168
  "class": (this.ns.b(), this.ns.m("readonly"))
169
169
  }, [this.valueText]);
@@ -1,4 +1,4 @@
1
- import { isVNode, ref, watch, computed, resolveComponent, createVNode, defineComponent } from 'vue';
1
+ import { isVNode, ref, watch, computed, resolveComponent, mergeProps, createVNode, defineComponent } from 'vue';
2
2
  import { getRadioProps, getEditorEmits, useNamespace, useFocusAndBlur } from '@ibiz-template/vue3-util';
3
3
  import './ibiz-radio.css';
4
4
  import { notNilEmpty } from 'qx-util';
@@ -76,11 +76,11 @@ const IBizRadio = /* @__PURE__ */ defineComponent({
76
76
  return createVNode("div", {
77
77
  "class": [this.ns.b(), this.disabled ? this.ns.m("disabled") : "", this.readonly ? this.ns.m("readonly") : "", this.ns.is("show-default", this.showFormDefaultContent)],
78
78
  "ref": "editorRef"
79
- }, [this.readonly ? this.valueText : createVNode(resolveComponent("el-radio-group"), {
79
+ }, [this.readonly ? this.valueText : createVNode(resolveComponent("el-radio-group"), mergeProps({
80
80
  "class": this.ns.e("group"),
81
81
  "model-value": notNilEmpty(this.value) ? String(this.value) : "",
82
82
  "onChange": this.onSelectValueChange
83
- }, _isSlot(_slot = this.items.map((_item, index) => this.renderMode === "radio" ? createVNode(resolveComponent("el-radio"), {
83
+ }, this.$attrs), _isSlot(_slot = this.items.map((_item, index) => this.renderMode === "radio" ? createVNode(resolveComponent("el-radio"), {
84
84
  "key": index,
85
85
  "label": notNilEmpty(_item.value) ? String(_item.value) : "",
86
86
  "disabled": this.disabled || _item.disableSelect === true
@@ -1,4 +1,4 @@
1
- import { ref, computed, watch, resolveComponent, createVNode, defineComponent } from 'vue';
1
+ import { ref, computed, watch, resolveComponent, mergeProps, createVNode, defineComponent } from 'vue';
2
2
  import { getRateProps, getEditorEmits, useNamespace, useFocusAndBlur } from '@ibiz-template/vue3-util';
3
3
  import { toNumber } from 'lodash-es';
4
4
  import './ibiz-rate.css';
@@ -72,7 +72,7 @@ const IBizRate = /* @__PURE__ */ defineComponent({
72
72
  return createVNode("div", {
73
73
  "class": [this.ns.b(), this.ns.is("show-default", this.showFormDefaultContent)],
74
74
  "ref": "editorRef"
75
- }, [createVNode(resolveComponent("el-rate"), {
75
+ }, [createVNode(resolveComponent("el-rate"), mergeProps({
76
76
  "modelValue": this.currentVal,
77
77
  "onUpdate:modelValue": ($event) => this.currentVal = $event,
78
78
  "disabled": this.disabled || this.readonly,
@@ -81,7 +81,7 @@ const IBizRate = /* @__PURE__ */ defineComponent({
81
81
  "showText": this.showText,
82
82
  "texts": this.texts,
83
83
  "onChange": this.handleChange
84
- }, null)]);
84
+ }, this.$attrs), null)]);
85
85
  }
86
86
  });
87
87
 
@@ -1,4 +1,4 @@
1
- import { computed, ref, watch, resolveComponent, createVNode, defineComponent } from 'vue';
1
+ import { computed, ref, watch, resolveComponent, mergeProps, createVNode, defineComponent } from 'vue';
2
2
  import { getSliderProps, getEditorEmits, useNamespace, useFocusAndBlur } from '@ibiz-template/vue3-util';
3
3
  import { toNumber } from 'lodash-es';
4
4
  import './ibiz-slider.css';
@@ -110,7 +110,7 @@ const IBizSlider = /* @__PURE__ */ defineComponent({
110
110
  return createVNode("div", {
111
111
  "class": [this.ns.b(), this.readonly ? this.ns.m("readonly") : "", this.showText ? this.ns.e("text") : "", this.ns.is("show-default", this.showFormDefaultContent)],
112
112
  "ref": "editorRef"
113
- }, [createVNode(resolveComponent("el-slider"), {
113
+ }, [createVNode(resolveComponent("el-slider"), mergeProps({
114
114
  "modelValue": this.currentVal,
115
115
  "onUpdate:modelValue": ($event) => this.currentVal = $event,
116
116
  "disabled": this.disabled || this.readonly,
@@ -121,7 +121,7 @@ const IBizSlider = /* @__PURE__ */ defineComponent({
121
121
  "range": this.range,
122
122
  "showInput": this.showInput,
123
123
  "onChange": this.handleChange
124
- }, null), this.showText ? createVNode("span", {
124
+ }, this.$attrs), null), this.showText ? createVNode("span", {
125
125
  "class": [this.ns.em("text", "val")]
126
126
  }, [this.textVal]) : null]);
127
127
  }
@@ -1,4 +1,4 @@
1
- import { ref, computed, watch, resolveComponent, createVNode, defineComponent } from 'vue';
1
+ import { ref, computed, watch, resolveComponent, mergeProps, createVNode, defineComponent } from 'vue';
2
2
  import { getStepperProps, getEditorEmits, useNamespace } from '@ibiz-template/vue3-util';
3
3
  import { toNumber } from 'lodash-es';
4
4
  import './ibiz-stepper.css';
@@ -77,7 +77,7 @@ const IBizStepper = /* @__PURE__ */ defineComponent({
77
77
  if (this.readonly) {
78
78
  content = "".concat(this.currentVal);
79
79
  } else {
80
- content = [createVNode(resolveComponent("el-input-number"), {
80
+ content = [createVNode(resolveComponent("el-input-number"), mergeProps({
81
81
  "ref": "inputRef",
82
82
  "modelValue": this.currentVal,
83
83
  "onUpdate:modelValue": ($event) => this.currentVal = $event,
@@ -90,7 +90,7 @@ const IBizStepper = /* @__PURE__ */ defineComponent({
90
90
  "onChange": this.handleChange,
91
91
  "onFocus": this.onFocus,
92
92
  "onBlur": this.onBlur
93
- }, null)];
93
+ }, this.$attrs), null)];
94
94
  }
95
95
  return createVNode("div", {
96
96
  "class": [this.ns.b(), this.disabled ? this.ns.m("disabled") : "", this.readonly ? this.ns.m("readonly") : "", this.ns.is("show-default", this.showFormDefaultContent)]
@@ -1,4 +1,4 @@
1
- import { ref, computed, watch, resolveComponent, createVNode, defineComponent } from 'vue';
1
+ import { ref, computed, watch, resolveComponent, mergeProps, createVNode, defineComponent } from 'vue';
2
2
  import { getSwitchProps, getEditorEmits, useNamespace, useFocusAndBlur } from '@ibiz-template/vue3-util';
3
3
  import './ibiz-switch.css';
4
4
 
@@ -81,14 +81,14 @@ const IBizSwitch = /* @__PURE__ */ defineComponent({
81
81
  return createVNode("div", {
82
82
  "class": [this.ns.b(), this.ns.is("show-default", this.showFormDefaultContent)],
83
83
  "ref": "editorRef"
84
- }, [createVNode(resolveComponent("el-switch"), {
84
+ }, [createVNode(resolveComponent("el-switch"), mergeProps({
85
85
  "modelValue": this.currentVal,
86
86
  "onUpdate:modelValue": ($event) => this.currentVal = $event,
87
87
  "disabled": this.disabled || this.readonly,
88
88
  "activeText": this.activeText,
89
89
  "inactiveText": this.inactiveText,
90
90
  "onChange": this.handleChange
91
- }, null)]);
91
+ }, this.$attrs), null)]);
92
92
  }
93
93
  });
94
94
 
@@ -1,4 +1,4 @@
1
- import { ref, computed, watch, resolveComponent, createVNode, defineComponent } from 'vue';
1
+ import { ref, computed, watch, resolveComponent, mergeProps, createVNode, defineComponent } from 'vue';
2
2
  import { getInputNumberProps, getEditorEmits, useNamespace } from '@ibiz-template/vue3-util';
3
3
  import './ibiz-input-number.css';
4
4
  import { isNilOrEmpty } from 'qx-util';
@@ -102,7 +102,7 @@ const IBizInputNumber = /* @__PURE__ */ defineComponent({
102
102
  content += unitName;
103
103
  }
104
104
  } else {
105
- content = [createVNode(resolveComponent("el-input-number"), {
105
+ content = [createVNode(resolveComponent("el-input-number"), mergeProps({
106
106
  "ref": "editorRef",
107
107
  "class": [this.ns.b("input")],
108
108
  "model-value": this.currentVal,
@@ -116,7 +116,7 @@ const IBizInputNumber = /* @__PURE__ */ defineComponent({
116
116
  "onFocus": this.onFocus,
117
117
  "onBlur": this.onBlur,
118
118
  "onKeyup": this.handleKeyUp
119
- }, null), unitName && createVNode("i", {
119
+ }, this.$attrs), null), unitName && createVNode("i", {
120
120
  "class": this.ns.e("unit")
121
121
  }, [unitName])];
122
122
  }
@@ -1,4 +1,4 @@
1
- import { isVNode, ref, computed, watch, onUnmounted, createVNode, resolveComponent, defineComponent } from 'vue';
1
+ import { isVNode, ref, computed, watch, onUnmounted, createVNode, resolveComponent, mergeProps, defineComponent } from 'vue';
2
2
  import { debounce } from 'lodash-es';
3
3
  import { getInputProps, getEditorEmits, useNamespace } from '@ibiz-template/vue3-util';
4
4
  import { createUUID } from 'qx-util';
@@ -268,7 +268,7 @@ const IBizInput = /* @__PURE__ */ defineComponent({
268
268
  "name": "unlock-alt"
269
269
  }, null);
270
270
  }
271
- content = createVNode(resolveComponent("el-input"), {
271
+ content = createVNode(resolveComponent("el-input"), mergeProps({
272
272
  "ref": "editorRef",
273
273
  "clearable": true,
274
274
  "modelValue": this.currentVal,
@@ -289,7 +289,7 @@ const IBizInput = /* @__PURE__ */ defineComponent({
289
289
  "disabled": this.disabled,
290
290
  "show-password": this.type === "password",
291
291
  "autocomplete": this.shouldAutoComplete
292
- }, _isSlot(slots) ? slots : {
292
+ }, this.$attrs), _isSlot(slots) ? slots : {
293
293
  default: () => [slots]
294
294
  });
295
295
  }
@@ -1,4 +1,4 @@
1
- import { computed, resolveComponent, createTextVNode, createVNode, defineComponent } from 'vue';
1
+ import { computed, resolveComponent, mergeProps, createTextVNode, createVNode, defineComponent } from 'vue';
2
2
  import { getUploadProps, getEditorEmits, useNamespace, useFocusAndBlur } from '@ibiz-template/vue3-util';
3
3
  import './ibiz-file-upload.css';
4
4
  import { useIViewUpload } from '../use/use-iview-upload.mjs';
@@ -64,7 +64,7 @@ const IBizFileUpload = /* @__PURE__ */ defineComponent({
64
64
  return createVNode("div", {
65
65
  "class": [this.ns.b(), this.disabled ? this.ns.m("disabled") : "", this.readonly ? this.ns.m("readonly") : "", this.ns.is("show-default", this.showFormDefaultContent)],
66
66
  "ref": "componentRef"
67
- }, [createVNode(resolveComponent("el-upload"), {
67
+ }, [createVNode(resolveComponent("el-upload"), mergeProps({
68
68
  "class": [this.ns.b("icon"), this.ns.is("not-show", this.noUploadIcon)],
69
69
  "file-list": this.files,
70
70
  "action": this.uploadUrl,
@@ -79,7 +79,7 @@ const IBizFileUpload = /* @__PURE__ */ defineComponent({
79
79
  "onError": this.onError,
80
80
  "onRemove": this.onRemove,
81
81
  "onPreview": this.onDownload
82
- }, {
82
+ }, this.$attrs), {
83
83
  default: () => [this.noUploadIcon ? null : createVNode(resolveComponent("el-button"), {
84
84
  "class": [this.ns.b("button")],
85
85
  "size": this.isGridEditor ? "small" : "default"
@@ -1,4 +1,4 @@
1
- import { computed, resolveComponent, createVNode, defineComponent } from 'vue';
1
+ import { computed, resolveComponent, mergeProps, createVNode, defineComponent } from 'vue';
2
2
  import { getUploadProps, getEditorEmits, useNamespace } from '@ibiz-template/vue3-util';
3
3
  import './ibiz-image-preview.css';
4
4
 
@@ -28,11 +28,11 @@ const IBizImagePreview = /* @__PURE__ */ defineComponent({
28
28
  "onClick": (e) => {
29
29
  e.stopPropagation();
30
30
  }
31
- }, [createVNode(resolveComponent("el-image"), {
31
+ }, [createVNode(resolveComponent("el-image"), mergeProps({
32
32
  "fit": "contain",
33
33
  "src": this.value,
34
34
  "preview-src-list": [this.value]
35
- }, null)]);
35
+ }, this.$attrs), null)]);
36
36
  }
37
37
  });
38
38
 
@@ -1,4 +1,4 @@
1
- import { ref, computed, createVNode, resolveComponent, defineComponent } from 'vue';
1
+ import { ref, computed, createVNode, resolveComponent, mergeProps, defineComponent } from 'vue';
2
2
  import { getUploadProps, getEditorEmits, useNamespace, useFocusAndBlur } from '@ibiz-template/vue3-util';
3
3
  import './ibiz-image-upload.css';
4
4
  import { useIViewUpload } from '../use/use-iview-upload.mjs';
@@ -93,7 +93,7 @@ const IBizImageUpload = /* @__PURE__ */ defineComponent({
93
93
  "class": this.ns.e("remove-icon"),
94
94
  "onClick": () => this.onRemove(item),
95
95
  "name": "remove"
96
- }, null)])]))]), createVNode(resolveComponent("el-upload"), {
96
+ }, null)])]))]), createVNode(resolveComponent("el-upload"), mergeProps({
97
97
  "ref": "imageUpload",
98
98
  "class": [this.ns.b("icon"), this.ns.is("not-show", this.noUploadIcon)],
99
99
  "file-list": this.files,
@@ -110,19 +110,19 @@ const IBizImageUpload = /* @__PURE__ */ defineComponent({
110
110
  "onError": this.onError,
111
111
  "onRemove": this.onRemove,
112
112
  "onPreview": this.onDownload
113
- }, {
113
+ }, this.$attrs), {
114
114
  default: () => [createVNode("ion-icon", {
115
115
  "name": "add-outline",
116
116
  "class": this.ns.e("image-upload-add")
117
117
  }, null)]
118
- }), this.dialogVisible ? createVNode(resolveComponent("el-image-viewer"), {
118
+ }), this.dialogVisible ? createVNode(resolveComponent("el-image-viewer"), mergeProps({
119
119
  "onClose": () => this.onDialogVisibleChange(false),
120
120
  "url-list": [this.dialogImageUrl],
121
121
  "hide-on-click-modal": true,
122
122
  "close-on-press-escape": true,
123
123
  "teleported": true,
124
124
  "z-index": 9999
125
- }, null) : null]);
125
+ }, this.$attrs), null) : null]);
126
126
  }
127
127
  });
128
128
 
@@ -1,4 +1,4 @@
1
- import { ref, computed, watch, resolveComponent, createVNode, defineComponent } from 'vue';
1
+ import { ref, computed, watch, resolveComponent, createVNode, mergeProps, defineComponent } from 'vue';
2
2
  import { getInputProps, getEditorEmits, useNamespace } from '@ibiz-template/vue3-util';
3
3
  import './ibiz-searchcond-edit.css';
4
4
  import { isNilOrEmpty } from 'qx-util';
@@ -152,7 +152,7 @@ const IBizSearchCondEdit = /* @__PURE__ */ defineComponent({
152
152
  if (this.readonly) {
153
153
  content = isNilOrEmpty(this.currentVal) ? "" : "".concat(this.currentVal);
154
154
  } else {
155
- content = [createVNode(resolveComponent("el-input"), {
155
+ content = [createVNode(resolveComponent("el-input"), mergeProps({
156
156
  "ref": "editorRef",
157
157
  "class": [this.ns.b("input")],
158
158
  "model-value": this.currentVal,
@@ -164,7 +164,7 @@ const IBizSearchCondEdit = /* @__PURE__ */ defineComponent({
164
164
  "onFocus": this.onFocus,
165
165
  "onBlur": this.onBlur,
166
166
  "onKeyup": this.handleKeyUp
167
- }, null), createVNode(resolveComponent("el-button"), {
167
+ }, this.$attrs), null), createVNode(resolveComponent("el-button"), {
168
168
  "ref": "filterButtonRef",
169
169
  "type": "primary",
170
170
  "title": "\u7F16\u8F91",
@@ -1,4 +1,4 @@
1
- import { ViewController, IExpBarControlController, IExpViewState, IExpViewEvent, MDViewEngine, IMDControlController, EventBase, MDCtrlLoadParams } from '@ibiz-template/runtime';
1
+ import { ViewController, IExpBarControlController, IExpViewState, IExpViewEvent, MDViewEngine, IMDControlController, EventBase, MDCtrlLoadParams, IViewController } from '@ibiz-template/runtime';
2
2
  import { IAppDEExplorerView, IAppDEMultiDataView } from '@ibiz/model-core';
3
3
  type IAppDEMultiDataExpView = IAppDEExplorerView & IAppDEMultiDataView;
4
4
  /**
@@ -39,6 +39,7 @@ export declare class ExpViewEngine extends MDViewEngine {
39
39
  * @type {IMDControlController}
40
40
  */
41
41
  protected get xdataControl(): IMDControlController;
42
+ constructor(view: IViewController);
42
43
  /**
43
44
  * 组件创建
44
45
  *
@@ -36,6 +36,16 @@ class ExpViewEngine extends MDViewEngine {
36
36
  get xdataControl() {
37
37
  return this.expBar.xDataController;
38
38
  }
39
+ constructor(view) {
40
+ var _a, _b;
41
+ const modelData = (_b = (_a = view.model.viewLayoutPanel) == null ? void 0 : _a.controls) == null ? void 0 : _b.find(
42
+ (item) => item.id === "searchbar"
43
+ );
44
+ if (modelData && !modelData.name) {
45
+ modelData.name = "searchbar";
46
+ }
47
+ super(view);
48
+ }
39
49
  /**
40
50
  * 组件创建
41
51
  *
@@ -42,6 +42,7 @@ import { ReportViewEngine } from './report-view.engine.mjs';
42
42
  import { GanttViewEngine } from './gantt-view.engine.mjs';
43
43
  import { DEIndexViewEngine } from './de-index-view-engine.mjs';
44
44
  import { SubAppRefViewEngine } from './sub-app-ref-view.engine.mjs';
45
+ import { TabSearchViewEngine } from './tab-search-view.engine.mjs';
45
46
 
46
47
  "use strict";
47
48
  const IBizViewEngine = {
@@ -274,6 +275,10 @@ const IBizViewEngine = {
274
275
  "VIEW_DEINDEXVIEW",
275
276
  (c) => new DEIndexViewEngine(c)
276
277
  );
278
+ ibiz.engine.register(
279
+ "VIEW_DETABSEARCHVIEW",
280
+ (c) => new TabSearchViewEngine(c)
281
+ );
277
282
  }
278
283
  };
279
284
 
@@ -0,0 +1,61 @@
1
+ import { ISearchBarController, ISearchFormController, ITabExpPanelController, ITabSearchViewEvent, ITabSearchViewState, ViewController } from '@ibiz-template/runtime';
2
+ import { IAppDEEditView } from '@ibiz/model-core';
3
+ import { TabExpViewEngine } from './tab-exp-view.engine';
4
+ /**
5
+ * 编辑视图3(分页关系)
6
+ *
7
+ * @export
8
+ * @class TabSearchViewEngine
9
+ * @extends {EditViewEngine}
10
+ */
11
+ export declare class TabSearchViewEngine extends TabExpViewEngine {
12
+ /**
13
+ * 视图控制器
14
+ *
15
+ * @protected
16
+ * @type {ViewController<
17
+ * IAppDEEditView,
18
+ * ITabSearchViewState,
19
+ * ITabSearchViewEvent
20
+ * >}
21
+ * @memberof TabSearchViewEngine
22
+ */
23
+ protected view: ViewController<IAppDEEditView, ITabSearchViewState, ITabSearchViewEvent>;
24
+ /**
25
+ * 搜索表单控制器
26
+ * @author lxm
27
+ * @date 2023-05-22 01:56:25
28
+ * @readonly
29
+ */
30
+ protected get searchForm(): ISearchFormController;
31
+ /**
32
+ * 搜索栏控制器
33
+ * @author lxm
34
+ * @date 2023-05-22 01:56:25
35
+ * @readonly
36
+ */
37
+ protected get searchBar(): ISearchBarController;
38
+ /**
39
+ * 分页导航面板控制器
40
+ * @author lxm
41
+ * @date 2023-05-22 01:56:25
42
+ * @readonly
43
+ */
44
+ get tabExpPanel(): ITabExpPanelController;
45
+ onCreated(): Promise<void>;
46
+ onMounted(): Promise<void>;
47
+ call(key: string, args: any): Promise<IData | null | undefined>;
48
+ /**
49
+ * 获取搜索相关的查询参数
50
+ * @author lxm
51
+ * @date 2023-05-22 03:26:04
52
+ * @return {*} {IParams}
53
+ */
54
+ protected getSearchParams(): IParams;
55
+ /**
56
+ * 重新计算视图参数
57
+ * @author lxm
58
+ * @date 2024-03-18 05:00:02
59
+ */
60
+ calcViewParams(): void;
61
+ }