vxe-table 3.11.21 → 3.11.23
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/{iconfont.1733469864818.ttf → iconfont.1733805838288.ttf} +0 -0
- package/es/iconfont.1733805838288.woff +0 -0
- package/es/iconfont.1733805838288.woff2 +0 -0
- package/es/index.css +1 -1
- package/es/index.min.css +1 -1
- package/es/locale/lang/ar-EG.js +2 -0
- package/es/locale/lang/de-DE.js +2 -0
- package/es/locale/lang/en-US.js +3 -1
- package/es/locale/lang/es-ES.js +2 -0
- package/es/locale/lang/fr-FR.js +2 -0
- package/es/locale/lang/hu-HU.js +2 -0
- package/es/locale/lang/hy-AM.js +2 -0
- package/es/locale/lang/ja-JP.js +2 -0
- package/es/locale/lang/ko-KR.js +2 -0
- package/es/locale/lang/nb-NO.js +2 -0
- package/es/locale/lang/pt-BR.js +2 -0
- package/es/locale/lang/ru-RU.js +2 -0
- package/es/locale/lang/ug-CN.js +2 -0
- package/es/locale/lang/uk-UA.js +2 -0
- package/es/locale/lang/vi-VN.js +2 -0
- package/es/locale/lang/zh-CHT.js +2 -0
- package/es/locale/lang/zh-CN.js +2 -0
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/custom/mixin.js +8 -3
- package/es/table/module/custom/panel.js +44 -27
- package/es/table/render/index.js +26 -6
- package/es/table/src/body.js +2 -2
- package/es/table/src/cell.js +7 -2
- package/es/table/src/header.js +1 -1
- package/es/table/src/methods.js +195 -48
- package/es/table/src/table.js +31 -4
- package/es/table/style.css +62 -4
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +4 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +62 -4
- package/es/vxe-table/style.min.css +1 -1
- package/lib/{iconfont.1733469864818.ttf → iconfont.1733805838288.ttf} +0 -0
- package/lib/iconfont.1733805838288.woff +0 -0
- package/lib/iconfont.1733805838288.woff2 +0 -0
- package/lib/index.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +369 -106
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/ar-EG.js +2 -0
- package/lib/locale/lang/ar-EG.min.js +1 -1
- package/lib/locale/lang/de-DE.js +2 -0
- package/lib/locale/lang/de-DE.min.js +1 -1
- package/lib/locale/lang/en-US.js +3 -1
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +3 -1
- package/lib/locale/lang/es-ES.js +2 -0
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +2 -0
- package/lib/locale/lang/fr-FR.js +2 -0
- package/lib/locale/lang/fr-FR.min.js +1 -1
- package/lib/locale/lang/hu-HU.js +2 -0
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/hu-HU.umd.js +2 -0
- package/lib/locale/lang/hy-AM.js +2 -0
- package/lib/locale/lang/hy-AM.min.js +1 -1
- package/lib/locale/lang/ja-JP.js +2 -0
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +2 -0
- package/lib/locale/lang/ko-KR.js +2 -0
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/ko-KR.umd.js +2 -0
- package/lib/locale/lang/nb-NO.js +2 -0
- package/lib/locale/lang/nb-NO.min.js +1 -1
- package/lib/locale/lang/pt-BR.js +2 -0
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +2 -0
- package/lib/locale/lang/ru-RU.js +2 -0
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +2 -0
- package/lib/locale/lang/ug-CN.js +2 -0
- package/lib/locale/lang/ug-CN.min.js +1 -1
- package/lib/locale/lang/uk-UA.js +2 -0
- package/lib/locale/lang/uk-UA.min.js +1 -1
- package/lib/locale/lang/uk-UA.umd.js +2 -0
- package/lib/locale/lang/vi-VN.js +2 -0
- package/lib/locale/lang/vi-VN.min.js +1 -1
- package/lib/locale/lang/zh-CHT.js +2 -0
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CHT.umd.js +2 -0
- package/lib/locale/lang/zh-CN.js +2 -0
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +2 -0
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/custom/mixin.js +8 -3
- package/lib/table/module/custom/mixin.min.js +1 -1
- package/lib/table/module/custom/panel.js +49 -37
- package/lib/table/module/custom/panel.min.js +1 -1
- package/lib/table/render/index.js +38 -6
- package/lib/table/render/index.min.js +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 +6 -1
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/header.js +1 -1
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/methods.js +232 -51
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +25 -3
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/style/style.css +62 -4
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +4 -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 +62 -4
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/locale/lang/ar-EG.ts +2 -0
- package/packages/locale/lang/de-DE.ts +2 -0
- package/packages/locale/lang/en-US.ts +3 -1
- package/packages/locale/lang/es-ES.ts +2 -0
- package/packages/locale/lang/fr-FR.ts +2 -0
- package/packages/locale/lang/hu-HU.ts +2 -0
- package/packages/locale/lang/hy-AM.ts +2 -0
- package/packages/locale/lang/ja-JP.ts +2 -0
- package/packages/locale/lang/ko-KR.ts +2 -0
- package/packages/locale/lang/nb-NO.ts +2 -0
- package/packages/locale/lang/pt-BR.ts +2 -0
- package/packages/locale/lang/ru-RU.ts +2 -0
- package/packages/locale/lang/ug-CN.ts +2 -0
- package/packages/locale/lang/uk-UA.ts +2 -0
- package/packages/locale/lang/vi-VN.ts +2 -0
- package/packages/locale/lang/zh-CHT.ts +2 -0
- package/packages/locale/lang/zh-CN.ts +2 -0
- package/packages/table/module/custom/mixin.ts +9 -3
- package/packages/table/module/custom/panel.ts +48 -27
- package/packages/table/render/index.ts +24 -5
- package/packages/table/src/body.ts +2 -2
- package/packages/table/src/cell.ts +8 -2
- package/packages/table/src/header.ts +1 -1
- package/packages/table/src/methods.ts +209 -50
- package/packages/table/src/table.ts +34 -4
- package/packages/ui/index.ts +3 -0
- package/styles/components/icon.scss +13 -1
- package/styles/components/table.scss +53 -3
- package/styles/icon/iconfont.ttf +0 -0
- package/styles/icon/iconfont.woff +0 -0
- package/styles/icon/iconfont.woff2 +0 -0
- package/styles/theme/dark.scss +1 -0
- package/styles/theme/light.scss +1 -0
- package/styles/variable.scss +1 -0
- package/es/iconfont.1733469864818.woff +0 -0
- package/es/iconfont.1733469864818.woff2 +0 -0
- package/lib/iconfont.1733469864818.woff +0 -0
- package/lib/iconfont.1733469864818.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,visibleMethod:i}=t.computeRowDragOpts,i=i||(o?o.rowVisibleMethod:null),r=_xeUtils.default.isArray(r)?r:[r];return!(n&&s.drag&&(t||o&&o.showRowIcon))||i&&!i(l)||d&&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,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;
|
package/lib/table/src/header.js
CHANGED
|
@@ -92,7 +92,7 @@ const renderRows = (h, _vm, cols, $rowIndex) => {
|
|
|
92
92
|
thOns.mousedown = evnt => $xetable.triggerHeaderCellMousedownEvent(evnt, params);
|
|
93
93
|
}
|
|
94
94
|
// 拖拽行事件
|
|
95
|
-
if (columnOpts.drag
|
|
95
|
+
if (columnOpts.drag) {
|
|
96
96
|
thOns.dragstart = $xetable.handleHeaderCellDragDragstartEvent;
|
|
97
97
|
thOns.dragend = $xetable.handleHeaderCellDragDragendEvent;
|
|
98
98
|
thOns.dragover = $xetable.handleHeaderCellDragDragoverEvent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let renderer=_ui.VxeUI.renderer,cellType="header",renderRows=(x,v,C,b)=>{let{$parent:y,fixedType:_}=v,{$listeners:w,resizable:$,border:z,columnKey:W,headerCellClassName:H,headerCellStyle:R,showHeaderOverflow:S,headerAlign:T,align:M,highlightCurrentColumn:D,currentColumn:k,scrollXLoad:O,overflowX:U,scrollbarWidth:e,sortOpts:E,mouseConfig:
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let renderer=_ui.VxeUI.renderer,cellType="header",renderRows=(x,v,C,b)=>{let{$parent:y,fixedType:_}=v,{$listeners:w,resizable:$,border:z,columnKey:W,headerCellClassName:H,headerCellStyle:R,showHeaderOverflow:S,headerAlign:T,align:M,highlightCurrentColumn:D,currentColumn:k,scrollXLoad:O,overflowX:U,scrollbarWidth:e,sortOpts:E,mouseConfig:A,columnOpts:I}=y;return C.map((e,l)=>{var{type:t,showHeaderOverflow:r,headerAlign:i,align:a,headerClassName:n,editRender:o,cellRender:s}=e,d=e.id,o=o||s,s=o?renderer.get(o.name):null,o=e.children&&e.children.length,u=_?e.fixed!==_&&!o:e.fixed&&U,r=_xeUtils.default.isUndefined(r)||_xeUtils.default.isNull(r)?S:r,i=i||(s?s.tableHeaderCellAlign:"")||T||a||(s?s.tableCellAlign:"")||M;let c="ellipsis"===r;a="title"===r,s=!0===r||"tooltip"===r;let p=a||s||c;var r={},h=e.filters&&e.filters.some(e=>e.checked),m=y.getColumnIndex(e),f=y.getVTColumnIndex(e);let g={$table:y,$grid:y.xegrid,$rowIndex:b,column:e,columnIndex:m,$columnIndex:l,_columnIndex:f,fixed:_,type:cellType,isHidden:u,hasFilter:h};return O&&!p&&(c=p=!0),(I.isCurrent||D||w["header-cell-click"]||"cell"===E.trigger)&&(r.click=e=>y.triggerHeaderCellClickEvent(e,g)),w["header-cell-dblclick"]&&(r.dblclick=e=>y.triggerHeaderCellDblclickEvent(e,g)),A&&(r.mousedown=e=>y.triggerHeaderCellMousedownEvent(e,g)),I.drag&&(r.dragstart=y.handleHeaderCellDragDragstartEvent,r.dragend=y.handleHeaderCellDragDragendEvent,r.dragover=y.handleHeaderCellDragDragoverEvent),x("th",{class:["vxe-header--column",d,{["col--"+i]:i,["col--"+t]:t,"col--last":l===C.length-1,"col--fixed":e.fixed,"col--group":o,"col--ellipsis":p,"fixed--hidden":u,"is--sortable":e.sortable,"col--filter":!!e.filters,"is--filter-active":h,"col--current":k===e},(0,_utils.getClass)(n,g),(0,_utils.getClass)(H,g)],attrs:{colid:d,colspan:1<e.colSpan?e.colSpan:null,rowspan:1<e.rowSpan?e.rowSpan:null},style:R?_xeUtils.default.isFunction(R)?R(g):R:null,on:r,key:W||I.useKey||I.drag||o?d:l},[x("div",{class:["vxe-cell",{"c--title":a,"c--tooltip":s,"c--ellipsis":c}]},e.renderHeader(x,g)),u||o||!(_xeUtils.default.isBoolean(e.resizable)?e.resizable:I.resizable||$)?null:x("div",{class:["vxe-resizable",{"is--line":!z||"none"===z}],on:{mousedown:e=>v.resizeMousedown(e,g)}})])}).concat(e?[x("th",{key:"gr"+b,class:"vxe-header--gutter col--gutter"})]:[])};function renderHeads(r,i,e){let a=i.$parent;var l=a;let n=i.fixedType,{headerRowClassName:o,headerRowStyle:s}=l,d=a.isDragColMove,u=a.columnOpts;return e.map((e,l)=>{var t={$table:a,$rowIndex:l,fixed:n,type:cellType};return u.drag?r("transition-group",{props:{tag:"tr",name:"vxe-header--col-list"+(d?"":"-disabled"),class:["vxe-header--row",o?_xeUtils.default.isFunction(o)?o(t):o:""],style:s?_xeUtils.default.isFunction(s)?s(t):s:null}},renderRows(r,i,e,l)):r("tr",{class:["vxe-header--row",o?_xeUtils.default.isFunction(o)?o(t):o:""],style:s?_xeUtils.default.isFunction(s)?s(t):s:null},renderRows(r,i,e,l))})}var _default=exports.default={name:"VxeTableHeader",props:{tableData:Array,tableColumn:Array,tableGroupColumn:Array,fixedColumn:Array,size:String,fixedType:String},data(){return{headerColumn:[]}},watch:{tableColumn(){this.uploadColumn()}},created(){this.uploadColumn()},mounted(){var{$parent:e,$el:l,$refs:t,fixedType:r}=this,e=e.elemStore,r=`${r||"main"}-header-`;e[r+"wrapper"]=l,e[r+"table"]=t.table,e[r+"colgroup"]=t.colgroup,e[r+"list"]=t.thead,e[r+"xSpace"]=t.xSpace,e[r+"repair"]=t.repair},destroyed(){var{$parent:e,fixedType:l}=this,e=e.elemStore,l=`${l||"main"}-header-`;e[l+"wrapper"]=null,e[l+"table"]=null,e[l+"colgroup"]=null,e[l+"list"]=null,e[l+"xSpace"]=null,e[l+"repair"]=null},render(t){var{_e:e,$parent:l,fixedType:r,headerColumn:i,tableColumn:a,fixedColumn:n}=this,{tId:l,isGroup:o,visibleColumn:s,showHeaderOverflow:d,scrollXLoad:u,scrollbarWidth:c}=l;let p=i,h=a;return o?h=s:(r&&(u||d)&&(h=n),p=[h]),t("div",{class:["vxe-table--header-wrapper",r?`fixed-${r}--wrapper`:"body--wrapper"],attrs:{xid:l}},[r?e():t("div",{class:"vxe-body--x-space",ref:"xSpace"}),t("table",{class:"vxe-table--header",attrs:{xid:l,cellspacing:0,cellpadding:0,border:0},ref:"table"},[t("colgroup",{ref:"colgroup"},h.map((e,l)=>t("col",{attrs:{name:e.id},key:l})).concat(c?[t("col",{attrs:{name:"col_gutter"}})]:[])),t("thead",{ref:"thead"},renderHeads(t,this,p))]),t("div",{class:"vxe-table--header-border-line",ref:"repair"})])},methods:{uploadColumn(){var e=this.$parent;this.headerColumn=e.isGroup?(0,_util.convertHeaderColumnToRows)(this.tableGroupColumn):[]},resizeMousedown(e,t){var l=this.$parent;let s=t.column,{$parent:r,fixedType:d}=this,i=l.visibleColumn,{tableBody:a,leftContainer:u,rightContainer:c}=r.$refs,p=l.$el,h=r.$refs.resizeBar,m=r.$refs.refCellResizeTip,f=this.$el,{target:n,clientX:g}=e,x=t.cell=n.parentNode,v=l.computeResizableOpts,C=0,b=a.$el;var l=(0,_dom.getOffsetPos)(n,p),o=n.clientWidth,y=Math.floor(o/2);let _=(0,_util.getColReMinWidth)(t)-y,w=l.left-x.clientWidth+o+_,$=l.left+y,z=document.onmousemove,W=document.onmouseup,H="left"===d,R="right"===d,S=0;if(H||R){var T=H?"nextElementSibling":"previousElementSibling";let e=x[T];for(;e&&!(0,_dom.hasClass)(e,"fixed--hidden");)(0,_dom.hasClass)(e,"col--group")||(S+=e.offsetWidth),e=e[T];R&&c&&($=c.offsetLeft+S)}function M(l){l.stopPropagation(),l.preventDefault();var t=l.clientX-g;let e=$+t;if(t=d?0:b.scrollLeft,H?e=Math.min(e,(c?c.offsetLeft:b.clientWidth)-S-_):R?(w=(u?u.clientWidth:0)+S+_,e=Math.min(e,$+x.clientWidth-_)):w=Math.max(b.scrollLeft,w),t=(C=Math.max(e,w))-t,h.style.left=t+"px",v.showDragTip&&m){var r=p.clientWidth,i=f.getBoundingClientRect(),a=h.clientWidth,n=m.clientWidth,o=m.clientHeight;let e=-n;t<n+a?e=n+a-t:r<t&&(e+=r-t),m.style.left=e+"px",m.style.top=Math.min(p.clientHeight-o,Math.max(0,l.clientY-i.y-o/2))+"px",m.textContent=s.renderWidth+(R?$-C:C-$)+"px"}}r._isResize=!0,(0,_dom.addClass)(r.$el,"drag--resize"),h.style.display="block",document.onmousemove=M,document.onmouseup=function(e){document.onmousemove=z,document.onmouseup=W;let l=s.renderWidth+(R?$-C:C-$);s.resizeWidth=l,"fixed"===v.dragMode&&i.forEach(e=>{e.id===s.id||e.resizeWidth||(e.resizeWidth=e.renderWidth)}),h.style.display="none",r._isResize=!1,r._lastResizeTime=Date.now(),r.analyColumnWidth(),r.recalculate(!0).then(()=>{r.saveCustomStore("update:visible"),r.updateCellAreas(),r.emitEvent("resizable-change",Object.assign(Object.assign({},t),{resizeWidth:l}),e),setTimeout(()=>r.recalculate(!0),300)}),(0,_dom.removeClass)(r.$el,"drag--resize")},M(e),r.closeMenu()}}};
|
package/lib/table/src/methods.js
CHANGED
|
@@ -501,7 +501,7 @@ const updateColDropTipContent = ($xeTable, tdEl) => {
|
|
|
501
501
|
}
|
|
502
502
|
reactData.dragTipText = tipContent;
|
|
503
503
|
};
|
|
504
|
-
function showDropTip($xeTable, evnt, trEl, thEl, dragPos) {
|
|
504
|
+
function showDropTip($xeTable, evnt, trEl, thEl, showLine, dragPos) {
|
|
505
505
|
const reactData = $xeTable;
|
|
506
506
|
const el = $xeTable.$refs.refElem;
|
|
507
507
|
if (!el) {
|
|
@@ -515,26 +515,30 @@ function showDropTip($xeTable, evnt, trEl, thEl, dragPos) {
|
|
|
515
515
|
if (trEl) {
|
|
516
516
|
const rdLineEl = $xeTable.$refs.refDragRowLineElem;
|
|
517
517
|
if (rdLineEl) {
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
top = Math.
|
|
518
|
+
if (showLine) {
|
|
519
|
+
const trRect = trEl.getBoundingClientRect();
|
|
520
|
+
rdLineEl.style.display = 'block';
|
|
521
|
+
rdLineEl.style.top = `${Math.max(1, trRect.y - wrapperRect.y)}px`;
|
|
522
|
+
rdLineEl.style.height = `${trRect.height}px`;
|
|
523
|
+
rdLineEl.style.width = `${wrapperRect.width - scrollbarWidth}px`;
|
|
524
|
+
rdLineEl.setAttribute('drag-pos', dragPos);
|
|
525
|
+
} else {
|
|
526
|
+
rdLineEl.style.display = '';
|
|
522
527
|
}
|
|
523
|
-
rdLineEl.style.top = `${top}px`;
|
|
524
|
-
rdLineEl.style.width = `${wrapperRect.width - scrollbarWidth}px`;
|
|
525
|
-
rdLineEl.style.display = 'block';
|
|
526
528
|
}
|
|
527
529
|
} else if (thEl) {
|
|
528
530
|
const cdLineEl = $xeTable.$refs.refDragColLineElem;
|
|
529
531
|
if (cdLineEl) {
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
left = Math.
|
|
532
|
+
if (showLine) {
|
|
533
|
+
const thRect = thEl.getBoundingClientRect();
|
|
534
|
+
cdLineEl.style.display = 'block';
|
|
535
|
+
cdLineEl.style.left = `${Math.max(1, thRect.x - wrapperRect.x)}px`;
|
|
536
|
+
cdLineEl.style.width = `${thRect.width}px`;
|
|
537
|
+
cdLineEl.style.height = `${wrapperRect.height - scrollbarHeight}px`;
|
|
538
|
+
cdLineEl.setAttribute('drag-pos', dragPos);
|
|
539
|
+
} else {
|
|
540
|
+
cdLineEl.style.display = '';
|
|
534
541
|
}
|
|
535
|
-
cdLineEl.style.left = `${left}px`;
|
|
536
|
-
cdLineEl.style.height = `${wrapperRect.height - scrollbarHeight}px`;
|
|
537
|
-
cdLineEl.style.display = 'block';
|
|
538
542
|
}
|
|
539
543
|
}
|
|
540
544
|
const rdTipEl = $xeTable.$refs.refDragTipElem;
|
|
@@ -542,6 +546,7 @@ function showDropTip($xeTable, evnt, trEl, thEl, dragPos) {
|
|
|
542
546
|
rdTipEl.style.display = 'block';
|
|
543
547
|
rdTipEl.style.top = `${Math.min(el.clientHeight - el.scrollTop - rdTipEl.clientHeight, evnt.clientY - wrapperRect.y)}px`;
|
|
544
548
|
rdTipEl.style.left = `${Math.min(el.clientWidth - el.scrollLeft - rdTipEl.clientWidth - 16, evnt.clientX - wrapperRect.x)}px`;
|
|
549
|
+
rdTipEl.setAttribute('drag-status', showLine ? 'normal' : 'disabled');
|
|
545
550
|
}
|
|
546
551
|
}
|
|
547
552
|
const hideDropTip = $xeTable => {
|
|
@@ -1091,6 +1096,7 @@ const Methods = {
|
|
|
1091
1096
|
};
|
|
1092
1097
|
}
|
|
1093
1098
|
if (isSource) {
|
|
1099
|
+
cacheItem.level = level;
|
|
1094
1100
|
cacheItem.index = treeConfig && parent ? -1 : index;
|
|
1095
1101
|
fullDataRowIdMaps[rowid] = cacheItem;
|
|
1096
1102
|
}
|
|
@@ -1894,6 +1900,17 @@ const Methods = {
|
|
|
1894
1900
|
tableColumn: this.tableColumn.slice(0)
|
|
1895
1901
|
};
|
|
1896
1902
|
},
|
|
1903
|
+
/**
|
|
1904
|
+
* 获取表格的全量列
|
|
1905
|
+
*/
|
|
1906
|
+
getFullColumns() {
|
|
1907
|
+
const $xeTable = this;
|
|
1908
|
+
const internalData = $xeTable;
|
|
1909
|
+
const {
|
|
1910
|
+
collectColumn
|
|
1911
|
+
} = internalData;
|
|
1912
|
+
return collectColumn.slice(0);
|
|
1913
|
+
},
|
|
1897
1914
|
/**
|
|
1898
1915
|
* 获取数据,和 data 的行为一致,也可以指定索引获取数据
|
|
1899
1916
|
*/
|
|
@@ -2424,6 +2441,38 @@ const Methods = {
|
|
|
2424
2441
|
footerData: footerTableData.slice(0)
|
|
2425
2442
|
};
|
|
2426
2443
|
},
|
|
2444
|
+
/**
|
|
2445
|
+
* 获取表格的全量数据,如果是 tree-config 则返回带层级的树结构
|
|
2446
|
+
*/
|
|
2447
|
+
getFullData() {
|
|
2448
|
+
const $xeTable = this;
|
|
2449
|
+
const props = $xeTable;
|
|
2450
|
+
const internalData = $xeTable;
|
|
2451
|
+
const {
|
|
2452
|
+
treeConfig
|
|
2453
|
+
} = props;
|
|
2454
|
+
const {
|
|
2455
|
+
tableFullData,
|
|
2456
|
+
tableFullTreeData
|
|
2457
|
+
} = internalData;
|
|
2458
|
+
if (treeConfig) {
|
|
2459
|
+
const treeOpts = $xeTable.computeTreeOpts;
|
|
2460
|
+
const {
|
|
2461
|
+
transform,
|
|
2462
|
+
mapChildrenField
|
|
2463
|
+
} = treeOpts;
|
|
2464
|
+
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
2465
|
+
if (transform) {
|
|
2466
|
+
return _xeUtils.default.toArrayTree(_xeUtils.default.toTreeArray(tableFullTreeData, {
|
|
2467
|
+
children: mapChildrenField
|
|
2468
|
+
}), {
|
|
2469
|
+
children: childrenField
|
|
2470
|
+
});
|
|
2471
|
+
}
|
|
2472
|
+
return tableFullTreeData.slice(0);
|
|
2473
|
+
}
|
|
2474
|
+
return tableFullData.slice(0);
|
|
2475
|
+
},
|
|
2427
2476
|
/**
|
|
2428
2477
|
* 处理数据加载默认行为
|
|
2429
2478
|
* 默认执行一次,除非被重置
|
|
@@ -2625,9 +2674,12 @@ const Methods = {
|
|
|
2625
2674
|
return this.refreshColumn(true);
|
|
2626
2675
|
},
|
|
2627
2676
|
handleCustomRestore(storeData) {
|
|
2677
|
+
const $xetable = this;
|
|
2678
|
+
const reactData = $xetable;
|
|
2679
|
+
const internalData = $xetable;
|
|
2628
2680
|
let {
|
|
2629
2681
|
collectColumn
|
|
2630
|
-
} =
|
|
2682
|
+
} = internalData;
|
|
2631
2683
|
const {
|
|
2632
2684
|
resizableData,
|
|
2633
2685
|
sortData,
|
|
@@ -2659,9 +2711,12 @@ const Methods = {
|
|
|
2659
2711
|
// 如果自定义了顺序
|
|
2660
2712
|
if (hasCustomSort) {
|
|
2661
2713
|
collectColumn = _xeUtils.default.orderBy(collectColumn, 'renderSortNumber');
|
|
2662
|
-
|
|
2663
|
-
|
|
2714
|
+
internalData.collectColumn = collectColumn;
|
|
2715
|
+
internalData.tableFullColumn = getColumnList(collectColumn);
|
|
2664
2716
|
}
|
|
2717
|
+
reactData.isCustomStatus = true;
|
|
2718
|
+
} else {
|
|
2719
|
+
reactData.isCustomStatus = false;
|
|
2665
2720
|
}
|
|
2666
2721
|
},
|
|
2667
2722
|
/**
|
|
@@ -5507,20 +5562,45 @@ const Methods = {
|
|
|
5507
5562
|
}, params), evnt);
|
|
5508
5563
|
}
|
|
5509
5564
|
},
|
|
5565
|
+
triggerCurrentColumnEvent(evnt, params) {
|
|
5566
|
+
const $xeTable = this;
|
|
5567
|
+
const columnOpts = $xeTable.computeColumnOpts;
|
|
5568
|
+
const {
|
|
5569
|
+
currentMethod
|
|
5570
|
+
} = columnOpts;
|
|
5571
|
+
const {
|
|
5572
|
+
column
|
|
5573
|
+
} = params;
|
|
5574
|
+
if (!currentMethod || currentMethod({
|
|
5575
|
+
column
|
|
5576
|
+
})) {
|
|
5577
|
+
$xeTable.setCurrentColumn(column);
|
|
5578
|
+
}
|
|
5579
|
+
},
|
|
5510
5580
|
triggerCurrentRowEvent(evnt, params) {
|
|
5581
|
+
const $xeTable = this;
|
|
5582
|
+
const reactData = $xeTable;
|
|
5511
5583
|
const {
|
|
5512
5584
|
currentRow: oldValue
|
|
5513
|
-
} =
|
|
5585
|
+
} = reactData;
|
|
5586
|
+
const rowOpts = $xeTable.computeRowOpts;
|
|
5587
|
+
const {
|
|
5588
|
+
currentMethod
|
|
5589
|
+
} = rowOpts;
|
|
5514
5590
|
const {
|
|
5515
5591
|
row: newValue
|
|
5516
5592
|
} = params;
|
|
5517
5593
|
const isChange = oldValue !== newValue;
|
|
5518
|
-
|
|
5519
|
-
|
|
5520
|
-
|
|
5521
|
-
|
|
5522
|
-
|
|
5523
|
-
|
|
5594
|
+
if (!currentMethod || currentMethod({
|
|
5595
|
+
row: newValue
|
|
5596
|
+
})) {
|
|
5597
|
+
$xeTable.setCurrentRow(newValue);
|
|
5598
|
+
if (isChange) {
|
|
5599
|
+
$xeTable.dispatchEvent('current-change', Object.assign({
|
|
5600
|
+
oldValue,
|
|
5601
|
+
newValue
|
|
5602
|
+
}, params), evnt);
|
|
5603
|
+
}
|
|
5524
5604
|
}
|
|
5525
5605
|
},
|
|
5526
5606
|
/**
|
|
@@ -5667,7 +5747,7 @@ const Methods = {
|
|
|
5667
5747
|
cell
|
|
5668
5748
|
}, params), evnt);
|
|
5669
5749
|
if (this.columnOpts.isCurrent || this.highlightCurrentColumn) {
|
|
5670
|
-
|
|
5750
|
+
this.triggerCurrentColumnEvent(evnt, params);
|
|
5671
5751
|
}
|
|
5672
5752
|
return this.$nextTick();
|
|
5673
5753
|
},
|
|
@@ -5928,20 +6008,26 @@ const Methods = {
|
|
|
5928
6008
|
} = props;
|
|
5929
6009
|
const rowDragOpts = $xeTable.computeRowDragOpts;
|
|
5930
6010
|
const {
|
|
6011
|
+
fullAllDataRowIdData
|
|
6012
|
+
} = internalData;
|
|
6013
|
+
const {
|
|
6014
|
+
isCrossDrag,
|
|
6015
|
+
isSelfToChildDrag,
|
|
5931
6016
|
dragEndMethod
|
|
5932
6017
|
} = rowDragOpts;
|
|
5933
6018
|
const treeOpts = $xeTable.computeTreeOpts;
|
|
5934
6019
|
const {
|
|
5935
|
-
transform
|
|
6020
|
+
transform,
|
|
6021
|
+
mapChildrenField,
|
|
6022
|
+
parentField
|
|
5936
6023
|
} = treeOpts;
|
|
6024
|
+
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
5937
6025
|
const {
|
|
5938
6026
|
dragRow
|
|
5939
6027
|
} = reactData;
|
|
5940
6028
|
const {
|
|
5941
6029
|
afterFullData,
|
|
5942
|
-
afterTreeFullData,
|
|
5943
6030
|
tableFullData,
|
|
5944
|
-
tableFullTreeData,
|
|
5945
6031
|
prevDragRow,
|
|
5946
6032
|
prevDragPos
|
|
5947
6033
|
} = internalData;
|
|
@@ -5961,26 +6047,102 @@ const Methods = {
|
|
|
5961
6047
|
}
|
|
5962
6048
|
let oafIndex = -1;
|
|
5963
6049
|
let nafIndex = -1;
|
|
6050
|
+
// 如果为树结构
|
|
5964
6051
|
if (treeConfig) {
|
|
5965
|
-
|
|
5966
|
-
|
|
5967
|
-
|
|
5968
|
-
|
|
5969
|
-
|
|
5970
|
-
|
|
5971
|
-
|
|
5972
|
-
|
|
5973
|
-
|
|
5974
|
-
|
|
5975
|
-
|
|
5976
|
-
|
|
6052
|
+
if (transform) {
|
|
6053
|
+
// 移出源位置
|
|
6054
|
+
const oldRowid = (0, _util.getRowid)($xeTable, dragRow);
|
|
6055
|
+
const oldRest = fullAllDataRowIdData[oldRowid];
|
|
6056
|
+
const newRowid = (0, _util.getRowid)($xeTable, prevDragRow);
|
|
6057
|
+
const newRest = fullAllDataRowIdData[newRowid];
|
|
6058
|
+
if (oldRest && newRest) {
|
|
6059
|
+
const {
|
|
6060
|
+
level: oldLevel
|
|
6061
|
+
} = oldRest;
|
|
6062
|
+
const {
|
|
6063
|
+
level: newLevel
|
|
6064
|
+
} = newRest;
|
|
6065
|
+
const oldAllMaps = {};
|
|
6066
|
+
_xeUtils.default.eachTree([dragRow], item => {
|
|
6067
|
+
oldAllMaps[(0, _util.getRowid)($xeTable, item)] = item;
|
|
6068
|
+
}, {
|
|
6069
|
+
children: mapChildrenField
|
|
6070
|
+
});
|
|
6071
|
+
let isSelfToChildStatus = false;
|
|
6072
|
+
if (oldLevel && newLevel) {
|
|
6073
|
+
// 子到子
|
|
6074
|
+
if (!isCrossDrag) {
|
|
6075
|
+
return;
|
|
6076
|
+
}
|
|
6077
|
+
if (oldAllMaps[newRowid]) {
|
|
6078
|
+
if (!isSelfToChildDrag) {
|
|
6079
|
+
isSelfToChildStatus = true;
|
|
6080
|
+
if (_ui.VxeUI.modal) {
|
|
6081
|
+
_ui.VxeUI.modal.message({
|
|
6082
|
+
status: 'error',
|
|
6083
|
+
content: getI18n('vxe.error.treeDragChild')
|
|
6084
|
+
});
|
|
6085
|
+
}
|
|
6086
|
+
return;
|
|
6087
|
+
}
|
|
6088
|
+
}
|
|
6089
|
+
} else if (oldLevel) {
|
|
6090
|
+
// 子到根
|
|
6091
|
+
if (!isCrossDrag) {
|
|
6092
|
+
return;
|
|
6093
|
+
}
|
|
6094
|
+
} else if (newLevel) {
|
|
6095
|
+
// 根到子
|
|
6096
|
+
if (!isCrossDrag) {
|
|
6097
|
+
return;
|
|
6098
|
+
}
|
|
6099
|
+
if (oldAllMaps[newRowid]) {
|
|
6100
|
+
isSelfToChildStatus = true;
|
|
6101
|
+
if (!isSelfToChildDrag) {
|
|
6102
|
+
if (_ui.VxeUI.modal) {
|
|
6103
|
+
_ui.VxeUI.modal.message({
|
|
6104
|
+
status: 'error',
|
|
6105
|
+
content: getI18n('vxe.error.treeDragChild')
|
|
6106
|
+
});
|
|
6107
|
+
}
|
|
6108
|
+
return;
|
|
6109
|
+
}
|
|
6110
|
+
}
|
|
6111
|
+
} else {
|
|
6112
|
+
// 根到根
|
|
6113
|
+
}
|
|
6114
|
+
const fullList = _xeUtils.default.toTreeArray(internalData.afterTreeFullData, {
|
|
6115
|
+
children: childrenField
|
|
6116
|
+
});
|
|
6117
|
+
// 移出
|
|
6118
|
+
const otfIndex = $xeTable.findRowIndexOf(fullList, dragRow);
|
|
6119
|
+
fullList.splice(otfIndex, 1);
|
|
6120
|
+
// 插入
|
|
6121
|
+
const ptfIndex = $xeTable.findRowIndexOf(fullList, prevDragRow);
|
|
6122
|
+
const ntfIndex = ptfIndex + dragOffsetIndex;
|
|
6123
|
+
fullList.splice(ntfIndex, 0, dragRow);
|
|
6124
|
+
// 改变层级
|
|
6125
|
+
if (isSelfToChildStatus && isSelfToChildDrag) {
|
|
6126
|
+
_xeUtils.default.each(dragRow[childrenField], childRow => {
|
|
6127
|
+
childRow[parentField] = dragRow[parentField];
|
|
6128
|
+
});
|
|
6129
|
+
}
|
|
6130
|
+
dragRow[parentField] = prevDragRow[parentField];
|
|
6131
|
+
internalData.tableFullTreeData = _xeUtils.default.toArrayTree(fullList, {
|
|
6132
|
+
key: treeOpts.rowField,
|
|
6133
|
+
parentKey: treeOpts.parentField,
|
|
6134
|
+
children: childrenField,
|
|
6135
|
+
mapChildren: treeOpts.mapChildrenField
|
|
6136
|
+
});
|
|
6137
|
+
}
|
|
6138
|
+
}
|
|
5977
6139
|
} else {
|
|
5978
|
-
//
|
|
6140
|
+
// 移出
|
|
5979
6141
|
oafIndex = $xeTable.findRowIndexOf(afterFullData, dragRow);
|
|
5980
6142
|
const otfIndex = $xeTable.findRowIndexOf(tableFullData, dragRow);
|
|
5981
6143
|
afterFullData.splice(oafIndex, 1);
|
|
5982
6144
|
tableFullData.splice(otfIndex, 1);
|
|
5983
|
-
//
|
|
6145
|
+
// 插入
|
|
5984
6146
|
const pafIndex = $xeTable.findRowIndexOf(afterFullData, prevDragRow);
|
|
5985
6147
|
const ptfIndex = $xeTable.findRowIndexOf(tableFullData, prevDragRow);
|
|
5986
6148
|
nafIndex = pafIndex + dragOffsetIndex;
|
|
@@ -5989,9 +6151,9 @@ const Methods = {
|
|
|
5989
6151
|
tableFullData.splice(ntfIndex, 0, dragRow);
|
|
5990
6152
|
}
|
|
5991
6153
|
reactData.isDragRowMove = true;
|
|
5992
|
-
$xeTable.cacheRowMap();
|
|
5993
|
-
$xeTable.updateScrollYStatus();
|
|
5994
6154
|
$xeTable.handleTableData(treeConfig && transform);
|
|
6155
|
+
$xeTable.cacheRowMap(true);
|
|
6156
|
+
$xeTable.updateScrollYStatus();
|
|
5995
6157
|
if (!(treeConfig && transform)) {
|
|
5996
6158
|
$xeTable.updateAfterDataIndex();
|
|
5997
6159
|
}
|
|
@@ -6026,29 +6188,44 @@ const Methods = {
|
|
|
6026
6188
|
},
|
|
6027
6189
|
handleRowDragDragoverEvent(evnt) {
|
|
6028
6190
|
const $xeTable = this;
|
|
6191
|
+
const props = $xeTable;
|
|
6029
6192
|
const internalData = $xeTable;
|
|
6030
6193
|
const reactData = $xeTable;
|
|
6194
|
+
const {
|
|
6195
|
+
treeConfig
|
|
6196
|
+
} = props;
|
|
6197
|
+
const {
|
|
6198
|
+
fullAllDataRowIdData
|
|
6199
|
+
} = internalData;
|
|
6031
6200
|
const {
|
|
6032
6201
|
dragRow
|
|
6033
6202
|
} = reactData;
|
|
6203
|
+
const rowDragOpts = $xeTable.computeRowDragOpts;
|
|
6204
|
+
const {
|
|
6205
|
+
isCrossDrag
|
|
6206
|
+
} = rowDragOpts;
|
|
6034
6207
|
if (!dragRow) {
|
|
6035
6208
|
evnt.preventDefault();
|
|
6036
6209
|
return;
|
|
6037
6210
|
}
|
|
6038
6211
|
const trEl = evnt.currentTarget;
|
|
6039
|
-
const rowid = trEl.getAttribute('rowid');
|
|
6040
|
-
const
|
|
6041
|
-
if (
|
|
6042
|
-
|
|
6212
|
+
const rowid = trEl.getAttribute('rowid') || '';
|
|
6213
|
+
const rest = fullAllDataRowIdData[rowid];
|
|
6214
|
+
if (rest) {
|
|
6215
|
+
const row = rest.row;
|
|
6043
6216
|
evnt.preventDefault();
|
|
6044
6217
|
const {
|
|
6045
6218
|
dragRow
|
|
6046
6219
|
} = reactData;
|
|
6047
6220
|
const offsetY = evnt.clientY - trEl.getBoundingClientRect().y;
|
|
6048
6221
|
const dragPos = offsetY < trEl.clientHeight / 2 ? 'top' : 'bottom';
|
|
6222
|
+
if ($xeTable.eqRow(dragRow, row) || !isCrossDrag && treeConfig && rest.level) {
|
|
6223
|
+
showDropTip($xeTable, evnt, trEl, null, false, dragPos);
|
|
6224
|
+
return;
|
|
6225
|
+
}
|
|
6049
6226
|
internalData.prevDragRow = row;
|
|
6050
6227
|
internalData.prevDragPos = dragPos;
|
|
6051
|
-
showDropTip($xeTable, evnt, trEl, null, dragPos);
|
|
6228
|
+
showDropTip($xeTable, evnt, trEl, null, true, dragPos);
|
|
6052
6229
|
$xeTable.dispatchEvent('row-dragover', {
|
|
6053
6230
|
oldRow: dragRow,
|
|
6054
6231
|
targetRow: row,
|
|
@@ -6218,9 +6395,13 @@ const Methods = {
|
|
|
6218
6395
|
} = reactData;
|
|
6219
6396
|
const offsetX = evnt.clientX - thEl.getBoundingClientRect().x;
|
|
6220
6397
|
const dragPos = offsetX < thEl.clientWidth / 2 ? 'left' : 'right';
|
|
6398
|
+
if (dragCol.id === column.id || column.parentId) {
|
|
6399
|
+
showDropTip($xeTable, evnt, null, thEl, false, dragPos);
|
|
6400
|
+
return;
|
|
6401
|
+
}
|
|
6221
6402
|
internalData.prevDragCol = column;
|
|
6222
6403
|
internalData.prevDragPos = dragPos;
|
|
6223
|
-
showDropTip($xeTable, evnt, null, thEl, dragPos);
|
|
6404
|
+
showDropTip($xeTable, evnt, null, thEl, true, dragPos);
|
|
6224
6405
|
$xeTable.dispatchEvent('column-dragover', {
|
|
6225
6406
|
oldColumn: dragCol,
|
|
6226
6407
|
targetColumn: column,
|