vxe-table 3.12.0-beta.9 → 3.12.0
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.
- package/es/locale/lang/de-DE.js +490 -490
- package/es/locale/lang/en-US.js +438 -438
- package/es/locale/lang/it-IT.js +692 -0
- package/es/locale/lang/ru-RU.js +36 -36
- package/es/locale/lang/th-TH.js +692 -0
- package/es/locale/lang/zh-CHT.js +19 -19
- package/es/style.css +1 -1
- package/es/table/module/custom/panel.js +5 -5
- package/es/table/module/export/mixin.js +208 -140
- package/es/table/src/cell.js +88 -61
- package/es/table/src/column.js +2 -2
- package/es/table/src/group.js +2 -2
- package/es/table/src/methods.js +112 -87
- package/es/table/src/table.js +7 -11
- package/es/toolbar/src/toolbar.js +22 -4
- package/es/ui/index.js +2 -2
- package/es/ui/src/log.js +1 -1
- package/es/ui/src/vn.js +3 -0
- package/lib/index.umd.js +512 -356
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/de-DE.js +490 -490
- package/lib/locale/lang/de-DE.min.js +1 -1
- package/lib/locale/lang/en-US.js +438 -438
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +438 -438
- package/lib/locale/lang/it-IT.js +698 -0
- package/lib/locale/lang/it-IT.min.js +1 -0
- package/lib/locale/lang/ru-RU.js +36 -36
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +36 -36
- package/lib/locale/lang/th-TH.js +698 -0
- package/lib/locale/lang/th-TH.min.js +1 -0
- package/lib/locale/lang/zh-CHT.js +19 -19
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CHT.umd.js +19 -19
- package/lib/style.css +1 -1
- package/lib/table/module/custom/panel.js +5 -5
- package/lib/table/module/custom/panel.min.js +1 -1
- package/lib/table/module/export/mixin.js +239 -167
- package/lib/table/module/export/mixin.min.js +1 -1
- package/lib/table/src/cell.js +109 -83
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/methods.js +112 -87
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +4 -9
- package/lib/table/src/table.min.js +1 -1
- package/lib/toolbar/src/toolbar.js +36 -2
- package/lib/toolbar/src/toolbar.min.js +1 -1
- package/lib/ui/index.js +2 -2
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/ui/src/vn.js +3 -0
- package/lib/ui/src/vn.min.js +1 -1
- package/package.json +3 -3
- package/packages/locale/lang/de-DE.ts +492 -491
- package/packages/locale/lang/en-US.ts +438 -438
- package/packages/locale/lang/it-IT.ts +692 -0
- package/packages/locale/lang/ru-RU.ts +36 -36
- package/packages/locale/lang/th-TH.ts +692 -0
- package/packages/locale/lang/zh-CHT.ts +19 -19
- package/packages/table/module/custom/panel.ts +5 -5
- package/packages/table/module/export/mixin.ts +227 -156
- package/packages/table/src/cell.ts +141 -108
- package/packages/table/src/methods.ts +136 -105
- package/packages/table/src/table.ts +8 -12
- package/packages/toolbar/src/toolbar.ts +26 -8
- package/packages/ui/index.ts +1 -1
- package/packages/ui/src/vn.ts +4 -1
- /package/es/{iconfont.1735301172726.ttf → iconfont.1735661059384.ttf} +0 -0
- /package/es/{iconfont.1735301172726.woff → iconfont.1735661059384.woff} +0 -0
- /package/es/{iconfont.1735301172726.woff2 → iconfont.1735661059384.woff2} +0 -0
- /package/lib/{iconfont.1735301172726.ttf → iconfont.1735661059384.ttf} +0 -0
- /package/lib/{iconfont.1735301172726.woff → iconfont.1735661059384.woff} +0 -0
- /package/lib/{iconfont.1735301172726.woff2 → iconfont.1735661059384.woff2} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Cell=void 0;var _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}}let{getI18n,getIcon,renderer,formats,renderEmptyElement}=_ui.VxeUI;function renderTitlePrefixIcon(e,l){let{$table:r,column:t}=l,n=t.titlePrefix||t.titleHelp;return n?e("i",{class:["vxe-cell-title-prefix-icon",n.icon||getIcon().TABLE_TITLE_PREFIX],on:{mouseenter(e){r.triggerHeaderTitleEvent(e,n,l)},mouseleave(e){r.handleTargetLeaveEvent(e)}}}):renderEmptyElement(r)}function renderTitleSuffixIcon(e,l){let{$table:r,column:t}=l,n=t.titleSuffix;return n?e("i",{class:["vxe-cell-title-suffix-icon",n.icon||getIcon().TABLE_TITLE_SUFFIX],on:{mouseenter(e){r.triggerHeaderTitleEvent(e,n,l)},mouseleave(e){r.handleTargetLeaveEvent(e)}}}):renderEmptyElement(r)}function renderCellDragIcon(e,l){let r=l.$table;var t=r.dragConfig,{icon:n,trigger:a,disabledMethod:d}=r.computeRowDragOpts,d=d||(t?t.rowDisabledMethod:null);let o=d&&d(l);d={};return"cell"!==a&&(d.mousedown=e=>{o||r.handleCellDragMousedownEvent(e,l)},d.mouseup=r.handleCellDragMouseupEvent),e("span",{key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":o}],on:d},[e("i",{class:n||(t?t.rowIcon:"")||getIcon().TABLE_DRAG_ROW})])}function renderCellBaseVNs(e,l,r){var{$table:t,column:n,level:a}=l,n=n.dragSort,{treeConfig:d,dragConfig:o}=t,s=t.computeRowOpts,{showIcon:t,isCrossDrag:i,visibleMethod:c}=t.computeRowDragOpts,c=c||(o?o.rowVisibleMethod:null),r=_xeUtils.default.isArray(r)?r:[r];return!(n&&s.drag&&(t||o&&o.showRowIcon))||c&&!c(l)||d&&!i&&a||r.unshift(renderCellDragIcon(e,l)),r}function renderHeaderCellDragIcon(e,r){let{$table:t,column:l}=r;var n=t.computeColumnOpts,{showIcon:a,icon:d,trigger:o,isCrossDrag:s,visibleMethod:i,disabledMethod:c}=t.computeColumnDragOpts;if(!n.drag||!a||i&&!i(r)||l.fixed||!s&&l.parentId)return renderEmptyElement(t);{let l=c&&c(r);n={};return"cell"!==o&&(n.mousedown=e=>{l||t.handleHeaderCellDragMousedownEvent(e,r)},n.mouseup=t.handleHeaderCellDragMouseupEvent),e("span",{key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":l}],on:n},[e("i",{class:d||getIcon().TABLE_DRAG_COLUMN})])}}function renderHeaderCellBaseVNs(e,l,r){return[renderTitlePrefixIcon(e,l),renderHeaderCellDragIcon(e,l),..._xeUtils.default.isArray(r)?r:[r],renderTitleSuffixIcon(e,l)]}function renderTitleContent(e,l,r){let{$table:t,column:n}=l;var{type:a,showHeaderOverflow:d}=n,{showHeaderOverflow:o,tooltipOpts:s}=t;let i=s.showAll||s.enabled;s=_xeUtils.default.isUndefined(d)||_xeUtils.default.isNull(d)?o:d;let c="title"===s,u=!0===s||"tooltip"===s;o={};return(c||u||i)&&(o.mouseenter=e=>{t._isResize||(c?(0,_dom.updateCellTitle)(e.currentTarget,n):(u||i)&&t.triggerHeaderTooltipEvent(e,l))}),(u||i)&&(o.mouseleave=e=>{t._isResize||(u||i)&&t.handleTargetLeaveEvent(e)}),["html"===a&&_xeUtils.default.isString(r)?e("span",{class:"vxe-cell--title",domProps:{innerHTML:r},on:o}):e("span",{class:"vxe-cell--title",on:o},(0,_vn.getSlotVNs)(r))]}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,l){var{$table:r,column:t,_columnIndex:n,row:a,items:d}=l,{slots:o,editRender:s,cellRender:i,footerFormatter:c}=t,s=s||i;if(o&&o.footer)return r.callSlot(o.footer,l,e);if(s){i=renderer.get(s.name),o=i?i.renderTableFooter||i.renderFooter:null;if(o)return(0,_vn.getSlotVNs)(o.call(r,e,s,l))}let u="";return _xeUtils.default.isArray(d)?u=d[n]:u=_xeUtils.default.get(a,t.field),[c?formatFooterLabel(c,{itemValue:u,column:t,row:a,items:d,_columnIndex:n}):(0,_utils.formatText)(u,1)]}function getDefaultCellLabel(e){var{$table:e,row:l,column:r}=e;return(0,_utils.formatText)(e.getCellLabel(l,r),1)}let Cell=exports.Cell={createColumn(e,l){var{type:r,sortable:t,remoteSort:n,filters:a,editRender:d,treeNode:o}=l,{editConfig:s,editOpts:i,checkboxOpts:c}=e,u={renderHeader:this.renderDefaultHeader,renderCell:o?this.renderTreeCell:this.renderDefaultCell,renderFooter:this.renderDefaultFooter};switch(r){case"seq":u.renderHeader=this.renderSeqHeader,u.renderCell=o?this.renderTreeIndexCell:this.renderSeqCell;break;case"radio":u.renderHeader=this.renderRadioHeader,u.renderCell=o?this.renderTreeRadioCell:this.renderRadioCell;break;case"checkbox":u.renderHeader=this.renderCheckboxHeader,u.renderCell=c.checkField?o?this.renderTreeSelectionCellByProp:this.renderCheckboxCellByProp:o?this.renderTreeSelectionCell:this.renderCheckboxCell;break;case"expand":u.renderCell=this.renderExpandCell,u.renderData=this.renderExpandData;break;case"html":u.renderCell=o?this.renderTreeHTMLCell:this.renderHTMLCell,a&&(t||n)?u.renderHeader=this.renderSortAndFilterHeader:t||n?u.renderHeader=this.renderSortHeader:a&&(u.renderHeader=this.renderFilterHeader);break;default:s&&d?(u.renderHeader=this.renderEditHeader,u.renderCell="cell"===i.mode?o?this.renderTreeCellEdit:this.renderCellEdit:o?this.renderTreeRowEdit:this.renderRowEdit):a&&(t||n)?u.renderHeader=this.renderSortAndFilterHeader:t||n?u.renderHeader=this.renderSortHeader:a&&(u.renderHeader=this.renderFilterHeader)}return(0,_util.createColumn)(e,l,u)},renderHeaderTitle(e,l){var{$table:r,column:t}=l,{slots:n,editRender:a,cellRender:d}=t,a=a||d;if(n&&n.header)return renderTitleContent(e,l,r.callSlot(n.header,l,e));if(a){d=renderer.get(a.name),n=d?d.renderTableHeader||d.renderHeader:null;if(n)return(0,_vn.getSlotVNs)(renderTitleContent(e,l,n.call(r,e,a,l)))}return renderTitleContent(e,l,(0,_utils.formatText)(t.getTitle(),1))},renderDefaultHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l))},renderDefaultCell(e,l){var{$table:r,row:t,column:n}=l,{slots:a,editRender:d,cellRender:o}=n,o=d||o;if(a&&a.default)return renderCellBaseVNs(e,l,r.callSlot(a.default,l,e));if(o){var a=renderer.get(o.name),s=a?a.renderTableDefault||a.renderDefault:null,a=a?a.renderTableCell||a.renderCell:null,a=d?a:s;if(a)return renderCellBaseVNs(e,l,(0,_vn.getSlotVNs)(a.call(r,e,o,Object.assign({$type:d?"edit":"cell"},l))))}s=r.getCellLabel(t,n),a=d?d.placeholder:"";return renderCellBaseVNs(e,l,[e("span",{class:"vxe-cell--label"},[d&&(0,_utils.eqEmptyValue)(s)?e("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(a),1)):e("span",(0,_utils.formatText)(s,1))])])},renderTreeCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderDefaultCell.call(this,e,l))},renderDefaultFooter(e,l){return[e("span",{class:"vxe-cell--item"},getFooterContent(e,l))]},renderTreeIcon(e,l,r){let{$table:t,isHidden:n}=l;var{treeOpts:a,treeExpandedMaps:d,treeExpandLazyLoadedMaps:o,fullAllDataRowIdData:s}=t,{row:i,column:c,level:u}=l,c=c.slots,{indent:C,lazy:E,trigger:g,iconLoaded:h,showIcon:b,iconOpen:v,iconClose:x}=a,p=a.children||a.childrenField,a=a.hasChild||a.hasChildField,p=i[p],p=p&&p.length;let f=!1,T=!1,m=!1,_=!1;var H={};return c&&c.icon?t.callSlot(c.icon,l,e,r):(n||(c=(0,_util.getRowid)(t,i),T=!!d[c],E&&(d=s[c],m=!!o[c],f=i[a],_=!!d.treeLoaded)),g&&"default"!==g||(H.click=e=>{t.triggerTreeExpandEvent(e,l)}),[e("div",{class:["vxe-cell--tree-node",{"is--active":T}],style:{paddingLeft:u*C+"px"}},[b&&(!E||_?p:f)?[e("div",{class:"vxe-tree--btn-wrapper",on:H},[e("i",{class:["vxe-tree--node-btn",m?h||getIcon().TABLE_TREE_LOADED:T?v||getIcon().TABLE_TREE_OPEN:x||getIcon().TABLE_TREE_CLOSE]})])]:null,e("div",{class:"vxe-tree-cell"},r)])])},renderSeqHeader(e,l){var{$table:r,column:t}=l,n=t.slots;return renderHeaderCellBaseVNs(e,l,renderTitleContent(e,l,n&&n.header?r.callSlot(n.header,l,e):(0,_utils.formatText)(t.getTitle(),1)))},renderSeqCell(e,l){var{$table:r,column:t}=l,{treeConfig:n,seqOpts:a}=r,t=t.slots;return t&&t.default?renderCellBaseVNs(e,l,r.callSlot(t.default,l,e)):(r=l.seq,t=a.seqMethod,renderCellBaseVNs(e,l,[e("span",""+(0,_utils.formatText)(t?t(l):n?r:(a.startIndex||0)+r,1))]))},renderTreeIndexCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderSeqCell(e,l))},renderRadioHeader(e,l){var{$table:r,column:t}=l,n=t.slots,a=n?n.header:null,n=n?n.title:null;return renderHeaderCellBaseVNs(e,l,renderTitleContent(e,l,a?r.callSlot(a,l,e):[e("span",{class:"vxe-radio--label"},n?r.callSlot(n,l,e):(0,_utils.formatText)(t.getTitle(),1))]))},renderRadioCell(e,l){let{$table:r,column:t,isHidden:n}=l;var{radioOpts:a,selectRadioRow:d}=r,o=t.slots,{labelField:a,checkMethod:s,visibleMethod:i}=a,c=l.row,u=o?o.default:null,o=o?o.radio:null,d=c===d;let C=!i||i({row:c}),E=!!s,g;n||(g={click(e){!E&&C&&r.triggerRadioRowEvent(e,l)}},s&&(E=!s({row:c})));i=Object.assign(Object.assign({},l),{checked:d,disabled:E,visible:C});return o?renderCellBaseVNs(e,l,r.callSlot(o,i,e)):(s=[],C&&s.push(e("span",{class:["vxe-radio--icon",d?getIcon().TABLE_RADIO_CHECKED:getIcon().TABLE_RADIO_UNCHECKED]})),(u||a)&&s.push(e("span",{class:"vxe-radio--label"},u?r.callSlot(u,i,e):_xeUtils.default.get(c,a))),renderCellBaseVNs(e,l,[e("span",{class:["vxe-cell--radio",{"is--checked":d,"is--disabled":E}],on:g},s)]))},renderTreeRadioCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderRadioCell(e,l))},renderCheckboxHeader(e,l){let{$table:r,column:t,isHidden:n}=l,{isAllSelected:a,isIndeterminate:d,isAllCheckboxDisabled:o}=r;var s=t.slots,i=s?s.header:null,s=s?s.title:null,c=r.checkboxOpts,u=t.getTitle();let C;n||(C={click(e){o||r.triggerCheckAllEvent(e,!a)}});var E=Object.assign(Object.assign({},l),{checked:a,disabled:o,indeterminate:d});return i?renderHeaderCellBaseVNs(e,l,renderTitleContent(e,E,r.callSlot(i,E,e))):(c.checkStrictly?c.showHeader:!1!==c.showHeader)?renderHeaderCellBaseVNs(e,l,renderTitleContent(e,E,[e("span",{class:["vxe-cell--checkbox",{"is--checked":a,"is--disabled":o,"is--indeterminate":d}],attrs:{title:getI18n("vxe.table.allTitle")},on:C},[e("span",{class:["vxe-checkbox--icon",d?getIcon().TABLE_CHECKBOX_INDETERMINATE:a?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})].concat(s||u?[e("span",{class:"vxe-checkbox--label"},s?r.callSlot(s,E,e):u)]:[]))])):renderHeaderCellBaseVNs(e,l,renderTitleContent(e,E,[e("span",{class:"vxe-checkbox--label"},s?r.callSlot(s,E,e):u)]))},renderCheckboxCell(e,l){let{$table:r,row:t,column:n,isHidden:a}=l;var{treeConfig:d,treeIndeterminateMaps:o,selectCheckboxMaps:s}=r,{labelField:i,checkMethod:c,visibleMethod:u}=r.checkboxOpts,C=n.slots,E=C?C.default:null,C=C?C.checkbox:null;let g=!1,h=!1,b=!u||u({row:t}),v=!!c,x;a||(u=(0,_util.getRowid)(r,t),h=!!s[u],x={click(e){!v&&b&&r.triggerCheckRowEvent(e,l,!h)}},c&&(v=!c({row:t})),d&&(g=!!o[u]));s=Object.assign(Object.assign({},l),{checked:h,disabled:v,visible:b,indeterminate:g});return C?renderCellBaseVNs(e,l,r.callSlot(C,s,e)):(c=[],b&&c.push(e("span",{class:["vxe-checkbox--icon",g?getIcon().TABLE_CHECKBOX_INDETERMINATE:h?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(E||i)&&c.push(e("span",{class:"vxe-checkbox--label"},E?r.callSlot(E,s,e):_xeUtils.default.get(t,i))),renderCellBaseVNs(e,l,[e("span",{class:["vxe-cell--checkbox",{"is--checked":h,"is--disabled":v,"is--indeterminate":g,"is--hidden":!b}],on:x},c)]))},renderTreeSelectionCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderCheckboxCell(e,l))},renderCheckboxCellByProp(e,l){let{$table:r,row:t,column:n,isHidden:a}=l;var{treeConfig:d,treeIndeterminateMaps:o,checkboxOpts:s}=r,{labelField:i,checkField:c,checkMethod:u,visibleMethod:C}=s,s=s.indeterminateField||s.halfField,E=n.slots,g=E?E.default:null,E=E?E.checkbox:null;let h=!1,b=!1,v=!C||C({row:t}),x=!!u,p;a||(C=(0,_util.getRowid)(r,t),b=_xeUtils.default.get(t,c),p={click(e){!x&&v&&r.triggerCheckRowEvent(e,l,!b)}},u&&(x=!u({row:t})),d&&(h=!!o[C]));c=Object.assign(Object.assign({},l),{checked:b,disabled:x,visible:v,indeterminate:h});return E?renderCellBaseVNs(e,l,r.callSlot(E,c,e)):(u=[],v&&u.push(e("span",{class:["vxe-checkbox--icon",h?getIcon().TABLE_CHECKBOX_INDETERMINATE:b?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(g||i)&&u.push(e("span",{class:"vxe-checkbox--label"},g?r.callSlot(g,c,e):_xeUtils.default.get(t,i))),renderCellBaseVNs(e,l,[e("span",{class:["vxe-cell--checkbox",{"is--checked":b,"is--disabled":x,"is--indeterminate":s&&!b?t[s]:h,"is--hidden":!v}],on:p},u)]))},renderTreeSelectionCellByProp(e,l){return Cell.renderTreeIcon(e,l,Cell.renderCheckboxCellByProp(e,l))},renderExpandCell(e,l){let{$table:r,isHidden:t,row:n,column:a}=l;var{expandOpts:d,rowExpandedMaps:o,rowExpandLazyLoadedMaps:s}=r,{lazy:d,labelField:i,iconLoaded:c,showIcon:u,iconOpen:C,iconClose:E,visibleMethod:g}=d,h=a.slots,b=h?h.default:null;let v=!1,x=!1;return h&&h.icon?renderCellBaseVNs(e,l,r.callSlot(h.icon,l,e)):(t||(h=(0,_util.getRowid)(r,n),v=!!o[h],d&&(x=!!s[h])),renderCellBaseVNs(e,l,[!u||g&&!g(l)?renderEmptyElement(r):e("span",{class:["vxe-table--expanded",{"is--active":v}],on:{click(e){r.triggerRowExpandEvent(e,l)}}},[e("i",{class:["vxe-table--expand-btn",x?c||getIcon().TABLE_EXPAND_LOADED:v?C||getIcon().TABLE_EXPAND_OPEN:E||getIcon().TABLE_EXPAND_CLOSE]})]),b||i?e("span",{class:"vxe-table--expand-label"},b?r.callSlot(b,l,e):_xeUtils.default.get(n,i)):renderEmptyElement(r)]))},renderExpandData(e,l){var{$table:r,column:t}=l,{slots:t,contentRender:n}=t;if(t&&t.content)return r.callSlot(t.content,l,e);if(n){t=renderer.get(n.name),t=t?t.renderTableExpand||t.renderExpand:null;if(t)return(0,_vn.getSlotVNs)(t.call(r,e,n,l))}return[]},renderHTMLCell(e,l){var{$table:r,column:t}=l,t=t.slots;return t&&t.default?renderCellBaseVNs(e,l,r.callSlot(t.default,l,e)):renderCellBaseVNs(e,l,[e("span",{class:"vxe-cell--html",domProps:{innerHTML:getDefaultCellLabel(l)}})])},renderTreeHTMLCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderHTMLCell(e,l))},renderSortAndFilterHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l).concat(Cell.renderSortIcon(e,l).concat(Cell.renderFilterIcon(e,l))))},renderSortHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l).concat(Cell.renderSortIcon(e,l)))},renderSortIcon(e,l){let{$table:r,column:t}=l;var{showIcon:l,iconLayout:n,iconAsc:a,iconDesc:d}=r.sortOpts;return l?[e("span",{class:["vxe-cell--sort",`vxe-cell--sort-${n}-layout`]},[e("i",{class:["vxe-sort--asc-btn",a||getIcon().TABLE_SORT_ASC,{"sort--active":"asc"===t.order}],attrs:{title:getI18n("vxe.table.sortAsc")},on:{click(e){e.stopPropagation(),r.triggerSortEvent(e,t,"asc")}}}),e("i",{class:["vxe-sort--desc-btn",d||getIcon().TABLE_SORT_DESC,{"sort--active":"desc"===t.order}],attrs:{title:getI18n("vxe.table.sortDesc")},on:{click(e){e.stopPropagation(),r.triggerSortEvent(e,t,"desc")}}})])]:[]},renderFilterHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l).concat(Cell.renderFilterIcon(e,l)))},renderFilterIcon(e,l){let{$table:r,column:t,hasFilter:n}=l;var{filterStore:a,filterOpts:d}=r,{showIcon:d,iconNone:o,iconMatch:s}=d;return d?[e("span",{class:["vxe-cell--filter",{"is--active":a.visible&&a.column===t}]},[e("i",{class:["vxe-filter--btn",n?s||getIcon().TABLE_FILTER_MATCH:o||getIcon().TABLE_FILTER_NONE],attrs:{title:getI18n("vxe.table.filter")},on:{click(e){r.triggerFilterEvent&&r.triggerFilterEvent(e,l.column,l)}}})])]:[]},renderEditHeader(e,l){var{$table:r,column:t}=l,{editConfig:n,editRules:a,editOpts:d}=r,{sortable:o,remoteSort:s,filters:i,editRender:c}=t;let u=!1,C=(a&&(a=_xeUtils.default.get(a,t.field))&&(u=a.some(e=>e.required)),[]);return(0,_utils.isEnableConf)(n)&&(C=[u&&d.showAsterisk?e("i",{class:"vxe-cell--required-icon"}):renderEmptyElement(r),(0,_utils.isEnableConf)(c)&&d.showIcon?e("i",{class:["vxe-cell--edit-icon",d.icon||getIcon().TABLE_EDIT]}):renderEmptyElement(r)]),renderHeaderCellBaseVNs(e,l,C.concat(Cell.renderHeaderTitle(e,l)).concat(o||s?Cell.renderSortIcon(e,l):[]).concat(i?Cell.renderFilterIcon(e,l):[]))},renderRowEdit(e,l){var{$table:r,column:t}=l,t=t.editRender,r=r.editStore.actived;return Cell.runRenderer(e,l,this,(0,_utils.isEnableConf)(t)&&r&&r.row===l.row)},renderTreeRowEdit(e,l){return Cell.renderTreeIcon(e,l,Cell.renderRowEdit(e,l))},renderCellEdit(e,l){var{$table:r,column:t}=l,t=t.editRender,r=r.editStore.actived;return Cell.runRenderer(e,l,this,(0,_utils.isEnableConf)(t)&&r&&r.row===l.row&&r.column===l.column)},renderTreeCellEdit(e,l){return Cell.renderTreeIcon(e,l,Cell.renderCellEdit(e,l))},runRenderer(e,l,r,t){var{$table:n,column:a}=l,{slots:a,editRender:d,formatter:o}=a,s=renderer.get(d.name),s=s?s.renderTableEdit||s.renderEdit:null,i=Object.assign({$type:"",isEdit:t},l);return t?a&&a.edit?n.callSlot(a.edit,i,e):s?(0,_vn.getSlotVNs)(s.call(n,e,d,i)):[]:a&&a.default?renderCellBaseVNs(e,l,n.callSlot(a.default,i,e)):o?renderCellBaseVNs(e,l,[e("span",{class:"vxe-cell--label"},[getDefaultCellLabel(i)])]):Cell.renderDefaultCell.call(r,e,i)}};var _default=exports.default=Cell;
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Cell=void 0;var _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}}let{getI18n,getIcon,renderer,formats,renderEmptyElement}=_ui.VxeUI;function renderTitlePrefixIcon(e,l){let{$table:r,column:t}=l,n=t.titlePrefix||t.titleHelp;return n?e("i",{class:["vxe-cell-title-prefix-icon",n.icon||getIcon().TABLE_TITLE_PREFIX],on:{mouseenter(e){r.triggerHeaderTitleEvent(e,n,l)},mouseleave(e){r.handleTargetLeaveEvent(e)}}}):renderEmptyElement(r)}function renderTitleSuffixIcon(e,l){let{$table:r,column:t}=l,n=t.titleSuffix;return n?e("i",{class:["vxe-cell-title-suffix-icon",n.icon||getIcon().TABLE_TITLE_SUFFIX],on:{mouseenter(e){r.triggerHeaderTitleEvent(e,n,l)},mouseleave(e){r.handleTargetLeaveEvent(e)}}}):renderEmptyElement(r)}function renderCellDragIcon(e,l){let r=l.$table;var t=r.dragConfig,{icon:n,trigger:a,disabledMethod:d}=r.computeRowDragOpts,d=d||(t?t.rowDisabledMethod:null);let o=d&&d(l);d={};return"cell"!==a&&(d.mousedown=e=>{o||r.handleCellDragMousedownEvent(e,l)},d.mouseup=r.handleCellDragMouseupEvent),e("span",{key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":o}],on:d},[e("i",{class:n||(t?t.rowIcon:"")||getIcon().TABLE_DRAG_ROW})])}function renderCellBaseVNs(e,l,r){var{$table:t,column:n,level:a}=l,n=n.dragSort,{treeConfig:d,dragConfig:o}=t,s=t.computeRowOpts,{showIcon:t,isPeerDrag:i,isCrossDrag:c,visibleMethod:u}=t.computeRowDragOpts,u=u||(o?o.rowVisibleMethod:null),r=_xeUtils.default.isArray(r)?r:[r];return!(n&&s.drag&&(t||o&&o.showRowIcon))||u&&!u(l)||d&&!i&&!c&&a||r.unshift(renderCellDragIcon(e,l)),r}function renderHeaderCellDragIcon(e,r){let{$table:t,column:l}=r;var n=t.computeColumnOpts,{showIcon:a,icon:d,trigger:o,isPeerDrag:s,isCrossDrag:i,visibleMethod:c,disabledMethod:u}=t.computeColumnDragOpts;if(!n.drag||!a||c&&!c(r)||l.fixed||!s&&!i&&l.parentId)return renderEmptyElement(t);{let l=u&&u(r);n={};return"cell"!==o&&(n.mousedown=e=>{l||t.handleHeaderCellDragMousedownEvent(e,r)},n.mouseup=t.handleHeaderCellDragMouseupEvent),e("span",{key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":l}],on:n},[e("i",{class:d||getIcon().TABLE_DRAG_COLUMN})])}}function renderHeaderCellBaseVNs(e,l,r){return[renderTitlePrefixIcon(e,l),renderHeaderCellDragIcon(e,l),..._xeUtils.default.isArray(r)?r:[r],renderTitleSuffixIcon(e,l)]}function renderTitleContent(e,l,r){let{$table:t,column:n}=l;var{type:a,showHeaderOverflow:d}=n,o=t;let s=t;o=o.showHeaderOverflow;let i=t.computeTooltipOpts.showAll;o=_xeUtils.default.isUndefined(d)||_xeUtils.default.isNull(d)?o:d;let c="title"===o,u=!0===o||"tooltip"===o;d={};return(c||u||i)&&(d.mouseenter=e=>{s._isResize||(c?(0,_dom.updateCellTitle)(e.currentTarget,n):(u||i)&&t.triggerHeaderTooltipEvent(e,l))}),(u||i)&&(d.mouseleave=e=>{s._isResize||(u||i)&&t.handleTargetLeaveEvent(e)}),["html"===a&&_xeUtils.default.isString(r)?e("span",{class:"vxe-cell--title",domProps:{innerHTML:r},on:d}):e("span",{class:"vxe-cell--title",on:d},(0,_vn.getSlotVNs)(r))]}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,l){var{$table:r,column:t,_columnIndex:n,row:a,items:d}=l,{slots:o,editRender:s,cellRender:i,footerFormatter:c}=t,s=s||i;if(o&&o.footer)return r.callSlot(o.footer,l,e);if(s){i=renderer.get(s.name),o=i?i.renderTableFooter||i.renderFooter:null;if(o)return(0,_vn.getSlotVNs)(o.call(r,e,s,l))}let u="";return _xeUtils.default.isArray(d)?u=d[n]:u=_xeUtils.default.get(a,t.field),[c?formatFooterLabel(c,{itemValue:u,column:t,row:a,items:d,_columnIndex:n}):(0,_utils.formatText)(u,1)]}function getDefaultCellLabel(e){var{$table:e,row:l,column:r}=e;return(0,_utils.formatText)(e.getCellLabel(l,r),1)}let Cell=exports.Cell={createColumn(e,l){var{type:r,sortable:t,remoteSort:n,filters:a,editRender:d,treeNode:o}=l,{editConfig:s,editOpts:i,checkboxOpts:c}=e,u={renderHeader:this.renderDefaultHeader,renderCell:o?this.renderTreeCell:this.renderDefaultCell,renderFooter:this.renderDefaultFooter};switch(r){case"seq":u.renderHeader=this.renderSeqHeader,u.renderCell=o?this.renderTreeIndexCell:this.renderSeqCell;break;case"radio":u.renderHeader=this.renderRadioHeader,u.renderCell=o?this.renderTreeRadioCell:this.renderRadioCell;break;case"checkbox":u.renderHeader=this.renderCheckboxHeader,u.renderCell=c.checkField?o?this.renderTreeSelectionCellByProp:this.renderCheckboxCellByProp:o?this.renderTreeSelectionCell:this.renderCheckboxCell;break;case"expand":u.renderCell=this.renderExpandCell,u.renderData=this.renderExpandData;break;case"html":u.renderCell=o?this.renderTreeHTMLCell:this.renderHTMLCell,a&&(t||n)?u.renderHeader=this.renderSortAndFilterHeader:t||n?u.renderHeader=this.renderSortHeader:a&&(u.renderHeader=this.renderFilterHeader);break;default:s&&d?(u.renderHeader=this.renderEditHeader,u.renderCell="cell"===i.mode?o?this.renderTreeCellEdit:this.renderCellEdit:o?this.renderTreeRowEdit:this.renderRowEdit):a&&(t||n)?u.renderHeader=this.renderSortAndFilterHeader:t||n?u.renderHeader=this.renderSortHeader:a&&(u.renderHeader=this.renderFilterHeader)}return(0,_util.createColumn)(e,l,u)},renderHeaderTitle(e,l){var{$table:r,column:t}=l,{slots:n,editRender:a,cellRender:d}=t,a=a||d;if(n&&n.header)return renderTitleContent(e,l,r.callSlot(n.header,l,e));if(a){d=renderer.get(a.name),n=d?d.renderTableHeader||d.renderHeader:null;if(n)return(0,_vn.getSlotVNs)(renderTitleContent(e,l,n.call(r,e,a,l)))}return renderTitleContent(e,l,(0,_utils.formatText)(t.getTitle(),1))},renderDefaultHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l))},renderDefaultCell(e,l){var{$table:r,row:t,column:n}=l,{slots:a,editRender:d,cellRender:o}=n,o=d||o;if(a&&a.default)return renderCellBaseVNs(e,l,r.callSlot(a.default,l,e));if(o){var a=renderer.get(o.name),s=a?a.renderTableDefault||a.renderDefault:null,a=a?a.renderTableCell||a.renderCell:null,a=d?a:s;if(a)return renderCellBaseVNs(e,l,(0,_vn.getSlotVNs)(a.call(r,e,o,Object.assign({$type:d?"edit":"cell"},l))))}s=r.getCellLabel(t,n),a=d?d.placeholder:"";return renderCellBaseVNs(e,l,[e("span",{class:"vxe-cell--label"},[d&&(0,_utils.eqEmptyValue)(s)?e("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(a),1)):e("span",(0,_utils.formatText)(s,1))])])},renderTreeCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderDefaultCell.call(this,e,l))},renderDefaultFooter(e,l){return[e("span",{class:"vxe-cell--item"},getFooterContent(e,l))]},renderTreeIcon(e,l,r){let{$table:t,isHidden:n}=l;var{treeExpandedMaps:a,treeExpandLazyLoadedMaps:d}=t,o=t.fullAllDataRowIdData,s=t.computeTreeOpts,{row:i,column:c,level:u}=l,c=c.slots,{indent:C,lazy:E,trigger:g,iconLoaded:h,showIcon:p,iconOpen:b,iconClose:v}=s,x=s.children||s.childrenField,s=s.hasChild||s.hasChildField,x=i[x],x=x&&x.length,c=c?c.icon:null;let f=!1,T=!1,m=!1,_=!1;var I={};return c?t.callSlot(c,l,e):(n||(c=(0,_util.getRowid)(t,i),T=!!a[c],E&&(a=o[c],m=!!d[c],f=i[s],_=!!a.treeLoaded)),g&&"default"!==g||(I.click=e=>{t.triggerTreeExpandEvent(e,l)}),[e("div",{class:["vxe-cell--tree-node",{"is--active":T}],style:{paddingLeft:u*C+"px"}},[p&&(!E||_?x:f)?[e("div",{class:"vxe-tree--btn-wrapper",on:I},[e("i",{class:["vxe-tree--node-btn",m?h||getIcon().TABLE_TREE_LOADED:T?b||getIcon().TABLE_TREE_OPEN:v||getIcon().TABLE_TREE_CLOSE]})])]:null,e("div",{class:"vxe-tree-cell"},r)])])},renderSeqHeader(e,l){var{$table:r,column:t}=l,n=t.slots;return renderHeaderCellBaseVNs(e,l,renderTitleContent(e,l,n&&n.header?r.callSlot(n.header,l,e):(0,_utils.formatText)(t.getTitle(),1)))},renderSeqCell(e,l){var{$table:r,column:t}=l,n=r.treeConfig,a=r.computeSeqOpts,t=t.slots;return t&&t.default?renderCellBaseVNs(e,l,r.callSlot(t.default,l,e)):(r=l.seq,t=a.seqMethod,renderCellBaseVNs(e,l,[e("span",""+(0,_utils.formatText)(t?t(l):n?r:(a.startIndex||0)+r,1))]))},renderTreeIndexCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderSeqCell(e,l))},renderRadioHeader(e,l){var{$table:r,column:t}=l,n=t.slots,a=n?n.header:null,n=n?n.title:null;return renderHeaderCellBaseVNs(e,l,renderTitleContent(e,l,a?r.callSlot(a,l,e):[e("span",{class:"vxe-radio--label"},n?r.callSlot(n,l,e):(0,_utils.formatText)(t.getTitle(),1))]))},renderRadioCell(e,l){let{$table:r,column:t,isHidden:n}=l;var a=r.selectRadioRow,d=t.slots,{labelField:o,checkMethod:s,visibleMethod:i}=r.computeRadioOpts,c=l.row,u=d?d.default:null,d=d?d.radio:null,a=c===a;let C=!i||i({row:c}),E=!!s,g;n||(g={click(e){!E&&C&&r.triggerRadioRowEvent(e,l)}},s&&(E=!s({row:c})));i=Object.assign(Object.assign({},l),{checked:a,disabled:E,visible:C});return d?renderCellBaseVNs(e,l,r.callSlot(d,i,e)):(s=[],C&&s.push(e("span",{class:["vxe-radio--icon",a?getIcon().TABLE_RADIO_CHECKED:getIcon().TABLE_RADIO_UNCHECKED]})),(u||o)&&s.push(e("span",{class:"vxe-radio--label"},u?r.callSlot(u,i,e):_xeUtils.default.get(c,o))),renderCellBaseVNs(e,l,[e("span",{class:["vxe-cell--radio",{"is--checked":a,"is--disabled":E}],on:g},s)]))},renderTreeRadioCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderRadioCell(e,l))},renderCheckboxHeader(e,l){let{$table:r,column:t,isHidden:n}=l;let{isAllSelected:a,isIndeterminate:d}=r,o=r.computeIsAllCheckboxDisabled;var s=t.slots,i=s?s.header:null,s=s?s.title:null,c=r.computeCheckboxOpts,u=t.getTitle(),C={},E=(n||(C.click=e=>{o||r.triggerCheckAllEvent(e,!a)}),Object.assign(Object.assign({},l),{checked:a,disabled:o,indeterminate:d}));return i?renderHeaderCellBaseVNs(e,l,renderTitleContent(e,E,r.callSlot(i,E,e))):(c.checkStrictly?c.showHeader:!1!==c.showHeader)?renderHeaderCellBaseVNs(e,l,renderTitleContent(e,E,[e("span",{class:["vxe-cell--checkbox",{"is--checked":a,"is--disabled":o,"is--indeterminate":d}],attrs:{title:getI18n("vxe.table.allTitle")},on:C},[e("span",{class:["vxe-checkbox--icon",d?getIcon().TABLE_CHECKBOX_INDETERMINATE:a?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})].concat(s||u?[e("span",{class:"vxe-checkbox--label"},s?r.callSlot(s,E,e):u)]:[]))])):renderHeaderCellBaseVNs(e,l,renderTitleContent(e,E,[e("span",{class:"vxe-checkbox--label"},s?r.callSlot(s,E,e):u)]))},renderCheckboxCell(e,l){let{$table:r,row:t,column:n,isHidden:a}=l;var d=r.treeConfig,{selectCheckboxMaps:o,treeIndeterminateMaps:s}=r,{labelField:i,checkMethod:c,visibleMethod:u}=r.computeCheckboxOpts,C=n.slots,E=C?C.default:null,C=C?C.checkbox:null;let g=!1,h=!1,p=!u||u({row:t}),b=!!c;var v,u={},o=(a||(v=(0,_util.getRowid)(r,t),h=!!o[v],u.click=e=>{!b&&p&&r.triggerCheckRowEvent(e,l,!h)},c&&(b=!c({row:t})),d&&(g=!!s[v])),Object.assign(Object.assign({},l),{checked:h,disabled:b,visible:p,indeterminate:g}));return C?renderCellBaseVNs(e,l,r.callSlot(C,o,e)):(c=[],p&&c.push(e("span",{class:["vxe-checkbox--icon",g?getIcon().TABLE_CHECKBOX_INDETERMINATE:h?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(E||i)&&c.push(e("span",{class:"vxe-checkbox--label"},E?r.callSlot(E,o,e):_xeUtils.default.get(t,i))),renderCellBaseVNs(e,l,[e("span",{class:["vxe-cell--checkbox",{"is--checked":h,"is--disabled":b,"is--indeterminate":g,"is--hidden":!p}],on:u},c)]))},renderTreeSelectionCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderCheckboxCell(e,l))},renderCheckboxCellByProp(e,l){let{$table:r,row:t,column:n,isHidden:a}=l;var d=r.treeConfig,o=r.treeIndeterminateMaps,s=r.computeCheckboxOpts,{labelField:i,checkField:c,checkMethod:u,visibleMethod:C}=s,s=s.indeterminateField||s.halfField,E=n.slots,g=E?E.default:null,E=E?E.checkbox:null;let h=!1,p=!1,b=!C||C({row:t}),v=!!u;var x,C={},c=(a||(x=(0,_util.getRowid)(r,t),p=_xeUtils.default.get(t,c),C.click=e=>{!v&&b&&r.triggerCheckRowEvent(e,l,!p)},u&&(v=!u({row:t})),d&&(h=!!o[x])),Object.assign(Object.assign({},l),{checked:p,disabled:v,visible:b,indeterminate:h}));return E?renderCellBaseVNs(e,l,r.callSlot(E,c,e)):(u=[],b&&u.push(e("span",{class:["vxe-checkbox--icon",h?getIcon().TABLE_CHECKBOX_INDETERMINATE:p?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(g||i)&&u.push(e("span",{class:"vxe-checkbox--label"},g?r.callSlot(g,c,e):_xeUtils.default.get(t,i))),renderCellBaseVNs(e,l,[e("span",{class:["vxe-cell--checkbox",{"is--checked":p,"is--disabled":v,"is--indeterminate":s&&!p?t[s]:h,"is--hidden":!b}],on:C},u)]))},renderTreeSelectionCellByProp(e,l){return Cell.renderTreeIcon(e,l,Cell.renderCheckboxCellByProp(e,l))},renderExpandCell(e,l){let{$table:r,isHidden:t,row:n,column:a}=l;var{rowExpandedMaps:d,rowExpandLazyLoadedMaps:o}=r,{lazy:s,labelField:i,iconLoaded:c,showIcon:u,iconOpen:C,iconClose:E,visibleMethod:g}=r.computeExpandOpts,h=a.slots,p=h?h.default:null,h=h?h.icon:null;let b=!1,v=!1;return h?renderCellBaseVNs(e,l,r.callSlot(h,l,e)):(t||(h=(0,_util.getRowid)(r,n),b=!!d[h],s&&(v=!!o[h])),renderCellBaseVNs(e,l,[!u||g&&!g(l)?renderEmptyElement(r):e("span",{class:["vxe-table--expanded",{"is--active":b}],on:{click(e){r.triggerRowExpandEvent(e,l)}}},[e("i",{class:["vxe-table--expand-btn",v?c||getIcon().TABLE_EXPAND_LOADED:b?C||getIcon().TABLE_EXPAND_OPEN:E||getIcon().TABLE_EXPAND_CLOSE]})]),p||i?e("span",{class:"vxe-table--expand-label"},p?r.callSlot(p,l,e):_xeUtils.default.get(n,i)):renderEmptyElement(r)]))},renderExpandData(e,l){var{$table:r,column:t}=l,{slots:t,contentRender:n}=t;if(t&&t.content)return r.callSlot(t.content,l,e);if(n){t=renderer.get(n.name),t=t?t.renderTableExpand||t.renderExpand:null;if(t)return(0,_vn.getSlotVNs)(t.call(r,e,n,l))}return[]},renderHTMLCell(e,l){var{$table:r,column:t}=l,t=t.slots;return t&&t.default?renderCellBaseVNs(e,l,r.callSlot(t.default,l,e)):renderCellBaseVNs(e,l,[e("span",{class:"vxe-cell--html",domProps:{innerHTML:getDefaultCellLabel(l)}})])},renderTreeHTMLCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderHTMLCell(e,l))},renderSortAndFilterHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l).concat(Cell.renderSortIcon(e,l).concat(Cell.renderFilterIcon(e,l))))},renderSortHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l).concat(Cell.renderSortIcon(e,l)))},renderSortIcon(e,l){let{$table:r,column:t}=l;var{showIcon:l,iconLayout:n,iconAsc:a,iconDesc:d}=r.sortOpts;return l?[e("span",{class:["vxe-cell--sort",`vxe-cell--sort-${n}-layout`]},[e("i",{class:["vxe-sort--asc-btn",a||getIcon().TABLE_SORT_ASC,{"sort--active":"asc"===t.order}],attrs:{title:getI18n("vxe.table.sortAsc")},on:{click(e){e.stopPropagation(),r.triggerSortEvent(e,t,"asc")}}}),e("i",{class:["vxe-sort--desc-btn",d||getIcon().TABLE_SORT_DESC,{"sort--active":"desc"===t.order}],attrs:{title:getI18n("vxe.table.sortDesc")},on:{click(e){e.stopPropagation(),r.triggerSortEvent(e,t,"desc")}}})])]:[]},renderFilterHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l).concat(Cell.renderFilterIcon(e,l)))},renderFilterIcon(e,l){let{$table:r,column:t,hasFilter:n}=l;var a=r.filterStore,{showIcon:d,iconNone:o,iconMatch:s}=r.computeFilterOpts;return d?[e("span",{class:["vxe-cell--filter",{"is--active":a.visible&&a.column===t}]},[e("i",{class:["vxe-filter--btn",n?s||getIcon().TABLE_FILTER_MATCH:o||getIcon().TABLE_FILTER_NONE],attrs:{title:getI18n("vxe.table.filter")},on:{click(e){r.triggerFilterEvent&&r.triggerFilterEvent(e,l.column,l)}}})])]:[]},renderEditHeader(e,l){var{$table:r,column:t}=l,{editConfig:n,editRules:a}=r,d=r.computeEditOpts,{sortable:o,filters:s,editRender:i}=t;let c=!1,u=(a&&(a=_xeUtils.default.get(a,t.field))&&(c=a.some(e=>e.required)),[]);return(0,_utils.isEnableConf)(n)&&(u=[c&&d.showAsterisk?e("i",{class:"vxe-cell--required-icon"}):renderEmptyElement(r),(0,_utils.isEnableConf)(i)&&d.showIcon?e("i",{class:["vxe-cell--edit-icon",d.icon||getIcon().TABLE_EDIT]}):renderEmptyElement(r)]),renderHeaderCellBaseVNs(e,l,u.concat(Cell.renderHeaderTitle(e,l)).concat(o?Cell.renderSortIcon(e,l):[]).concat(s?Cell.renderFilterIcon(e,l):[]))},renderRowEdit(e,l){var{$table:r,column:t}=l,r=r.editStore,r=r.actived,t=t.editRender;return Cell.runRenderer(e,l,this,(0,_utils.isEnableConf)(t)&&r&&r.row===l.row)},renderTreeRowEdit(e,l){return Cell.renderTreeIcon(e,l,Cell.renderRowEdit(e,l))},renderCellEdit(e,l){var{$table:r,column:t}=l,r=r.editStore,r=r.actived,t=t.editRender;return Cell.runRenderer(e,l,this,(0,_utils.isEnableConf)(t)&&r&&r.row===l.row&&r.column===l.column)},renderTreeCellEdit(e,l){return Cell.renderTreeIcon(e,l,Cell.renderCellEdit(e,l))},runRenderer(e,l,r,t){var{$table:n,column:a}=l,{slots:a,editRender:d,formatter:o}=a,s=renderer.get(d.name),s=s?s.renderTableEdit||s.renderEdit:null,i=Object.assign({$type:"",isEdit:t},l);return t?a&&a.edit?n.callSlot(a.edit,i,e):s?(0,_vn.getSlotVNs)(s.call(n,e,d,i)):[]:a&&a.default?renderCellBaseVNs(e,l,n.callSlot(a.default,i,e)):o?renderCellBaseVNs(e,l,[e("span",{class:"vxe-cell--label"},[getDefaultCellLabel(i)])]):Cell.renderDefaultCell.call(r,e,i)}};var _default=exports.default=Cell;
|
package/lib/table/src/methods.js
CHANGED
|
@@ -125,33 +125,28 @@ function handleVirtualXVisible($xeTable) {
|
|
|
125
125
|
};
|
|
126
126
|
}
|
|
127
127
|
const computeRowHeight = $xeTable => {
|
|
128
|
-
const props = $xeTable;
|
|
129
|
-
const {
|
|
130
|
-
showOverflow
|
|
131
|
-
} = props;
|
|
132
128
|
const tableHeader = $xeTable.$refs.tableHeader;
|
|
133
129
|
const tableBody = $xeTable.$refs.tableBody;
|
|
134
130
|
const tableBodyElem = tableBody ? tableBody.$el : null;
|
|
135
131
|
const vSize = $xeTable.computeSize;
|
|
136
132
|
const rowHeightMaps = $xeTable.computeRowHeightMaps;
|
|
137
|
-
let rowHeight =
|
|
138
|
-
if (
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
firstTrElem = tableHeaderElem.querySelector('tr');
|
|
145
|
-
}
|
|
146
|
-
if (firstTrElem) {
|
|
147
|
-
rowHeight = firstTrElem.clientHeight;
|
|
148
|
-
}
|
|
149
|
-
if (!rowHeight) {
|
|
150
|
-
rowHeight = rowHeightMaps[vSize || 'default'];
|
|
151
|
-
}
|
|
133
|
+
let rowHeight = 0;
|
|
134
|
+
if (tableBodyElem) {
|
|
135
|
+
const tableHeaderElem = tableHeader ? tableHeader.$el : null;
|
|
136
|
+
let firstTrElem;
|
|
137
|
+
firstTrElem = tableBodyElem.querySelector('tr');
|
|
138
|
+
if (!firstTrElem && tableHeaderElem) {
|
|
139
|
+
firstTrElem = tableHeaderElem.querySelector('tr');
|
|
152
140
|
}
|
|
141
|
+
if (firstTrElem) {
|
|
142
|
+
rowHeight = firstTrElem.clientHeight;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
if (!rowHeight) {
|
|
146
|
+
rowHeight = rowHeightMaps[vSize || 'default'];
|
|
153
147
|
}
|
|
154
|
-
|
|
148
|
+
// 最低支持 18px 行高
|
|
149
|
+
return Math.max(18, rowHeight);
|
|
155
150
|
};
|
|
156
151
|
function handleVirtualYVisible($xeTable) {
|
|
157
152
|
const internalData = $xeTable;
|
|
@@ -620,7 +615,9 @@ const handleScrollToRowColumn = ($xeTable, fieldOrColumn, row) => {
|
|
|
620
615
|
return $xeTable.$nextTick();
|
|
621
616
|
};
|
|
622
617
|
function handleRecalculateLayout($xeTable, reFull) {
|
|
618
|
+
const internalData = $xeTable;
|
|
623
619
|
const el = $xeTable.$refs.refElem;
|
|
620
|
+
internalData.reRunTime = Date.now();
|
|
624
621
|
if (!el || !el.clientWidth) {
|
|
625
622
|
return $xeTable.$nextTick();
|
|
626
623
|
}
|
|
@@ -1107,7 +1104,7 @@ const Methods = {
|
|
|
1107
1104
|
const isLazy = treeConfig && treeOpts.lazy;
|
|
1108
1105
|
const fullAllDataRowIdMaps = {};
|
|
1109
1106
|
const fullDataRowIdMaps = {};
|
|
1110
|
-
const handleCache = (row, index, items, path,
|
|
1107
|
+
const handleCache = (row, index, items, path, parentRow, nodes) => {
|
|
1111
1108
|
let rowid = (0, _util.getRowid)(this, row);
|
|
1112
1109
|
const seq = treeConfig && path ? (0, _util.toTreePathSeq)(path) : index + 1;
|
|
1113
1110
|
const level = nodes ? nodes.length - 1 : 0;
|
|
@@ -1128,16 +1125,16 @@ const Methods = {
|
|
|
1128
1125
|
_index: -1,
|
|
1129
1126
|
$index: -1,
|
|
1130
1127
|
items,
|
|
1131
|
-
parent,
|
|
1128
|
+
parent: parentRow,
|
|
1132
1129
|
level,
|
|
1133
1130
|
height: 0
|
|
1134
1131
|
};
|
|
1135
1132
|
}
|
|
1136
1133
|
cacheItem.row = row;
|
|
1137
1134
|
cacheItem.items = items;
|
|
1138
|
-
cacheItem.parent =
|
|
1135
|
+
cacheItem.parent = parentRow;
|
|
1139
1136
|
cacheItem.level = level;
|
|
1140
|
-
cacheItem.index = treeConfig &&
|
|
1137
|
+
cacheItem.index = treeConfig && parentRow ? -1 : index;
|
|
1141
1138
|
if (isSource) {
|
|
1142
1139
|
fullDataRowIdMaps[rowid] = cacheItem;
|
|
1143
1140
|
}
|
|
@@ -1220,9 +1217,9 @@ const Methods = {
|
|
|
1220
1217
|
sourceDataRowIdData[rowid] = _xeUtils.default.clone(childRow, true);
|
|
1221
1218
|
});
|
|
1222
1219
|
}
|
|
1223
|
-
_xeUtils.default.eachTree(rows, (childRow, index, items, path,
|
|
1220
|
+
_xeUtils.default.eachTree(rows, (childRow, index, items, path, parentItem, nodes) => {
|
|
1224
1221
|
const rowid = (0, _util.getRowid)($xeTable, childRow);
|
|
1225
|
-
const parentRow =
|
|
1222
|
+
const parentRow = parentItem || parentRest.row;
|
|
1226
1223
|
const rest = {
|
|
1227
1224
|
row: childRow,
|
|
1228
1225
|
rowid,
|
|
@@ -1279,7 +1276,7 @@ const Methods = {
|
|
|
1279
1276
|
let radioColumn;
|
|
1280
1277
|
let htmlColumn;
|
|
1281
1278
|
let hasFixed;
|
|
1282
|
-
const handleFunc = (column, index, items, path,
|
|
1279
|
+
const handleFunc = (column, index, items, path, parentColumn) => {
|
|
1283
1280
|
const {
|
|
1284
1281
|
id: colid,
|
|
1285
1282
|
field,
|
|
@@ -1294,7 +1291,7 @@ const Methods = {
|
|
|
1294
1291
|
colid,
|
|
1295
1292
|
index,
|
|
1296
1293
|
items,
|
|
1297
|
-
parent:
|
|
1294
|
+
parent: parentColumn || null,
|
|
1298
1295
|
width: 0
|
|
1299
1296
|
};
|
|
1300
1297
|
if (field) {
|
|
@@ -1358,9 +1355,9 @@ const Methods = {
|
|
|
1358
1355
|
fullColumnIdData[colid] = rest;
|
|
1359
1356
|
};
|
|
1360
1357
|
if (isGroup) {
|
|
1361
|
-
_xeUtils.default.eachTree(collectColumn, (column, index, items, path,
|
|
1358
|
+
_xeUtils.default.eachTree(collectColumn, (column, index, items, path, parentColumn, nodes) => {
|
|
1362
1359
|
column.level = nodes.length;
|
|
1363
|
-
handleFunc(column, index, items, path,
|
|
1360
|
+
handleFunc(column, index, items, path, parentColumn);
|
|
1364
1361
|
});
|
|
1365
1362
|
} else {
|
|
1366
1363
|
tableFullColumn.forEach(handleFunc);
|
|
@@ -2030,10 +2027,10 @@ const Methods = {
|
|
|
2030
2027
|
if (treeConfig && treeOpts.transform) {
|
|
2031
2028
|
const fullData = [];
|
|
2032
2029
|
const expandMaps = {};
|
|
2033
|
-
_xeUtils.default.eachTree(afterTreeFullData, (row, index, items, path,
|
|
2030
|
+
_xeUtils.default.eachTree(afterTreeFullData, (row, index, items, path, parentRow) => {
|
|
2034
2031
|
const rowid = (0, _util.getRowid)(this, row);
|
|
2035
|
-
const parentRowid = (0, _util.getRowid)(this,
|
|
2036
|
-
if (!
|
|
2032
|
+
const parentRowid = (0, _util.getRowid)(this, parentRow);
|
|
2033
|
+
if (!parentRow || expandMaps[parentRowid] && treeExpandedMaps[parentRowid]) {
|
|
2037
2034
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
2038
2035
|
if (rowRest) {
|
|
2039
2036
|
rowRest._index = fullData.length;
|
|
@@ -2729,11 +2726,11 @@ const Methods = {
|
|
|
2729
2726
|
let hasCustomSort = false;
|
|
2730
2727
|
// 处理还原
|
|
2731
2728
|
if (resizableData || sortData || visibleData || fixedData) {
|
|
2732
|
-
_xeUtils.default.eachTree(collectColumn, (column, index, items, path,
|
|
2729
|
+
_xeUtils.default.eachTree(collectColumn, (column, index, items, path, parentRow) => {
|
|
2733
2730
|
const colKey = column.getKey();
|
|
2734
2731
|
// 支持一级
|
|
2735
|
-
if (!
|
|
2736
|
-
if (fixedData && fixedData[colKey]) {
|
|
2732
|
+
if (!parentRow) {
|
|
2733
|
+
if (fixedData && fixedData[colKey] !== undefined) {
|
|
2737
2734
|
column.fixed = fixedData[colKey];
|
|
2738
2735
|
}
|
|
2739
2736
|
if (sortData && _xeUtils.default.isNumber(sortData[colKey])) {
|
|
@@ -2827,9 +2824,9 @@ const Methods = {
|
|
|
2827
2824
|
let hasSort = 0;
|
|
2828
2825
|
let hasFixedt = 0;
|
|
2829
2826
|
let hasVisible = 0;
|
|
2830
|
-
_xeUtils.default.eachTree(collectColumn, (column, index, items, path,
|
|
2827
|
+
_xeUtils.default.eachTree(collectColumn, (column, index, items, path, parentColumn) => {
|
|
2831
2828
|
// 只支持一级
|
|
2832
|
-
if (!
|
|
2829
|
+
if (!parentColumn) {
|
|
2833
2830
|
collectColumn.forEach(column => {
|
|
2834
2831
|
const colKey = column.getKey();
|
|
2835
2832
|
if (colKey) {
|
|
@@ -2837,7 +2834,7 @@ const Methods = {
|
|
|
2837
2834
|
sortData[colKey] = column.renderSortNumber;
|
|
2838
2835
|
}
|
|
2839
2836
|
});
|
|
2840
|
-
if (column.fixed
|
|
2837
|
+
if (column.fixed !== column.defaultFixed) {
|
|
2841
2838
|
const colKey = column.getKey();
|
|
2842
2839
|
if (colKey) {
|
|
2843
2840
|
hasFixedt = 1;
|
|
@@ -2973,13 +2970,13 @@ const Methods = {
|
|
|
2973
2970
|
const leftGroupList = [];
|
|
2974
2971
|
const centerGroupList = [];
|
|
2975
2972
|
const rightGroupList = [];
|
|
2976
|
-
_xeUtils.default.eachTree(collectColumn, (column, index, items, path,
|
|
2973
|
+
_xeUtils.default.eachTree(collectColumn, (column, index, items, path, parentColumn) => {
|
|
2977
2974
|
const isColGroup = (0, _utils.hasChildrenList)(column);
|
|
2978
2975
|
// 如果是分组,必须按组设置固定列,不允许给子列设置固定
|
|
2979
|
-
if (
|
|
2980
|
-
column.fixed =
|
|
2976
|
+
if (parentColumn && parentColumn.fixed) {
|
|
2977
|
+
column.fixed = parentColumn.fixed;
|
|
2981
2978
|
}
|
|
2982
|
-
if (
|
|
2979
|
+
if (parentColumn && column.fixed !== parentColumn.fixed) {
|
|
2983
2980
|
(0, _log.errLog)('vxe.error.groupFixed');
|
|
2984
2981
|
}
|
|
2985
2982
|
if (isColGroup) {
|
|
@@ -3187,28 +3184,35 @@ const Methods = {
|
|
|
3187
3184
|
* 刷新布局
|
|
3188
3185
|
*/
|
|
3189
3186
|
recalculate(reFull) {
|
|
3187
|
+
const $xeTable = this;
|
|
3188
|
+
const internalData = $xeTable;
|
|
3190
3189
|
return new Promise(resolve => {
|
|
3191
|
-
const $xeTable = this;
|
|
3192
|
-
const internalData = $xeTable;
|
|
3193
3190
|
const {
|
|
3194
|
-
rceTimeout
|
|
3191
|
+
rceTimeout,
|
|
3192
|
+
reRunTime
|
|
3195
3193
|
} = internalData;
|
|
3194
|
+
const resizeOpts = $xeTable.computeResizeOpts;
|
|
3195
|
+
const refreshDelay = resizeOpts.refreshDelay || 20;
|
|
3196
3196
|
const el = $xeTable.$refs.refElem;
|
|
3197
3197
|
if (el && el.clientWidth) {
|
|
3198
3198
|
$xeTable.autoCellWidth();
|
|
3199
3199
|
}
|
|
3200
3200
|
if (rceTimeout) {
|
|
3201
3201
|
clearTimeout(rceTimeout);
|
|
3202
|
-
|
|
3203
|
-
resolve();
|
|
3204
|
-
}
|
|
3202
|
+
if (reRunTime && reRunTime + (refreshDelay - 5) < Date.now()) {
|
|
3203
|
+
resolve(handleRecalculateLayout($xeTable, !!reFull));
|
|
3204
|
+
} else {
|
|
3205
|
+
$xeTable.$nextTick(() => {
|
|
3206
|
+
resolve();
|
|
3207
|
+
});
|
|
3208
|
+
}
|
|
3205
3209
|
} else {
|
|
3206
3210
|
resolve(handleRecalculateLayout($xeTable, !!reFull));
|
|
3207
3211
|
}
|
|
3208
3212
|
internalData.rceTimeout = setTimeout(() => {
|
|
3209
3213
|
internalData.rceTimeout = undefined;
|
|
3210
|
-
|
|
3211
|
-
},
|
|
3214
|
+
handleRecalculateLayout($xeTable, !!reFull);
|
|
3215
|
+
}, refreshDelay);
|
|
3212
3216
|
});
|
|
3213
3217
|
},
|
|
3214
3218
|
calcCellWidth() {
|
|
@@ -5964,7 +5968,9 @@ const Methods = {
|
|
|
5964
5968
|
actived
|
|
5965
5969
|
} = editStore;
|
|
5966
5970
|
const cell = evnt.currentTarget;
|
|
5967
|
-
params
|
|
5971
|
+
params = Object.assign({
|
|
5972
|
+
cell
|
|
5973
|
+
}, params);
|
|
5968
5974
|
if ((0, _utils.isEnableConf)(editConfig) && editOpts.trigger === 'dblclick') {
|
|
5969
5975
|
if (!actived.args || evnt.currentTarget !== actived.args.cell) {
|
|
5970
5976
|
if (editOpts.mode === 'row') {
|
|
@@ -6179,6 +6185,7 @@ const Methods = {
|
|
|
6179
6185
|
prevDragToChild
|
|
6180
6186
|
} = internalData;
|
|
6181
6187
|
const {
|
|
6188
|
+
isPeerDrag,
|
|
6182
6189
|
isCrossDrag,
|
|
6183
6190
|
isSelfToChildDrag,
|
|
6184
6191
|
dragEndMethod
|
|
@@ -6240,20 +6247,27 @@ const Methods = {
|
|
|
6240
6247
|
let isSelfToChildStatus = false;
|
|
6241
6248
|
if (oldLevel && newLevel) {
|
|
6242
6249
|
// 子到子
|
|
6243
|
-
if (
|
|
6244
|
-
|
|
6245
|
-
|
|
6246
|
-
|
|
6247
|
-
|
|
6248
|
-
|
|
6249
|
-
|
|
6250
|
-
_ui.VxeUI.modal.message({
|
|
6251
|
-
status: 'error',
|
|
6252
|
-
content: getI18n('vxe.error.treeDragChild')
|
|
6253
|
-
});
|
|
6254
|
-
}
|
|
6250
|
+
if (isPeerDrag) {
|
|
6251
|
+
if (oldRest.row[parentField] !== newRest.row[parentField]) {
|
|
6252
|
+
// 非同级
|
|
6253
|
+
return;
|
|
6254
|
+
}
|
|
6255
|
+
} else {
|
|
6256
|
+
if (!isCrossDrag) {
|
|
6255
6257
|
return;
|
|
6256
6258
|
}
|
|
6259
|
+
if (oldAllMaps[newRowid]) {
|
|
6260
|
+
isSelfToChildStatus = true;
|
|
6261
|
+
if (!(isCrossDrag && isSelfToChildDrag)) {
|
|
6262
|
+
if (_ui.VxeUI.modal) {
|
|
6263
|
+
_ui.VxeUI.modal.message({
|
|
6264
|
+
status: 'error',
|
|
6265
|
+
content: getI18n('vxe.error.treeDragChild')
|
|
6266
|
+
});
|
|
6267
|
+
}
|
|
6268
|
+
return;
|
|
6269
|
+
}
|
|
6270
|
+
}
|
|
6257
6271
|
}
|
|
6258
6272
|
} else if (oldLevel) {
|
|
6259
6273
|
// 子到根
|
|
@@ -6267,7 +6281,7 @@ const Methods = {
|
|
|
6267
6281
|
}
|
|
6268
6282
|
if (oldAllMaps[newRowid]) {
|
|
6269
6283
|
isSelfToChildStatus = true;
|
|
6270
|
-
if (!isSelfToChildDrag) {
|
|
6284
|
+
if (!(isCrossDrag && isSelfToChildDrag)) {
|
|
6271
6285
|
if (_ui.VxeUI.modal) {
|
|
6272
6286
|
_ui.VxeUI.modal.message({
|
|
6273
6287
|
status: 'error',
|
|
@@ -6291,7 +6305,7 @@ const Methods = {
|
|
|
6291
6305
|
const ntfIndex = ptfIndex + dragOffsetIndex;
|
|
6292
6306
|
fullList.splice(ntfIndex, 0, dragRow);
|
|
6293
6307
|
// 改变层级
|
|
6294
|
-
if (isSelfToChildStatus && isSelfToChildDrag) {
|
|
6308
|
+
if (isSelfToChildStatus && isCrossDrag && isSelfToChildDrag) {
|
|
6295
6309
|
_xeUtils.default.each(dragRow[childrenField], childRow => {
|
|
6296
6310
|
childRow[parentField] = dragRow[parentField];
|
|
6297
6311
|
});
|
|
@@ -6372,10 +6386,12 @@ const Methods = {
|
|
|
6372
6386
|
} = reactData;
|
|
6373
6387
|
const treeOpts = $xeTable.computeTreeOpts;
|
|
6374
6388
|
const {
|
|
6375
|
-
transform
|
|
6389
|
+
transform,
|
|
6390
|
+
parentField
|
|
6376
6391
|
} = treeOpts;
|
|
6377
6392
|
const rowDragOpts = $xeTable.computeRowDragOpts;
|
|
6378
6393
|
const {
|
|
6394
|
+
isPeerDrag,
|
|
6379
6395
|
isCrossDrag,
|
|
6380
6396
|
isToChildDrag
|
|
6381
6397
|
} = rowDragOpts;
|
|
@@ -6395,7 +6411,7 @@ const Methods = {
|
|
|
6395
6411
|
} = reactData;
|
|
6396
6412
|
const offsetY = evnt.clientY - trEl.getBoundingClientRect().y;
|
|
6397
6413
|
const dragPos = offsetY < trEl.clientHeight / 2 ? 'top' : 'bottom';
|
|
6398
|
-
if ($xeTable.eqRow(dragRow, row) || !isCrossDrag && treeConfig && rest.level) {
|
|
6414
|
+
if ($xeTable.eqRow(dragRow, row) || !isCrossDrag && treeConfig && transform && (isPeerDrag ? dragRow[parentField] !== row[parentField] : rest.level)) {
|
|
6399
6415
|
showDropTip($xeTable, evnt, trEl, null, false, dragPos);
|
|
6400
6416
|
return;
|
|
6401
6417
|
}
|
|
@@ -6477,6 +6493,7 @@ const Methods = {
|
|
|
6477
6493
|
} = props;
|
|
6478
6494
|
const columnDragOpts = $xeTable.computeColumnDragOpts;
|
|
6479
6495
|
const {
|
|
6496
|
+
isPeerDrag,
|
|
6480
6497
|
isCrossDrag,
|
|
6481
6498
|
isSelfToChildDrag,
|
|
6482
6499
|
isToChildDrag,
|
|
@@ -6509,20 +6526,27 @@ const Methods = {
|
|
|
6509
6526
|
let isSelfToChildStatus = false;
|
|
6510
6527
|
if (oldColumn.parentId && newColumn.parentId) {
|
|
6511
6528
|
// 子到子
|
|
6512
|
-
if (
|
|
6513
|
-
|
|
6514
|
-
|
|
6515
|
-
|
|
6516
|
-
|
|
6517
|
-
|
|
6518
|
-
|
|
6519
|
-
_ui.VxeUI.modal.message({
|
|
6520
|
-
status: 'error',
|
|
6521
|
-
content: getI18n('vxe.error.treeDragChild')
|
|
6522
|
-
});
|
|
6523
|
-
}
|
|
6529
|
+
if (isPeerDrag) {
|
|
6530
|
+
if (oldColumn.parentId !== newColumn.parentId) {
|
|
6531
|
+
// 非同级
|
|
6532
|
+
return;
|
|
6533
|
+
}
|
|
6534
|
+
} else {
|
|
6535
|
+
if (!isCrossDrag) {
|
|
6524
6536
|
return;
|
|
6525
6537
|
}
|
|
6538
|
+
if (oldAllMaps[newColumn.id]) {
|
|
6539
|
+
isSelfToChildStatus = true;
|
|
6540
|
+
if (!(isCrossDrag && isSelfToChildDrag)) {
|
|
6541
|
+
if (_ui.VxeUI.modal) {
|
|
6542
|
+
_ui.VxeUI.modal.message({
|
|
6543
|
+
status: 'error',
|
|
6544
|
+
content: getI18n('vxe.error.treeDragChild')
|
|
6545
|
+
});
|
|
6546
|
+
}
|
|
6547
|
+
return;
|
|
6548
|
+
}
|
|
6549
|
+
}
|
|
6526
6550
|
}
|
|
6527
6551
|
} else if (oldColumn.parentId) {
|
|
6528
6552
|
// 子到根
|
|
@@ -6536,7 +6560,7 @@ const Methods = {
|
|
|
6536
6560
|
}
|
|
6537
6561
|
if (oldAllMaps[newColumn.id]) {
|
|
6538
6562
|
isSelfToChildStatus = true;
|
|
6539
|
-
if (!isSelfToChildDrag) {
|
|
6563
|
+
if (!(isCrossDrag && isSelfToChildDrag)) {
|
|
6540
6564
|
if (_ui.VxeUI.modal) {
|
|
6541
6565
|
_ui.VxeUI.modal.message({
|
|
6542
6566
|
status: 'error',
|
|
@@ -6551,7 +6575,7 @@ const Methods = {
|
|
|
6551
6575
|
}
|
|
6552
6576
|
const oldewMatchRest = _xeUtils.default.findTree(collectColumn, item => item.id === oldColumn.id);
|
|
6553
6577
|
// 改变层级
|
|
6554
|
-
if (isSelfToChildStatus && isSelfToChildDrag) {
|
|
6578
|
+
if (isSelfToChildStatus && isCrossDrag && isSelfToChildDrag) {
|
|
6555
6579
|
if (oldewMatchRest) {
|
|
6556
6580
|
const {
|
|
6557
6581
|
items: oCols,
|
|
@@ -6585,7 +6609,7 @@ const Methods = {
|
|
|
6585
6609
|
parent: nParent
|
|
6586
6610
|
} = newMatchRest;
|
|
6587
6611
|
// 转子级
|
|
6588
|
-
if (isToChildDrag && prevDragToChild) {
|
|
6612
|
+
if (isCrossDrag && isToChildDrag && prevDragToChild) {
|
|
6589
6613
|
oldColumn.parentId = newColumn.id;
|
|
6590
6614
|
newColumn.children = (newColumn.children || []).concat([oldColumn]);
|
|
6591
6615
|
} else {
|
|
@@ -6596,8 +6620,8 @@ const Methods = {
|
|
|
6596
6620
|
nafIndex = nIndex;
|
|
6597
6621
|
}
|
|
6598
6622
|
}
|
|
6599
|
-
_xeUtils.default.eachTree(collectColumn, (column, index, items, path,
|
|
6600
|
-
if (!
|
|
6623
|
+
_xeUtils.default.eachTree(collectColumn, (column, index, items, path, parentColumn) => {
|
|
6624
|
+
if (!parentColumn) {
|
|
6601
6625
|
const sortIndex = index + 1;
|
|
6602
6626
|
column.renderSortNumber = sortIndex;
|
|
6603
6627
|
}
|
|
@@ -6665,6 +6689,7 @@ const Methods = {
|
|
|
6665
6689
|
const columnDragOpts = $xeTable.computeColumnDragOpts;
|
|
6666
6690
|
const {
|
|
6667
6691
|
isToChildDrag,
|
|
6692
|
+
isPeerDrag,
|
|
6668
6693
|
isCrossDrag
|
|
6669
6694
|
} = columnDragOpts;
|
|
6670
6695
|
if (!dragCol) {
|
|
@@ -6682,11 +6707,11 @@ const Methods = {
|
|
|
6682
6707
|
} = evnt;
|
|
6683
6708
|
const offsetX = clientX - thEl.getBoundingClientRect().x;
|
|
6684
6709
|
const dragPos = offsetX < thEl.clientWidth / 2 ? 'left' : 'right';
|
|
6685
|
-
if (column.fixed || dragCol && dragCol.id === column.id || !isCrossDrag && column.parentId) {
|
|
6710
|
+
if (column.fixed || dragCol && dragCol.id === column.id || !isCrossDrag && (isPeerDrag ? dragCol.parentId !== column.parentId : column.parentId)) {
|
|
6686
6711
|
showDropTip($xeTable, evnt, null, thEl, false, dragPos);
|
|
6687
6712
|
return;
|
|
6688
6713
|
}
|
|
6689
|
-
internalData.prevDragToChild = !!(isToChildDrag && hasCtrlKey);
|
|
6714
|
+
internalData.prevDragToChild = !!(isCrossDrag && isToChildDrag && hasCtrlKey);
|
|
6690
6715
|
internalData.prevDragCol = column;
|
|
6691
6716
|
internalData.prevDragPos = dragPos;
|
|
6692
6717
|
showDropTip($xeTable, evnt, null, thEl, true, dragPos);
|