vxe-table 3.11.26 → 3.11.27-beta.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/index.css +1 -1
- package/es/index.min.css +1 -1
- package/es/locale/lang/ar-EG.js +2 -2
- package/es/locale/lang/de-DE.js +2 -2
- package/es/locale/lang/en-US.js +2 -2
- package/es/locale/lang/es-ES.js +2 -2
- package/es/locale/lang/fr-FR.js +2 -2
- package/es/locale/lang/hu-HU.js +2 -2
- package/es/locale/lang/hy-AM.js +2 -2
- package/es/locale/lang/ja-JP.js +2 -2
- package/es/locale/lang/ko-KR.js +2 -2
- package/es/locale/lang/nb-NO.js +2 -2
- package/es/locale/lang/pt-BR.js +2 -2
- package/es/locale/lang/ru-RU.js +2 -2
- package/es/locale/lang/ug-CN.js +2 -2
- package/es/locale/lang/uk-UA.js +2 -2
- package/es/locale/lang/vi-VN.js +2 -2
- package/es/locale/lang/zh-CHT.js +2 -2
- package/es/locale/lang/zh-CN.js +2 -2
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/src/body.js +2 -2
- package/es/table/src/cell.js +2 -2
- package/es/table/src/column.js +10 -8
- package/es/table/src/group.js +37 -6
- package/es/table/src/methods.js +167 -70
- package/es/table/src/util.js +0 -1
- package/es/table/style.css +5 -0
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +5 -0
- package/es/vxe-table/style.min.css +1 -1
- package/lib/index.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +244 -99
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/ar-EG.js +2 -2
- package/lib/locale/lang/ar-EG.min.js +1 -1
- package/lib/locale/lang/de-DE.js +2 -2
- package/lib/locale/lang/de-DE.min.js +1 -1
- package/lib/locale/lang/en-US.js +2 -2
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +2 -2
- package/lib/locale/lang/es-ES.js +2 -2
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +2 -2
- package/lib/locale/lang/fr-FR.js +2 -2
- package/lib/locale/lang/fr-FR.min.js +1 -1
- package/lib/locale/lang/hu-HU.js +2 -2
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/hu-HU.umd.js +2 -2
- package/lib/locale/lang/hy-AM.js +2 -2
- package/lib/locale/lang/hy-AM.min.js +1 -1
- package/lib/locale/lang/ja-JP.js +2 -2
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +2 -2
- package/lib/locale/lang/ko-KR.js +2 -2
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/ko-KR.umd.js +2 -2
- package/lib/locale/lang/nb-NO.js +2 -2
- package/lib/locale/lang/nb-NO.min.js +1 -1
- package/lib/locale/lang/pt-BR.js +2 -2
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +2 -2
- package/lib/locale/lang/ru-RU.js +2 -2
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +2 -2
- package/lib/locale/lang/ug-CN.js +2 -2
- package/lib/locale/lang/ug-CN.min.js +1 -1
- package/lib/locale/lang/uk-UA.js +2 -2
- package/lib/locale/lang/uk-UA.min.js +1 -1
- package/lib/locale/lang/uk-UA.umd.js +2 -2
- package/lib/locale/lang/vi-VN.js +2 -2
- package/lib/locale/lang/vi-VN.min.js +1 -1
- package/lib/locale/lang/zh-CHT.js +2 -2
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CHT.umd.js +2 -2
- package/lib/locale/lang/zh-CN.js +2 -2
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +2 -2
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/src/body.js +2 -2
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +2 -1
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/column.js +11 -9
- package/lib/table/src/column.min.js +1 -1
- package/lib/table/src/group.js +39 -6
- package/lib/table/src/group.min.js +1 -1
- package/lib/table/src/methods.js +182 -72
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/util.js +0 -1
- package/lib/table/src/util.min.js +1 -1
- package/lib/table/style/style.css +5 -0
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +1 -1
- 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/vxe-table/style/style.css +5 -0
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/locale/lang/ar-EG.ts +2 -2
- package/packages/locale/lang/de-DE.ts +2 -2
- package/packages/locale/lang/en-US.ts +2 -2
- package/packages/locale/lang/es-ES.ts +2 -2
- package/packages/locale/lang/fr-FR.ts +2 -2
- package/packages/locale/lang/hu-HU.ts +2 -2
- package/packages/locale/lang/hy-AM.ts +2 -2
- package/packages/locale/lang/ja-JP.ts +2 -2
- package/packages/locale/lang/ko-KR.ts +2 -2
- package/packages/locale/lang/nb-NO.ts +2 -2
- package/packages/locale/lang/pt-BR.ts +2 -2
- package/packages/locale/lang/ru-RU.ts +2 -2
- package/packages/locale/lang/ug-CN.ts +2 -2
- package/packages/locale/lang/uk-UA.ts +2 -2
- package/packages/locale/lang/vi-VN.ts +2 -2
- package/packages/locale/lang/zh-CHT.ts +2 -2
- package/packages/locale/lang/zh-CN.ts +2 -2
- package/packages/table/src/body.ts +2 -2
- package/packages/table/src/cell.ts +2 -2
- package/packages/table/src/column.ts +10 -8
- package/packages/table/src/group.ts +40 -6
- package/packages/table/src/methods.ts +183 -83
- package/packages/table/src/util.ts +0 -1
- package/styles/components/table.scss +5 -0
- /package/es/{iconfont.1733885890565.ttf → iconfont.1733931178504.ttf} +0 -0
- /package/es/{iconfont.1733885890565.woff → iconfont.1733931178504.woff} +0 -0
- /package/es/{iconfont.1733885890565.woff2 → iconfont.1733931178504.woff2} +0 -0
- /package/lib/{iconfont.1733885890565.ttf → iconfont.1733931178504.ttf} +0 -0
- /package/lib/{iconfont.1733885890565.woff → iconfont.1733931178504.woff} +0 -0
- /package/lib/{iconfont.1733885890565.woff2 → iconfont.1733931178504.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,disabledMethod:a}=r.computeRowDragOpts,a=a||(t?t.rowDisabledMethod:null);let d=a&&a(l);return e("span",{key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":d}],on:{mousedown(e){d||r.handleCellDragMousedownEvent(e,l)},mouseup:r.handleCellDragMouseupEvent}},[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,l){let{$table:r,column:t}=l;var n=r.computeColumnOpts,{showIcon:a,icon:d,visibleMethod:o,disabledMethod:s}=r.computeColumnDragOpts;let i=s&&s(l);return!n.drag||!a||o&&!o(l)||t.fixed||t.parentId?renderEmptyElement(r):e("span",{key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":i}],on:{mousedown(e){i||r.handleHeaderCellDragMousedownEvent(e,l)},mouseup:r.handleHeaderCellDragMouseupEvent}},[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:h,iconLoaded:g,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)),h&&"default"!==h||(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?g||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,h;n||(h={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:h},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 h=!1,g=!1,b=!u||u({row:t}),v=!!c,x;a||(u=(0,_util.getRowid)(r,t),g=!!s[u],x={click(e){!v&&b&&r.triggerCheckRowEvent(e,l,!g)}},c&&(v=!c({row:t})),d&&(h=!!o[u]));s=Object.assign(Object.assign({},l),{checked:g,disabled:v,visible:b,indeterminate:h});return C?renderCellBaseVNs(e,l,r.callSlot(C,s,e)):(c=[],b&&c.push(e("span",{class:["vxe-checkbox--icon",h?getIcon().TABLE_CHECKBOX_INDETERMINATE:g?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":g,"is--disabled":v,"is--indeterminate":h,"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,h=E?E.default:null,E=E?E.checkbox:null;let g=!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&&(g=!!o[C]));c=Object.assign(Object.assign({},l),{checked:b,disabled:x,visible:v,indeterminate:g});return E?renderCellBaseVNs(e,l,r.callSlot(E,c,e)):(u=[],v&&u.push(e("span",{class:["vxe-checkbox--icon",g?getIcon().TABLE_CHECKBOX_INDETERMINATE:b?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(h||i)&&u.push(e("span",{class:"vxe-checkbox--label"},h?r.callSlot(h,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]:g,"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:h}=d,g=a.slots,b=g?g.default:null;let v=!1,x=!1;return g&&g.icon?renderCellBaseVNs(e,l,r.callSlot(g.icon,l,e)):(t||(g=(0,_util.getRowid)(r,n),v=!!o[g],d&&(x=!!s[g])),renderCellBaseVNs(e,l,[!u||h&&!h(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,disabledMethod:a}=r.computeRowDragOpts,a=a||(t?t.rowDisabledMethod:null);let d=a&&a(l);return e("span",{key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":d}],on:{mousedown(e){d||r.handleCellDragMousedownEvent(e,l)},mouseup:r.handleCellDragMouseupEvent}},[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,l){let{$table:r,column:t}=l;var n=r.computeColumnOpts,{showIcon:a,icon:d,isCrossDrag:o,visibleMethod:s,disabledMethod:i}=r.computeColumnDragOpts;let c=i&&i(l);return!n.drag||!a||s&&!s(l)||t.fixed||!o&&t.parentId?renderEmptyElement(r):e("span",{key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":c}],on:{mousedown(e){c||r.handleHeaderCellDragMousedownEvent(e,l)},mouseup:r.handleHeaderCellDragMouseupEvent}},[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:h,iconLoaded:g,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)),h&&"default"!==h||(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?g||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,h;n||(h={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:h},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 h=!1,g=!1,b=!u||u({row:t}),v=!!c,x;a||(u=(0,_util.getRowid)(r,t),g=!!s[u],x={click(e){!v&&b&&r.triggerCheckRowEvent(e,l,!g)}},c&&(v=!c({row:t})),d&&(h=!!o[u]));s=Object.assign(Object.assign({},l),{checked:g,disabled:v,visible:b,indeterminate:h});return C?renderCellBaseVNs(e,l,r.callSlot(C,s,e)):(c=[],b&&c.push(e("span",{class:["vxe-checkbox--icon",h?getIcon().TABLE_CHECKBOX_INDETERMINATE:g?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":g,"is--disabled":v,"is--indeterminate":h,"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,h=E?E.default:null,E=E?E.checkbox:null;let g=!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&&(g=!!o[C]));c=Object.assign(Object.assign({},l),{checked:b,disabled:x,visible:v,indeterminate:g});return E?renderCellBaseVNs(e,l,r.callSlot(E,c,e)):(u=[],v&&u.push(e("span",{class:["vxe-checkbox--icon",g?getIcon().TABLE_CHECKBOX_INDETERMINATE:b?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(h||i)&&u.push(e("span",{class:"vxe-checkbox--label"},h?r.callSlot(h,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]:g,"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:h}=d,g=a.slots,b=g?g.default:null;let v=!1,x=!1;return g&&g.icon?renderCellBaseVNs(e,l,r.callSlot(g.icon,l,e)):(t||(g=(0,_util.getRowid)(r,n),v=!!o[g],d&&(x=!!s[g])),renderCellBaseVNs(e,l,[!u||h&&!h(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;
|
package/lib/table/src/column.js
CHANGED
|
@@ -3,11 +3,12 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.default = void 0;
|
|
6
|
+
exports.default = exports.columnWatch = exports.columnProps = void 0;
|
|
7
7
|
var _cell = _interopRequireDefault(require("./cell"));
|
|
8
|
+
var _comp = require("../../ui/src/comp");
|
|
8
9
|
var _util = require("./util");
|
|
9
10
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
-
const
|
|
11
|
+
const columnProps = exports.columnProps = {
|
|
11
12
|
// 列唯一主键
|
|
12
13
|
colId: [String, Number],
|
|
13
14
|
// 渲染类型 seq,radio,checkbox,expand,html
|
|
@@ -123,9 +124,9 @@ const props = {
|
|
|
123
124
|
// 额外的参数
|
|
124
125
|
params: Object
|
|
125
126
|
};
|
|
126
|
-
const
|
|
127
|
-
Object.keys(
|
|
128
|
-
|
|
127
|
+
const columnWatch = exports.columnWatch = {};
|
|
128
|
+
Object.keys(columnProps).forEach(name => {
|
|
129
|
+
columnWatch[name] = function (value) {
|
|
129
130
|
this.columnConfig.update(name, value);
|
|
130
131
|
if (this.$xetable) {
|
|
131
132
|
if (name === 'filters') {
|
|
@@ -137,9 +138,9 @@ Object.keys(props).forEach(name => {
|
|
|
137
138
|
}
|
|
138
139
|
};
|
|
139
140
|
});
|
|
140
|
-
var _default = exports.default = {
|
|
141
|
+
var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
141
142
|
name: 'VxeColumn',
|
|
142
|
-
props,
|
|
143
|
+
props: columnProps,
|
|
143
144
|
provide() {
|
|
144
145
|
return {
|
|
145
146
|
$xecolumn: this,
|
|
@@ -154,11 +155,12 @@ var _default = exports.default = {
|
|
|
154
155
|
default: null
|
|
155
156
|
}
|
|
156
157
|
},
|
|
157
|
-
watch,
|
|
158
|
+
watch: columnWatch,
|
|
158
159
|
created() {
|
|
159
160
|
this.columnConfig = this.createColumn(this.$xetable, this);
|
|
160
161
|
},
|
|
161
162
|
mounted() {
|
|
163
|
+
this.columnConfig.slots = this.$scopedSlots;
|
|
162
164
|
(0, _util.assembleColumn)(this);
|
|
163
165
|
},
|
|
164
166
|
destroyed() {
|
|
@@ -168,4 +170,4 @@ var _default = exports.default = {
|
|
|
168
170
|
return h('div', this.$slots.default);
|
|
169
171
|
},
|
|
170
172
|
methods: _cell.default
|
|
171
|
-
};
|
|
173
|
+
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _cell=_interopRequireDefault(require("./cell")),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.columnWatch=exports.columnProps=void 0;var _cell=_interopRequireDefault(require("./cell")),_comp=require("../../ui/src/comp"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let columnProps=exports.columnProps={colId:[String,Number],type:String,field:String,title:String,width:[Number,String],minWidth:[Number,String],maxWidth:[Number,String],resizable:{type:Boolean,default:null},fixed:String,align:String,headerAlign:String,footerAlign:String,showOverflow:{type:[Boolean,String],default:null},showHeaderOverflow:{type:[Boolean,String],default:null},showFooterOverflow:{type:[Boolean,String],default:null},className:[String,Function],headerClassName:[String,Function],footerClassName:[String,Function],formatter:[Function,Array,String],footerFormatter:[Function,Array,String],sortable:Boolean,remoteSort:{type:Boolean,default:null},sortBy:[String,Function],sortType:String,sortMethod:Function,filters:{type:Array,default:null},filterMultiple:{type:Boolean,default:!0},filterMethod:Function,filterResetMethod:Function,filterRecoverMethod:Function,filterRender:Object,treeNode:Boolean,dragSort:Boolean,visible:{type:Boolean,default:null},headerExportMethod:Function,exportMethod:Function,footerExportMethod:Function,titleHelp:Object,titlePrefix:Object,titleSuffix:Object,cellType:String,cellRender:Object,editRender:Object,contentRender:Object,params:Object},columnWatch=exports.columnWatch={};Object.keys(columnProps).forEach(t=>{columnWatch[t]=function(e){this.columnConfig.update(t,e),this.$xetable&&("filters"===t?(this.$xetable.setFilter(this.columnConfig,e),this.$xetable.handleUpdateDataQueue()):["visible","fixed","width","minWidth","maxWidth"].includes(t)&&this.$xetable.handleRefreshColumnQueue())}});var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeColumn",props:columnProps,provide(){return{$xecolumn:this,$xegrid:null}},inject:{$xetable:{default:null},$xecolumn:{default:null}},watch:columnWatch,created(){this.columnConfig=this.createColumn(this.$xetable,this)},mounted(){this.columnConfig.slots=this.$scopedSlots,(0,_util.assembleColumn)(this)},destroyed(){(0,_util.destroyColumn)(this)},render(e){return e("div",this.$slots.default)},methods:_cell.default});
|
package/lib/table/src/group.js
CHANGED
|
@@ -4,15 +4,48 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
var
|
|
7
|
+
var _cell = _interopRequireDefault(require("./cell"));
|
|
8
|
+
var _comp = require("../../ui/src/comp");
|
|
9
|
+
var _util = require("./util");
|
|
10
|
+
var _column = require("./column");
|
|
8
11
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
-
var _default = exports.default = {
|
|
12
|
+
var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
10
13
|
name: 'VxeColgroup',
|
|
11
|
-
|
|
14
|
+
props: _column.columnProps,
|
|
12
15
|
provide() {
|
|
13
16
|
return {
|
|
14
|
-
|
|
17
|
+
$xecolumn: this,
|
|
15
18
|
$xegrid: null
|
|
16
19
|
};
|
|
17
|
-
}
|
|
18
|
-
|
|
20
|
+
},
|
|
21
|
+
inject: {
|
|
22
|
+
$xetable: {
|
|
23
|
+
default: null
|
|
24
|
+
},
|
|
25
|
+
$xecolumn: {
|
|
26
|
+
default: null
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
watch: _column.columnWatch,
|
|
30
|
+
created() {
|
|
31
|
+
this.columnConfig = this.createColumn(this.$xetable, this);
|
|
32
|
+
},
|
|
33
|
+
mounted() {
|
|
34
|
+
const {
|
|
35
|
+
$scopedSlots
|
|
36
|
+
} = this;
|
|
37
|
+
const columnSlots = {};
|
|
38
|
+
if ($scopedSlots.header) {
|
|
39
|
+
columnSlots.header = $scopedSlots.header;
|
|
40
|
+
}
|
|
41
|
+
this.columnConfig.slots = columnSlots;
|
|
42
|
+
(0, _util.assembleColumn)(this);
|
|
43
|
+
},
|
|
44
|
+
destroyed() {
|
|
45
|
+
(0, _util.destroyColumn)(this);
|
|
46
|
+
},
|
|
47
|
+
render(h) {
|
|
48
|
+
return h('div', this.$slots.default);
|
|
49
|
+
},
|
|
50
|
+
methods: _cell.default
|
|
51
|
+
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _cell=_interopRequireDefault(require("./cell")),_comp=require("../../ui/src/comp"),_util=require("./util"),_column=require("./column");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeColgroup",props:_column.columnProps,provide(){return{$xecolumn:this,$xegrid:null}},inject:{$xetable:{default:null},$xecolumn:{default:null}},watch:_column.columnWatch,created(){this.columnConfig=this.createColumn(this.$xetable,this)},mounted(){var e=this.$scopedSlots,t={};e.header&&(t.header=e.header),this.columnConfig.slots=t,(0,_util.assembleColumn)(this)},destroyed(){(0,_util.destroyColumn)(this)},render(e){return e("div",this.$slots.default)},methods:_cell.default});
|
package/lib/table/src/methods.js
CHANGED
|
@@ -24,6 +24,7 @@ const {
|
|
|
24
24
|
// const isWebkit = browse['-webkit'] && !browse.edge
|
|
25
25
|
// const debounceScrollYDuration = browse.msie ? 80 : 20
|
|
26
26
|
const customStorageKey = 'VXE_CUSTOM_STORE';
|
|
27
|
+
const tpImg = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=';
|
|
27
28
|
// 获取所有的列,排除分组
|
|
28
29
|
const getColumnList = columns => {
|
|
29
30
|
const result = [];
|
|
@@ -536,11 +537,18 @@ function showDropTip($xeTable, evnt, trEl, thEl, showLine, dragPos) {
|
|
|
536
537
|
if (cdLineEl) {
|
|
537
538
|
if (showLine) {
|
|
538
539
|
const thRect = thEl.getBoundingClientRect();
|
|
540
|
+
const offsetTop = Math.max(0, thRect.y - wrapperRect.y);
|
|
539
541
|
cdLineEl.style.display = 'block';
|
|
542
|
+
cdLineEl.style.top = `${offsetTop}px`;
|
|
540
543
|
cdLineEl.style.left = `${Math.max(1, thRect.x - wrapperRect.x)}px`;
|
|
541
544
|
cdLineEl.style.width = `${thRect.width}px`;
|
|
542
|
-
|
|
545
|
+
if (prevDragToChild) {
|
|
546
|
+
cdLineEl.style.height = `${thRect.height}px`;
|
|
547
|
+
} else {
|
|
548
|
+
cdLineEl.style.height = `${wrapperRect.height - offsetTop - scrollbarHeight}px`;
|
|
549
|
+
}
|
|
543
550
|
cdLineEl.setAttribute('drag-pos', dragPos);
|
|
551
|
+
cdLineEl.setAttribute('drag-to-child', prevDragToChild ? 'y' : 'n');
|
|
544
552
|
} else {
|
|
545
553
|
cdLineEl.style.display = '';
|
|
546
554
|
}
|
|
@@ -1100,12 +1108,12 @@ const Methods = {
|
|
|
1100
1108
|
height: 0
|
|
1101
1109
|
};
|
|
1102
1110
|
}
|
|
1111
|
+
cacheItem.row = row;
|
|
1112
|
+
cacheItem.items = items;
|
|
1113
|
+
cacheItem.parent = parent;
|
|
1114
|
+
cacheItem.level = level;
|
|
1115
|
+
cacheItem.index = treeConfig && parent ? -1 : index;
|
|
1103
1116
|
if (isSource) {
|
|
1104
|
-
cacheItem.row = row;
|
|
1105
|
-
cacheItem.items = items;
|
|
1106
|
-
cacheItem.parent = parent;
|
|
1107
|
-
cacheItem.level = level;
|
|
1108
|
-
cacheItem.index = treeConfig && parent ? -1 : index;
|
|
1109
1117
|
fullDataRowIdMaps[rowid] = cacheItem;
|
|
1110
1118
|
}
|
|
1111
1119
|
fullAllDataRowIdMaps[rowid] = cacheItem;
|
|
@@ -1220,18 +1228,26 @@ const Methods = {
|
|
|
1220
1228
|
* 牺牲数据组装的耗时,用来换取使用过程中的流畅
|
|
1221
1229
|
*/
|
|
1222
1230
|
cacheColumnMap() {
|
|
1231
|
+
const $xeTable = this;
|
|
1232
|
+
const props = $xeTable;
|
|
1233
|
+
const reactData = $xeTable;
|
|
1234
|
+
const internalData = $xeTable;
|
|
1223
1235
|
const {
|
|
1224
1236
|
tableFullColumn,
|
|
1225
|
-
collectColumn
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
const
|
|
1232
|
-
const
|
|
1237
|
+
collectColumn
|
|
1238
|
+
} = internalData;
|
|
1239
|
+
const fullColumnIdData = internalData.fullColumnIdData = {};
|
|
1240
|
+
const fullColumnFieldData = internalData.fullColumnFieldData = {};
|
|
1241
|
+
const mouseOpts = $xeTable.computeMouseOpts;
|
|
1242
|
+
const columnOpts = $xeTable.computeColumnOpts;
|
|
1243
|
+
const columnDragOpts = $xeTable.computeColumnDragOpts;
|
|
1244
|
+
const {
|
|
1245
|
+
isCrossDrag,
|
|
1246
|
+
isSelfToChildDrag
|
|
1247
|
+
} = columnDragOpts;
|
|
1248
|
+
const rowOpts = $xeTable.computeRowOpts;
|
|
1233
1249
|
const isGroup = collectColumn.some(_utils.hasChildrenList);
|
|
1234
|
-
let isAllOverflow = !!showOverflow;
|
|
1250
|
+
let isAllOverflow = !!props.showOverflow;
|
|
1235
1251
|
let expandColumn;
|
|
1236
1252
|
let treeNodeColumn;
|
|
1237
1253
|
let checkboxColumn;
|
|
@@ -1247,6 +1263,8 @@ const Methods = {
|
|
|
1247
1263
|
treeNode
|
|
1248
1264
|
} = column;
|
|
1249
1265
|
const rest = {
|
|
1266
|
+
$index: -1,
|
|
1267
|
+
_index: -1,
|
|
1250
1268
|
column,
|
|
1251
1269
|
colid,
|
|
1252
1270
|
index,
|
|
@@ -1255,12 +1273,14 @@ const Methods = {
|
|
|
1255
1273
|
width: 0
|
|
1256
1274
|
};
|
|
1257
1275
|
if (field) {
|
|
1258
|
-
if (
|
|
1259
|
-
|
|
1260
|
-
(0, _log.warnLog)('vxe.error.colRepet', ['field', field]);
|
|
1261
|
-
}
|
|
1276
|
+
if (fullColumnFieldData[field]) {
|
|
1277
|
+
(0, _log.errLog)('vxe.error.colRepet', ['field', field]);
|
|
1262
1278
|
}
|
|
1263
1279
|
fullColumnFieldData[field] = rest;
|
|
1280
|
+
} else {
|
|
1281
|
+
if (isCrossDrag || isSelfToChildDrag) {
|
|
1282
|
+
(0, _log.errLog)('vxe.error.emptyProp', ['column.field']);
|
|
1283
|
+
}
|
|
1264
1284
|
}
|
|
1265
1285
|
if (!hasFixed && fixed) {
|
|
1266
1286
|
hasFixed = fixed;
|
|
@@ -1304,27 +1324,6 @@ const Methods = {
|
|
|
1304
1324
|
}
|
|
1305
1325
|
}
|
|
1306
1326
|
}
|
|
1307
|
-
if (process.env.NODE_ENV === 'development') {
|
|
1308
|
-
if (this.showOverflow && column.showOverflow === false) {
|
|
1309
|
-
(0, _log.warnLog)('vxe.error.errConflicts', [`table.show-overflow=${this.showOverflow}`, `column.show-overflow=${column.showOverflow}`]);
|
|
1310
|
-
}
|
|
1311
|
-
if (this.showHeaderOverflow && column.showHeaderOverflow === false) {
|
|
1312
|
-
(0, _log.warnLog)('vxe.error.errConflicts', [`table.show-header-overflow=${this.showHeaderOverflow}`, `column.show-header-overflow=${column.showHeaderOverflow}`]);
|
|
1313
|
-
}
|
|
1314
|
-
if (this.showFooterOverflow && column.showFooterOverflow === false) {
|
|
1315
|
-
(0, _log.warnLog)('vxe.error.errConflicts', [`table.show-footer-overflow=${this.showFooterOverflow}`, `column.show-footer-overflow=${column.showFooterOverflow}`]);
|
|
1316
|
-
}
|
|
1317
|
-
}
|
|
1318
|
-
if (process.env.NODE_ENV === 'development') {
|
|
1319
|
-
if (htmlColumn) {
|
|
1320
|
-
if (!columnOpts.useKey) {
|
|
1321
|
-
(0, _log.errLog)('vxe.error.reqProp', ['column-config.useKey', 'column.type=html']);
|
|
1322
|
-
}
|
|
1323
|
-
if (!rowOpts.useKey) {
|
|
1324
|
-
(0, _log.errLog)('vxe.error.reqProp', ['row-config.useKey', 'column.type=html']);
|
|
1325
|
-
}
|
|
1326
|
-
}
|
|
1327
|
-
}
|
|
1328
1327
|
if (isAllOverflow && column.showOverflow === false) {
|
|
1329
1328
|
isAllOverflow = false;
|
|
1330
1329
|
}
|
|
@@ -1332,9 +1331,7 @@ const Methods = {
|
|
|
1332
1331
|
(0, _log.errLog)('vxe.error.colRepet', ['colId', colid]);
|
|
1333
1332
|
}
|
|
1334
1333
|
fullColumnIdData[colid] = rest;
|
|
1335
|
-
fullColumnMap.set(column, rest);
|
|
1336
1334
|
};
|
|
1337
|
-
fullColumnMap.clear();
|
|
1338
1335
|
if (isGroup) {
|
|
1339
1336
|
_xeUtils.default.eachTree(collectColumn, (column, index, items, path, parent, nodes) => {
|
|
1340
1337
|
column.level = nodes.length;
|
|
@@ -1344,14 +1341,24 @@ const Methods = {
|
|
|
1344
1341
|
tableFullColumn.forEach(handleFunc);
|
|
1345
1342
|
}
|
|
1346
1343
|
if (process.env.NODE_ENV === 'development') {
|
|
1347
|
-
if (expandColumn &&
|
|
1344
|
+
if (expandColumn && mouseOpts.area) {
|
|
1348
1345
|
(0, _log.errLog)('vxe.error.errConflicts', ['mouse-config.area', 'column.type=expand']);
|
|
1349
1346
|
}
|
|
1350
1347
|
}
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1348
|
+
if (process.env.NODE_ENV === 'development') {
|
|
1349
|
+
if (htmlColumn) {
|
|
1350
|
+
if (!columnOpts.useKey) {
|
|
1351
|
+
(0, _log.errLog)('vxe.error.reqProp', ['column-config.useKey & column.type=html']);
|
|
1352
|
+
}
|
|
1353
|
+
if (!rowOpts.useKey) {
|
|
1354
|
+
(0, _log.errLog)('vxe.error.reqProp', ['row-config.useKey & column.type=html']);
|
|
1355
|
+
}
|
|
1356
|
+
}
|
|
1357
|
+
}
|
|
1358
|
+
reactData.isGroup = isGroup;
|
|
1359
|
+
reactData.treeNodeColumn = treeNodeColumn;
|
|
1360
|
+
reactData.expandColumn = expandColumn;
|
|
1361
|
+
reactData.isAllOverflow = isAllOverflow;
|
|
1355
1362
|
},
|
|
1356
1363
|
/**
|
|
1357
1364
|
* 根据 tr 元素获取对应的 row 信息
|
|
@@ -3160,6 +3167,10 @@ const Methods = {
|
|
|
3160
3167
|
const {
|
|
3161
3168
|
rceTimeout
|
|
3162
3169
|
} = internalData;
|
|
3170
|
+
const el = $xeTable.$refs.refElem;
|
|
3171
|
+
if (!el || !el.clientWidth) {
|
|
3172
|
+
$xeTable.autoCellWidth();
|
|
3173
|
+
}
|
|
3163
3174
|
if (rceTimeout) {
|
|
3164
3175
|
clearTimeout(rceTimeout);
|
|
3165
3176
|
$xeTable.$nextTick(() => {
|
|
@@ -6014,8 +6025,9 @@ const Methods = {
|
|
|
6014
6025
|
* 行拖拽
|
|
6015
6026
|
*/
|
|
6016
6027
|
handleRowDragDragstartEvent(evnt) {
|
|
6017
|
-
const img = new Image();
|
|
6018
6028
|
if (evnt.dataTransfer) {
|
|
6029
|
+
const img = new Image();
|
|
6030
|
+
img.src = tpImg;
|
|
6019
6031
|
evnt.dataTransfer.setDragImage(img, 0, 0);
|
|
6020
6032
|
}
|
|
6021
6033
|
},
|
|
@@ -6099,8 +6111,8 @@ const Methods = {
|
|
|
6099
6111
|
return;
|
|
6100
6112
|
}
|
|
6101
6113
|
if (oldAllMaps[newRowid]) {
|
|
6114
|
+
isSelfToChildStatus = true;
|
|
6102
6115
|
if (!isSelfToChildDrag) {
|
|
6103
|
-
isSelfToChildStatus = true;
|
|
6104
6116
|
if (_ui.VxeUI.modal) {
|
|
6105
6117
|
_ui.VxeUI.modal.message({
|
|
6106
6118
|
status: 'error',
|
|
@@ -6176,7 +6188,7 @@ const Methods = {
|
|
|
6176
6188
|
}
|
|
6177
6189
|
reactData.isDragRowMove = true;
|
|
6178
6190
|
$xeTable.handleTableData(treeConfig && transform);
|
|
6179
|
-
$xeTable.cacheRowMap(
|
|
6191
|
+
$xeTable.cacheRowMap();
|
|
6180
6192
|
$xeTable.updateScrollYStatus();
|
|
6181
6193
|
if (!(treeConfig && transform)) {
|
|
6182
6194
|
$xeTable.updateAfterDataIndex();
|
|
@@ -6204,6 +6216,7 @@ const Methods = {
|
|
|
6204
6216
|
}
|
|
6205
6217
|
hideDropTip($xeTable);
|
|
6206
6218
|
clearRowDropOrigin($xeTable);
|
|
6219
|
+
internalData.prevDragToChild = false;
|
|
6207
6220
|
reactData.dragRow = null;
|
|
6208
6221
|
reactData.dragCol = null;
|
|
6209
6222
|
setTimeout(() => {
|
|
@@ -6313,8 +6326,9 @@ const Methods = {
|
|
|
6313
6326
|
* 列拖拽
|
|
6314
6327
|
*/
|
|
6315
6328
|
handleHeaderCellDragDragstartEvent(evnt) {
|
|
6316
|
-
const img = new Image();
|
|
6317
6329
|
if (evnt.dataTransfer) {
|
|
6330
|
+
const img = new Image();
|
|
6331
|
+
img.src = tpImg;
|
|
6318
6332
|
evnt.dataTransfer.setDragImage(img, 0, 0);
|
|
6319
6333
|
}
|
|
6320
6334
|
},
|
|
@@ -6328,6 +6342,9 @@ const Methods = {
|
|
|
6328
6342
|
} = props;
|
|
6329
6343
|
const columnDragOpts = $xeTable.computeColumnDragOpts;
|
|
6330
6344
|
const {
|
|
6345
|
+
isCrossDrag,
|
|
6346
|
+
isSelfToChildDrag,
|
|
6347
|
+
isToChildDrag,
|
|
6331
6348
|
dragEndMethod
|
|
6332
6349
|
} = columnDragOpts;
|
|
6333
6350
|
const {
|
|
@@ -6336,38 +6353,126 @@ const Methods = {
|
|
|
6336
6353
|
const {
|
|
6337
6354
|
collectColumn,
|
|
6338
6355
|
prevDragCol,
|
|
6339
|
-
prevDragPos
|
|
6356
|
+
prevDragPos,
|
|
6357
|
+
prevDragToChild
|
|
6340
6358
|
} = internalData;
|
|
6341
6359
|
const dragOffsetIndex = prevDragPos === 'right' ? 1 : 0;
|
|
6342
6360
|
if (prevDragCol && dragCol) {
|
|
6343
6361
|
// 判断是否有拖动
|
|
6344
6362
|
if (prevDragCol !== dragCol) {
|
|
6363
|
+
const oldColumn = dragCol;
|
|
6364
|
+
const newColumn = prevDragCol;
|
|
6345
6365
|
Promise.resolve(dragEndMethod ? dragEndMethod({
|
|
6346
|
-
oldColumn
|
|
6347
|
-
newColumn
|
|
6366
|
+
oldColumn,
|
|
6367
|
+
newColumn,
|
|
6348
6368
|
dragPos: prevDragPos,
|
|
6349
6369
|
offsetIndex: dragOffsetIndex
|
|
6350
6370
|
}) : true).then(status => {
|
|
6351
6371
|
if (!status) {
|
|
6352
6372
|
return;
|
|
6353
6373
|
}
|
|
6374
|
+
let oafIndex = -1;
|
|
6375
|
+
let nafIndex = -1;
|
|
6376
|
+
const oldAllMaps = {};
|
|
6377
|
+
_xeUtils.default.eachTree([oldColumn], column => {
|
|
6378
|
+
oldAllMaps[column.id] = column;
|
|
6379
|
+
});
|
|
6380
|
+
let isSelfToChildStatus = false;
|
|
6381
|
+
if (oldColumn.parentId && newColumn.parentId) {
|
|
6382
|
+
// 子到子
|
|
6383
|
+
if (!isCrossDrag) {
|
|
6384
|
+
return;
|
|
6385
|
+
}
|
|
6386
|
+
if (oldAllMaps[newColumn.id]) {
|
|
6387
|
+
isSelfToChildStatus = true;
|
|
6388
|
+
if (!isSelfToChildDrag) {
|
|
6389
|
+
if (_ui.VxeUI.modal) {
|
|
6390
|
+
_ui.VxeUI.modal.message({
|
|
6391
|
+
status: 'error',
|
|
6392
|
+
content: getI18n('vxe.error.treeDragChild')
|
|
6393
|
+
});
|
|
6394
|
+
}
|
|
6395
|
+
return;
|
|
6396
|
+
}
|
|
6397
|
+
}
|
|
6398
|
+
} else if (oldColumn.parentId) {
|
|
6399
|
+
// 子到根
|
|
6400
|
+
if (!isCrossDrag) {
|
|
6401
|
+
return;
|
|
6402
|
+
}
|
|
6403
|
+
} else if (newColumn.parentId) {
|
|
6404
|
+
// 根到子
|
|
6405
|
+
if (!isCrossDrag) {
|
|
6406
|
+
return;
|
|
6407
|
+
}
|
|
6408
|
+
if (oldAllMaps[newColumn.id]) {
|
|
6409
|
+
isSelfToChildStatus = true;
|
|
6410
|
+
if (!isSelfToChildDrag) {
|
|
6411
|
+
if (_ui.VxeUI.modal) {
|
|
6412
|
+
_ui.VxeUI.modal.message({
|
|
6413
|
+
status: 'error',
|
|
6414
|
+
content: getI18n('vxe.error.treeDragChild')
|
|
6415
|
+
});
|
|
6416
|
+
}
|
|
6417
|
+
return;
|
|
6418
|
+
}
|
|
6419
|
+
}
|
|
6420
|
+
} else {
|
|
6421
|
+
// 根到根
|
|
6422
|
+
}
|
|
6423
|
+
const oldewMatchRest = _xeUtils.default.findTree(collectColumn, item => item.id === oldColumn.id);
|
|
6424
|
+
// 改变层级
|
|
6425
|
+
if (isSelfToChildStatus && isSelfToChildDrag) {
|
|
6426
|
+
if (oldewMatchRest) {
|
|
6427
|
+
const {
|
|
6428
|
+
items: oCols,
|
|
6429
|
+
index: oIndex
|
|
6430
|
+
} = oldewMatchRest;
|
|
6431
|
+
const childList = oldColumn.children || [];
|
|
6432
|
+
childList.forEach(column => {
|
|
6433
|
+
column.parentId = oldColumn.parentId;
|
|
6434
|
+
});
|
|
6435
|
+
oCols.splice(oIndex, 1, ...childList);
|
|
6436
|
+
oldColumn.children = [];
|
|
6437
|
+
}
|
|
6438
|
+
} else {
|
|
6439
|
+
if (oldewMatchRest) {
|
|
6440
|
+
const {
|
|
6441
|
+
items: oCols,
|
|
6442
|
+
index: oIndex,
|
|
6443
|
+
parent: oParent
|
|
6444
|
+
} = oldewMatchRest;
|
|
6445
|
+
oCols.splice(oIndex, 1);
|
|
6446
|
+
if (!oParent) {
|
|
6447
|
+
oafIndex = oIndex;
|
|
6448
|
+
}
|
|
6449
|
+
}
|
|
6450
|
+
}
|
|
6451
|
+
const newMatchRest = _xeUtils.default.findTree(collectColumn, item => item.id === newColumn.id);
|
|
6452
|
+
if (newMatchRest) {
|
|
6453
|
+
const {
|
|
6454
|
+
items: nCols,
|
|
6455
|
+
index: nIndex,
|
|
6456
|
+
parent: nParent
|
|
6457
|
+
} = newMatchRest;
|
|
6458
|
+
// 转子级
|
|
6459
|
+
if (isToChildDrag && prevDragToChild) {
|
|
6460
|
+
oldColumn.parentId = newColumn.id;
|
|
6461
|
+
newColumn.children = (newColumn.children || []).concat([oldColumn]);
|
|
6462
|
+
} else {
|
|
6463
|
+
oldColumn.parentId = newColumn.parentId;
|
|
6464
|
+
nCols.splice(nIndex + dragOffsetIndex, 0, oldColumn);
|
|
6465
|
+
}
|
|
6466
|
+
if (!nParent) {
|
|
6467
|
+
nafIndex = nIndex;
|
|
6468
|
+
}
|
|
6469
|
+
}
|
|
6354
6470
|
_xeUtils.default.eachTree(collectColumn, (column, index, items, path, parent) => {
|
|
6355
6471
|
if (!parent) {
|
|
6356
6472
|
const sortIndex = index + 1;
|
|
6357
6473
|
column.renderSortNumber = sortIndex;
|
|
6358
6474
|
}
|
|
6359
6475
|
});
|
|
6360
|
-
const oafIndex = _xeUtils.default.findIndexOf(collectColumn, item => item.id === dragCol.id);
|
|
6361
|
-
const nafIndex = _xeUtils.default.findIndexOf(collectColumn, item => item.id === prevDragCol.id) + dragOffsetIndex;
|
|
6362
|
-
const newTargetCol = collectColumn[nafIndex];
|
|
6363
|
-
if (newTargetCol) {
|
|
6364
|
-
// 插入最后位置
|
|
6365
|
-
dragCol.renderSortNumber = newTargetCol.renderSortNumber;
|
|
6366
|
-
newTargetCol.renderSortNumber = dragCol.renderSortNumber + 0.5;
|
|
6367
|
-
} else {
|
|
6368
|
-
// 插入新位置
|
|
6369
|
-
dragCol.renderSortNumber = collectColumn.length + 1.5;
|
|
6370
|
-
}
|
|
6371
6476
|
reactData.isDragColMove = true;
|
|
6372
6477
|
if (mouseConfig) {
|
|
6373
6478
|
if ($xeTable.clearSelected) {
|
|
@@ -6378,14 +6483,12 @@ const Methods = {
|
|
|
6378
6483
|
$xeTable.clearCopyCellArea();
|
|
6379
6484
|
}
|
|
6380
6485
|
}
|
|
6381
|
-
$xeTable.
|
|
6382
|
-
$xeTable.$nextTick().then(() => {
|
|
6486
|
+
$xeTable.refreshColumn(true).then(() => {
|
|
6383
6487
|
$xeTable.updateCellAreas();
|
|
6384
|
-
$xeTable.refreshColumn(true);
|
|
6385
6488
|
});
|
|
6386
6489
|
$xeTable.dispatchEvent('column-dragend', {
|
|
6387
|
-
oldColumn
|
|
6388
|
-
newColumn
|
|
6490
|
+
oldColumn,
|
|
6491
|
+
newColumn,
|
|
6389
6492
|
dragPos: prevDragPos,
|
|
6390
6493
|
offsetIndex: dragOffsetIndex,
|
|
6391
6494
|
_index: {
|
|
@@ -6399,6 +6502,7 @@ const Methods = {
|
|
|
6399
6502
|
}
|
|
6400
6503
|
hideDropTip($xeTable);
|
|
6401
6504
|
clearColDropOrigin($xeTable);
|
|
6505
|
+
internalData.prevDragToChild = false;
|
|
6402
6506
|
reactData.dragRow = null;
|
|
6403
6507
|
reactData.dragCol = null;
|
|
6404
6508
|
setTimeout(() => {
|
|
@@ -6412,10 +6516,16 @@ const Methods = {
|
|
|
6412
6516
|
const {
|
|
6413
6517
|
dragCol
|
|
6414
6518
|
} = reactData;
|
|
6519
|
+
const columnDragOpts = $xeTable.computeColumnDragOpts;
|
|
6520
|
+
const {
|
|
6521
|
+
isToChildDrag,
|
|
6522
|
+
isCrossDrag
|
|
6523
|
+
} = columnDragOpts;
|
|
6415
6524
|
if (!dragCol) {
|
|
6416
6525
|
evnt.preventDefault();
|
|
6417
6526
|
return;
|
|
6418
6527
|
}
|
|
6528
|
+
const hasCtrlKey = evnt.ctrlKey;
|
|
6419
6529
|
const thEl = evnt.currentTarget;
|
|
6420
6530
|
const colid = thEl.getAttribute('colid');
|
|
6421
6531
|
const column = $xeTable.getColumnById(colid);
|
|
@@ -6426,11 +6536,11 @@ const Methods = {
|
|
|
6426
6536
|
} = reactData;
|
|
6427
6537
|
const offsetX = evnt.clientX - thEl.getBoundingClientRect().x;
|
|
6428
6538
|
const dragPos = offsetX < thEl.clientWidth / 2 ? 'left' : 'right';
|
|
6429
|
-
if (dragCol.id === column.id || column.parentId) {
|
|
6539
|
+
if (dragCol && dragCol.id === column.id || !isCrossDrag && column.parentId) {
|
|
6430
6540
|
showDropTip($xeTable, evnt, null, thEl, false, dragPos);
|
|
6431
6541
|
return;
|
|
6432
6542
|
}
|
|
6433
|
-
internalData.prevDragToChild =
|
|
6543
|
+
internalData.prevDragToChild = !!(isToChildDrag && hasCtrlKey);
|
|
6434
6544
|
internalData.prevDragCol = column;
|
|
6435
6545
|
internalData.prevDragPos = dragPos;
|
|
6436
6546
|
showDropTip($xeTable, evnt, null, thEl, true, dragPos);
|