vxe-table 4.8.6 → 4.8.8

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.
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Cell=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getI18n,getIcon,renderer,formats,renderEmptyElement}=_ui.VxeUI;function renderTitlePrefixIcon(l){const{$table:r,column:e}=l,t=e.titlePrefix||e.titleHelp;return t?[(0,_vue.h)("i",{class:["vxe-cell-title-prefix-icon",t.icon||getIcon().TABLE_TITLE_PREFIX],onMouseenter(e){r.triggerHeaderTitleEvent(e,t,l)},onMouseleave(e){r.handleTargetLeaveEvent(e)}})]:[]}function renderTitleSuffixIcon(l){const{$table:r,column:e}=l,t=e.titleSuffix;return t?[(0,_vue.h)("i",{class:["vxe-cell-title-suffix-icon",t.icon||getIcon().TABLE_TITLE_SUFFIX],onMouseenter(e){r.triggerHeaderTitleEvent(e,t,l)},onMouseleave(e){r.handleTargetLeaveEvent(e)}})]:[]}function renderCellDragIcon(l){const r=l["$table"];var e=r.getComputeMaps()["computeDragOpts"],{rowIcon:e,rowDisabledMethod:t}=e.value;const n=t&&t(l);return(0,_vue.h)("span",{key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":n}],onMousedown(e){n||r.handleCellDragMousedownEvent(e,l)},onMouseup:r.handleCellDragMouseupEvent},[(0,_vue.h)("i",{class:e||getIcon().TABLE_DRAG_ROW})])}function renderCellBaseVNs(e,l){var{$table:r,column:t}=e,t=t["dragSort"],l=_xeUtils.default.isArray(l)?l:[l],{computeRowOpts:r,computeDragOpts:n}=r.getComputeMaps(),r=r.value,{showRowIcon:n,rowVisibleMethod:a}=n.value;return t&&r.drag&&n&&(!a||a(e))&&l.unshift(renderCellDragIcon(e)),l}function renderTitleContent(l,e){const{$table:r,column:t}=l,{props:n,reactData:a}=r;var o=r.getComputeMaps()["computeTooltipOpts"],d=n["showHeaderOverflow"],{type:s,showHeaderOverflow:i}=t;const c=o.value.showAll;o=_xeUtils.default.isUndefined(i)||_xeUtils.default.isNull(i)?d:i;const u="title"===o,C=!0===o||"tooltip"===o;d={};return(u||C||c)&&(d.onMouseenter=e=>{a._isResize||(u?(0,_dom.updateCellTitle)(e.currentTarget,t):(C||c)&&r.triggerHeaderTooltipEvent(e,l))}),(C||c)&&(d.onMouseleave=e=>{a._isResize||(C||c)&&r.handleTargetLeaveEvent(e)}),["html"===s&&_xeUtils.default.isString(e)?(0,_vue.h)("span",Object.assign({class:"vxe-cell--title",innerHTML:e},d)):(0,_vue.h)("span",Object.assign({class:"vxe-cell--title"},d),(0,_vn.getSlotVNs)(e))]}function formatFooterLabel(e,l){var r,t;return _xeUtils.default.isFunction(e)?e(l):(t=(t=(r=_xeUtils.default.isArray(e))?formats.get(e[0]):formats.get(e))?t.tableFooterCellFormatMethod:null)?r?t(l,...e.slice(1)):t(l):""}function getFooterContent(e){var{$table:l,column:r,_columnIndex:t,items:n,row:a}=e,{slots:o,editRender:d,cellRender:s,footerFormatter:i}=r,d=d||s,s=o?o.footer:null;if(s)return l.callSlot(s,e);if(d){o=renderer.get(d.name);if(o){l=o.renderTableFooter||o.renderFooter;if(l)return(0,_vn.getSlotVNs)(l(d,e))}}let c="";return _xeUtils.default.isArray(n)?c=n[t]:c=_xeUtils.default.get(a,r.field),[i?formatFooterLabel(i,{itemValue:c,column:r,row:a,items:n,_columnIndex:t}):(0,_utils.formatText)(c,1)]}function getDefaultCellLabel(e){var{$table:e,row:l,column:r}=e;return(0,_utils.formatText)(e.getCellLabel(l,r),1)}const Cell=exports.Cell={createColumn(e,l){var{type:r,sortable:t,filters:n,editRender:a,treeNode:o}=l,d=e["props"],s=d["editConfig"],{computeEditOpts:d,computeCheckboxOpts:i}=e.getComputeMaps(),c=i.value,u=d.value,C={renderHeader:Cell.renderDefaultHeader,renderCell:o?Cell.renderTreeCell:Cell.renderDefaultCell,renderFooter:Cell.renderDefaultFooter};switch(r){case"seq":C.renderHeader=Cell.renderSeqHeader,C.renderCell=o?Cell.renderTreeIndexCell:Cell.renderSeqCell;break;case"radio":C.renderHeader=Cell.renderRadioHeader,C.renderCell=o?Cell.renderTreeRadioCell:Cell.renderRadioCell;break;case"checkbox":C.renderHeader=Cell.renderCheckboxHeader,C.renderCell=c.checkField?o?Cell.renderTreeSelectionCellByProp:Cell.renderCheckboxCellByProp:o?Cell.renderTreeSelectionCell:Cell.renderCheckboxCell;break;case"expand":C.renderCell=Cell.renderExpandCell,C.renderData=Cell.renderExpandData;break;case"html":C.renderCell=o?Cell.renderTreeHTMLCell:Cell.renderHTMLCell,n&&t?C.renderHeader=Cell.renderSortAndFilterHeader:t?C.renderHeader=Cell.renderSortHeader:n&&(C.renderHeader=Cell.renderFilterHeader);break;default:s&&a?(C.renderHeader=Cell.renderEditHeader,C.renderCell="cell"===u.mode?o?Cell.renderTreeCellEdit:Cell.renderCellEdit:o?Cell.renderTreeRowEdit:Cell.renderRowEdit):n&&t?C.renderHeader=Cell.renderSortAndFilterHeader:t?C.renderHeader=Cell.renderSortHeader:n&&(C.renderHeader=Cell.renderFilterHeader)}return(0,_util.createColumn)(e,l,C)},renderHeaderTitle(e){var{$table:l,column:r}=e,{slots:t,editRender:n,cellRender:a}=r,n=n||a,a=t?t.header:null;if(a)return renderTitleContent(e,l.callSlot(a,e));if(n){t=renderer.get(n.name);if(t){l=t.renderTableHeader||t.renderHeader;if(l)return renderTitleContent(e,(0,_vn.getSlotVNs)(l(n,e)))}}return renderTitleContent(e,(0,_utils.formatText)(r.getTitle(),1))},renderDefaultHeader(e){return renderTitlePrefixIcon(e).concat(Cell.renderHeaderTitle(e)).concat(renderTitleSuffixIcon(e))},renderDefaultCell(e){var{$table:l,row:r,column:t}=e,{slots:n,editRender:a,cellRender:o}=t,o=a||o,n=n?n.default:null;if(n)return renderCellBaseVNs(e,l.callSlot(n,e));if(o){n=renderer.get(o.name);if(n){var d=n.renderTableCell||n.renderCell,n=n.renderTableDefault||n.renderDefault,d=a?d:n;if(d)return renderCellBaseVNs(e,(0,_vn.getSlotVNs)(d(o,Object.assign({$type:a?"edit":"cell"},e))))}}n=l.getCellLabel(r,t),d=a?a.placeholder:"";return renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},[a&&(0,_utils.eqEmptyValue)(n)?(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(d),1)):(0,_vue.h)("span",(0,_utils.formatText)(n,1))])])},renderTreeCell(e){return Cell.renderTreeIcon(e,Cell.renderDefaultCell(e))},renderDefaultFooter(e){return[(0,_vue.h)("span",{class:"vxe-cell--item"},getFooterContent(e))]},renderTreeIcon(l,e){const{$table:r,isHidden:t}=l;var{reactData:n,internalData:a}=r,o=r.getComputeMaps()["computeTreeOpts"],{treeExpandedMaps:n,treeExpandLazyLoadedMaps:d}=n,a=a["fullAllDataRowIdData"],o=o.value,{row:s,column:i,level:c}=l,i=i["slots"],{indent:u,lazy:C,trigger:v,iconLoaded:p,showIcon:g,iconOpen:_,iconClose:h}=o,b=o.children||o.childrenField,o=o.hasChild||o.hasChildField,b=s[b],b=b&&b.length,i=i?i.icon:null;let E=!1,x=!1,f=!1,T=!1;var m={};return i?r.callSlot(i,l):(t||(i=(0,_util.getRowid)(r,s),x=!!n[i],C&&(n=a[i],f=!!d[i],E=s[o],T=!!n.treeLoaded)),v&&"default"!==v||(m.onClick=e=>{r.triggerTreeExpandEvent(e,l)}),[(0,_vue.h)("div",{class:["vxe-cell--tree-node",{"is--active":x}],style:{paddingLeft:c*u+"px"}},[g&&(!C||T?b:E)?[(0,_vue.h)("div",Object.assign({class:"vxe-tree--btn-wrapper"},m),[(0,_vue.h)("i",{class:["vxe-tree--node-btn",f?p||getIcon().TABLE_TREE_LOADED:x?_||getIcon().TABLE_TREE_OPEN:h||getIcon().TABLE_TREE_CLOSE]})])]:null,(0,_vue.h)("div",{class:"vxe-tree-cell"},e)])])},renderSeqHeader(e){var{$table:l,column:r}=e,t=r["slots"],t=t?t.header:null;return renderTitleContent(e,t?l.callSlot(t,e):(0,_utils.formatText)(r.getTitle(),1))},renderSeqCell(e){var{$table:l,column:r}=e,t=l["props"],t=t["treeConfig"],n=l.getComputeMaps()["computeSeqOpts"],n=n.value,r=r["slots"],r=r?r.default:null;return r?renderCellBaseVNs(e,l.callSlot(r,e)):(l=e["seq"],r=n.seqMethod,renderCellBaseVNs(e,[(0,_vue.h)("span",""+(0,_utils.formatText)(r?r(e):t?l:(n.startIndex||0)+l,1))]))},renderTreeIndexCell(e){return Cell.renderTreeIcon(e,Cell.renderSeqCell(e))},renderRadioHeader(e){var{$table:l,column:r}=e,t=r["slots"],n=t?t.header:null,t=t?t.title:null;return renderTitleContent(e,n?l.callSlot(n,e):[(0,_vue.h)("span",{class:"vxe-radio--label"},t?l.callSlot(t,e):(0,_utils.formatText)(r.getTitle(),1))])},renderRadioCell(l){const{$table:r,column:e,isHidden:t}=l;var n=r["reactData"],a=r.getComputeMaps()["computeRadioOpts"],n=n["selectRadioRow"],o=e["slots"],{labelField:a,checkMethod:d,visibleMethod:s}=a.value,i=l["row"],c=o?o.default:null,o=o?o.radio:null,n=r.eqRow(i,n);const u=!s||s({row:i});let C=!!d,v;t||(v={onClick(e){!C&&u&&r.triggerRadioRowEvent(e,l)}},d&&(C=!d({row:i})));s=Object.assign(Object.assign({},l),{checked:n,disabled:C,visible:u});return o?renderCellBaseVNs(l,r.callSlot(o,s)):(d=[],u&&d.push((0,_vue.h)("span",{class:["vxe-radio--icon",n?getIcon().TABLE_RADIO_CHECKED:getIcon().TABLE_RADIO_UNCHECKED]})),(c||a)&&d.push((0,_vue.h)("span",{class:"vxe-radio--label"},c?r.callSlot(c,s):_xeUtils.default.get(i,a))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--radio",{"is--checked":n,"is--disabled":C}]},v),d)]))},renderTreeRadioCell(e){return Cell.renderTreeIcon(e,Cell.renderRadioCell(e))},renderCheckboxHeader(e){const{$table:l,column:r,isHidden:t}=e;var n=l["reactData"],{computeIsAllCheckboxDisabled:a,computeCheckboxOpts:o}=l.getComputeMaps();const{isAllSelected:d,isIndeterminate:s}=n,i=a.value;var n=r["slots"],a=n?n.header:null,n=n?n.title:null,o=o.value,c=r.getTitle();let u;t||(u={onClick(e){i||l.triggerCheckAllEvent(e,!d)}});e=Object.assign(Object.assign({},e),{checked:d,disabled:i,indeterminate:s});return a?renderTitleContent(e,l.callSlot(a,e)):(o.checkStrictly?o.showHeader:!1!==o.showHeader)?renderTitleContent(e,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":d,"is--disabled":i,"is--indeterminate":s}],title:getI18n("vxe.table.allTitle")},u),[(0,_vue.h)("span",{class:["vxe-checkbox--icon",s?getIcon().TABLE_CHECKBOX_INDETERMINATE:d?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})].concat(n||c?[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,e):c)]:[]))]):renderTitleContent(e,[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,e):c)])},renderCheckboxCell(l){const{$table:r,row:e,column:t,isHidden:n}=l;var{props:a,reactData:o}=r,a=a["treeConfig"],{selectCheckboxMaps:o,treeIndeterminateMaps:d}=o,s=r.getComputeMaps()["computeCheckboxOpts"],{labelField:s,checkMethod:i,visibleMethod:c}=s.value,u=t["slots"],C=u?u.default:null,u=u?u.checkbox:null;let v=!1,p=!1;const g=!c||c({row:e});let _=!!i,h;n||(c=(0,_util.getRowid)(r,e),p=!!o[c],h={onClick(e){!_&&g&&r.triggerCheckRowEvent(e,l,!p)}},i&&(_=!i({row:e})),a&&(v=!!d[c]));o=Object.assign(Object.assign({},l),{checked:p,disabled:_,visible:g,indeterminate:v});return u?renderCellBaseVNs(l,r.callSlot(u,o)):(i=[],g&&i.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",v?getIcon().TABLE_CHECKBOX_INDETERMINATE:p?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(C||s)&&i.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},C?r.callSlot(C,o):_xeUtils.default.get(e,s))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":p,"is--disabled":_,"is--indeterminate":v,"is--hidden":!g}]},h),i)]))},renderTreeSelectionCell(e){return Cell.renderTreeIcon(e,Cell.renderCheckboxCell(e))},renderCheckboxCellByProp(l){const{$table:r,row:e,column:t,isHidden:n}=l;var{props:a,reactData:o}=r,a=a["treeConfig"],o=o["treeIndeterminateMaps"],d=r.getComputeMaps()["computeCheckboxOpts"],d=d.value,{labelField:s,checkField:i,checkMethod:c,visibleMethod:u}=d,d=d.indeterminateField||d.halfField,C=t["slots"],v=C?C.default:null,C=C?C.checkbox:null;let p=!1,g=!1;const _=!u||u({row:e});let h=!!c,b;n||(u=(0,_util.getRowid)(r,e),g=_xeUtils.default.get(e,i),b={onClick(e){!h&&_&&r.triggerCheckRowEvent(e,l,!g)}},c&&(h=!c({row:e})),a&&(p=!!o[u]));i=Object.assign(Object.assign({},l),{checked:g,disabled:h,visible:_,indeterminate:p});return C?renderCellBaseVNs(l,r.callSlot(C,i)):(c=[],_&&(c.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",p?getIcon().TABLE_CHECKBOX_INDETERMINATE:g?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),v||s)&&c.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},v?r.callSlot(v,i):_xeUtils.default.get(e,s))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":g,"is--disabled":h,"is--indeterminate":d&&!g?e[d]:p,"is--hidden":!_}]},b),c)]))},renderTreeSelectionCellByProp(e){return Cell.renderTreeIcon(e,Cell.renderCheckboxCellByProp(e))},renderExpandCell(l){const{$table:r,isHidden:e,row:t,column:n}=l;var a=r["reactData"],{rowExpandedMaps:a,rowExpandLazyLoadedMaps:o}=a,d=r.getComputeMaps()["computeExpandOpts"],{lazy:d,labelField:s,iconLoaded:i,showIcon:c,iconOpen:u,iconClose:C,visibleMethod:v}=d.value,p=n["slots"],g=p?p.default:null,p=p?p.icon:null;let _=!1,h=!1;return p?renderCellBaseVNs(l,r.callSlot(p,l)):(e||(p=(0,_util.getRowid)(r,t),_=!!a[p],d&&(h=!!o[p])),renderCellBaseVNs(l,[!c||v&&!v(l)?renderEmptyElement(r):(0,_vue.h)("span",{class:["vxe-table--expanded",{"is--active":_}],onClick(e){r.triggerRowExpandEvent(e,l)}},[(0,_vue.h)("i",{class:["vxe-table--expand-btn",h?i||getIcon().TABLE_EXPAND_LOADED:_?u||getIcon().TABLE_EXPAND_OPEN:C||getIcon().TABLE_EXPAND_CLOSE]})]),g||s?(0,_vue.h)("span",{class:"vxe-table--expand-label"},g?r.callSlot(g,l):_xeUtils.default.get(t,s)):renderEmptyElement(r)]))},renderExpandData(e){var{$table:l,column:r}=e,{slots:r,contentRender:t}=r,r=r?r.content:null;if(r)return l.callSlot(r,e);if(t){l=renderer.get(t.name);if(l){r=l.renderTableExpand||l.renderExpand;if(r)return(0,_vn.getSlotVNs)(r(t,e))}}return[]},renderHTMLCell(e){var{$table:l,column:r}=e,r=r["slots"],r=r?r.default:null;return renderCellBaseVNs(e,r?l.callSlot(r,e):[(0,_vue.h)("span",{class:"vxe-cell--html",innerHTML:getDefaultCellLabel(e)})])},renderTreeHTMLCell(e){return Cell.renderTreeIcon(e,Cell.renderHTMLCell(e))},renderSortAndFilterHeader(e){return Cell.renderDefaultHeader(e).concat(Cell.renderSortIcon(e)).concat(Cell.renderFilterIcon(e))},renderSortHeader(e){return Cell.renderDefaultHeader(e).concat(Cell.renderSortIcon(e))},renderSortIcon(e){const{$table:l,column:r}=e;var e=l.getComputeMaps()["computeSortOpts"],{showIcon:e,iconLayout:t,iconAsc:n,iconDesc:a}=e.value,o=r["order"];return e?[(0,_vue.h)("span",{class:["vxe-cell--sort",`vxe-cell--sort-${t}-layout`]},[(0,_vue.h)("i",{class:["vxe-sort--asc-btn",n||getIcon().TABLE_SORT_ASC,{"sort--active":"asc"===o}],title:getI18n("vxe.table.sortAsc"),onClick(e){e.stopPropagation(),l.triggerSortEvent(e,r,"asc")}}),(0,_vue.h)("i",{class:["vxe-sort--desc-btn",a||getIcon().TABLE_SORT_DESC,{"sort--active":"desc"===o}],title:getI18n("vxe.table.sortDesc"),onClick(e){e.stopPropagation(),l.triggerSortEvent(e,r,"desc")}})])]:[]},renderFilterHeader(e){return Cell.renderDefaultHeader(e).concat(Cell.renderFilterIcon(e))},renderFilterIcon(l){const{$table:r,column:e,hasFilter:t}=l;var n=r["reactData"],n=n["filterStore"],a=r.getComputeMaps()["computeFilterOpts"],{showIcon:a,iconNone:o,iconMatch:d}=a.value;return a?[(0,_vue.h)("span",{class:["vxe-cell--filter",{"is--active":n.visible&&n.column===e}]},[(0,_vue.h)("i",{class:["vxe-filter--btn",t?d||getIcon().TABLE_FILTER_MATCH:o||getIcon().TABLE_FILTER_NONE],title:getI18n("vxe.table.filter"),onClick(e){r.triggerFilterEvent&&r.triggerFilterEvent(e,l.column,l)}})])]:[]},renderEditHeader(e){var{$table:l,column:r}=e,t=l["props"],l=l.getComputeMaps()["computeEditOpts"],{editConfig:t,editRules:n}=t,l=l.value,{sortable:a,filters:o,editRender:d}=r;let s=!1;return n&&(n=_xeUtils.default.get(n,r.field))&&(s=n.some(e=>e.required)),((0,_utils.isEnableConf)(t)?[s&&l.showAsterisk?(0,_vue.h)("i",{class:"vxe-cell--required-icon"}):null,(0,_utils.isEnableConf)(d)&&l.showIcon?(0,_vue.h)("i",{class:["vxe-cell--edit-icon",l.icon||getIcon().TABLE_EDIT]}):null]:[]).concat(Cell.renderDefaultHeader(e)).concat(a?Cell.renderSortIcon(e):[]).concat(o?Cell.renderFilterIcon(e):[])},renderRowEdit(e){var{$table:l,column:r}=e,l=l["reactData"],l=l["editStore"],l=l["actived"],r=r["editRender"];return Cell.runRenderer(e,(0,_utils.isEnableConf)(r)&&l&&l.row===e.row)},renderTreeRowEdit(e){return Cell.renderTreeIcon(e,Cell.renderRowEdit(e))},renderCellEdit(e){var{$table:l,column:r}=e,l=l["reactData"],l=l["editStore"],l=l["actived"],r=r["editRender"];return Cell.runRenderer(e,(0,_utils.isEnableConf)(r)&&l&&l.row===e.row&&l.column===e.column)},renderTreeCellEdit(e){return Cell.renderTreeIcon(e,Cell.renderCellEdit(e))},runRenderer(e,l){var{$table:r,column:t}=e,{slots:t,editRender:n,formatter:a}=t,o=t?t.default:null,t=t?t.edit:null,d=renderer.get(n.name),d=d?d.renderTableEdit||d.renderEdit:null,s=Object.assign({$type:"",isEdit:l},e);return l?(s.$type="edit",t?r.callSlot(t,s):d?(0,_vn.getSlotVNs)(d(n,s)):[]):o?renderCellBaseVNs(e,r.callSlot(o,s)):a?renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},getDefaultCellLabel(s))]):Cell.renderDefaultCell(s)}};var _default=exports.default=Cell;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Cell=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getI18n,getIcon,renderer,formats,renderEmptyElement}=_ui.VxeUI;function renderTitlePrefixIcon(l){const{$table:r,column:e}=l,t=e.titlePrefix||e.titleHelp;return t?[(0,_vue.h)("i",{class:["vxe-cell-title-prefix-icon",t.icon||getIcon().TABLE_TITLE_PREFIX],onMouseenter(e){r.triggerHeaderTitleEvent(e,t,l)},onMouseleave(e){r.handleTargetLeaveEvent(e)}})]:[]}function renderTitleSuffixIcon(l){const{$table:r,column:e}=l,t=e.titleSuffix;return t?[(0,_vue.h)("i",{class:["vxe-cell-title-suffix-icon",t.icon||getIcon().TABLE_TITLE_SUFFIX],onMouseenter(e){r.triggerHeaderTitleEvent(e,t,l)},onMouseleave(e){r.handleTargetLeaveEvent(e)}})]:[]}function renderCellDragIcon(l){const r=l["$table"];var e=r.getComputeMaps()["computeDragOpts"],{rowIcon:e,rowDisabledMethod:t}=e.value;const n=t&&t(l);return(0,_vue.h)("span",{key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":n}],onMousedown(e){n||r.handleCellDragMousedownEvent(e,l)},onMouseup:r.handleCellDragMouseupEvent},[(0,_vue.h)("i",{class:e||getIcon().TABLE_DRAG_ROW})])}function renderCellBaseVNs(e,l){var{$table:r,column:t,level:n}=e,t=t["dragSort"],a=r.props["treeConfig"],{computeRowOpts:r,computeDragOpts:o}=r.getComputeMaps(),r=r.value,{showRowIcon:o,rowVisibleMethod:d}=o.value,l=_xeUtils.default.isArray(l)?l:[l];return!(t&&r.drag&&o)||d&&!d(e)||a&&n||l.unshift(renderCellDragIcon(e)),l}function renderTitleContent(l,e){const{$table:r,column:t}=l,{props:n,reactData:a}=r;var o=r.getComputeMaps()["computeTooltipOpts"],d=n["showHeaderOverflow"],{type:s,showHeaderOverflow:i}=t;const c=o.value.showAll;o=_xeUtils.default.isUndefined(i)||_xeUtils.default.isNull(i)?d:i;const u="title"===o,C=!0===o||"tooltip"===o;d={};return(u||C||c)&&(d.onMouseenter=e=>{a._isResize||(u?(0,_dom.updateCellTitle)(e.currentTarget,t):(C||c)&&r.triggerHeaderTooltipEvent(e,l))}),(C||c)&&(d.onMouseleave=e=>{a._isResize||(C||c)&&r.handleTargetLeaveEvent(e)}),["html"===s&&_xeUtils.default.isString(e)?(0,_vue.h)("span",Object.assign({class:"vxe-cell--title",innerHTML:e},d)):(0,_vue.h)("span",Object.assign({class:"vxe-cell--title"},d),(0,_vn.getSlotVNs)(e))]}function formatFooterLabel(e,l){var r,t;return _xeUtils.default.isFunction(e)?e(l):(t=(t=(r=_xeUtils.default.isArray(e))?formats.get(e[0]):formats.get(e))?t.tableFooterCellFormatMethod:null)?r?t(l,...e.slice(1)):t(l):""}function getFooterContent(e){var{$table:l,column:r,_columnIndex:t,items:n,row:a}=e,{slots:o,editRender:d,cellRender:s,footerFormatter:i}=r,d=d||s,s=o?o.footer:null;if(s)return l.callSlot(s,e);if(d){o=renderer.get(d.name);if(o){l=o.renderTableFooter||o.renderFooter;if(l)return(0,_vn.getSlotVNs)(l(d,e))}}let c="";return _xeUtils.default.isArray(n)?c=n[t]:c=_xeUtils.default.get(a,r.field),[i?formatFooterLabel(i,{itemValue:c,column:r,row:a,items:n,_columnIndex:t}):(0,_utils.formatText)(c,1)]}function getDefaultCellLabel(e){var{$table:e,row:l,column:r}=e;return(0,_utils.formatText)(e.getCellLabel(l,r),1)}const Cell=exports.Cell={createColumn(e,l){var{type:r,sortable:t,filters:n,editRender:a,treeNode:o}=l,d=e["props"],s=d["editConfig"],{computeEditOpts:d,computeCheckboxOpts:i}=e.getComputeMaps(),c=i.value,u=d.value,C={renderHeader:Cell.renderDefaultHeader,renderCell:o?Cell.renderTreeCell:Cell.renderDefaultCell,renderFooter:Cell.renderDefaultFooter};switch(r){case"seq":C.renderHeader=Cell.renderSeqHeader,C.renderCell=o?Cell.renderTreeIndexCell:Cell.renderSeqCell;break;case"radio":C.renderHeader=Cell.renderRadioHeader,C.renderCell=o?Cell.renderTreeRadioCell:Cell.renderRadioCell;break;case"checkbox":C.renderHeader=Cell.renderCheckboxHeader,C.renderCell=c.checkField?o?Cell.renderTreeSelectionCellByProp:Cell.renderCheckboxCellByProp:o?Cell.renderTreeSelectionCell:Cell.renderCheckboxCell;break;case"expand":C.renderCell=Cell.renderExpandCell,C.renderData=Cell.renderExpandData;break;case"html":C.renderCell=o?Cell.renderTreeHTMLCell:Cell.renderHTMLCell,n&&t?C.renderHeader=Cell.renderSortAndFilterHeader:t?C.renderHeader=Cell.renderSortHeader:n&&(C.renderHeader=Cell.renderFilterHeader);break;default:s&&a?(C.renderHeader=Cell.renderEditHeader,C.renderCell="cell"===u.mode?o?Cell.renderTreeCellEdit:Cell.renderCellEdit:o?Cell.renderTreeRowEdit:Cell.renderRowEdit):n&&t?C.renderHeader=Cell.renderSortAndFilterHeader:t?C.renderHeader=Cell.renderSortHeader:n&&(C.renderHeader=Cell.renderFilterHeader)}return(0,_util.createColumn)(e,l,C)},renderHeaderTitle(e){var{$table:l,column:r}=e,{slots:t,editRender:n,cellRender:a}=r,n=n||a,a=t?t.header:null;if(a)return renderTitleContent(e,l.callSlot(a,e));if(n){t=renderer.get(n.name);if(t){l=t.renderTableHeader||t.renderHeader;if(l)return renderTitleContent(e,(0,_vn.getSlotVNs)(l(n,e)))}}return renderTitleContent(e,(0,_utils.formatText)(r.getTitle(),1))},renderDefaultHeader(e){return renderTitlePrefixIcon(e).concat(Cell.renderHeaderTitle(e)).concat(renderTitleSuffixIcon(e))},renderDefaultCell(e){var{$table:l,row:r,column:t}=e,{slots:n,editRender:a,cellRender:o}=t,o=a||o,n=n?n.default:null;if(n)return renderCellBaseVNs(e,l.callSlot(n,e));if(o){n=renderer.get(o.name);if(n){var d=n.renderTableCell||n.renderCell,n=n.renderTableDefault||n.renderDefault,d=a?d:n;if(d)return renderCellBaseVNs(e,(0,_vn.getSlotVNs)(d(o,Object.assign({$type:a?"edit":"cell"},e))))}}n=l.getCellLabel(r,t),d=a?a.placeholder:"";return renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},[a&&(0,_utils.eqEmptyValue)(n)?(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(d),1)):(0,_vue.h)("span",(0,_utils.formatText)(n,1))])])},renderTreeCell(e){return Cell.renderTreeIcon(e,Cell.renderDefaultCell(e))},renderDefaultFooter(e){return[(0,_vue.h)("span",{class:"vxe-cell--item"},getFooterContent(e))]},renderTreeIcon(l,e){const{$table:r,isHidden:t}=l;var{reactData:n,internalData:a}=r,o=r.getComputeMaps()["computeTreeOpts"],{treeExpandedMaps:n,treeExpandLazyLoadedMaps:d}=n,a=a["fullAllDataRowIdData"],o=o.value,{row:s,column:i,level:c}=l,i=i["slots"],{indent:u,lazy:C,trigger:v,iconLoaded:p,showIcon:g,iconOpen:_,iconClose:h}=o,b=o.children||o.childrenField,o=o.hasChild||o.hasChildField,b=s[b],b=b&&b.length,i=i?i.icon:null;let E=!1,x=!1,f=!1,T=!1;var m={};return i?r.callSlot(i,l):(t||(i=(0,_util.getRowid)(r,s),x=!!n[i],C&&(n=a[i],f=!!d[i],E=s[o],T=!!n.treeLoaded)),v&&"default"!==v||(m.onClick=e=>{r.triggerTreeExpandEvent(e,l)}),[(0,_vue.h)("div",{class:["vxe-cell--tree-node",{"is--active":x}],style:{paddingLeft:c*u+"px"}},[g&&(!C||T?b:E)?[(0,_vue.h)("div",Object.assign({class:"vxe-tree--btn-wrapper"},m),[(0,_vue.h)("i",{class:["vxe-tree--node-btn",f?p||getIcon().TABLE_TREE_LOADED:x?_||getIcon().TABLE_TREE_OPEN:h||getIcon().TABLE_TREE_CLOSE]})])]:null,(0,_vue.h)("div",{class:"vxe-tree-cell"},e)])])},renderSeqHeader(e){var{$table:l,column:r}=e,t=r["slots"],t=t?t.header:null;return renderTitleContent(e,t?l.callSlot(t,e):(0,_utils.formatText)(r.getTitle(),1))},renderSeqCell(e){var{$table:l,column:r}=e,t=l["props"],t=t["treeConfig"],n=l.getComputeMaps()["computeSeqOpts"],n=n.value,r=r["slots"],r=r?r.default:null;return r?renderCellBaseVNs(e,l.callSlot(r,e)):(l=e["seq"],r=n.seqMethod,renderCellBaseVNs(e,[(0,_vue.h)("span",""+(0,_utils.formatText)(r?r(e):t?l:(n.startIndex||0)+l,1))]))},renderTreeIndexCell(e){return Cell.renderTreeIcon(e,Cell.renderSeqCell(e))},renderRadioHeader(e){var{$table:l,column:r}=e,t=r["slots"],n=t?t.header:null,t=t?t.title:null;return renderTitleContent(e,n?l.callSlot(n,e):[(0,_vue.h)("span",{class:"vxe-radio--label"},t?l.callSlot(t,e):(0,_utils.formatText)(r.getTitle(),1))])},renderRadioCell(l){const{$table:r,column:e,isHidden:t}=l;var n=r["reactData"],a=r.getComputeMaps()["computeRadioOpts"],n=n["selectRadioRow"],o=e["slots"],{labelField:a,checkMethod:d,visibleMethod:s}=a.value,i=l["row"],c=o?o.default:null,o=o?o.radio:null,n=r.eqRow(i,n);const u=!s||s({row:i});let C=!!d,v;t||(v={onClick(e){!C&&u&&r.triggerRadioRowEvent(e,l)}},d&&(C=!d({row:i})));s=Object.assign(Object.assign({},l),{checked:n,disabled:C,visible:u});return o?renderCellBaseVNs(l,r.callSlot(o,s)):(d=[],u&&d.push((0,_vue.h)("span",{class:["vxe-radio--icon",n?getIcon().TABLE_RADIO_CHECKED:getIcon().TABLE_RADIO_UNCHECKED]})),(c||a)&&d.push((0,_vue.h)("span",{class:"vxe-radio--label"},c?r.callSlot(c,s):_xeUtils.default.get(i,a))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--radio",{"is--checked":n,"is--disabled":C}]},v),d)]))},renderTreeRadioCell(e){return Cell.renderTreeIcon(e,Cell.renderRadioCell(e))},renderCheckboxHeader(e){const{$table:l,column:r,isHidden:t}=e;var n=l["reactData"],{computeIsAllCheckboxDisabled:a,computeCheckboxOpts:o}=l.getComputeMaps();const{isAllSelected:d,isIndeterminate:s}=n,i=a.value;var n=r["slots"],a=n?n.header:null,n=n?n.title:null,o=o.value,c=r.getTitle();let u;t||(u={onClick(e){i||l.triggerCheckAllEvent(e,!d)}});e=Object.assign(Object.assign({},e),{checked:d,disabled:i,indeterminate:s});return a?renderTitleContent(e,l.callSlot(a,e)):(o.checkStrictly?o.showHeader:!1!==o.showHeader)?renderTitleContent(e,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":d,"is--disabled":i,"is--indeterminate":s}],title:getI18n("vxe.table.allTitle")},u),[(0,_vue.h)("span",{class:["vxe-checkbox--icon",s?getIcon().TABLE_CHECKBOX_INDETERMINATE:d?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})].concat(n||c?[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,e):c)]:[]))]):renderTitleContent(e,[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,e):c)])},renderCheckboxCell(l){const{$table:r,row:e,column:t,isHidden:n}=l;var{props:a,reactData:o}=r,a=a["treeConfig"],{selectCheckboxMaps:o,treeIndeterminateMaps:d}=o,s=r.getComputeMaps()["computeCheckboxOpts"],{labelField:s,checkMethod:i,visibleMethod:c}=s.value,u=t["slots"],C=u?u.default:null,u=u?u.checkbox:null;let v=!1,p=!1;const g=!c||c({row:e});let _=!!i,h;n||(c=(0,_util.getRowid)(r,e),p=!!o[c],h={onClick(e){!_&&g&&r.triggerCheckRowEvent(e,l,!p)}},i&&(_=!i({row:e})),a&&(v=!!d[c]));o=Object.assign(Object.assign({},l),{checked:p,disabled:_,visible:g,indeterminate:v});return u?renderCellBaseVNs(l,r.callSlot(u,o)):(i=[],g&&i.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",v?getIcon().TABLE_CHECKBOX_INDETERMINATE:p?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(C||s)&&i.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},C?r.callSlot(C,o):_xeUtils.default.get(e,s))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":p,"is--disabled":_,"is--indeterminate":v,"is--hidden":!g}]},h),i)]))},renderTreeSelectionCell(e){return Cell.renderTreeIcon(e,Cell.renderCheckboxCell(e))},renderCheckboxCellByProp(l){const{$table:r,row:e,column:t,isHidden:n}=l;var{props:a,reactData:o}=r,a=a["treeConfig"],o=o["treeIndeterminateMaps"],d=r.getComputeMaps()["computeCheckboxOpts"],d=d.value,{labelField:s,checkField:i,checkMethod:c,visibleMethod:u}=d,d=d.indeterminateField||d.halfField,C=t["slots"],v=C?C.default:null,C=C?C.checkbox:null;let p=!1,g=!1;const _=!u||u({row:e});let h=!!c,b;n||(u=(0,_util.getRowid)(r,e),g=_xeUtils.default.get(e,i),b={onClick(e){!h&&_&&r.triggerCheckRowEvent(e,l,!g)}},c&&(h=!c({row:e})),a&&(p=!!o[u]));i=Object.assign(Object.assign({},l),{checked:g,disabled:h,visible:_,indeterminate:p});return C?renderCellBaseVNs(l,r.callSlot(C,i)):(c=[],_&&(c.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",p?getIcon().TABLE_CHECKBOX_INDETERMINATE:g?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),v||s)&&c.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},v?r.callSlot(v,i):_xeUtils.default.get(e,s))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":g,"is--disabled":h,"is--indeterminate":d&&!g?e[d]:p,"is--hidden":!_}]},b),c)]))},renderTreeSelectionCellByProp(e){return Cell.renderTreeIcon(e,Cell.renderCheckboxCellByProp(e))},renderExpandCell(l){const{$table:r,isHidden:e,row:t,column:n}=l;var a=r["reactData"],{rowExpandedMaps:a,rowExpandLazyLoadedMaps:o}=a,d=r.getComputeMaps()["computeExpandOpts"],{lazy:d,labelField:s,iconLoaded:i,showIcon:c,iconOpen:u,iconClose:C,visibleMethod:v}=d.value,p=n["slots"],g=p?p.default:null,p=p?p.icon:null;let _=!1,h=!1;return p?renderCellBaseVNs(l,r.callSlot(p,l)):(e||(p=(0,_util.getRowid)(r,t),_=!!a[p],d&&(h=!!o[p])),renderCellBaseVNs(l,[!c||v&&!v(l)?renderEmptyElement(r):(0,_vue.h)("span",{class:["vxe-table--expanded",{"is--active":_}],onClick(e){r.triggerRowExpandEvent(e,l)}},[(0,_vue.h)("i",{class:["vxe-table--expand-btn",h?i||getIcon().TABLE_EXPAND_LOADED:_?u||getIcon().TABLE_EXPAND_OPEN:C||getIcon().TABLE_EXPAND_CLOSE]})]),g||s?(0,_vue.h)("span",{class:"vxe-table--expand-label"},g?r.callSlot(g,l):_xeUtils.default.get(t,s)):renderEmptyElement(r)]))},renderExpandData(e){var{$table:l,column:r}=e,{slots:r,contentRender:t}=r,r=r?r.content:null;if(r)return l.callSlot(r,e);if(t){l=renderer.get(t.name);if(l){r=l.renderTableExpand||l.renderExpand;if(r)return(0,_vn.getSlotVNs)(r(t,e))}}return[]},renderHTMLCell(e){var{$table:l,column:r}=e,r=r["slots"],r=r?r.default:null;return renderCellBaseVNs(e,r?l.callSlot(r,e):[(0,_vue.h)("span",{class:"vxe-cell--html",innerHTML:getDefaultCellLabel(e)})])},renderTreeHTMLCell(e){return Cell.renderTreeIcon(e,Cell.renderHTMLCell(e))},renderSortAndFilterHeader(e){return Cell.renderDefaultHeader(e).concat(Cell.renderSortIcon(e)).concat(Cell.renderFilterIcon(e))},renderSortHeader(e){return Cell.renderDefaultHeader(e).concat(Cell.renderSortIcon(e))},renderSortIcon(e){const{$table:l,column:r}=e;var e=l.getComputeMaps()["computeSortOpts"],{showIcon:e,iconLayout:t,iconAsc:n,iconDesc:a}=e.value,o=r["order"];return e?[(0,_vue.h)("span",{class:["vxe-cell--sort",`vxe-cell--sort-${t}-layout`]},[(0,_vue.h)("i",{class:["vxe-sort--asc-btn",n||getIcon().TABLE_SORT_ASC,{"sort--active":"asc"===o}],title:getI18n("vxe.table.sortAsc"),onClick(e){e.stopPropagation(),l.triggerSortEvent(e,r,"asc")}}),(0,_vue.h)("i",{class:["vxe-sort--desc-btn",a||getIcon().TABLE_SORT_DESC,{"sort--active":"desc"===o}],title:getI18n("vxe.table.sortDesc"),onClick(e){e.stopPropagation(),l.triggerSortEvent(e,r,"desc")}})])]:[]},renderFilterHeader(e){return Cell.renderDefaultHeader(e).concat(Cell.renderFilterIcon(e))},renderFilterIcon(l){const{$table:r,column:e,hasFilter:t}=l;var n=r["reactData"],n=n["filterStore"],a=r.getComputeMaps()["computeFilterOpts"],{showIcon:a,iconNone:o,iconMatch:d}=a.value;return a?[(0,_vue.h)("span",{class:["vxe-cell--filter",{"is--active":n.visible&&n.column===e}]},[(0,_vue.h)("i",{class:["vxe-filter--btn",t?d||getIcon().TABLE_FILTER_MATCH:o||getIcon().TABLE_FILTER_NONE],title:getI18n("vxe.table.filter"),onClick(e){r.triggerFilterEvent&&r.triggerFilterEvent(e,l.column,l)}})])]:[]},renderEditHeader(e){var{$table:l,column:r}=e,t=l["props"],l=l.getComputeMaps()["computeEditOpts"],{editConfig:t,editRules:n}=t,l=l.value,{sortable:a,filters:o,editRender:d}=r;let s=!1;return n&&(n=_xeUtils.default.get(n,r.field))&&(s=n.some(e=>e.required)),((0,_utils.isEnableConf)(t)?[s&&l.showAsterisk?(0,_vue.h)("i",{class:"vxe-cell--required-icon"}):null,(0,_utils.isEnableConf)(d)&&l.showIcon?(0,_vue.h)("i",{class:["vxe-cell--edit-icon",l.icon||getIcon().TABLE_EDIT]}):null]:[]).concat(Cell.renderDefaultHeader(e)).concat(a?Cell.renderSortIcon(e):[]).concat(o?Cell.renderFilterIcon(e):[])},renderRowEdit(e){var{$table:l,column:r}=e,l=l["reactData"],l=l["editStore"],l=l["actived"],r=r["editRender"];return Cell.runRenderer(e,(0,_utils.isEnableConf)(r)&&l&&l.row===e.row)},renderTreeRowEdit(e){return Cell.renderTreeIcon(e,Cell.renderRowEdit(e))},renderCellEdit(e){var{$table:l,column:r}=e,l=l["reactData"],l=l["editStore"],l=l["actived"],r=r["editRender"];return Cell.runRenderer(e,(0,_utils.isEnableConf)(r)&&l&&l.row===e.row&&l.column===e.column)},renderTreeCellEdit(e){return Cell.renderTreeIcon(e,Cell.renderCellEdit(e))},runRenderer(e,l){var{$table:r,column:t}=e,{slots:t,editRender:n,formatter:a}=t,o=t?t.default:null,t=t?t.edit:null,d=renderer.get(n.name),d=d?d.renderTableEdit||d.renderEdit:null,s=Object.assign({$type:"",isEdit:l},e);return l?(s.$type="edit",t?r.callSlot(t,s):d?(0,_vn.getSlotVNs)(d(n,s)):[]):o?renderCellBaseVNs(e,r.callSlot(o,s)):a?renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},getDefaultCellLabel(s))]):Cell.renderDefaultCell(s)}};var _default=exports.default=Cell;
@@ -200,7 +200,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
200
200
  tableColumn
201
201
  } = props;
202
202
  const {
203
- resizable,
203
+ resizable: allResizable,
204
204
  border,
205
205
  columnKey,
206
206
  headerRowClassName,
@@ -362,7 +362,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
362
362
  /**
363
363
  * 列宽拖动
364
364
  */
365
- !fixedHiddenColumn && !isColGroup && (_xeUtils.default.isBoolean(column.resizable) ? column.resizable : columnOpts.resizable || resizable) ? (0, _vue.h)('div', {
365
+ !fixedHiddenColumn && !isColGroup && (_xeUtils.default.isBoolean(column.resizable) ? column.resizable : columnOpts.resizable || allResizable) ? (0, _vue.h)('div', {
366
366
  class: ['vxe-resizable', {
367
367
  'is--line': !border || border === 'none'
368
368
  }],
@@ -6306,6 +6306,16 @@ var _default = exports.default = (0, _vue.defineComponent)({
6306
6306
  });
6307
6307
  }
6308
6308
  };
6309
+ const updateRowDropOrigin = row => {
6310
+ const el = refElem.value;
6311
+ if (el) {
6312
+ const clss = 'row--drag-origin';
6313
+ const rowid = (0, _util.getRowid)($xeTable, row);
6314
+ _xeUtils.default.arrayEach(el.querySelectorAll(`[rowid="${rowid}"]`), elem => {
6315
+ (0, _dom.addClass)(elem, clss);
6316
+ });
6317
+ }
6318
+ };
6309
6319
  const clearRowDropTarget = () => {
6310
6320
  const el = refElem.value;
6311
6321
  if (el) {
@@ -6315,6 +6325,17 @@ var _default = exports.default = (0, _vue.defineComponent)({
6315
6325
  });
6316
6326
  }
6317
6327
  };
6328
+ const updateRowDropTarget = (row, dragPos) => {
6329
+ const el = refElem.value;
6330
+ if (el) {
6331
+ const clss = 'row--drag-active-target';
6332
+ const rowid = (0, _util.getRowid)($xeTable, row);
6333
+ _xeUtils.default.arrayEach(el.querySelectorAll(`[rowid="${rowid}"]`), elem => {
6334
+ (0, _dom.addClass)(elem, clss);
6335
+ elem.setAttribute('drag-pos', dragPos);
6336
+ });
6337
+ }
6338
+ };
6318
6339
  const showRowDropTip = evnt => {
6319
6340
  const rdTipEl = refRowDragTipElem.value;
6320
6341
  if (!rdTipEl) {
@@ -7698,7 +7719,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
7698
7719
  } = reactData;
7699
7720
  const {
7700
7721
  afterFullData,
7722
+ afterTreeFullData,
7701
7723
  tableFullData,
7724
+ tableFullTreeData,
7702
7725
  prevDragRow,
7703
7726
  prevDragPos
7704
7727
  } = internalData;
@@ -7713,18 +7736,35 @@ var _default = exports.default = (0, _vue.defineComponent)({
7713
7736
  return;
7714
7737
  }
7715
7738
  const dragOffsetIndex = prevDragPos === 'bottom' ? 1 : 0;
7716
- // 移出源位置
7717
- const oafIndex = $xeTable.findRowIndexOf(afterFullData, dragRow);
7718
- const otfIndex = $xeTable.findRowIndexOf(tableFullData, dragRow);
7719
- afterFullData.splice(oafIndex, 1);
7720
- tableFullData.splice(otfIndex, 1);
7721
- // 插新位置
7722
- const pafIndex = $xeTable.findRowIndexOf(afterFullData, prevDragRow);
7723
- const ptfIndex = $xeTable.findRowIndexOf(tableFullData, prevDragRow);
7724
- const nafIndex = pafIndex + dragOffsetIndex;
7725
- const ntfIndex = ptfIndex + dragOffsetIndex;
7726
- afterFullData.splice(nafIndex, 0, dragRow);
7727
- tableFullData.splice(ntfIndex, 0, dragRow);
7739
+ let oafIndex = -1;
7740
+ let nafIndex = -1;
7741
+ if (treeConfig) {
7742
+ // 移出源位置
7743
+ oafIndex = $xeTable.findRowIndexOf(afterTreeFullData, dragRow);
7744
+ const otfIndex = $xeTable.findRowIndexOf(tableFullTreeData, dragRow);
7745
+ afterTreeFullData.splice(oafIndex, 1);
7746
+ tableFullTreeData.splice(otfIndex, 1);
7747
+ // 插新位置
7748
+ const pafIndex = $xeTable.findRowIndexOf(afterTreeFullData, prevDragRow);
7749
+ const ptfIndex = $xeTable.findRowIndexOf(tableFullTreeData, prevDragRow);
7750
+ nafIndex = pafIndex + dragOffsetIndex;
7751
+ const ntfIndex = ptfIndex + dragOffsetIndex;
7752
+ afterTreeFullData.splice(nafIndex, 0, dragRow);
7753
+ tableFullTreeData.splice(ntfIndex, 0, dragRow);
7754
+ } else {
7755
+ // 移出源位置
7756
+ oafIndex = $xeTable.findRowIndexOf(afterFullData, dragRow);
7757
+ const otfIndex = $xeTable.findRowIndexOf(tableFullData, dragRow);
7758
+ afterFullData.splice(oafIndex, 1);
7759
+ tableFullData.splice(otfIndex, 1);
7760
+ // 插新位置
7761
+ const pafIndex = $xeTable.findRowIndexOf(afterFullData, prevDragRow);
7762
+ const ptfIndex = $xeTable.findRowIndexOf(tableFullData, prevDragRow);
7763
+ nafIndex = pafIndex + dragOffsetIndex;
7764
+ const ntfIndex = ptfIndex + dragOffsetIndex;
7765
+ afterFullData.splice(nafIndex, 0, dragRow);
7766
+ tableFullData.splice(ntfIndex, 0, dragRow);
7767
+ }
7728
7768
  reactData.isDragRowMove = true;
7729
7769
  $xeTable.cacheRowMap();
7730
7770
  $xeTable.updateScrollYStatus();
@@ -7773,8 +7813,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
7773
7813
  } = reactData;
7774
7814
  const offsetY = evnt.clientY - trEl.getBoundingClientRect().y;
7775
7815
  const dragPos = offsetY < trEl.clientHeight / 2 ? 'top' : 'bottom';
7776
- (0, _dom.addClass)(trEl, 'row--drag-active-target');
7777
- trEl.setAttribute('drag-pos', dragPos);
7816
+ updateRowDropTarget(row, dragPos);
7778
7817
  internalData.prevDragRow = row;
7779
7818
  internalData.prevDragPos = dragPos;
7780
7819
  dispatchEvent('row-dragover', {
@@ -7808,7 +7847,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
7808
7847
  }
7809
7848
  reactData.dragRow = row;
7810
7849
  trEl.draggable = true;
7811
- (0, _dom.addClass)(trEl, 'row--drag-origin');
7850
+ updateRowDropOrigin(row);
7812
7851
  showRowDropTip(evnt);
7813
7852
  updateRowDropTipContent(tdEl);
7814
7853
  dispatchEvent('row-dragstart', params, evnt);