cnhis-design-vue 3.3.1-beta.14 → 3.3.1-beta.15

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 (151) hide show
  1. package/es/components/ai-chat/index.d.ts +12 -17
  2. package/es/components/ai-chat/src/Index.vue.d.ts +12 -17
  3. package/es/components/ai-chat/src/Index.vue2.js +1 -1
  4. package/es/components/ai-chat/src/api/index.d.ts +1 -2
  5. package/es/components/ai-chat/src/api/index.js +1 -1
  6. package/es/components/ai-chat/src/components/ChatAudio.vue.d.ts +0 -1
  7. package/es/components/ai-chat/src/components/ChatAudio.vue2.js +1 -1
  8. package/es/components/ai-chat/src/components/ChatCard.js +1 -1
  9. package/es/components/ai-chat/src/components/ChatFooter.vue.d.ts +3 -11
  10. package/es/components/ai-chat/src/components/ChatFooter.vue2.js +1 -1
  11. package/es/components/ai-chat/src/components/ChatMain.js +1 -1
  12. package/es/components/ai-chat/src/components/ChatMainDefault.js +1 -0
  13. package/es/components/ai-chat/src/components/ChatRight.vue.d.ts +0 -2
  14. package/es/components/ai-chat/src/components/ChatRight.vue2.js +1 -1
  15. package/es/components/ai-chat/src/components/card/JsonCard.js +1 -1
  16. package/es/components/ai-chat/src/hooks/useWebsocket.js +1 -1
  17. package/es/components/ai-chat/style/index.css +1 -1
  18. package/es/components/audio-sdk/index.d.ts +304 -2
  19. package/es/components/audio-sdk/index.js +1 -1
  20. package/es/components/audio-sdk/src/Index.vue.d.ts +304 -0
  21. package/es/components/audio-sdk/src/Index.vue.js +1 -0
  22. package/es/components/audio-sdk/src/Index.vue2.js +1 -0
  23. package/es/components/audio-sdk/src/audioSDK.d.ts +5 -7
  24. package/es/components/audio-sdk/src/audioSDK.js +1 -1
  25. package/es/components/audio-sdk/src/components/form.vue.d.ts +51 -0
  26. package/es/components/audio-sdk/src/components/form.vue.js +1 -0
  27. package/es/components/audio-sdk/src/components/form.vue2.js +1 -0
  28. package/es/components/audio-sdk/src/components/recording-modal.vue.d.ts +91 -0
  29. package/es/components/audio-sdk/src/components/recording-modal.vue.js +1 -0
  30. package/es/components/audio-sdk/src/components/recording-modal.vue2.js +1 -0
  31. package/es/components/audio-sdk/src/components/recording.vue.d.ts +43 -4
  32. package/es/components/audio-sdk/src/components/recording.vue2.js +1 -1
  33. package/es/components/audio-sdk/src/utils/index.d.ts +4 -0
  34. package/es/components/audio-sdk/src/utils/index.js +1 -0
  35. package/es/components/audio-sdk/src/utils/recordingModal.d.ts +7 -4
  36. package/es/components/audio-sdk/src/utils/recordingModal.js +1 -1
  37. package/es/components/audio-sdk/style/index.css +1 -1
  38. package/es/components/callback/src/components/render/popupMaps.d.ts +7 -1
  39. package/es/components/date-picker/src/DatePicker.vue2.js +1 -1
  40. package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useOther.js +1 -1
  41. package/es/components/field-editor/index.d.ts +7 -1
  42. package/es/components/field-editor/src/FieldEditor.vue.d.ts +7 -1
  43. package/es/components/form-config/index.d.ts +38 -3
  44. package/es/components/form-config/src/FormConfig.vue.d.ts +38 -3
  45. package/es/components/form-config/src/components/FormConfigCreator.vue.d.ts +7 -1
  46. package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +17 -1
  47. package/es/components/form-config/src/components/FormConfigEventSetting.vue.d.ts +8 -1
  48. package/es/components/form-render/index.d.ts +7 -1
  49. package/es/components/form-render/index.js +1 -1
  50. package/es/components/form-render/src/FormRender.vue.d.ts +7 -1
  51. package/es/components/form-render/src/FormRender.vue2.js +1 -1
  52. package/es/components/form-render/src/FormRenderWrapper.vue.d.ts +7 -1
  53. package/es/components/form-render/src/components/renderer/date.d.ts +2 -0
  54. package/es/components/form-render/src/components/renderer/date.js +1 -1
  55. package/es/components/form-render/src/components/renderer/formItem.d.ts +2 -0
  56. package/es/components/form-render/src/components/renderer/formItem.js +1 -1
  57. package/es/components/form-render/src/components/renderer/input.d.ts +5 -0
  58. package/es/components/form-render/src/components/renderer/input.js +1 -1
  59. package/es/components/form-render/src/components/renderer/lineBar/FormCollapse.vue.d.ts +14 -1
  60. package/es/components/form-render/src/components/renderer/lineBar/index.d.ts +14 -1
  61. package/es/components/form-render/src/components/renderer/select.d.ts +5 -0
  62. package/es/components/form-render/src/components/renderer/select.js +1 -1
  63. package/es/components/form-render/src/components/tooltipMessage.vue.d.ts +12 -1
  64. package/es/components/form-render/src/components/tooltipMessage.vue2.js +1 -1
  65. package/es/components/form-render/src/hooks/useFieldListAdaptor.js +1 -1
  66. package/es/components/form-render/src/hooks/useFieldNormalize.d.ts +4 -0
  67. package/es/components/form-render/src/types/fieldItem.d.ts +1 -0
  68. package/es/components/form-render/src/types/index.d.ts +2 -0
  69. package/es/components/form-render/src/utils/index.d.ts +1 -0
  70. package/es/components/form-render/src/utils/index.js +1 -1
  71. package/es/components/form-render/style/index.css +1 -1
  72. package/es/components/iho-chat/index.d.ts +47 -0
  73. package/es/components/iho-chat/src/Index.vue.d.ts +47 -0
  74. package/es/components/iho-chat/src/components/ChatAdd.vue.d.ts +6 -0
  75. package/es/components/iho-chat/src/components/ChatAdd.vue2.js +1 -1
  76. package/es/components/iho-chat/src/components/ChatFile.vue.d.ts +6 -0
  77. package/es/components/iho-chat/src/components/ChatFile.vue2.js +1 -1
  78. package/es/components/iho-chat/src/components/ChatFooter.vue.d.ts +5 -0
  79. package/es/components/iho-chat/src/components/ChatFooter.vue2.js +1 -1
  80. package/es/components/iho-chat/src/components/ChatHeader.vue.d.ts +22 -0
  81. package/es/components/iho-chat/src/components/ChatMain.vue.d.ts +6 -0
  82. package/es/components/iho-chat/src/components/ChatMain.vue2.js +1 -1
  83. package/es/components/iho-chat/src/components/ChatRecord.vue.d.ts +4 -0
  84. package/es/components/iho-chat/src/components/ChatRecord.vue2.js +1 -1
  85. package/es/components/iho-chat/src/components/ChatSearch.vue2.js +1 -1
  86. package/es/components/iho-chat/src/components/ChatSet.vue.d.ts +8 -0
  87. package/es/components/iho-chat/src/components/ChatSet.vue2.js +1 -1
  88. package/es/components/iho-chat/src/components/MultipleVideo.vue.d.ts +5 -0
  89. package/es/components/iho-chat/src/components/PersonProfile.vue.d.ts +3 -0
  90. package/es/components/iho-chat/src/components/PersonProfile.vue2.js +1 -1
  91. package/es/components/iho-chat/src/components/SiderList.vue.d.ts +3 -1
  92. package/es/components/iho-chat/src/components/SiderList.vue2.js +1 -1
  93. package/es/components/iho-chat/src/constants/index.d.ts +7 -0
  94. package/es/components/iho-chat/src/constants/index.js +1 -1
  95. package/es/components/iho-chat/src/utils/index.d.ts +2 -0
  96. package/es/components/iho-chat/src/utils/index.js +1 -1
  97. package/es/components/iho-chat/style/index.css +1 -1
  98. package/es/components/iho-table/index.d.ts +26 -23
  99. package/es/components/iho-table/index.js +1 -1
  100. package/es/components/iho-table/src/IhoTable.vue2.js +1 -1
  101. package/es/components/iho-table/src/hooks/tapHooks/index.d.ts +1 -1
  102. package/es/components/iho-table/src/hooks/tapHooks/index.js +1 -1
  103. package/es/components/iho-table/src/hooks/tapHooks/useDataHooks.d.ts +3 -3
  104. package/es/components/iho-table/src/hooks/tapHooks/useDataHooks.js +1 -1
  105. package/es/components/iho-table/src/hooks/useTablePlugin.js +1 -1
  106. package/es/components/iho-table/src/plugins/filterRenderPlugin/index.js +1 -1
  107. package/es/components/iho-table/src/plugins/headerPlugin/index.d.ts +1 -1
  108. package/es/components/iho-table/src/plugins/headerPlugin/index.js +1 -1
  109. package/es/components/iho-table/src/plugins/highLightSetPlugin.js +1 -1
  110. package/es/components/iho-table/src/plugins/index.d.ts +78 -0
  111. package/es/components/iho-table/src/plugins/index.js +1 -1
  112. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/hooks/useSelectOption.d.ts +7 -0
  113. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/hooks/useSelectOption.js +1 -1
  114. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/index.js +1 -1
  115. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/selectUtils.d.ts +1 -2
  116. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/selectUtils.js +1 -1
  117. package/es/components/iho-table/src/plugins/rendererPlugins/widgets/checkRendererPlugin.js +1 -1
  118. package/es/components/iho-table/src/plugins/stickyFixedPlugin.js +1 -1
  119. package/es/components/iho-table/src/plugins/varialbleHeightPlugin.js +1 -1
  120. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/utils.js +1 -1
  121. package/es/components/iho-table/src/types/index.d.ts +1 -0
  122. package/es/components/iho-table/src/types/pluginType.d.ts +2 -2
  123. package/es/components/index.css +1 -1
  124. package/es/components/index.d.ts +2 -1
  125. package/es/components/index.js +1 -1
  126. package/es/components/info-header/index.d.ts +24 -2
  127. package/es/components/info-header/src/InfoHeader.vue.d.ts +24 -2
  128. package/es/components/info-header/src/components/infoDescription/DescriptionItem.vue.d.ts +2 -0
  129. package/es/components/info-header/src/components/infoDescription/DescriptionList.vue.d.ts +2 -0
  130. package/es/components/info-header/src/components/infoDescription/index.vue.d.ts +9 -1
  131. package/es/components/info-header/src/components/patientInfo/index.vue.d.ts +7 -1
  132. package/es/components/scale-view/index.d.ts +3 -2
  133. package/es/components/scale-view/src/ScaleView.vue.d.ts +3 -2
  134. package/es/components/scale-view/src/ScaleView.vue2.js +1 -1
  135. package/es/components/scale-view/src/hooks/scaleview-init.d.ts +3 -1
  136. package/es/components/scale-view/src/hooks/scaleview-init.js +1 -1
  137. package/es/components/scale-view/src/hooks/use-component.d.ts +1 -2189
  138. package/es/components/shortcut-setter/index.d.ts +8 -1
  139. package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +8 -1
  140. package/es/shared/components/ArrowIcon/ArrowIcon.vue.js +1 -0
  141. package/es/shared/components/ArrowIcon/index.d.ts +2 -0
  142. package/es/shared/components/ArrowIcon/index.js +1 -0
  143. package/es/shared/components/DateIcon/DateIcon.vue.js +1 -0
  144. package/es/shared/components/DateIcon/index.d.ts +2 -0
  145. package/es/shared/components/DateIcon/index.js +1 -0
  146. package/es/shared/package.json.js +1 -1
  147. package/package.json +2 -2
  148. package/es/components/ai-chat/src/components/ChatMainInner.js +0 -1
  149. package/es/components/ai-chat/src/hooks/useProgram.d.ts +0 -6
  150. package/es/components/ai-chat/src/hooks/useProgram.js +0 -1
  151. /package/es/components/ai-chat/src/components/{ChatMainInner.d.ts → ChatMainDefault.d.ts} +0 -0
@@ -1 +1 @@
1
- import{unref as e,onBeforeUnmount as t,shallowReactive as o,createVNode as l,defineComponent as n,inject as r,ref as a,computed as s,provide as i,watch as u,onMounted as c,h as d}from"vue";import{traverse as p,widthAppend as f}from"../../../../shared/utils/index.js";import{doAnimation as m}from"../../../../shared/utils/anime.js";import{useThrottleFn as h}from"@vueuse/core";import{promiseTimeout as g}from"@vueuse/shared";import{last as v,isFunction as x,isNumber as y}from"lodash-es";import"../../index.js";import{InjectionIhoTableUUID as b}from"../constants/index.js";import{useUUIDMap as I,isVariableHeightColumn as w}from"../utils/index.js";import{defineTablePlugin as T}from"../hooks/useTablePlugin.js";class D{constructor(){this.records={},this.maxRecords=o(new Map)}set(e,t,o){if(this.records[e]||(this.records[e]={}),this.records[e][t]===o)return;this.records[e][t]=o;const l=Math.max(...Object.values(this.records[e]),0);this.maxRecords.get(e)!==l&&this.maxRecords.set(e,l)}getMax(e){return this.maxRecords.get(e)||0}}const{getItemFromUUID:R,removeItemFromUUID:M}=I((()=>new D),!0),{getItemFromUUID:S,removeItemFromUUID:H,setItemFromUUID:U}=I((()=>null)),{getItemFromUUID:C,removeItemFromUUID:$,setItemFromUUID:k}=I((()=>{}));let F={};function j(t,o,{scrollTop:l=0}){var n,r;const{uuid:a,rowConfig:s={}}=o;if(!a)return;const i=R(a),{oSize:u=0,gt:c=100}=null!=(n=C(a))?n:{},{internalData:d,reactData:p}=t,{scrollYStore:f,elemStore:m,afterFullData:h,fullDataRowIdData:g}=d;if(c>h.length)return;const y=null!=(r=s.height)?r:36,b=m["main-body-wrapper"],I=b?e(b):null;let w=I?Math.max(8,Math.ceil(I.clientHeight/y)+2+u):8;const T=[0];let D=0;if(l&&h.find(((e,o)=>{const n=t.getRowSeq(e),r=(v(T)||0)+Math.max(y,i.getMax(n));if(T.push(r),r>l)return D=Math.max(0,o-u),w+=Math.min(D,u),!0})),D>0&&x(o.spanMethod)){const{spanMethod:e}=o,l={rowspan:1,colspan:1};for(;D>0;){if(!t.getColumns().some(((t,o)=>{const{rowspan:n,colspan:r}=e({column:t,columnIndex:o,$columnIndex:o,row:h[D],rowIndex:D,$rowIndex:D,_rowIndex:D,isHidden:!t.visible,fixed:t.fixed,type:t.type,visibleData:h})||l;if(0===n&&0===r)return D--,!0})))break}}const M=`${T[D]}px`,S=`${h.reduce(((e,o)=>{const l=t.getRowSeq(o);return e+Math.max(y,i.getMax(l))}),0)}px`;["main","left","right"].forEach((t=>{const o=m[`${t}-body-table`],n=o?e(o):null;n&&(n.style.marginTop=M,n.scrollTop=l),["header","body","footer"].forEach((o=>{const l=m[`${t}-${o}-ySpace`],n=l?e(l):null;n&&(n.style.height=S)}))}));const H=Math.min(h.length,D+w);if(f.startIndex===D&&f.endIndex===H)return;f.startIndex=D,f.endIndex=H;const U=h.slice(f.startIndex,f.endIndex);U.forEach(((e,o)=>{const l=t.getRowid(e),n=g[l];n&&(n.$index=o)})),p.tableData.length=0,p.tableData.push(...U)}const Y=h(j,300);function E(){const o="variableHeightRendererPlugin";return T({name:o,vxe(e){F=n({props:{payload:{type:Object,required:!0}},setup(t){const o=r(b),n=r("$xetable"),p=a(),m=R(o),h=s((()=>t.payload.row[t.payload.column.field]));function v(){const{row:e,column:o}=t.payload,l=n.getRowSeq(e);if(!m||null==l||!p.value)return;const r=p.value.clientHeight;m.set(l,o.field,r)}i("updateCellHeight",v),u([()=>t.payload.rowIndex,()=>t.payload.column.field,h,()=>t.payload.column.renderWidth],(async()=>{await g(0),v()})),c((()=>{n&&!S(o)&&U(o,n),v()}));const I=s((()=>{var o,l,n,r,a;const s=null!=(l=null==(o=t.payload.column.editRender)?void 0:o.props)?l:{},i=null!=(r=null==(n=s.slots)?void 0:n.default)?r:s.slotFn;if(x(i))return i;const u=null==(a=t.payload.column.editRender)?void 0:a.name;if(u){const o=e.renderer.get(u);if(null==o?void 0:o.renderCell)return()=>o.renderCell(t.payload.column.editRender,t.payload)}return()=>h.value})),w=s((()=>{if(t.payload.column.treeNode)return"";const e=t.payload.column.renderWidth;return y(e)&&e>0?f(e-20-2):""}));return()=>l("div",{ref:p,style:{padding:"7px 0",width:w.value,overflow:"hidden"}},[d(I.value,t.payload)])}})},apply(n){function r(t){const o=S(t.uuid);if(!o)return;t.scrollY={enabled:!1},o.reactData.scrollYLoad=!1;const l=function(t){const o=t.internalData.elemStore["main-body-wrapper"];return o?e(o):null}(o);l&&j(o,t,{scrollTop:l.scrollTop})}function a(e){if(!e.uuid)return;const t=C(e.uuid);t&&(e.scrollY=t),setTimeout((()=>r(e)),300)}function s(e){return l(F,{payload:e},null)}n.dataHooks.dataStart.tap(o,a),n.eventHooks.onFilterChange.tap(o,((e,t)=>a(t))),n.eventHooks.onSortChange.tap(o,((e,t)=>a(t))),n.eventHooks.onToggleTreeExpand.tap(o,((e,t)=>a(t))),n.eventHooks.onResizableChange.tap(o,(async({column:e},t)=>{e.editRender&&e.editRender.props&&w(e.editRender.props)&&a(t)})),n.eventHooks.onScroll.tap(o,h(((e,t)=>{if(e.isX)return;const{uuid:o}=t;if(!o)return;const l=S(o);l&&j(l,t,e)}),100,!0,!0)),n.fieldHooks.field.tap(o,(e=>{if(w(e)){e.slots={...e.slots,default:s};const t=e.className,o="variable-height";e.className=t?function(e){return x(t)?[t(e),o]:[t,o]}:o}return e})),n.fieldHooks.fieldList.tap(o,((t,o,{$table:l})=>(o.uuid&&p(t,((t,n)=>{var a,s;if(w(t)){const t=null!=(s=null==(a=o.rowConfig)?void 0:a.height)?s:36,i=R(o.uuid),u=o.cellStyle;if(o.cellStyle=function(e){const o={};if(l.value){const n=Math.max(t,i.getMax(l.value.getRowSeq(e.row)));o.height=`${n}px`}return Object.assign(o,u?x(u)?u(e):u:null)},o.sortableConfig&&o.sortableConfig.enable){const t=o.sortableConfig.onEnd;o.sortableConfig.onEnd=function(l){const n=S(o.uuid);if(n){const{internalData:{elemStore:t}}=n,l=t["main-table-body"];l&&e(l)&&j(n,o,{scrollTop:e(l).scrollTop})}x(t)&&t(l)}}o.scrollY={...o.scrollY,mode:"default"},o.onWheel=function(t){let o=null,l=0,n=!0;return function(r){if(!t.uuid)return;const a=S(t.uuid);if(!a)return;const{internalData:s}=a,{isHover:i}=t.rowConfig||{},{deltaX:u,deltaY:c}=r,{refTableLeftBody:d,refTableRightBody:p,refTableBody:f}=a.getRefMaps(),h=c,g=u,v=h<0,x=e(f),y=x?x.$el:null;if(!y)return;if(v?y.scrollTop<=0:y.scrollTop>=y.scrollHeight-y.clientHeight)return;const b=y.scrollTop+h,I=y.scrollLeft+g;if(b===s.lastScrollTop)return;r.preventDefault(),s.lastScrollTop=b,s.lastScrollLeft=I,s.lastScrollTime=Date.now(),i&&a.clearHoverRow();const w=d.value,T=p.value,D=w?w.$el:null,R=T?T.$el:null,M=Math.min(100,Math.abs(Math.floor(h/2)));n&&(l=y.scrollTop,n=!1),l+=M*(v?-1:1),o&&o(),o=m(y.scrollTop,l,400,(e=>{y.scrollTop=e,D&&(D.scrollTop=e),R&&(R.scrollTop=e)}),"easeOutCubic",(()=>{l=y.scrollTop,n=!0})),Y(a,t,y)}}(o),setTimeout((()=>{k(o.uuid,o.scrollY),r(o)}),300),n()}})),t))),n.setupHooks.setup.tap(o,(e=>{t((()=>{e.value.uuid&&(M(e.value.uuid),H(e.value.uuid),$(e.value.uuid))}))}))}})}export{E as variableHeightRendererPlugin};
1
+ import{unref as e,onBeforeUnmount as t,shallowReactive as o,createVNode as l,defineComponent as n,inject as r,ref as a,computed as s,provide as i,watch as u,onMounted as c,h as d}from"vue";import{traverse as p,widthAppend as f}from"../../../../shared/utils/index.js";import{doAnimation as m}from"../../../../shared/utils/anime.js";import{useThrottleFn as h}from"@vueuse/core";import{promiseTimeout as g}from"@vueuse/shared";import{last as v,isFunction as x,isNumber as y}from"lodash-es";import"../../index.js";import{InjectionIhoTableUUID as b}from"../constants/index.js";import{useUUIDMap as I,isVariableHeightColumn as w}from"../utils/index.js";import{defineTablePlugin as T}from"../hooks/useTablePlugin.js";class D{constructor(){this.records={},this.maxRecords=o(new Map)}set(e,t,o){if(this.records[e]||(this.records[e]={}),this.records[e][t]===o)return;this.records[e][t]=o;const l=Math.max(...Object.values(this.records[e]),0);this.maxRecords.get(e)!==l&&this.maxRecords.set(e,l)}getMax(e){return this.maxRecords.get(e)||0}}const{getItemFromUUID:R,removeItemFromUUID:M}=I((()=>new D),!0),{getItemFromUUID:S,removeItemFromUUID:H,setItemFromUUID:U}=I((()=>null)),{getItemFromUUID:C,removeItemFromUUID:$,setItemFromUUID:k}=I((()=>{}));let F={};function j(t,o,{scrollTop:l=0}){var n,r;const{uuid:a,rowConfig:s={}}=o;if(!a)return;const i=R(a),{oSize:u=0,gt:c=100}=null!=(n=C(a))?n:{},{internalData:d,reactData:p}=t,{scrollYStore:f,elemStore:m,afterFullData:h,fullDataRowIdData:g}=d;if(c>h.length)return;const y=null!=(r=s.height)?r:36,b=m["main-body-wrapper"],I=b?e(b):null;let w=I?Math.max(8,Math.ceil(I.clientHeight/y)+2+u):8;const T=[0];let D=0;if(l&&h.find(((e,o)=>{const n=t.getRowSeq(e),r=(v(T)||0)+Math.max(y,i.getMax(n));if(T.push(r),r>l)return D=Math.max(0,o-u),w+=Math.min(D,u),!0})),D>0&&x(o.spanMethod)){const{spanMethod:e}=o,l={rowspan:1,colspan:1};for(;D>0;){if(!t.getColumns().some(((t,o)=>{const{rowspan:n,colspan:r}=e({column:t,columnIndex:o,$columnIndex:o,row:h[D],rowIndex:D,$rowIndex:D,_rowIndex:D,isHidden:!t.visible,fixed:t.fixed,type:t.type,visibleData:h})||l;if(0===n&&0===r)return D--,!0})))break}}const M=`${T[D]}px`,S=`${h.reduce(((e,o)=>{const l=t.getRowSeq(o);return e+Math.max(y,i.getMax(l))}),0)}px`;["main","left","right"].forEach((t=>{const o=m[`${t}-body-table`],n=o?e(o):null;n&&(n.style.marginTop=M,n.scrollTop=l),["header","body","footer"].forEach((o=>{const l=m[`${t}-${o}-ySpace`],n=l?e(l):null;n&&(n.style.height=S)}))}));const H=Math.min(h.length,D+w);if(f.startIndex===D&&f.endIndex===H)return;f.startIndex=D,f.endIndex=H;const U=h.slice(f.startIndex,f.endIndex);U.forEach(((e,o)=>{const l=t.getRowid(e),n=g[l];n&&(n.$index=o)})),p.tableData.length=0,p.tableData.push(...U)}const Y=h(j,300);function E(){const o="variableHeightRendererPlugin";return T({name:o,vxe(e){F=n({props:{payload:{type:Object,required:!0}},setup(t){const o=r(b),n=r("$xetable"),p=a(),m=R(o),h=s((()=>t.payload.row[t.payload.column.field]));function v(){const{row:e,column:o}=t.payload,l=n.getRowSeq(e);if(!m||null==l||!p.value)return;const r=p.value.clientHeight;m.set(l,o.field,r)}i("updateCellHeight",v),u([()=>t.payload.rowIndex,()=>t.payload.column.field,h,()=>t.payload.column.renderWidth],(async()=>{await g(0),v()})),c((()=>{n&&!S(o)&&U(o,n),v()}));const I=s((()=>{var o,l,n,r,a;const s=null!=(l=null==(o=t.payload.column.editRender)?void 0:o.props)?l:{},i=null!=(r=null==(n=s.slots)?void 0:n.default)?r:s.slotFn;if(x(i))return i;const u=null==(a=t.payload.column.editRender)?void 0:a.name;if(u){const o=e.renderer.get(u);if(null==o?void 0:o.renderCell)return()=>o.renderCell(t.payload.column.editRender,t.payload)}return()=>h.value})),w=s((()=>{if(t.payload.column.treeNode)return"";const e=t.payload.column.renderWidth;return y(e)&&e>0?f(e-20-2):""}));return()=>l("div",{ref:p,style:{padding:"7px 0",width:w.value,overflow:"hidden"}},[d(I.value,t.payload)])}})},apply(n){function r(t){const o=S(t.uuid);if(!o)return;t.scrollY={enabled:!1},o.reactData.scrollYLoad=!1;const l=function(t){const o=t.internalData.elemStore["main-body-wrapper"];return o?e(o):null}(o);l&&j(o,t,{scrollTop:l.scrollTop})}function a(e){if(!e.uuid)return;const t=C(e.uuid);t&&(e.scrollY=t),setTimeout((()=>r(e)),300)}function s(e){return l(F,{payload:e},null)}n.dataHooks.dataStart.tap(o,((e,t)=>a(t))),n.eventHooks.onFilterChange.tap(o,((e,t)=>a(t))),n.eventHooks.onSortChange.tap(o,((e,t)=>a(t))),n.eventHooks.onToggleTreeExpand.tap(o,((e,t)=>a(t))),n.eventHooks.onResizableChange.tap(o,(async({column:e},t)=>{e.editRender&&e.editRender.props&&w(e.editRender.props)&&a(t)})),n.eventHooks.onScroll.tap(o,h(((e,t)=>{if(e.isX)return;const{uuid:o}=t;if(!o)return;const l=S(o);l&&j(l,t,e)}),100,!0,!0)),n.fieldHooks.field.tap(o,(e=>{if(w(e)){e.slots={...e.slots,default:s};const t=e.className,o="variable-height";e.className=t?function(e){return x(t)?[t(e),o]:[t,o]}:o}return e})),n.fieldHooks.fieldList.tap(o,((t,o,{$table:l})=>(o.uuid&&p(t,((t,n)=>{var a,s;if(w(t)){const t=null!=(s=null==(a=o.rowConfig)?void 0:a.height)?s:36,i=R(o.uuid),u=o.cellStyle;if(o.cellStyle=function(e){const o={};if(l.value){const n=Math.max(t,i.getMax(l.value.getRowSeq(e.row)));o.height=`${n}px`}return Object.assign(o,u?x(u)?u(e):u:null)},o.sortableConfig&&o.sortableConfig.enable){const t=o.sortableConfig.onEnd;o.sortableConfig.onEnd=function(l){const n=S(o.uuid);if(n){const{internalData:{elemStore:t}}=n,l=t["main-table-body"];l&&e(l)&&j(n,o,{scrollTop:e(l).scrollTop})}x(t)&&t(l)}}o.scrollY={...o.scrollY,mode:"default"},o.onWheel=function(t){let o=null,l=0,n=!0;return function(r){if(!t.uuid)return;const a=S(t.uuid);if(!a)return;const{internalData:s}=a,{isHover:i}=t.rowConfig||{},{deltaX:u,deltaY:c}=r,{refTableLeftBody:d,refTableRightBody:p,refTableBody:f}=a.getRefMaps(),h=c,g=u,v=h<0,x=e(f),y=x?x.$el:null;if(!y)return;if(v?y.scrollTop<=0:y.scrollTop>=y.scrollHeight-y.clientHeight)return;const b=y.scrollTop+h,I=y.scrollLeft+g;if(b===s.lastScrollTop)return;r.preventDefault(),s.lastScrollTop=b,s.lastScrollLeft=I,s.lastScrollTime=Date.now(),i&&a.clearHoverRow();const w=d.value,T=p.value,D=w?w.$el:null,R=T?T.$el:null,M=Math.min(100,Math.abs(Math.floor(h/2)));n&&(l=y.scrollTop,n=!1),l+=M*(v?-1:1),o&&o(),o=m(y.scrollTop,l,400,(e=>{y.scrollTop=e,D&&(D.scrollTop=e),R&&(R.scrollTop=e)}),"easeOutCubic",(()=>{l=y.scrollTop,n=!0})),Y(a,t,y)}}(o),setTimeout((()=>{k(o.uuid,o.scrollY),r(o)}),300),n()}})),t))),n.setupHooks.setup.tap(o,(e=>{t((()=>{e.value.uuid&&(M(e.value.uuid),H(e.value.uuid),$(e.value.uuid))}))}))}})}export{E as variableHeightRendererPlugin};
@@ -1 +1 @@
1
- import{traverse as e,findAncestor as n,getStringWidth as t}from"../../../../../../shared/utils/index.js";import{isString as r,isNumber as i,constant as o,isFunction as a,noop as l,range as d,property as u}from"lodash-es";import{IhoTableRenderHelper as c}from"../../../utils/index.js";import{VERTICAL_CELL_TYPE as f}from"./constants.js";function s(e){var n;return!!(null==(n=e.verticalConfig)?void 0:n.enable)}function p(e){return!!r(e)&&e.startsWith("header_")}function h(e){return!!r(e)&&e.startsWith("body_")}function _(e){var n;return r(e)?+(null!=(n=e.split("_")[1])?n:-1):-1}function m(n,t){const r=[];return e(n,((n,i,o)=>{n.parent=o,n.children||(!function(n,t){if(!n.parent)return n[`header_${t}`]=n.title,void d(t+1).forEach((e=>{n[`header_${e}_colspan`]=e===t?t+1:0,n[`header_${e}_rowspan`]=e===t?1:0}));let r=0,i=n;const o=[n];for(;i.parent;)r++,i=i.parent,o.unshift(i);d(t+1).forEach((i=>{var a,l;const d=o[i];if(!d)return n[`header_${i}`]="",n[`header_${i}_colspan`]=0,void(n[`header_${i}_rowspan`]=0);n[`header_${i}`]=null!=(l=null==(a=o[i])?void 0:a.title)?l:"",n[`header_${i}_colspan`]=i<r?1:t-r+1,n[`header_${i}_rowspan`]=function(n){if(!n.children)return 1;let t=0;return e(n.children,(e=>{e.children||t++})),t}(d)}))}(n,t),r.push(n))})),r.forEach(((e,n)=>{const i=r[n-1];i&&Object.entries(e).forEach((([n,r])=>{n.match(/^header_(\d+)$/)&&r===i[n]&&r&&n!==`header_${t}`&&(e[`${n}_colspan`]=0,e[`${n}_rowspan`]=0)}))})),r}const g=Object.freeze({rowspan:1,colspan:1});function x(e,n,t){var r,i;if(!p(e.column.field)){if(!n||!t)return g;const r=n(j(e,t));return r?{rowspan:r.colspan,colspan:r.rowspan}:g}return{rowspan:null!=(r=e.row[e.column.field+"_rowspan"])?r:1,colspan:null!=(i=e.row[e.column.field+"_colspan"])?i:1}}const w=({cell:e}={})=>{const n=e&&e.querySelector("input,.n-input__input-el,.n-input__textarea-el");return n&&n.click(),n};function $(n,r){let i=120;return e(r,((e,r,o,a)=>{a===n&&(i=Math.max(i,t(e.title||"")+20+(c.hasTitlePrefix(e)?20:0)))})),Math.ceil(i)}function v(e,n,t){const r=D(t);let u=r.getTableConfig("verticalConfig.headerWidth");u="auto"===u?$:i(u)?o(u):a(u)?u:$;let c=r.getTableConfig("verticalConfig.bodyWidth");c=i(c)?o(c):a(c)?c:l;let s=r.getTableConfig("verticalConfig.bodyMinWidth");return s=i(s)?o(s):a(s)?s:o(120),[...d(n+1).map((e=>({field:`header_${e}`,title:`header_${e}`,width:u(e,t.originalFieldList),fixed:"left",editRender:{name:f,props:{},enable:!1}}))),...e.map(((e,n)=>({field:`body_${n}`,title:`body_${n}`,minWidth:s(n),width:c(n),editRender:{name:f,props:{},enable:!0,autofocus:w}})))]}function b(e){const t=n(e.target,(e=>"TD"===e.tagName||"TH"===e.tagName));if(!t)return;const r=t.className.match(/(body|header)_(\d+)/);if(!r)return;const[i,o,a]=r;return{fieldKey:i,type:o,sequence:+a}}function y(e){return e.originalField}function I(e,n){var t;return null==(t=e.originalData)?void 0:t[n]}function C(e,n){const t=_(n.field),r=y(e);return{row:I(e,t),rowIndex:t,$rowIndex:t,column:r,fixed:r.fixed,type:r.type}}function T(n){const t=[];return e(n,(e=>{"left"===e.fixed&&t.push(e)})),t}function D(e){return{getOriginDataByColumn(n){var t;return null==(t=e.originalData)?void 0:t[_(n.field)]},getTableConfig:n=>u(n)(e.originalTableConfig)}}function W(e,n){return new Proxy({},{get(t,r){var i;if("originalField"===r)return e;if("originalData"===r)return a(n)?n():n;if(p(r))return e[r];if(h(r)){const t=_(r);return"seq"===e.type?t+1:null==(i=n[t])?void 0:i[e.field]}return t[r]},set(t,r,i){if(!p(r)){const t=_(r);t>=0&&n[t]&&(n[t][e.field]=i)}return!0}})}function j({$columnIndex:e,$rowIndex:n,column:t,columnIndex:r,row:i,rowIndex:o,type:a,_columnIndex:l,_rowIndex:d},u){var c;if(t){const f=a;if(a=p(t.field)?"header":"body",i){const s=_(t.field);t=y(i),i="header"===a?void 0:I(i,s),l=r=e="header"===f?n||0:((null==(c=u.fixedLeftVerticalData)?void 0:c.length)||0)+(n||0),d=o=n="header"===a?-1:s}}return{column:t,row:i,_columnIndex:l,_rowIndex:d,columnIndex:r,rowIndex:o,$columnIndex:e,$rowIndex:n,type:a}}w.toString=()=>"input,.n-input__input-el";export{j as basicParamsConvert,m as bindHeaderInfoAndFlatten,W as createDataProxy,v as createVerticalFieldList,D as createVerticalStateHandler,T as findFixedLeftFields,_ as getHeaderDepthByField,C as getOriginBasePayload,y as getOriginFieldFromRowData,I as getOriginRowFromRowData,x as getSpanInfo,b as getVerticalInfoFromEvent,h as isVerticalBody,p as isVerticalHeader,s as isVerticalTable};
1
+ import{traverse as e,findAncestor as n,getStringWidth as t}from"../../../../../../shared/utils/index.js";import{isString as r,isNumber as o,constant as i,isFunction as a,noop as l,range as d,property as u}from"lodash-es";import{IhoTableRenderHelper as c}from"../../../utils/index.js";import{VERTICAL_CELL_TYPE as f}from"./constants.js";function s(e){var n;return!!(null==(n=e.verticalConfig)?void 0:n.enable)}function p(e){return!!r(e)&&e.startsWith("header_")}function h(e){return!!r(e)&&e.startsWith("body_")}function _(e){var n;return r(e)?+(null!=(n=e.split("_")[1])?n:-1):-1}function m(n,t){const r=[];return e(n,((n,o,i)=>{n.parent=i,n.children||(!function(n,t){if(!n.parent)return n[`header_${t}`]=n.title,void d(t+1).forEach((e=>{n[`header_${e}_colspan`]=e===t?t+1:0,n[`header_${e}_rowspan`]=e===t?1:0}));let r=0,o=n;const i=[n];for(;o.parent;)r++,o=o.parent,i.unshift(o);d(t+1).forEach((o=>{var a,l;const d=i[o];if(!d)return n[`header_${o}`]="",n[`header_${o}_colspan`]=0,void(n[`header_${o}_rowspan`]=0);n[`header_${o}`]=null!=(l=null==(a=i[o])?void 0:a.title)?l:"",n[`header_${o}_colspan`]=o<r?1:t-r+1,n[`header_${o}_rowspan`]=function(n){if(!n.children)return 1;let t=0;return e(n.children,(e=>{e.children||t++})),t}(d)}))}(n,t),r.push(n))})),r.forEach(((e,n)=>{const o=r[n-1];o&&Object.entries(e).forEach((([n,r])=>{n.match(/^header_(\d+)$/)&&r===o[n]&&r&&n!==`header_${t}`&&(e[`${n}_colspan`]=0,e[`${n}_rowspan`]=0)}))})),r}const g=Object.freeze({rowspan:1,colspan:1});function w(e,n,t){var r,o;if(!p(e.column.field)){if(!n||!t)return g;const r=n(j(e,t));return r?{rowspan:r.colspan,colspan:r.rowspan}:g}return{rowspan:null!=(r=e.row[e.column.field+"_rowspan"])?r:1,colspan:null!=(o=e.row[e.column.field+"_colspan"])?o:1}}const x=({cell:e,row:n}={})=>{const t=e&&e.querySelector("input,.n-input__input-el,.n-input__textarea-el");if(t){const e=n?y(n):void 0;"INPUT"===(null==e?void 0:e.editRender.name)?t.focus():t.click()}return t};function v(n,r){let o=120;return e(r,((e,r,i,a)=>{a===n&&(o=Math.max(o,t(e.title||"")+20+(c.hasTitlePrefix(e)?20:0)))})),Math.ceil(o)}function $(e,n,t){const r=D(t);let u=r.getTableConfig("verticalConfig.headerWidth");u="auto"===u?v:o(u)?i(u):a(u)?u:v;let c=r.getTableConfig("verticalConfig.bodyWidth");c=o(c)?i(c):a(c)?c:l;let s=r.getTableConfig("verticalConfig.bodyMinWidth");return s=o(s)?i(s):a(s)?s:i(120),[...d(n+1).map((e=>({field:`header_${e}`,title:`header_${e}`,width:u(e,t.originalFieldList),fixed:"left",editRender:{name:f,props:{},enable:!1}}))),...e.map(((e,n)=>({field:`body_${n}`,title:`body_${n}`,minWidth:s(n),width:c(n),editRender:{name:f,props:{},enable:!0,autofocus:x}})))]}function b(e){const t=n(e.target,(e=>"TD"===e.tagName||"TH"===e.tagName));if(!t)return;const r=t.className.match(/(body|header)_(\d+)/);if(!r)return;const[o,i,a]=r;return{fieldKey:o,type:i,sequence:+a}}function y(e){return e.originalField}function I(e,n){var t;return null==(t=e.originalData)?void 0:t[n]}function C(e,n){const t=_(n.field),r=y(e);return{row:I(e,t),rowIndex:t,$rowIndex:t,column:r,fixed:r.fixed,type:r.type}}function T(n){const t=[];return e(n,(e=>{"left"===e.fixed&&t.push(e)})),t}function D(e){return{getOriginDataByColumn(n){var t;return null==(t=e.originalData)?void 0:t[_(n.field)]},getTableConfig:n=>u(n)(e.originalTableConfig)}}function W(e,n){return new Proxy({},{get(t,r){var o;if("originalField"===r)return e;if("originalData"===r)return a(n)?n():n;if(p(r))return e[r];if(h(r)){const t=_(r);return"seq"===e.type?t+1:null==(o=n[t])?void 0:o[e.field]}return t[r]},set(t,r,o){if(!p(r)){const t=_(r);t>=0&&n[t]&&(n[t][e.field]=o)}return!0}})}function j({$columnIndex:e,$rowIndex:n,column:t,columnIndex:r,row:o,rowIndex:i,type:a,_columnIndex:l,_rowIndex:d},u){var c;if(t){const f=a;if(a=p(t.field)?"header":"body",o){const s=_(t.field);t=y(o),o="header"===a?void 0:I(o,s),l=r=e="header"===f?n||0:((null==(c=u.fixedLeftVerticalData)?void 0:c.length)||0)+(n||0),d=i=n="header"===a?-1:s}}return{column:t,row:o,_columnIndex:l,_rowIndex:d,columnIndex:r,rowIndex:i,$columnIndex:e,$rowIndex:n,type:a}}x.toString=()=>"input,.n-input__input-el";export{j as basicParamsConvert,m as bindHeaderInfoAndFlatten,W as createDataProxy,$ as createVerticalFieldList,D as createVerticalStateHandler,T as findFixedLeftFields,_ as getHeaderDepthByField,C as getOriginBasePayload,y as getOriginFieldFromRowData,I as getOriginRowFromRowData,w as getSpanInfo,b as getVerticalInfoFromEvent,h as isVerticalBody,p as isVerticalHeader,s as isVerticalTable};
@@ -216,6 +216,7 @@ export type LowCodeTableFieldItem = {
216
216
  colWidth: VxeTableDefines.ColumnInfo['width'];
217
217
  settingObj: IhoTableLowCodeField.SettingObj;
218
218
  treeNode: boolean;
219
+ connectField: string;
219
220
  isShow: MaybeString<0 | 1>;
220
221
  isSort: MaybeString<0 | 1>;
221
222
  isOrder: MaybeString<0> | VxeTablePropTypes.SortOrder;
@@ -151,9 +151,9 @@ type DataHookContext = {
151
151
  };
152
152
  export type WithTableDataContext<T> = [...WithTableConfig<T>, DataHookContext];
153
153
  export declare abstract class AbstractDataHooks {
154
- abstract readonly dataStart: AsyncParallelHook<WithTableConfig>;
154
+ abstract readonly dataStart: AsyncParallelHook<WithTableConfig<IhoTableHandlerContext>>;
155
155
  abstract readonly data: AsyncSeriesHook<WithTableDataContext<[AnyObject]>>;
156
- abstract readonly dataEnd: AsyncParallelHook<WithTableConfig>;
156
+ abstract readonly dataEnd: AsyncParallelHook<WithTableConfig<IhoTableHandlerContext>>;
157
157
  abstract readonly dataList: SyncWaterfallHook<WithTableConfig<[AnyObject[]]>>;
158
158
  }
159
159
  export declare abstract class AbstractSetupHooks {