vxe-table 4.13.46 → 4.13.48
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/grid/src/grid.js +1 -1
- package/es/index.css +1 -1
- package/es/index.min.css +1 -1
- package/es/locale/lang/ar-EG.js +12 -2
- package/es/locale/lang/de-DE.js +12 -2
- package/es/locale/lang/en-US.js +12 -2
- package/es/locale/lang/es-ES.js +12 -2
- package/es/locale/lang/fr-FR.js +12 -2
- package/es/locale/lang/hu-HU.js +12 -2
- package/es/locale/lang/hy-AM.js +12 -2
- package/es/locale/lang/id-ID.js +12 -2
- package/es/locale/lang/it-IT.js +12 -2
- package/es/locale/lang/ja-JP.js +12 -2
- package/es/locale/lang/ko-KR.js +12 -2
- package/es/locale/lang/ms-MY.js +12 -2
- package/es/locale/lang/nb-NO.js +12 -2
- package/es/locale/lang/pt-BR.js +12 -2
- package/es/locale/lang/ru-RU.js +12 -2
- package/es/locale/lang/th-TH.js +12 -2
- package/es/locale/lang/ug-CN.js +12 -2
- package/es/locale/lang/uk-UA.js +12 -2
- package/es/locale/lang/uz-UZ.js +12 -2
- package/es/locale/lang/vi-VN.js +12 -2
- package/es/locale/lang/zh-CHT.js +12 -2
- package/es/locale/lang/zh-CN.js +12 -2
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/custom/hook.js +20 -5
- package/es/table/module/custom/panel.js +34 -15
- package/es/table/src/body.js +8 -5
- package/es/table/src/cell.js +19 -4
- package/es/table/src/columnInfo.js +1 -0
- package/es/table/src/table.js +45 -7
- package/es/table/style.css +5 -1
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +8 -6
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +5 -1
- package/es/vxe-table/style.min.css +1 -1
- package/lib/grid/src/grid.js +1 -1
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +111 -53
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/ar-EG.js +12 -2
- package/lib/locale/lang/ar-EG.min.js +1 -1
- package/lib/locale/lang/ar-EG.umd.js +12 -2
- package/lib/locale/lang/de-DE.js +12 -2
- package/lib/locale/lang/de-DE.min.js +1 -1
- package/lib/locale/lang/de-DE.umd.js +12 -2
- package/lib/locale/lang/en-US.js +12 -2
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +12 -2
- package/lib/locale/lang/es-ES.js +12 -2
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +12 -2
- package/lib/locale/lang/fr-FR.js +12 -2
- package/lib/locale/lang/fr-FR.min.js +1 -1
- package/lib/locale/lang/fr-FR.umd.js +12 -2
- package/lib/locale/lang/hu-HU.js +12 -2
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/hu-HU.umd.js +12 -2
- package/lib/locale/lang/hy-AM.js +12 -2
- package/lib/locale/lang/hy-AM.min.js +1 -1
- package/lib/locale/lang/hy-AM.umd.js +12 -2
- package/lib/locale/lang/id-ID.js +12 -2
- package/lib/locale/lang/id-ID.min.js +1 -1
- package/lib/locale/lang/id-ID.umd.js +12 -2
- package/lib/locale/lang/it-IT.js +12 -2
- package/lib/locale/lang/it-IT.min.js +1 -1
- package/lib/locale/lang/it-IT.umd.js +12 -2
- package/lib/locale/lang/ja-JP.js +12 -2
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +12 -2
- package/lib/locale/lang/ko-KR.js +12 -2
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/ko-KR.umd.js +12 -2
- package/lib/locale/lang/ms-MY.js +12 -2
- package/lib/locale/lang/ms-MY.min.js +1 -1
- package/lib/locale/lang/ms-MY.umd.js +12 -2
- package/lib/locale/lang/nb-NO.js +12 -2
- package/lib/locale/lang/nb-NO.min.js +1 -1
- package/lib/locale/lang/nb-NO.umd.js +12 -2
- package/lib/locale/lang/pt-BR.js +12 -2
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +12 -2
- package/lib/locale/lang/ru-RU.js +12 -2
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +12 -2
- package/lib/locale/lang/th-TH.js +12 -2
- package/lib/locale/lang/th-TH.min.js +1 -1
- package/lib/locale/lang/th-TH.umd.js +12 -2
- package/lib/locale/lang/ug-CN.js +12 -2
- package/lib/locale/lang/ug-CN.min.js +1 -1
- package/lib/locale/lang/ug-CN.umd.js +12 -2
- package/lib/locale/lang/uk-UA.js +12 -2
- package/lib/locale/lang/uk-UA.min.js +1 -1
- package/lib/locale/lang/uk-UA.umd.js +12 -2
- package/lib/locale/lang/uz-UZ.js +12 -2
- package/lib/locale/lang/uz-UZ.min.js +1 -1
- package/lib/locale/lang/uz-UZ.umd.js +12 -2
- package/lib/locale/lang/vi-VN.js +12 -2
- package/lib/locale/lang/vi-VN.min.js +1 -1
- package/lib/locale/lang/vi-VN.umd.js +12 -2
- package/lib/locale/lang/zh-CHT.js +12 -2
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CHT.umd.js +12 -2
- package/lib/locale/lang/zh-CN.js +12 -2
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +12 -2
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/custom/hook.js +20 -5
- package/lib/table/module/custom/hook.min.js +1 -1
- package/lib/table/module/custom/panel.js +32 -15
- package/lib/table/module/custom/panel.min.js +1 -1
- package/lib/table/src/body.js +8 -5
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +17 -6
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/columnInfo.js +1 -0
- package/lib/table/src/columnInfo.min.js +1 -1
- package/lib/table/src/table.js +11 -11
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/style/style.css +5 -1
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +8 -6
- 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 -1
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/grid/src/grid.ts +1 -1
- package/packages/locale/lang/ar-EG.ts +12 -2
- package/packages/locale/lang/de-DE.ts +12 -2
- package/packages/locale/lang/en-US.ts +12 -2
- package/packages/locale/lang/es-ES.ts +12 -2
- package/packages/locale/lang/fr-FR.ts +12 -2
- package/packages/locale/lang/hu-HU.ts +12 -2
- package/packages/locale/lang/hy-AM.ts +12 -2
- package/packages/locale/lang/id-ID.ts +12 -2
- package/packages/locale/lang/it-IT.ts +12 -2
- package/packages/locale/lang/ja-JP.ts +12 -2
- package/packages/locale/lang/ko-KR.ts +12 -2
- package/packages/locale/lang/ms-MY.ts +12 -2
- package/packages/locale/lang/nb-NO.ts +12 -2
- package/packages/locale/lang/pt-BR.ts +12 -2
- package/packages/locale/lang/ru-RU.ts +12 -2
- package/packages/locale/lang/th-TH.ts +12 -2
- package/packages/locale/lang/ug-CN.ts +12 -2
- package/packages/locale/lang/uk-UA.ts +12 -2
- package/packages/locale/lang/uz-UZ.ts +12 -2
- package/packages/locale/lang/vi-VN.ts +12 -2
- package/packages/locale/lang/zh-CHT.ts +12 -2
- package/packages/locale/lang/zh-CN.ts +12 -2
- package/packages/table/module/custom/hook.ts +18 -5
- package/packages/table/module/custom/panel.ts +33 -15
- package/packages/table/src/body.ts +8 -5
- package/packages/table/src/cell.ts +23 -11
- package/packages/table/src/columnInfo.ts +1 -0
- package/packages/table/src/table.ts +46 -7
- package/packages/ui/index.ts +7 -5
- package/styles/components/table-module/custom.scss +5 -1
- /package/es/{iconfont.1750660623154.ttf → iconfont.1750813693750.ttf} +0 -0
- /package/es/{iconfont.1750660623154.woff → iconfont.1750813693750.woff} +0 -0
- /package/es/{iconfont.1750660623154.woff2 → iconfont.1750813693750.woff2} +0 -0
- /package/lib/{iconfont.1750660623154.ttf → iconfont.1750813693750.ttf} +0 -0
- /package/lib/{iconfont.1750660623154.woff → iconfont.1750813693750.woff} +0 -0
- /package/lib/{iconfont.1750660623154.woff2 → iconfont.1750813693750.woff2} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Cell=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,getIcon,renderer,formats,renderEmptyElement}=_ui.VxeUI;function renderTitlePrefixIcon(l){let{$table:t,column:e}=l,r=e.titlePrefix||e.titleHelp;return r?(0,_vue.h)("span",{class:["vxe-cell-title-prefix-icon",r.iconStatus?"theme--"+r.iconStatus:""],onMouseenter(e){t.triggerHeaderTitleEvent(e,r,l)},onMouseleave(e){t.handleTargetLeaveEvent(e)}},[(0,_vue.h)("i",{class:r.icon||getIcon().TABLE_TITLE_PREFIX})]):renderEmptyElement(t)}function renderTitleSuffixIcon(l){let{$table:t,column:e}=l,r=e.titleSuffix;return r?(0,_vue.h)("span",{class:["vxe-cell-title-suffix-icon",r.iconStatus?"theme--"+r.iconStatus:""],onMouseenter(e){t.triggerHeaderTitleEvent(e,r,l)},onMouseleave(e){t.handleTargetLeaveEvent(e)}},[(0,_vue.h)("i",{class:r.icon||getIcon().TABLE_TITLE_SUFFIX})]):renderEmptyElement(t)}function renderCellDragIcon(l){let{$table:t,column:e}=l;var r=t.context,r=r.slots,n=e.slots,a=t.props.dragConfig,o=t.getComputeMaps().computeRowDragOpts,{icon:o,trigger:d,disabledMethod:s}=o.value,s=s||(a?a.rowDisabledMethod:null);let i=s&&s(l);s=(n?n.rowDragIcon||n["row-drag-icon"]:null)||r.rowDragIcon||r["row-drag-icon"],n={};return"cell"!==d&&(n.onMousedown=e=>{i||t.handleCellDragMousedownEvent(e,l)},n.onMouseup=t.handleCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":i}]},n),s?t.callSlot(s,l):[(0,_vue.h)("i",{class:o||(a?a.rowIcon:"")||getIcon().TABLE_DRAG_ROW})])}function renderCellBaseVNs(e,l){var{$table:t,column:r,level:n}=e,r=r.dragSort,{treeConfig:a,dragConfig:o}=t.props,{computeRowOpts:t,computeRowDragOpts:d,computeTreeOpts:s}=t.getComputeMaps(),t=t.value,d=d.value,s=s.value,{showIcon:d,isPeerDrag:i,isCrossDrag:c,visibleMethod:u}=d,u=u||(o?o.rowVisibleMethod:null),C=[];return r&&t.drag&&(d||o&&o.showRowIcon)&&(!u||u(e))&&(!a||s.transform&&(i||c||!n))&&C.push(renderCellDragIcon(e)),C.concat(_xeUtils.default.isArray(l)?l:[l])}function renderHeaderCellDragIcon(t){let{$table:r,column:e}=t;var n=r.context,n=n.slots,a=e.slots,{computeColumnOpts:o,computeColumnDragOpts:d}=r.getComputeMaps(),o=o.value,{showIcon:d,icon:s,trigger:i,isPeerDrag:l,isCrossDrag:c,visibleMethod:u,disabledMethod:C}=d.value;if(!o.drag||!d||u&&!u(t)||e.fixed||!l&&!c&&e.parentId)return renderEmptyElement(r);{let l=C&&C(t);o=(a?a.columnDragIcon||a["column-drag-icon"]:null)||n.columnDragIcon||n["column-drag-icon"],d={};return"cell"!==i&&(d.onMousedown=e=>{l||r.handleHeaderCellDragMousedownEvent(e,t)},d.onMouseup=r.handleHeaderCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":l}]},d),o?r.callSlot(o,t):[(0,_vue.h)("i",{class:s||getIcon().TABLE_DRAG_COLUMN})])}}function renderHeaderCellBaseVNs(e,l){return[renderTitlePrefixIcon(e),renderHeaderCellDragIcon(e),..._xeUtils.default.isArray(l)?l:[l],renderTitleSuffixIcon(e)]}function renderTitleContent(l,e){let{$table:t,column:r}=l;var n=t.props;let a=t.reactData;var o=t.getComputeMaps().computeTooltipOpts,n=n.showHeaderOverflow,{type:d,showHeaderOverflow:s}=r;let i=o.value.showAll;o=_xeUtils.default.isUndefined(s)||_xeUtils.default.isNull(s)?n:s;let c="title"===o,u=!0===o||"tooltip"===o;n={};return(c||u||i)&&(n.onMouseenter=e=>{a.isDragResize||(c?(0,_dom.updateCellTitle)(e.currentTarget,r):(u||i)&&t.triggerHeaderTooltipEvent(e,l))}),(u||i)&&(n.onMouseleave=e=>{a.isDragResize||(u||i)&&t.handleTargetLeaveEvent(e)}),["html"===d&&_xeUtils.default.isString(e)?(0,_vue.h)("span",Object.assign({class:"vxe-cell--title",innerHTML:e},n)):(0,_vue.h)("span",Object.assign({class:"vxe-cell--title"},n),(0,_vn.getSlotVNs)(e))]}function getFooterContent(e){var{$table:l,column:t,_columnIndex:r,items:n,row:a}=e,{slots:o,editRender:d,cellRender:s,footerFormatter:i}=t,d=d||s,s=o?o.footer:null;if(s)return l.callSlot(s,e);let c="";c=_xeUtils.default.isArray(n)?n[r]:_xeUtils.default.get(a,t.field);o=Object.assign(e,{itemValue:c});if(i)return _xeUtils.default.isFunction(i)?[(0,_vue.h)("span",{class:"vxe-cell--label"},""+i(o))]:(n=(s=(l=_xeUtils.default.isArray(i))?formats.get(i[0]):formats.get(i))?s.tableFooterCellFormatMethod:null)?[(0,_vue.h)("span",{class:"vxe-cell--label"},""+(l?n(o,...i.slice(1)):n(o)))]:[(0,_vue.h)("span",{class:"vxe-cell--label"},"")];if(d){r=renderer.get(d.name);if(r){a=r.renderTableFooter||r.renderFooter;if(a)return(0,_vn.getSlotVNs)(a(d,o))}}return[(0,_vue.h)("span",{class:"vxe-cell--label"},(0,_utils.formatText)(c,1))]}function getDefaultCellLabel(e){var{$table:e,row:l,column:t}=e;return(0,_utils.formatText)(e.getCellLabel(l,t),1)}function renderCellHandle(e){var{column:l,row:t,$table:r}=e,n=r.props,a=r.reactData.isRowGroupStatus,n=n.editConfig,{type:o,treeNode:d,rowGroupNode:s,editRender:i}=l,{computeEditOpts:r,computeCheckboxOpts:c,computeAggregateOpts:u}=r.getComputeMaps(),u=u.value.mode,C=c.value,c=r.value,p=d||a&&("column"===u?l.field===t.groupField:s);switch(o){case"seq":return p?Cell.renderDeepIndexCell(e):Cell.renderSeqCell(e);case"radio":return p?Cell.renderDeepRadioCell(e):Cell.renderRadioCell(e);case"checkbox":return C.checkField?p?Cell.renderDeepSelectionCellByProp(e):Cell.renderCheckboxCellByProp(e):p?Cell.renderDeepSelectionCell(e):Cell.renderCheckboxCell(e);case"expand":return Cell.renderExpandCell(e);case"html":return p?Cell.renderDeepHTMLCell(e):Cell.renderHTMLCell(e)}return(0,_utils.isEnableConf)(n)&&i?"cell"===c.mode?p?Cell.renderDeepCellEdit(e):Cell.renderCellEdit(e):p?Cell.renderDeepRowEdit(e):Cell.renderRowEdit(e):p?Cell.renderDeepCell(e):Cell.renderDefaultCell(e)}function renderHeaderHandle(e){var{column:l,$table:t}=e,t=t.props.editConfig,{type:l,filters:r,sortable:n,editRender:a}=l;switch(l){case"seq":return Cell.renderSeqHeader(e);case"radio":return Cell.renderRadioHeader(e);case"checkbox":return Cell.renderCheckboxHeader(e);case"html":if(r&&n)return Cell.renderSortAndFilterHeader(e);if(n)return Cell.renderSortHeader(e);if(r)return Cell.renderFilterHeader(e)}return t&&a?Cell.renderEditHeader(e):r&&n?Cell.renderSortAndFilterHeader(e):n?Cell.renderSortHeader(e):r?Cell.renderFilterHeader(e):Cell.renderDefaultHeader(e)}function renderFooterHandle(e){return Cell.renderDefaultFooter(e)}let Cell=exports.Cell={createColumn(e,l){var t=l.type,r={renderHeader:renderHeaderHandle,renderCell:renderCellHandle,renderFooter:renderFooterHandle};return"expand"===t&&(r.renderData=Cell.renderExpandData),(0,_util.createColumn)(e,l,r)},renderHeaderTitle(e){var{$table:l,column:t}=e,{slots:r,editRender:n,cellRender:a}=t,n=n||a,a=r?r.header:null;if(a)return renderTitleContent(e,l.callSlot(a,e));if(n){r=renderer.get(n.name);if(r){l=r.renderTableHeader||r.renderHeader;if(l)return renderTitleContent(e,(0,_vn.getSlotVNs)(l(n,e)))}}return renderTitleContent(e,(0,_utils.formatText)(t.getTitle(),1))},renderDefaultHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e))},renderDefaultCell(e){var{$table:l,row:t,column:r}=e,n=l.reactData.isRowGroupStatus,{field:a,slots:o,editRender:d,cellRender:s,rowGroupNode:i,aggFunc:c}=r,s=d||s,o=o?o.default:null;let u="";if(n&&a&&t.isAggregate){var n=t,C=l.internalData.fullColumnFieldData,p=l.getComputeMaps().computeAggregateOpts,p=p.value,{mode:g,showTotal:v,totalMethod:E,countFields:_,contentMethod:h,mapChildrenField:b}=p,p=p.aggregateMethod||p.countMethod,m=n.groupField,x=n.groupContent,b=b&&n[b]||[],f=n.childCount,C=C[m]||{},m={$table:l,groupField:m,groupColumn:C?C.column:null,column:r,groupValue:x,children:b,childCount:f,aggValue:null,totalValue:f};("column"===g?a===n.groupField:i)?(u=x,h&&(u=""+h(m)),v&&(u=getI18n("vxe.table.rowGroupContentTotal",[u,E?E(m):f,f]))):l.getPivotTableAggregateCellAggValue?u=l.getPivotTableAggregateCellAggValue(e):(!0===c||_&&_.includes(a))&&p&&(m.aggValue=f,u=""+p(m))}else{if(o)return renderCellBaseVNs(e,l.callSlot(o,e));if(s){C=renderer.get(s.name);if(C){b=C.renderTableCell||C.renderCell,g=C.renderTableDefault||C.renderDefault,n=d?b:g;if(n)return renderCellBaseVNs(e,(0,_vn.getSlotVNs)(n(s,Object.assign({$type:d?"edit":"cell"},e))))}}u=l.getCellLabel(t,r)}i=d?d.placeholder:"";return renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},[d&&(0,_utils.eqEmptyValue)(u)?(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(i),1)):(0,_vue.h)("span",(0,_utils.formatText)(u,1))])])},renderDeepCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderDefaultCell(e))},renderDefaultFooter(e){return getFooterContent(e)},renderRowGroupBtn(l,e){let t=l.$table;var r=t.reactData,n=t.internalData,{row:a,level:o}=l,d=t.getComputeMaps().computeAggregateOpts,r=r.rowGroupExpandedFlag,n=n.rowGroupExpandedMaps,{padding:d,indent:s}=d.value,i=(0,_util.getRowid)(t,a),r=!!r&&!!n[i];return(0,_vue.h)("div",{class:["vxe-row-group--tree-node",{"is--expanded":r}],style:d&&s?{paddingLeft:o*s+"px"}:void 0},[a.isAggregate?(0,_vue.h)("span",{class:"vxe-row-group--node-btn",onClick(e){t.triggerRowGroupExpandEvent(e,l)}},[(0,_vue.h)("i",{class:r?getIcon().TABLE_ROW_GROUP_OPEN:getIcon().TABLE_ROW_GROUP_CLOSE})]):renderEmptyElement(t),(0,_vue.h)("div",{class:"vxe-row-group-cell"},e)])},renderTreeNodeBtn(l,e){let{$table:t,isHidden:r}=l;var n=t.reactData,a=t.internalData,{row:o,column:d,level:s}=l,d=d.slots,d=d?d.icon:null;if(d)return t.callSlot(d,l);var d=t.getComputeMaps().computeTreeOpts,n=n.treeExpandedFlag,{fullAllDataRowIdData:a,treeExpandedMaps:i,treeExpandLazyLoadedMaps:c}=a,d=d.value,{padding:u,indent:C,lazy:p,trigger:g,iconLoaded:v,showIcon:E,iconOpen:_,iconClose:h}=d,b=d.children||d.childrenField,d=d.hasChild||d.hasChildField,b=o[b],b=b&&b.length;let m=!1,x=!1,f=!1,D=!1;var T,I={};return r||(T=(0,_util.getRowid)(t,o),x=!!n&&!!i[T],p&&(n=a[T],f=!!c[T],m=o[d],D=!!n.treeLoaded)),g&&"default"!==g||(I.onClick=e=>{t.triggerTreeExpandEvent(e,l)}),(0,_vue.h)("div",{class:["vxe-cell--tree-node",{"is--active":x}],style:u&&C?{paddingLeft:s*C+"px"}:void 0},[E&&(!p||D?b:b||m)?[(0,_vue.h)("div",Object.assign({class:"vxe-cell--tree-btn"},I),[(0,_vue.h)("i",{class:f?v||getIcon().TABLE_TREE_LOADED:x?_||getIcon().TABLE_TREE_OPEN:h||getIcon().TABLE_TREE_CLOSE})])]:null,(0,_vue.h)("div",{class:"vxe-tree-cell"},e)])},renderDeepNodeBtn(e,l){var{$table:t,row:r,column:n}=e,a=n.rowGroupNode,o=t.reactData.rowGroupList;if(o.length){o=t.getComputeMaps().computeAggregateOpts,t=o.value.mode;if("column"===t?n.field===r.groupField:a)return[Cell.renderRowGroupBtn(e,l)]}return[Cell.renderTreeNodeBtn(e,l)]},renderSeqHeader(e){var{$table:l,column:t}=e,r=t.slots,r=r?r.header:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,r?l.callSlot(r,e):(0,_utils.formatText)(t.getTitle(),1)))},renderSeqCell(e){var{$table:l,column:t}=e,r=l.props.treeConfig,n=l.getComputeMaps().computeSeqOpts,n=n.value,t=t.slots,t=t?t.default:null;return t?renderCellBaseVNs(e,l.callSlot(t,e)):(l=e.seq,t=n.seqMethod,renderCellBaseVNs(e,[(0,_vue.h)("span",""+(0,_utils.formatText)(t?t(e):r?l:(n.startIndex||0)+l,1))]))},renderDeepIndexCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderSeqCell(e))},renderRadioHeader(e){var{$table:l,column:t}=e,r=t.slots,n=r?r.header:null,r=r?r.title:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,n?l.callSlot(n,e):[(0,_vue.h)("span",{class:"vxe-radio--label"},r?l.callSlot(r,e):(0,_utils.formatText)(t.getTitle(),1))]))},renderRadioCell(l){let{$table:t,column:e,isHidden:r}=l;var n=t.reactData,a=t.getComputeMaps().computeRadioOpts,n=n.selectRadioRow,o=e.slots,{labelField:a,checkMethod:d,visibleMethod:s}=a.value,i=l.row,c=o?o.default:null,o=o?o.radio:null,n=t.eqRow(i,n);let u=!s||s({$table:t,row:i}),C=!!d,p;r||(p={onClick(e){!C&&u&&t.triggerRadioRowEvent(e,l)}},d&&(C=!d({$table:t,row:i})));s=Object.assign(Object.assign({},l),{checked:n,disabled:C,visible:u});return o?renderCellBaseVNs(l,t.callSlot(o,s)):(d=[],u&&d.push((0,_vue.h)("span",{class:["vxe-radio--icon",n?getIcon().TABLE_RADIO_CHECKED:C?getIcon().TABLE_RADIO_DISABLED_UNCHECKED:getIcon().TABLE_RADIO_UNCHECKED]})),(c||a)&&d.push((0,_vue.h)("span",{class:"vxe-radio--label"},c?t.callSlot(c,s):_xeUtils.default.get(i,a))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--radio",{"is--checked":n,"is--disabled":C}]},p),d)]))},renderDeepRadioCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderRadioCell(e))},renderCheckboxHeader(e){let{$table:l,column:t,isHidden:r}=e;var n=l.reactData,{computeIsAllCheckboxDisabled:a,computeCheckboxOpts:o}=l.getComputeMaps();let{isAllSelected:d,isIndeterminate:s}=n,i=a.value;var n=t.slots,a=n?n.header:null,n=n?n.title:null,{checkStrictly:o,showHeader:c,headerTitle:u}=o.value,C=t.getTitle(),p={},g=(r||(p.onClick=e=>{i||l.triggerCheckAllEvent(e,!d)}),Object.assign(Object.assign({},e),{checked:d,disabled:i,indeterminate:s}));return renderHeaderCellBaseVNs(e,renderTitleContent(g,a?l.callSlot(a,g):(o?c:!1!==c)?[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":d,"is--disabled":i,"is--indeterminate":s}],title:_xeUtils.default.eqNull(u)?getI18n("vxe.table.allTitle"):""+(u||"")},p),[(0,_vue.h)("span",{class:["vxe-checkbox--icon",s?getIcon().TABLE_CHECKBOX_INDETERMINATE:d?getIcon().TABLE_CHECKBOX_CHECKED:i?getIcon().TABLE_CHECKBOX_DISABLED_UNCHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})].concat(n||C?[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,g):C)]:[]))]:[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,g):C)]))},renderCheckboxCell(l){let{$table:t,row:e,column:r,isHidden:n}=l;var a=t.props.treeConfig,{updateCheckboxFlag:o,isRowGroupStatus:d}=t.reactData,{selectCheckboxMaps:s,treeIndeterminateRowMaps:i}=t.internalData,c=t.getComputeMaps().computeCheckboxOpts,{labelField:c,checkMethod:u,visibleMethod:C}=c.value,p=r.slots,g=p?p.default:null,p=p?p.checkbox:null;let v=!1,E=!1,_=!C||C({$table:t,row:e}),h=!!u;var b,C={},o=(!n&&(b=(0,_util.getRowid)(t,e),E=!!o&&!!s[b],C.onClick=e=>{!h&&_&&t.triggerCheckRowEvent(e,l,!E)},u&&(h=!u({$table:t,row:e})),a||d)&&(v=!!i[b]),Object.assign(Object.assign({},l),{checked:E,disabled:h,visible:_,indeterminate:v}));return p?renderCellBaseVNs(l,t.callSlot(p,o)):(s=[],_&&s.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",v?getIcon().TABLE_CHECKBOX_INDETERMINATE:E?getIcon().TABLE_CHECKBOX_CHECKED:h?getIcon().TABLE_CHECKBOX_DISABLED_UNCHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(g||c)&&s.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},g?t.callSlot(g,o):_xeUtils.default.get(e,c))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":E,"is--disabled":h,"is--indeterminate":v,"is--hidden":!_}]},C),s)]))},renderDeepSelectionCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderCheckboxCell(e))},renderCheckboxCellByProp(l){let{$table:t,row:e,column:r,isHidden:n}=l;var a=t.props.treeConfig,{updateCheckboxFlag:o,isRowGroupStatus:d}=t.reactData,s=t.internalData.treeIndeterminateRowMaps,i=t.getComputeMaps().computeCheckboxOpts,i=i.value,{labelField:c,checkField:u,checkMethod:C,visibleMethod:p}=i,i=i.indeterminateField||i.halfField,g=r.slots,v=g?g.default:null,g=g?g.checkbox:null;let E=!1,_=!1,h=!p||p({$table:t,row:e}),b=!!C;var m,p={},o=(!n&&(m=(0,_util.getRowid)(t,e),_=!!o&&_xeUtils.default.get(e,u),p.onClick=e=>{!b&&h&&t.triggerCheckRowEvent(e,l,!_)},C&&(b=!C({$table:t,row:e})),a||d)&&(E=!!s[m]),Object.assign(Object.assign({},l),{checked:_,disabled:b,visible:h,indeterminate:E}));return g?renderCellBaseVNs(l,t.callSlot(g,o)):(u=[],h&&(u.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",E?getIcon().TABLE_CHECKBOX_INDETERMINATE:_?getIcon().TABLE_CHECKBOX_CHECKED:b?getIcon().TABLE_CHECKBOX_DISABLED_UNCHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),v||c)&&u.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},v?t.callSlot(v,o):_xeUtils.default.get(e,c))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":_,"is--disabled":b,"is--indeterminate":i&&!_?e[i]:E,"is--hidden":!h}]},p),u)]))},renderDeepSelectionCellByProp(e){return Cell.renderDeepNodeBtn(e,Cell.renderCheckboxCellByProp(e))},renderExpandCell(l){let{$table:t,isHidden:e,row:r,column:n}=l;var a=t.reactData.isRowGroupStatus,{rowExpandedMaps:o,rowExpandLazyLoadedMaps:d}=t.internalData,s=t.getComputeMaps().computeExpandOpts,{lazy:s,labelField:i,iconLoaded:c,showIcon:u,iconOpen:C,iconClose:p,visibleMethod:g}=s.value,v=n.slots,E=v?v.default:null,v=v?v.icon:null;let _=!1,h=!1;return a&&r.isAggregate?renderCellBaseVNs(l,[]):v?renderCellBaseVNs(l,t.callSlot(v,l)):(e||(a=(0,_util.getRowid)(t,r),_=!!o[a],s&&(h=!!d[a])),renderCellBaseVNs(l,[!u||g&&!g(l)?renderEmptyElement(t):(0,_vue.h)("span",{class:["vxe-table--expanded",{"is--active":_}],onMousedown(e){e.stopPropagation()},onClick(e){t.triggerRowExpandEvent(e,l)}},[(0,_vue.h)("i",{class:["vxe-table--expand-btn",h?c||getIcon().TABLE_EXPAND_LOADED:_?C||getIcon().TABLE_EXPAND_OPEN:p||getIcon().TABLE_EXPAND_CLOSE]})]),E||i?(0,_vue.h)("span",{class:"vxe-table--expand-label"},E?t.callSlot(E,l):_xeUtils.default.get(r,i)):renderEmptyElement(t)]))},renderExpandData(e){var{$table:l,column:t}=e,{slots:t,contentRender:r}=t,t=t?t.content:null;if(t)return l.callSlot(t,e);if(r){l=renderer.get(r.name);if(l){t=l.renderTableExpand||l.renderExpand;if(t)return(0,_vn.getSlotVNs)(t(r,e))}}return[]},renderHTMLCell(e){var{$table:l,column:t}=e,t=t.slots,t=t?t.default:null;return renderCellBaseVNs(e,t?l.callSlot(t,e):[(0,_vue.h)("span",{class:"vxe-cell--html",innerHTML:getDefaultCellLabel(e)})])},renderDeepHTMLCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderHTMLCell(e))},renderSortAndFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderSortIcon(e).concat(Cell.renderFilterIcon(e))))},renderSortHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderSortIcon(e)))},renderSortIcon(e){let{$table:l,column:t}=e;var r=l.getComputeMaps().computeSortOpts,{showIcon:r,allowBtn:n,ascTitle:a,descTitle:o,iconLayout:d,iconAsc:s,iconDesc:i,iconVisibleMethod:c}=r.value,u=t.order;return!r||c&&!c(e)?[]:[(0,_vue.h)("span",{class:["vxe-cell--sort",`vxe-cell--sort-${d}-layout`]},[(0,_vue.h)("i",{class:["vxe-sort--asc-btn",s||getIcon().TABLE_SORT_ASC,{"sort--active":"asc"===u}],title:_xeUtils.default.eqNull(a)?getI18n("vxe.table.sortAsc"):""+(a||""),onClick:n?e=>{e.stopPropagation(),l.triggerSortEvent(e,t,"asc")}:void 0}),(0,_vue.h)("i",{class:["vxe-sort--desc-btn",i||getIcon().TABLE_SORT_DESC,{"sort--active":"desc"===u}],title:_xeUtils.default.eqNull(o)?getI18n("vxe.table.sortDesc"):""+(o||""),onClick:n?e=>{e.stopPropagation(),l.triggerSortEvent(e,t,"desc")}:void 0})])]},renderFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderFilterIcon(e)))},renderFilterIcon(l){let{$table:t,column:e,hasFilter:r}=l;var n=t.reactData.filterStore,a=t.getComputeMaps().computeFilterOpts,{showIcon:a,iconNone:o,iconMatch:d,iconVisibleMethod:s}=a.value;return!a||s&&!s(l)?[]:[(0,_vue.h)("span",{class:["vxe-cell--filter",{"is--active":n.visible&&n.column===e}],onClick(e){t.triggerFilterEvent&&t.triggerFilterEvent(e,l.column,l)}},[(0,_vue.h)("i",{class:["vxe-filter--btn",r?d||getIcon().TABLE_FILTER_MATCH:o||getIcon().TABLE_FILTER_NONE],title:getI18n("vxe.table.filter")})])]},renderEditHeader(e){var{$table:l,column:t}=e,r=l.props,n=l.getComputeMaps().computeEditOpts,{editConfig:r,editRules:a}=r,n=n.value,{sortable:o,filters:d,editRender:s}=t;let i=!1,c=(a&&(a=_xeUtils.default.get(a,t.field))&&(i=a.some(e=>e.required)),[]);return renderHeaderCellBaseVNs(e,(c=(0,_utils.isEnableConf)(r)?[i&&n.showAsterisk?(0,_vue.h)("span",{class:"vxe-cell--required-icon"},[(0,_vue.h)("i")]):renderEmptyElement(l),(0,_utils.isEnableConf)(s)&&n.showIcon?(0,_vue.h)("span",{class:"vxe-cell--edit-icon"},[(0,_vue.h)("i",{class:n.icon||getIcon().TABLE_EDIT})]):renderEmptyElement(l)]:c).concat(Cell.renderHeaderTitle(e)).concat(o?Cell.renderSortIcon(e):[]).concat(d?Cell.renderFilterIcon(e):[]))},renderRowEdit(e){var{$table:l,column:t}=e,l=l.reactData.editStore,l=l.actived,t=t.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(t)&&l&&l.row===e.row)},renderDeepRowEdit(e){return Cell.renderDeepNodeBtn(e,Cell.renderRowEdit(e))},renderCellEdit(e){var{$table:l,column:t}=e,l=l.reactData.editStore,l=l.actived,t=t.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(t)&&l&&l.row===e.row&&l.column===e.column)},renderDeepCellEdit(e){return Cell.renderDeepNodeBtn(e,Cell.renderCellEdit(e))},runRenderer(e,l){var{$table:t,column:r}=e,{slots:r,editRender:n,formatter:a}=r,o=r?r.default:null,r=r?r.edit:null,d=renderer.get(n.name),d=d?d.renderTableEdit||d.renderEdit:null,s=Object.assign({$type:"",isEdit:l},e);return l?(s.$type="edit",r?t.callSlot(r,s):d?(0,_vn.getSlotVNs)(d(n,s)):[]):o?renderCellBaseVNs(e,t.callSlot(o,s)):a?renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},getDefaultCellLabel(s))]):Cell.renderDefaultCell(s)}};var _default=exports.default=Cell;
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Cell=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,getIcon,renderer,formats,renderEmptyElement}=_ui.VxeUI;function renderTitlePrefixIcon(l){let{$table:t,column:e}=l,r=e.titlePrefix||e.titleHelp;return r?(0,_vue.h)("span",{class:["vxe-cell-title-prefix-icon",r.iconStatus?"theme--"+r.iconStatus:""],onMouseenter(e){t.triggerHeaderTitleEvent(e,r,l)},onMouseleave(e){t.handleTargetLeaveEvent(e)}},[(0,_vue.h)("i",{class:r.icon||getIcon().TABLE_TITLE_PREFIX})]):renderEmptyElement(t)}function renderTitleSuffixIcon(l){let{$table:t,column:e}=l,r=e.titleSuffix;return r?(0,_vue.h)("span",{class:["vxe-cell-title-suffix-icon",r.iconStatus?"theme--"+r.iconStatus:""],onMouseenter(e){t.triggerHeaderTitleEvent(e,r,l)},onMouseleave(e){t.handleTargetLeaveEvent(e)}},[(0,_vue.h)("i",{class:r.icon||getIcon().TABLE_TITLE_SUFFIX})]):renderEmptyElement(t)}function renderCellDragIcon(l){let{$table:t,column:e}=l;var r=t.context,r=r.slots,n=e.slots,a=t.props.dragConfig,o=t.getComputeMaps().computeRowDragOpts,{icon:o,trigger:d,disabledMethod:s}=o.value,s=s||(a?a.rowDisabledMethod:null);let i=s&&s(l);s=(n?n.rowDragIcon||n["row-drag-icon"]:null)||r.rowDragIcon||r["row-drag-icon"],n={};return"cell"!==d&&(n.onMousedown=e=>{i||t.handleCellDragMousedownEvent(e,l)},n.onMouseup=t.handleCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":i}]},n),s?t.callSlot(s,l):[(0,_vue.h)("i",{class:o||(a?a.rowIcon:"")||getIcon().TABLE_DRAG_ROW})])}function renderCellBaseVNs(e,l){var{$table:t,column:r,level:n}=e,r=r.dragSort,{treeConfig:a,dragConfig:o}=t.props,{computeRowOpts:t,computeRowDragOpts:d,computeTreeOpts:s}=t.getComputeMaps(),t=t.value,d=d.value,s=s.value,{showIcon:d,isPeerDrag:i,isCrossDrag:c,visibleMethod:u}=d,u=u||(o?o.rowVisibleMethod:null),C=[];return r&&t.drag&&(d||o&&o.showRowIcon)&&(!u||u(e))&&(!a||s.transform&&(i||c||!n))&&C.push(renderCellDragIcon(e)),C.concat(_xeUtils.default.isArray(l)?l:[l])}function renderHeaderCellDragIcon(t){let{$table:r,column:e}=t;var n=r.context,n=n.slots,a=e.slots,{computeColumnOpts:o,computeColumnDragOpts:d}=r.getComputeMaps(),o=o.value,{showIcon:d,icon:s,trigger:i,isPeerDrag:l,isCrossDrag:c,visibleMethod:u,disabledMethod:C}=d.value;if(!o.drag||!d||u&&!u(t)||e.fixed||!l&&!c&&e.parentId)return renderEmptyElement(r);{let l=C&&C(t);o=(a?a.columnDragIcon||a["column-drag-icon"]:null)||n.columnDragIcon||n["column-drag-icon"],d={};return"cell"!==i&&(d.onMousedown=e=>{l||r.handleHeaderCellDragMousedownEvent(e,t)},d.onMouseup=r.handleHeaderCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":l}]},d),o?r.callSlot(o,t):[(0,_vue.h)("i",{class:s||getIcon().TABLE_DRAG_COLUMN})])}}function renderHeaderCellBaseVNs(e,l){return[renderTitlePrefixIcon(e),renderHeaderCellDragIcon(e),..._xeUtils.default.isArray(l)?l:[l],renderTitleSuffixIcon(e)]}function getRenderDefaultColumnTitle(e,l){return"html"===e.type&&_xeUtils.default.isString(l)?(0,_vue.h)("span",{key:"ch",innerHTML:l}):(0,_vue.h)("span",{key:"ct"},(0,_vn.getSlotVNs)(l))}function renderTitleContent(l,e){let{$table:t,column:r}=l;var n=t.props;let a=t.reactData;var o=t.getComputeMaps().computeTooltipOpts,n=n.showHeaderOverflow,d=a.isRowGroupStatus,s=r.showHeaderOverflow;let i=o.value.showAll;o=_xeUtils.default.isUndefined(s)||_xeUtils.default.isNull(s)?n:s;let c="title"===o,u=!0===o||"tooltip"===o;n={},(c||u||i)&&(n.onMouseenter=e=>{a.isDragResize||(c?(0,_dom.updateCellTitle)(e.currentTarget,r):(u||i)&&t.triggerHeaderTooltipEvent(e,l))}),(u||i)&&(n.onMouseleave=e=>{a.isDragResize||(u||i)&&t.handleTargetLeaveEvent(e)}),s=getRenderDefaultColumnTitle(r,e);return[(0,_vue.h)("span",Object.assign({class:"vxe-cell--title"},n),d&&r.aggFunc&&t.getPivotTableAggregateRenderColTitles?t.getPivotTableAggregateRenderColTitles(r,s):[s])]}function getFooterContent(e){var{$table:l,column:t,_columnIndex:r,items:n,row:a}=e,{slots:o,editRender:d,cellRender:s,footerFormatter:i}=t,d=d||s,s=o?o.footer:null;if(s)return l.callSlot(s,e);let c="";c=_xeUtils.default.isArray(n)?n[r]:_xeUtils.default.get(a,t.field);o=Object.assign(e,{itemValue:c});if(i)return _xeUtils.default.isFunction(i)?[(0,_vue.h)("span",{class:"vxe-cell--label"},""+i(o))]:(n=(s=(l=_xeUtils.default.isArray(i))?formats.get(i[0]):formats.get(i))?s.tableFooterCellFormatMethod:null)?[(0,_vue.h)("span",{class:"vxe-cell--label"},""+(l?n(o,...i.slice(1)):n(o)))]:[(0,_vue.h)("span",{class:"vxe-cell--label"},"")];if(d){r=renderer.get(d.name);if(r){a=r.renderTableFooter||r.renderFooter;if(a)return(0,_vn.getSlotVNs)(a(d,o))}}return[(0,_vue.h)("span",{class:"vxe-cell--label"},(0,_utils.formatText)(c,1))]}function getDefaultCellLabel(e){var{$table:e,row:l,column:t}=e;return(0,_utils.formatText)(e.getCellLabel(l,t),1)}function renderCellHandle(e){var{column:l,row:t,$table:r}=e,n=r.props,a=r.reactData.isRowGroupStatus,n=n.editConfig,{type:o,treeNode:d,rowGroupNode:s,editRender:i}=l,{computeEditOpts:r,computeCheckboxOpts:c,computeAggregateOpts:u}=r.getComputeMaps(),u=u.value.mode,C=c.value,c=r.value,p=d||a&&("column"===u?l.field===t.groupField:s);switch(o){case"seq":return p?Cell.renderDeepIndexCell(e):Cell.renderSeqCell(e);case"radio":return p?Cell.renderDeepRadioCell(e):Cell.renderRadioCell(e);case"checkbox":return C.checkField?p?Cell.renderDeepSelectionCellByProp(e):Cell.renderCheckboxCellByProp(e):p?Cell.renderDeepSelectionCell(e):Cell.renderCheckboxCell(e);case"expand":return Cell.renderExpandCell(e);case"html":return p?Cell.renderDeepHTMLCell(e):Cell.renderHTMLCell(e)}return(0,_utils.isEnableConf)(n)&&i?"cell"===c.mode?p?Cell.renderDeepCellEdit(e):Cell.renderCellEdit(e):p?Cell.renderDeepRowEdit(e):Cell.renderRowEdit(e):p?Cell.renderDeepCell(e):Cell.renderDefaultCell(e)}function renderHeaderHandle(e){var{column:l,$table:t}=e,t=t.props.editConfig,{type:l,filters:r,sortable:n,editRender:a}=l;switch(l){case"seq":return Cell.renderSeqHeader(e);case"radio":return Cell.renderRadioHeader(e);case"checkbox":return Cell.renderCheckboxHeader(e);case"html":if(r&&n)return Cell.renderSortAndFilterHeader(e);if(n)return Cell.renderSortHeader(e);if(r)return Cell.renderFilterHeader(e)}return t&&a?Cell.renderEditHeader(e):r&&n?Cell.renderSortAndFilterHeader(e):n?Cell.renderSortHeader(e):r?Cell.renderFilterHeader(e):Cell.renderDefaultHeader(e)}function renderFooterHandle(e){return Cell.renderDefaultFooter(e)}let Cell=exports.Cell={createColumn(e,l){var t=l.type,r={renderHeader:renderHeaderHandle,renderCell:renderCellHandle,renderFooter:renderFooterHandle};return"expand"===t&&(r.renderData=Cell.renderExpandData),(0,_util.createColumn)(e,l,r)},renderHeaderTitle(e){var{$table:l,column:t}=e,{slots:r,editRender:n,cellRender:a}=t,n=n||a,a=r?r.header:null;if(a)return renderTitleContent(e,l.callSlot(a,e));if(n){r=renderer.get(n.name);if(r){l=r.renderTableHeader||r.renderHeader;if(l)return renderTitleContent(e,(0,_vn.getSlotVNs)(l(n,e)))}}return renderTitleContent(e,(0,_utils.formatText)(t.getTitle(),1))},renderDefaultHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e))},renderDefaultCell(e){var{$table:l,row:t,column:r}=e,n=l.reactData.isRowGroupStatus,{field:a,slots:o,editRender:d,cellRender:s,rowGroupNode:i,aggFunc:c}=r,s=d||s,o=o?o.default:null;let u="";if(n&&a&&t.isAggregate){var n=t,C=l.internalData.fullColumnFieldData,p=l.getComputeMaps().computeAggregateOpts,p=p.value,{mode:g,showTotal:v,totalMethod:h,countFields:_,contentMethod:E,mapChildrenField:b}=p,p=p.aggregateMethod||p.countMethod,m=n.groupField,x=n.groupContent,b=b&&n[b]||[],f=n.childCount,C=C[m]||{},m={$table:l,groupField:m,groupColumn:C?C.column:null,column:r,groupValue:x,children:b,childCount:f,aggValue:null,totalValue:f};("column"===g?a===n.groupField:i)?(u=x,E&&(u=""+E(m)),v&&(u=getI18n("vxe.table.rowGroupContentTotal",[u,h?h(m):f,f]))):l.getPivotTableAggregateCellAggValue?u=l.getPivotTableAggregateCellAggValue(e):(!0===c||_&&_.includes(a))&&p&&(m.aggValue=f,u=""+p(m))}else{if(o)return renderCellBaseVNs(e,l.callSlot(o,e));if(s){C=renderer.get(s.name);if(C){b=C.renderTableCell||C.renderCell,g=C.renderTableDefault||C.renderDefault,n=d?b:g;if(n)return renderCellBaseVNs(e,(0,_vn.getSlotVNs)(n(s,Object.assign({$type:d?"edit":"cell"},e))))}}u=l.getCellLabel(t,r)}i=d?d.placeholder:"";return renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},[d&&(0,_utils.eqEmptyValue)(u)?(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(i),1)):(0,_vue.h)("span",(0,_utils.formatText)(u,1))])])},renderDeepCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderDefaultCell(e))},renderDefaultFooter(e){return getFooterContent(e)},renderRowGroupBtn(l,e){let t=l.$table;var r=t.reactData,n=t.internalData,{row:a,level:o}=l,d=t.getComputeMaps().computeAggregateOpts,r=r.rowGroupExpandedFlag,n=n.rowGroupExpandedMaps,{padding:d,indent:s}=d.value,i=(0,_util.getRowid)(t,a),r=!!r&&!!n[i];return(0,_vue.h)("div",{class:["vxe-row-group--tree-node",{"is--expanded":r}],style:d&&s?{paddingLeft:o*s+"px"}:void 0},[a.isAggregate?(0,_vue.h)("span",{class:"vxe-row-group--node-btn",onClick(e){t.triggerRowGroupExpandEvent(e,l)}},[(0,_vue.h)("i",{class:r?getIcon().TABLE_ROW_GROUP_OPEN:getIcon().TABLE_ROW_GROUP_CLOSE})]):renderEmptyElement(t),(0,_vue.h)("div",{class:"vxe-row-group-cell"},e)])},renderTreeNodeBtn(l,e){let{$table:t,isHidden:r}=l;var n=t.reactData,a=t.internalData,{row:o,column:d,level:s}=l,d=d.slots,d=d?d.icon:null;if(d)return t.callSlot(d,l);var d=t.getComputeMaps().computeTreeOpts,n=n.treeExpandedFlag,{fullAllDataRowIdData:a,treeExpandedMaps:i,treeExpandLazyLoadedMaps:c}=a,d=d.value,{padding:u,indent:C,lazy:p,trigger:g,iconLoaded:v,showIcon:h,iconOpen:_,iconClose:E}=d,b=d.children||d.childrenField,d=d.hasChild||d.hasChildField,b=o[b],b=b&&b.length;let m=!1,x=!1,f=!1,D=!1;var T,I={};return r||(T=(0,_util.getRowid)(t,o),x=!!n&&!!i[T],p&&(n=a[T],f=!!c[T],m=o[d],D=!!n.treeLoaded)),g&&"default"!==g||(I.onClick=e=>{t.triggerTreeExpandEvent(e,l)}),(0,_vue.h)("div",{class:["vxe-cell--tree-node",{"is--active":x}],style:u&&C?{paddingLeft:s*C+"px"}:void 0},[h&&(!p||D?b:b||m)?[(0,_vue.h)("div",Object.assign({class:"vxe-cell--tree-btn"},I),[(0,_vue.h)("i",{class:f?v||getIcon().TABLE_TREE_LOADED:x?_||getIcon().TABLE_TREE_OPEN:E||getIcon().TABLE_TREE_CLOSE})])]:null,(0,_vue.h)("div",{class:"vxe-tree-cell"},e)])},renderDeepNodeBtn(e,l){var{$table:t,row:r,column:n}=e,a=n.rowGroupNode,o=t.reactData.rowGroupList;if(o.length){o=t.getComputeMaps().computeAggregateOpts,t=o.value.mode;if("column"===t?n.field===r.groupField:a)return[Cell.renderRowGroupBtn(e,l)]}return[Cell.renderTreeNodeBtn(e,l)]},renderSeqHeader(e){var{$table:l,column:t}=e,r=t.slots,r=r?r.header:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,r?l.callSlot(r,e):(0,_utils.formatText)(t.getTitle(),1)))},renderSeqCell(e){var{$table:l,column:t}=e,r=l.props.treeConfig,n=l.getComputeMaps().computeSeqOpts,n=n.value,t=t.slots,t=t?t.default:null;return t?renderCellBaseVNs(e,l.callSlot(t,e)):(l=e.seq,t=n.seqMethod,renderCellBaseVNs(e,[(0,_vue.h)("span",""+(0,_utils.formatText)(t?t(e):r?l:(n.startIndex||0)+l,1))]))},renderDeepIndexCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderSeqCell(e))},renderRadioHeader(e){var{$table:l,column:t}=e,r=t.slots,n=r?r.header:null,r=r?r.title:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,n?l.callSlot(n,e):[(0,_vue.h)("span",{class:"vxe-radio--label"},r?l.callSlot(r,e):(0,_utils.formatText)(t.getTitle(),1))]))},renderRadioCell(l){let{$table:t,column:e,isHidden:r}=l;var n=t.reactData,a=t.getComputeMaps().computeRadioOpts,n=n.selectRadioRow,o=e.slots,{labelField:a,checkMethod:d,visibleMethod:s}=a.value,i=l.row,c=o?o.default:null,o=o?o.radio:null,n=t.eqRow(i,n);let u=!s||s({$table:t,row:i}),C=!!d,p;r||(p={onClick(e){!C&&u&&t.triggerRadioRowEvent(e,l)}},d&&(C=!d({$table:t,row:i})));s=Object.assign(Object.assign({},l),{checked:n,disabled:C,visible:u});return o?renderCellBaseVNs(l,t.callSlot(o,s)):(d=[],u&&d.push((0,_vue.h)("span",{class:["vxe-radio--icon",n?getIcon().TABLE_RADIO_CHECKED:C?getIcon().TABLE_RADIO_DISABLED_UNCHECKED:getIcon().TABLE_RADIO_UNCHECKED]})),(c||a)&&d.push((0,_vue.h)("span",{class:"vxe-radio--label"},c?t.callSlot(c,s):_xeUtils.default.get(i,a))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--radio",{"is--checked":n,"is--disabled":C}]},p),d)]))},renderDeepRadioCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderRadioCell(e))},renderCheckboxHeader(e){let{$table:l,column:t,isHidden:r}=e;var n=l.reactData,{computeIsAllCheckboxDisabled:a,computeCheckboxOpts:o}=l.getComputeMaps();let{isAllSelected:d,isIndeterminate:s}=n,i=a.value;var n=t.slots,a=n?n.header:null,n=n?n.title:null,{checkStrictly:o,showHeader:c,headerTitle:u}=o.value,C=t.getTitle(),p={},g=(r||(p.onClick=e=>{i||l.triggerCheckAllEvent(e,!d)}),Object.assign(Object.assign({},e),{checked:d,disabled:i,indeterminate:s}));return renderHeaderCellBaseVNs(e,renderTitleContent(g,a?l.callSlot(a,g):(o?c:!1!==c)?[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":d,"is--disabled":i,"is--indeterminate":s}],title:_xeUtils.default.eqNull(u)?getI18n("vxe.table.allTitle"):""+(u||"")},p),[(0,_vue.h)("span",{class:["vxe-checkbox--icon",s?getIcon().TABLE_CHECKBOX_INDETERMINATE:d?getIcon().TABLE_CHECKBOX_CHECKED:i?getIcon().TABLE_CHECKBOX_DISABLED_UNCHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})].concat(n||C?[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,g):C)]:[]))]:[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,g):C)]))},renderCheckboxCell(l){let{$table:t,row:e,column:r,isHidden:n}=l;var a=t.props.treeConfig,{updateCheckboxFlag:o,isRowGroupStatus:d}=t.reactData,{selectCheckboxMaps:s,treeIndeterminateRowMaps:i}=t.internalData,c=t.getComputeMaps().computeCheckboxOpts,{labelField:c,checkMethod:u,visibleMethod:C}=c.value,p=r.slots,g=p?p.default:null,p=p?p.checkbox:null;let v=!1,h=!1,_=!C||C({$table:t,row:e}),E=!!u;var b,C={},o=(!n&&(b=(0,_util.getRowid)(t,e),h=!!o&&!!s[b],C.onClick=e=>{!E&&_&&t.triggerCheckRowEvent(e,l,!h)},u&&(E=!u({$table:t,row:e})),a||d)&&(v=!!i[b]),Object.assign(Object.assign({},l),{checked:h,disabled:E,visible:_,indeterminate:v}));return p?renderCellBaseVNs(l,t.callSlot(p,o)):(s=[],_&&s.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",v?getIcon().TABLE_CHECKBOX_INDETERMINATE:h?getIcon().TABLE_CHECKBOX_CHECKED:E?getIcon().TABLE_CHECKBOX_DISABLED_UNCHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(g||c)&&s.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},g?t.callSlot(g,o):_xeUtils.default.get(e,c))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":h,"is--disabled":E,"is--indeterminate":v,"is--hidden":!_}]},C),s)]))},renderDeepSelectionCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderCheckboxCell(e))},renderCheckboxCellByProp(l){let{$table:t,row:e,column:r,isHidden:n}=l;var a=t.props.treeConfig,{updateCheckboxFlag:o,isRowGroupStatus:d}=t.reactData,s=t.internalData.treeIndeterminateRowMaps,i=t.getComputeMaps().computeCheckboxOpts,i=i.value,{labelField:c,checkField:u,checkMethod:C,visibleMethod:p}=i,i=i.indeterminateField||i.halfField,g=r.slots,v=g?g.default:null,g=g?g.checkbox:null;let h=!1,_=!1,E=!p||p({$table:t,row:e}),b=!!C;var m,p={},o=(!n&&(m=(0,_util.getRowid)(t,e),_=!!o&&_xeUtils.default.get(e,u),p.onClick=e=>{!b&&E&&t.triggerCheckRowEvent(e,l,!_)},C&&(b=!C({$table:t,row:e})),a||d)&&(h=!!s[m]),Object.assign(Object.assign({},l),{checked:_,disabled:b,visible:E,indeterminate:h}));return g?renderCellBaseVNs(l,t.callSlot(g,o)):(u=[],E&&(u.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",h?getIcon().TABLE_CHECKBOX_INDETERMINATE:_?getIcon().TABLE_CHECKBOX_CHECKED:b?getIcon().TABLE_CHECKBOX_DISABLED_UNCHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),v||c)&&u.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},v?t.callSlot(v,o):_xeUtils.default.get(e,c))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":_,"is--disabled":b,"is--indeterminate":i&&!_?e[i]:h,"is--hidden":!E}]},p),u)]))},renderDeepSelectionCellByProp(e){return Cell.renderDeepNodeBtn(e,Cell.renderCheckboxCellByProp(e))},renderExpandCell(l){let{$table:t,isHidden:e,row:r,column:n}=l;var a=t.reactData.isRowGroupStatus,{rowExpandedMaps:o,rowExpandLazyLoadedMaps:d}=t.internalData,s=t.getComputeMaps().computeExpandOpts,{lazy:s,labelField:i,iconLoaded:c,showIcon:u,iconOpen:C,iconClose:p,visibleMethod:g}=s.value,v=n.slots,h=v?v.default:null,v=v?v.icon:null;let _=!1,E=!1;return a&&r.isAggregate?renderCellBaseVNs(l,[]):v?renderCellBaseVNs(l,t.callSlot(v,l)):(e||(a=(0,_util.getRowid)(t,r),_=!!o[a],s&&(E=!!d[a])),renderCellBaseVNs(l,[!u||g&&!g(l)?renderEmptyElement(t):(0,_vue.h)("span",{class:["vxe-table--expanded",{"is--active":_}],onMousedown(e){e.stopPropagation()},onClick(e){t.triggerRowExpandEvent(e,l)}},[(0,_vue.h)("i",{class:["vxe-table--expand-btn",E?c||getIcon().TABLE_EXPAND_LOADED:_?C||getIcon().TABLE_EXPAND_OPEN:p||getIcon().TABLE_EXPAND_CLOSE]})]),h||i?(0,_vue.h)("span",{class:"vxe-table--expand-label"},h?t.callSlot(h,l):_xeUtils.default.get(r,i)):renderEmptyElement(t)]))},renderExpandData(e){var{$table:l,column:t}=e,{slots:t,contentRender:r}=t,t=t?t.content:null;if(t)return l.callSlot(t,e);if(r){l=renderer.get(r.name);if(l){t=l.renderTableExpand||l.renderExpand;if(t)return(0,_vn.getSlotVNs)(t(r,e))}}return[]},renderHTMLCell(e){var{$table:l,column:t}=e,t=t.slots,t=t?t.default:null;return renderCellBaseVNs(e,t?l.callSlot(t,e):[(0,_vue.h)("span",{class:"vxe-cell--html",innerHTML:getDefaultCellLabel(e)})])},renderDeepHTMLCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderHTMLCell(e))},renderSortAndFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderSortIcon(e).concat(Cell.renderFilterIcon(e))))},renderSortHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderSortIcon(e)))},renderSortIcon(e){let{$table:l,column:t}=e;var r=l.getComputeMaps().computeSortOpts,{showIcon:r,allowBtn:n,ascTitle:a,descTitle:o,iconLayout:d,iconAsc:s,iconDesc:i,iconVisibleMethod:c}=r.value,u=t.order;return!r||c&&!c(e)?[]:[(0,_vue.h)("span",{class:["vxe-cell--sort",`vxe-cell--sort-${d}-layout`]},[(0,_vue.h)("i",{class:["vxe-sort--asc-btn",s||getIcon().TABLE_SORT_ASC,{"sort--active":"asc"===u}],title:_xeUtils.default.eqNull(a)?getI18n("vxe.table.sortAsc"):""+(a||""),onClick:n?e=>{e.stopPropagation(),l.triggerSortEvent(e,t,"asc")}:void 0}),(0,_vue.h)("i",{class:["vxe-sort--desc-btn",i||getIcon().TABLE_SORT_DESC,{"sort--active":"desc"===u}],title:_xeUtils.default.eqNull(o)?getI18n("vxe.table.sortDesc"):""+(o||""),onClick:n?e=>{e.stopPropagation(),l.triggerSortEvent(e,t,"desc")}:void 0})])]},renderFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderFilterIcon(e)))},renderFilterIcon(l){let{$table:t,column:e,hasFilter:r}=l;var n=t.reactData.filterStore,a=t.getComputeMaps().computeFilterOpts,{showIcon:a,iconNone:o,iconMatch:d,iconVisibleMethod:s}=a.value;return!a||s&&!s(l)?[]:[(0,_vue.h)("span",{class:["vxe-cell--filter",{"is--active":n.visible&&n.column===e}],onClick(e){t.triggerFilterEvent&&t.triggerFilterEvent(e,l.column,l)}},[(0,_vue.h)("i",{class:["vxe-filter--btn",r?d||getIcon().TABLE_FILTER_MATCH:o||getIcon().TABLE_FILTER_NONE],title:getI18n("vxe.table.filter")})])]},renderEditHeader(e){var{$table:l,column:t}=e,r=l.props,n=l.getComputeMaps().computeEditOpts,{editConfig:r,editRules:a}=r,n=n.value,{sortable:o,filters:d,editRender:s}=t;let i=!1,c=(a&&(a=_xeUtils.default.get(a,t.field))&&(i=a.some(e=>e.required)),[]);return renderHeaderCellBaseVNs(e,(c=(0,_utils.isEnableConf)(r)?[i&&n.showAsterisk?(0,_vue.h)("span",{class:"vxe-cell--required-icon"},[(0,_vue.h)("i")]):renderEmptyElement(l),(0,_utils.isEnableConf)(s)&&n.showIcon?(0,_vue.h)("span",{class:"vxe-cell--edit-icon"},[(0,_vue.h)("i",{class:n.icon||getIcon().TABLE_EDIT})]):renderEmptyElement(l)]:c).concat(Cell.renderHeaderTitle(e)).concat(o?Cell.renderSortIcon(e):[]).concat(d?Cell.renderFilterIcon(e):[]))},renderRowEdit(e){var{$table:l,column:t}=e,l=l.reactData.editStore,l=l.actived,t=t.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(t)&&l&&l.row===e.row)},renderDeepRowEdit(e){return Cell.renderDeepNodeBtn(e,Cell.renderRowEdit(e))},renderCellEdit(e){var{$table:l,column:t}=e,l=l.reactData.editStore,l=l.actived,t=t.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(t)&&l&&l.row===e.row&&l.column===e.column)},renderDeepCellEdit(e){return Cell.renderDeepNodeBtn(e,Cell.renderCellEdit(e))},runRenderer(e,l){var{$table:t,column:r}=e,{slots:r,editRender:n,formatter:a}=r,o=r?r.default:null,r=r?r.edit:null,d=renderer.get(n.name),d=d?d.renderTableEdit||d.renderEdit:null,s=Object.assign({$type:"",isEdit:l},e);return l?(s.$type="edit",r?t.callSlot(r,s):d?(0,_vn.getSlotVNs)(d(n,s)):[]):o?renderCellBaseVNs(e,t.callSlot(o,s)):a?renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},getDefaultCellLabel(s))]):Cell.renderDefaultCell(s)}};var _default=exports.default=Cell;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.ColumnInfo=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,formats}=_ui.VxeUI;class ColumnInfo{constructor(e,r,{renderHeader:t,renderCell:l,renderFooter:o,renderData:i}={}){var d=e.props,n=e.xeGrid,s=r.formatter,a=!_xeUtils.default.isBoolean(r.visible)||r.visible,u=["seq","checkbox","radio","expand","html"];r.type&&-1===u.indexOf(r.type)&&(0,_log.warnLog)("vxe.error.errProp",["type="+r.type,u.join(", ")]),(_xeUtils.default.isBoolean(r.cellRender)||r.cellRender&&!_xeUtils.default.isObject(r.cellRender))&&(0,_log.warnLog)("vxe.error.errProp",["column.cell-render="+r.cellRender,"column.cell-render={}"]),(_xeUtils.default.isBoolean(r.editRender)||r.editRender&&!_xeUtils.default.isObject(r.editRender))&&(0,_log.warnLog)("vxe.error.errProp",["column.edit-render="+r.editRender,"column.edit-render={}"]),"expand"===r.type&&(u=d.treeConfig,d=e.getComputeMaps().computeTreeOpts,e=d.value,u)&&(e.showLine||e.line)&&(0,_log.errLog)("vxe.error.errConflicts",["tree-config.showLine","column.type=expand"]),s&&(_xeUtils.default.isString(s)?(d=formats.get(s)||_xeUtils.default[s])&&_xeUtils.default.isFunction(d.tableCellFormatMethod||d.cellFormatMethod)||(0,_log.errLog)("vxe.error.notFormats",[s]):!_xeUtils.default.isArray(s)||(u=formats.get(s[0])||_xeUtils.default[s[0]])&&_xeUtils.default.isFunction(u.tableCellFormatMethod||u.cellFormatMethod)||(0,_log.errLog)("vxe.error.notFormats",[s[0]])),Object.assign(this,{type:r.type,property:r.field,field:r.field,title:r.title,width:r.width,minWidth:r.minWidth,maxWidth:r.maxWidth,resizable:r.resizable,fixed:r.fixed,align:r.align,headerAlign:r.headerAlign,footerAlign:r.footerAlign,showOverflow:r.showOverflow,showHeaderOverflow:r.showHeaderOverflow,showFooterOverflow:r.showFooterOverflow,className:r.className,headerClassName:r.headerClassName,footerClassName:r.footerClassName,formatter:s,footerFormatter:r.footerFormatter,padding:r.padding,verticalAlign:r.verticalAlign,sortable:r.sortable,sortBy:r.sortBy,sortType:r.sortType,filters:(0,_util.toFilters)(r.filters),filterMultiple:!_xeUtils.default.isBoolean(r.filterMultiple)||r.filterMultiple,filterMethod:r.filterMethod,filterResetMethod:r.filterResetMethod,filterRecoverMethod:r.filterRecoverMethod,filterRender:r.filterRender,rowGroupNode:r.rowGroupNode,treeNode:r.treeNode,dragSort:r.dragSort,rowResize:r.rowResize,cellType:r.cellType,cellRender:r.cellRender,editRender:r.editRender,contentRender:r.contentRender,headerExportMethod:r.headerExportMethod,exportMethod:r.exportMethod,footerExportMethod:r.footerExportMethod,titleHelp:r.titleHelp,titlePrefix:r.titlePrefix,titleSuffix:r.titleSuffix,aggFunc:r.aggFunc,params:r.params,id:r.colId||_xeUtils.default.uniqueId("col_"),parentId:null,visible:a,halfVisible:!1,defaultVisible:a,defaultFixed:r.fixed,checked:!1,halfChecked:!1,disabled:!1,level:1,rowSpan:1,colSpan:1,order:null,sortTime:0,sortNumber:0,renderSortNumber:0,renderAggFn:"",renderFixed:"",renderVisible:!1,renderWidth:0,renderHeight:0,renderResizeWidth:0,renderAutoWidth:0,resizeWidth:0,renderLeft:0,renderArgs:[],model:{},renderHeader:t||r.renderHeader,renderCell:l||r.renderCell,renderFooter:o||r.renderFooter,renderData:i,slots:r.slots}),n&&(e=n.getComputeMaps().computeProxyOpts,(d=e.value).beforeColumn)&&d.beforeColumn({$grid:n,column:this})}getTitle(){return(0,_utils.getFuncText)(this.title||("seq"===this.type?getI18n("vxe.table.seqTitle"):""))}getKey(){var e=this.type;return this.field||(e?"type="+e:null)}update(e,r){"filters"!==e&&("field"===e&&(this.property=r),this[e]=r)}}exports.ColumnInfo=ColumnInfo;
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.ColumnInfo=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,formats}=_ui.VxeUI;class ColumnInfo{constructor(e,r,{renderHeader:t,renderCell:l,renderFooter:o,renderData:i}={}){var d=e.props,n=e.xeGrid,s=r.formatter,a=!_xeUtils.default.isBoolean(r.visible)||r.visible,u=["seq","checkbox","radio","expand","html"];r.type&&-1===u.indexOf(r.type)&&(0,_log.warnLog)("vxe.error.errProp",["type="+r.type,u.join(", ")]),(_xeUtils.default.isBoolean(r.cellRender)||r.cellRender&&!_xeUtils.default.isObject(r.cellRender))&&(0,_log.warnLog)("vxe.error.errProp",["column.cell-render="+r.cellRender,"column.cell-render={}"]),(_xeUtils.default.isBoolean(r.editRender)||r.editRender&&!_xeUtils.default.isObject(r.editRender))&&(0,_log.warnLog)("vxe.error.errProp",["column.edit-render="+r.editRender,"column.edit-render={}"]),"expand"===r.type&&(u=d.treeConfig,d=e.getComputeMaps().computeTreeOpts,e=d.value,u)&&(e.showLine||e.line)&&(0,_log.errLog)("vxe.error.errConflicts",["tree-config.showLine","column.type=expand"]),s&&(_xeUtils.default.isString(s)?(d=formats.get(s)||_xeUtils.default[s])&&_xeUtils.default.isFunction(d.tableCellFormatMethod||d.cellFormatMethod)||(0,_log.errLog)("vxe.error.notFormats",[s]):!_xeUtils.default.isArray(s)||(u=formats.get(s[0])||_xeUtils.default[s[0]])&&_xeUtils.default.isFunction(u.tableCellFormatMethod||u.cellFormatMethod)||(0,_log.errLog)("vxe.error.notFormats",[s[0]])),Object.assign(this,{type:r.type,property:r.field,field:r.field,title:r.title,width:r.width,minWidth:r.minWidth,maxWidth:r.maxWidth,resizable:r.resizable,fixed:r.fixed,align:r.align,headerAlign:r.headerAlign,footerAlign:r.footerAlign,showOverflow:r.showOverflow,showHeaderOverflow:r.showHeaderOverflow,showFooterOverflow:r.showFooterOverflow,className:r.className,headerClassName:r.headerClassName,footerClassName:r.footerClassName,formatter:s,footerFormatter:r.footerFormatter,padding:r.padding,verticalAlign:r.verticalAlign,sortable:r.sortable,sortBy:r.sortBy,sortType:r.sortType,filters:(0,_util.toFilters)(r.filters),filterMultiple:!_xeUtils.default.isBoolean(r.filterMultiple)||r.filterMultiple,filterMethod:r.filterMethod,filterResetMethod:r.filterResetMethod,filterRecoverMethod:r.filterRecoverMethod,filterRender:r.filterRender,rowGroupNode:r.rowGroupNode,treeNode:r.treeNode,dragSort:r.dragSort,rowResize:r.rowResize,cellType:r.cellType,cellRender:r.cellRender,editRender:r.editRender,contentRender:r.contentRender,headerExportMethod:r.headerExportMethod,exportMethod:r.exportMethod,footerExportMethod:r.footerExportMethod,titleHelp:r.titleHelp,titlePrefix:r.titlePrefix,titleSuffix:r.titleSuffix,aggFunc:r.aggFunc,params:r.params,id:r.colId||_xeUtils.default.uniqueId("col_"),parentId:null,visible:a,halfVisible:!1,defaultVisible:a,defaultFixed:r.fixed,defaultAggFunc:r.aggFunc,checked:!1,halfChecked:!1,disabled:!1,level:1,rowSpan:1,colSpan:1,order:null,sortTime:0,sortNumber:0,renderSortNumber:0,renderAggFn:"",renderFixed:"",renderVisible:!1,renderWidth:0,renderHeight:0,renderResizeWidth:0,renderAutoWidth:0,resizeWidth:0,renderLeft:0,renderArgs:[],model:{},renderHeader:t||r.renderHeader,renderCell:l||r.renderCell,renderFooter:o||r.renderFooter,renderData:i,slots:r.slots}),n&&(e=n.getComputeMaps().computeProxyOpts,(d=e.value).beforeColumn)&&d.beforeColumn({$grid:n,column:this})}getTitle(){return(0,_utils.getFuncText)(this.title||("seq"===this.type?getI18n("vxe.table.seqTitle"):""))}getKey(){var e=this.type;return this.field||(e?"type="+e:null)}update(e,r){"filters"!==e&&("field"===e&&(this.property=r),this[e]=r)}}exports.ColumnInfo=ColumnInfo;
|
package/lib/table/src/table.js
CHANGED
|
@@ -38,7 +38,7 @@ focused:{row:null,column:null}},// 存放 tooltip 相关信息
|
|
|
38
38
|
tooltipStore:{row:null,column:null,content:null,visible:false,currOpts:{}},// 存放数据校验相关信息
|
|
39
39
|
validStore:{visible:false},validErrorMaps:{},// 导入相关信息
|
|
40
40
|
importStore:{inited:false,file:null,type:'',modeList:[],typeList:[],filename:'',visible:false},importParams:{mode:'',types:null,message:true},// 导出相关信息
|
|
41
|
-
exportStore:{inited:false,name:'',modeList:[],typeList:[],columns:[],isPrint:false,hasFooter:false,hasMerge:false,hasTree:false,hasColgroup:false,visible:false},exportParams:{filename:'',sheetName:'',mode:'',type:'',isColgroup:false,isMerge:false,isAllExpand:false,useStyle:false,original:false,message:true,isHeader:false,isTitle:false,isFooter:false},visiblwRowsFlag:1,isRowGroupStatus:false,rowGroupList:[],aggHandleFields:[],rowGroupExpandedFlag:1,rowExpandedFlag:1,treeExpandedFlag:1,updateCheckboxFlag:1,pendingRowFlag:1,insertRowFlag:1,removeRowFlag:1,mergeBodyFlag:1,mergeFootFlag:1,rowHeightStore:{large:52,default:48,medium:44,small:40,mini:36},scrollVMLoading:false,scrollYHeight:0,scrollYTop:0,isScrollYBig:false,scrollXLeft:0,scrollXWidth:0,isScrollXBig:false,rowExpandHeightFlag:1,calcCellHeightFlag:1,resizeHeightFlag:1,resizeWidthFlag:1,isCustomStatus:false,isDragRowMove:false,dragRow:null,isDragColMove:false,dragCol:null,dragTipText:'',isDragResize:false,isRowLoading:false,isColLoading:false});const internalData={tZindex:0,currKeyField:'',isCurrDeepKey:false,elemStore:{},// 存放横向 X 虚拟滚动相关的信息
|
|
41
|
+
exportStore:{inited:false,name:'',modeList:[],typeList:[],columns:[],isPrint:false,hasFooter:false,hasMerge:false,hasTree:false,hasColgroup:false,visible:false},exportParams:{filename:'',sheetName:'',mode:'',type:'',isColgroup:false,isMerge:false,isAllExpand:false,useStyle:false,original:false,message:true,isHeader:false,isTitle:false,isFooter:false},visiblwRowsFlag:1,isRowGroupStatus:false,rowGroupList:[],aggHandleFields:[],aggHandleAggColumns:[],rowGroupExpandedFlag:1,rowExpandedFlag:1,treeExpandedFlag:1,updateCheckboxFlag:1,pendingRowFlag:1,insertRowFlag:1,removeRowFlag:1,mergeBodyFlag:1,mergeFootFlag:1,rowHeightStore:{large:52,default:48,medium:44,small:40,mini:36},scrollVMLoading:false,scrollYHeight:0,scrollYTop:0,isScrollYBig:false,scrollXLeft:0,scrollXWidth:0,isScrollXBig:false,rowExpandHeightFlag:1,calcCellHeightFlag:1,resizeHeightFlag:1,resizeWidthFlag:1,isCustomStatus:false,isDragRowMove:false,dragRow:null,isDragColMove:false,dragCol:null,dragTipText:'',isDragResize:false,isRowLoading:false,isColLoading:false});const internalData={tZindex:0,currKeyField:'',isCurrDeepKey:false,elemStore:{},// 存放横向 X 虚拟滚动相关的信息
|
|
42
42
|
scrollXStore:{preloadSize:0,offsetSize:0,visibleSize:0,visibleStartIndex:0,visibleEndIndex:0,startIndex:0,endIndex:0},// 存放纵向 Y 虚拟滚动相关信息
|
|
43
43
|
scrollYStore:{preloadSize:0,offsetSize:0,visibleSize:0,visibleStartIndex:0,visibleEndIndex:0,startIndex:0,endIndex:0},// 表格宽度
|
|
44
44
|
tableWidth:0,// 表格高度
|
|
@@ -88,7 +88,7 @@ if(resizableData||sortData||visibleData||fixedData){_xeUtils.default.eachTree(co
|
|
|
88
88
|
if(!parentColumn){if(fixedData&&fixedData[colKey]!==undefined){column.fixed=fixedData[colKey];}if(sortData&&_xeUtils.default.isNumber(sortData[colKey])){hasCustomSort=true;column.renderSortNumber=sortData[colKey];}}if(resizableData&&_xeUtils.default.isNumber(resizableData[colKey])){column.resizeWidth=resizableData[colKey];}if(visibleData&&_xeUtils.default.isBoolean(visibleData[colKey])){column.visible=visibleData[colKey];}});// 如果自定义了顺序
|
|
89
89
|
if(hasCustomSort){collectColumn=_xeUtils.default.orderBy(collectColumn,'renderSortNumber');internalData.collectColumn=collectColumn;internalData.tableFullColumn=getColumnList(collectColumn);}reactData.isCustomStatus=true;}else{reactData.isCustomStatus=false;}};/**
|
|
90
90
|
* 还原自定义列操作状态
|
|
91
|
-
*/const restoreCustomStorage=()=>{const{customConfig}=props;const tableId=computeTableId.value;const customOpts=computeCustomOpts.value;const{storage,restoreStore,storeOptions}=customOpts;const isAllCustom=storage===true;const storageOpts=isAllCustom?{}:Object.assign({},storage||{},storeOptions);const isCustomResizable=hangleStorageDefaultValue(storageOpts.resizable,isAllCustom);const isCustomVisible=hangleStorageDefaultValue(storageOpts.visible,isAllCustom);const isCustomFixed=hangleStorageDefaultValue(storageOpts.fixed,isAllCustom);const isCustomSort=hangleStorageDefaultValue(storageOpts.sort,isAllCustom);if(storage&&(customConfig?(0,_utils.isEnableConf)(customOpts):customOpts.enabled)&&(isCustomResizable||isCustomVisible||isCustomFixed||isCustomSort)){if(!tableId){(0,_log.errLog)('vxe.error.reqProp',['id']);return;}const storeData=getCustomStorageMap(tableId);if(restoreStore){return Promise.resolve(restoreStore({$table:$xeTable,id:tableId,type:'restore',storeData})).then(storeData=>{if(!storeData){return;}return handleCustomRestore(storeData);}).catch(e=>e);}else{return handleCustomRestore(storeData);}}};/**
|
|
91
|
+
*/const restoreCustomStorage=()=>{const{customConfig}=props;const tableId=computeTableId.value;const customOpts=computeCustomOpts.value;const{storage,restoreStore,storeOptions}=customOpts;const isAllCustom=storage===true;const storageOpts=isAllCustom?{}:Object.assign({},storage||{},storeOptions);const isCustomResizable=hangleStorageDefaultValue(storageOpts.resizable,isAllCustom);const isCustomVisible=hangleStorageDefaultValue(storageOpts.visible,isAllCustom);const isCustomFixed=hangleStorageDefaultValue(storageOpts.fixed,isAllCustom);const isCustomSort=hangleStorageDefaultValue(storageOpts.sort,isAllCustom);const isCustomAggFunc=hangleStorageDefaultValue(storageOpts.aggFunc,isAllCustom);if(storage&&(customConfig?(0,_utils.isEnableConf)(customOpts):customOpts.enabled)&&(isCustomResizable||isCustomVisible||isCustomFixed||isCustomSort||isCustomAggFunc)){if(!tableId){(0,_log.errLog)('vxe.error.reqProp',['id']);return;}const storeData=getCustomStorageMap(tableId);if(restoreStore){return Promise.resolve(restoreStore({$table:$xeTable,id:tableId,type:'restore',storeData})).then(storeData=>{if(!storeData){return;}return handleCustomRestore(storeData);}).catch(e=>e);}else{return handleCustomRestore(storeData);}}};/**
|
|
92
92
|
* 更新数据列的 Map
|
|
93
93
|
* 牺牲数据组装的耗时,用来换取使用过程中的流畅
|
|
94
94
|
*/const cacheColumnMap=()=>{const{tableFullColumn,collectColumn}=internalData;const fullColumnIdData=internalData.fullColumnIdData={};const fullColumnFieldData=internalData.fullColumnFieldData={};const mouseOpts=computeMouseOpts.value;const expandOpts=computeExpandOpts.value;const columnOpts=computeColumnOpts.value;const columnDragOpts=computeColumnDragOpts.value;const virtualYOpts=computeVirtualYOpts.value;const{isCrossDrag,isSelfToChildDrag}=columnDragOpts;const customOpts=computeCustomOpts.value;const{storage}=customOpts;const rowOpts=computeRowOpts.value;const isGroup=collectColumn.some(_utils.hasChildrenList);let isAllOverflow=!!props.showOverflow;let rowGroupColumn;let expandColumn;let treeNodeColumn;let checkboxColumn;let radioColumn;let htmlColumn;let hasFixed;const handleFunc=(column,index,items,path,parentColumn)=>{const{id:colid,field,fixed,type,treeNode,rowGroupNode}=column;const rest={$index:-1,_index:-1,column,colid,index,items,parent:parentColumn||null,width:0,oLeft:0};if(field){if(fullColumnFieldData[field]){(0,_log.errLog)('vxe.error.colRepet',['field',field]);}fullColumnFieldData[field]=rest;}else{if(storage&&!type||columnOpts.drag&&(isCrossDrag||isSelfToChildDrag)){(0,_log.errLog)('vxe.error.reqProp',[`${column.getTitle()||type||''} -> column.field=?`]);}}if(!hasFixed&&fixed){hasFixed=fixed;}if(!htmlColumn&&type==='html'){htmlColumn=column;}if(treeNode){if(treeNodeColumn){(0,_log.warnLog)('vxe.error.colRepet',['tree-node',treeNode]);}if(!treeNodeColumn){treeNodeColumn=column;}}if(rowGroupNode){if(treeNodeColumn){(0,_log.warnLog)('vxe.error.colRepet',['row-group-node',rowGroupNode]);}if(!rowGroupColumn){rowGroupColumn=column;}}if(type==='expand'){if(expandColumn){(0,_log.warnLog)('vxe.error.colRepet',['type',type]);}if(!expandColumn){expandColumn=column;}}if(type==='checkbox'){if(checkboxColumn){(0,_log.warnLog)('vxe.error.colRepet',['type',type]);}if(!checkboxColumn){checkboxColumn=column;}}else if(type==='radio'){if(radioColumn){(0,_log.warnLog)('vxe.error.colRepet',['type',type]);}if(!radioColumn){radioColumn=column;}}if(isAllOverflow&&column.showOverflow===false){isAllOverflow=false;}if(fullColumnIdData[colid]){(0,_log.errLog)('vxe.error.colRepet',['colId',colid]);}fullColumnIdData[colid]=rest;};if(isGroup){_xeUtils.default.eachTree(collectColumn,(column,index,items,path,parentColumn,nodes)=>{column.level=nodes.length;handleFunc(column,index,items,path,parentColumn);});}else{tableFullColumn.forEach(handleFunc);}if(expandColumn&&expandOpts.mode!=='fixed'&&virtualYOpts.enabled){(0,_log.warnLog)('vxe.error.notConflictProp',['column.type="expand','virtual-y-config.enabled=false']);}if(expandColumn&&expandOpts.mode!=='fixed'&&mouseOpts.area){(0,_log.errLog)('vxe.error.errConflicts',['mouse-config.area','column.type=expand']);}if(htmlColumn){if(!columnOpts.useKey){(0,_log.errLog)('vxe.error.reqProp',['column-config.useKey & column.type=html']);}if(!rowOpts.useKey){(0,_log.errLog)('vxe.error.reqProp',['row-config.useKey & column.type=html']);}}reactData.isGroup=isGroup;reactData.rowGroupColumn=rowGroupColumn;reactData.treeNodeColumn=treeNodeColumn;reactData.expandColumn=expandColumn;reactData.isAllOverflow=isAllOverflow;};const updateHeight=()=>{internalData.customHeight=calcTableHeight('height');internalData.customMinHeight=calcTableHeight('minHeight');internalData.customMaxHeight=calcTableHeight('maxHeight');// 如果启用虚拟滚动,默认高度
|
|
@@ -204,7 +204,7 @@ const computeScrollLoad=()=>{return(0,_vue.nextTick)().then(()=>{const{scrollXLo
|
|
|
204
204
|
if(scrollXLoad){const{toVisibleIndex:toXVisibleIndex,visibleSize:visibleXSize}=handleVirtualXVisible();const offsetXSize=Math.max(0,virtualXOpts.oSize?_xeUtils.default.toNumber(virtualXOpts.oSize):0);scrollXStore.preloadSize=_xeUtils.default.toNumber(virtualXOpts.preSize);scrollXStore.offsetSize=offsetXSize;scrollXStore.visibleSize=visibleXSize;scrollXStore.endIndex=Math.max(scrollXStore.startIndex+scrollXStore.visibleSize+offsetXSize,scrollXStore.endIndex);scrollXStore.visibleStartIndex=Math.max(scrollXStore.startIndex,toXVisibleIndex);scrollXStore.visibleEndIndex=Math.min(scrollXStore.endIndex,toXVisibleIndex+visibleXSize);$xeTable.updateScrollXData().then(()=>{loadScrollXData();});}else{$xeTable.updateScrollXSpace();}// 计算 Y 逻辑
|
|
205
205
|
const rowHeight=computeRowHeight();scrollYStore.rowHeight=rowHeight;// 已废弃
|
|
206
206
|
reactData.rowHeight=rowHeight;const{toVisibleIndex:toYVisibleIndex,visibleSize:visibleYSize}=handleVirtualYVisible();if(scrollYLoad){const offsetYSize=Math.max(0,virtualYOpts.oSize?_xeUtils.default.toNumber(virtualYOpts.oSize):0);scrollYStore.preloadSize=_xeUtils.default.toNumber(virtualYOpts.preSize);scrollYStore.offsetSize=offsetYSize;scrollYStore.visibleSize=visibleYSize;scrollYStore.endIndex=Math.max(scrollYStore.startIndex+visibleYSize+offsetYSize,scrollYStore.endIndex);scrollYStore.visibleStartIndex=Math.max(scrollYStore.startIndex,toYVisibleIndex);scrollYStore.visibleEndIndex=Math.min(scrollYStore.endIndex,toYVisibleIndex+visibleYSize);$xeTable.updateScrollYData().then(()=>{loadScrollYData();});}else{$xeTable.updateScrollYSpace();}});};const calcScrollbar=()=>{const{scrollXWidth,scrollYHeight}=reactData;const{elemStore}=internalData;const scrollbarOpts=computeScrollbarOpts.value;const bodyWrapperElem=(0,_util.getRefElem)(elemStore['main-body-wrapper']);const headerTableElem=(0,_util.getRefElem)(elemStore['main-header-table']);const footerTableElem=(0,_util.getRefElem)(elemStore['main-footer-table']);const xHandleEl=refScrollXHandleElem.value;const yHandleEl=refScrollYHandleElem.value;let overflowY=false;let overflowX=false;if(bodyWrapperElem){overflowY=scrollYHeight>bodyWrapperElem.clientHeight;if(yHandleEl){reactData.scrollbarWidth=scrollbarOpts.width||yHandleEl.offsetWidth-yHandleEl.clientWidth||14;}reactData.overflowY=overflowY;overflowX=scrollXWidth>bodyWrapperElem.clientWidth;if(xHandleEl){reactData.scrollbarHeight=scrollbarOpts.height||xHandleEl.offsetHeight-xHandleEl.clientHeight||14;}const headerHeight=headerTableElem?headerTableElem.clientHeight:0;const footerHeight=footerTableElem?footerTableElem.clientHeight:0;internalData.tableHeight=bodyWrapperElem.offsetHeight;internalData.headerHeight=headerHeight;internalData.footerHeight=footerHeight;reactData.overflowX=overflowX;reactData.parentHeight=Math.max(internalData.headerHeight+footerHeight+20,$xeTable.getParentHeight());}if(overflowX){$xeTable.checkScrolling();}};const handleRecalculateLayout=reFull=>{const el=refElem.value;internalData.rceRunTime=Date.now();if(!el||!el.clientWidth){return(0,_vue.nextTick)();}const varEl=refVarElem.value;if(varEl){const[defEl,mediumEl,smallEl,miniEl]=varEl.children;calcVarRowHeightConfig('default',defEl);calcVarRowHeightConfig('medium',mediumEl);calcVarRowHeightConfig('small',smallEl);calcVarRowHeightConfig('mini',miniEl);}calcCellWidth();autoCellWidth();calcScrollbar();updateStyle();updateRowExpandStyle();return computeScrollLoad().then(()=>{// 初始化时需要在列计算之后再执行优化运算,达到最优显示效果
|
|
207
|
-
calcCellWidth();if(reFull){autoCellWidth();}calcScrollbar();updateStyle();if(reFull){updateRowOffsetTop();}updateRowExpandStyle();if(reFull){return computeScrollLoad();}});};const handleUpdateRowGroup=groupFields=>{const aggFields=[];const aggConfs=[];if(groupFields){(_xeUtils.default.isArray(groupFields)?groupFields:[groupFields]).forEach(field=>{aggFields.push(field);aggConfs.push({field});});}reactData.rowGroupList=aggConfs;reactData.aggHandleFields=aggFields;};const handleeGroupSummary=aggList=>{const aggregateOpts=computeAggregateOpts.value;const{mapChildrenField}=aggregateOpts;if(mapChildrenField){_xeUtils.default.lastEach(aggList,aggRow=>{let count=0;_xeUtils.default.each(aggRow[mapChildrenField],row=>{if(row.isAggregate){count+=row.childCount||0;}else{count++;}});aggRow.childCount=count;});if($xeTable.handlePivotTableAggregateData){$xeTable.handlePivotTableAggregateData(aggList);}}};const updateGroupData=()=>{const{aggregateConfig,rowGroupConfig}=props;const{isRowGroupStatus}=reactData;const{tableFullGroupData}=internalData;const aggregateOpts=computeAggregateOpts.value;const{mapChildrenField}=aggregateOpts;if((aggregateConfig||rowGroupConfig)&&isRowGroupStatus){const aggList=[];_xeUtils.default.eachTree(tableFullGroupData,row=>{if(row.isAggregate){aggList.push(row);}},{children:mapChildrenField});handleeGroupSummary(aggList);}};const handleGroupData=(list,rowGroups)=>{let fullData=list;let treeData=list;if(rowGroups){const aggregateOpts=computeAggregateOpts.value;const{rowField,parentField,childrenField,mapChildrenField}=aggregateOpts;const checkboxOpts=computeCheckboxOpts.value;const{checkField}=checkboxOpts;const indeterminateField=checkboxOpts.indeterminateField||checkboxOpts.halfField;const rgItem=rowGroups[0];if(rgItem&&rowField&&parentField&&childrenField&&mapChildrenField){fullData=[];treeData=[];const groupField=rgItem.field;const groupColumn=$xeTable.getColumnByField(groupField);const groupMaps={};const aggList=[];const rowkey=(0,_util.getRowkey)($xeTable);list.forEach(row=>{const cellValue=groupColumn?$xeTable.getCellLabel(row,groupColumn):_xeUtils.default.get(row,groupField);const groupValue=_xeUtils.default.eqNull(cellValue)?'':cellValue;let childList=groupMaps[groupValue];if(!childList){childList=[];groupMaps[groupValue]=childList;}if(row.isAggregate){row.isAggregate=undefined;}childList.push(row);});_xeUtils.default.objectEach(groupMaps,(childList,groupValue)=>{const{fullData:childFullData,treeData:childTreeData}=handleGroupData(childList,rowGroups.slice(1));const aggRow={isAggregate:true,aggData:{},groupContent:groupValue,groupField,childCount:0,[rowField]:(0,_util.getRowUniqueId)(),[parentField]:null,[rowkey]:(0,_util.getRowUniqueId)(),[childrenField]:childTreeData,[mapChildrenField]:childTreeData};if(checkField){aggRow[checkField]=false;}if(indeterminateField){aggRow[indeterminateField]=false;}aggList.push(aggRow);treeData.push(aggRow);fullData.push(aggRow);if(childFullData.length){fullData.push(...childFullData);}});handleeGroupSummary(aggList);}}return{treeData,fullData};};/**
|
|
207
|
+
calcCellWidth();if(reFull){autoCellWidth();}calcScrollbar();updateStyle();if(reFull){updateRowOffsetTop();}updateRowExpandStyle();if(reFull){return computeScrollLoad();}});};const handleUpdateAggValues=()=>{const{visibleColumn}=internalData;const aggCols=[];visibleColumn.forEach(column=>{if(column.aggFunc){aggCols.push(column);}});reactData.aggHandleAggColumns=aggCols;};const handleUpdateRowGroup=groupFields=>{const aggFields=[];const aggConfs=[];if(groupFields){(_xeUtils.default.isArray(groupFields)?groupFields:[groupFields]).forEach(field=>{aggFields.push(field);aggConfs.push({field});});}reactData.rowGroupList=aggConfs;reactData.aggHandleFields=aggFields;handleUpdateAggValues();};const handleeGroupSummary=aggList=>{const aggregateOpts=computeAggregateOpts.value;const{mapChildrenField}=aggregateOpts;if(mapChildrenField){_xeUtils.default.lastEach(aggList,aggRow=>{let count=0;_xeUtils.default.each(aggRow[mapChildrenField],row=>{if(row.isAggregate){count+=row.childCount||0;}else{count++;}});aggRow.childCount=count;});if($xeTable.handlePivotTableAggregateData){$xeTable.handlePivotTableAggregateData(aggList);}}};const updateGroupData=()=>{const{aggregateConfig,rowGroupConfig}=props;const{isRowGroupStatus}=reactData;const{tableFullGroupData}=internalData;const aggregateOpts=computeAggregateOpts.value;const{mapChildrenField}=aggregateOpts;if((aggregateConfig||rowGroupConfig)&&isRowGroupStatus){const aggList=[];_xeUtils.default.eachTree(tableFullGroupData,row=>{if(row.isAggregate){aggList.push(row);}},{children:mapChildrenField});handleeGroupSummary(aggList);}};const handleGroupData=(list,rowGroups)=>{let fullData=list;let treeData=list;if(rowGroups){const aggregateOpts=computeAggregateOpts.value;const{rowField,parentField,childrenField,mapChildrenField}=aggregateOpts;const checkboxOpts=computeCheckboxOpts.value;const{checkField}=checkboxOpts;const indeterminateField=checkboxOpts.indeterminateField||checkboxOpts.halfField;const rgItem=rowGroups[0];if(rgItem&&rowField&&parentField&&childrenField&&mapChildrenField){fullData=[];treeData=[];const groupField=rgItem.field;const groupColumn=$xeTable.getColumnByField(groupField);const groupMaps={};const aggList=[];const rowkey=(0,_util.getRowkey)($xeTable);list.forEach(row=>{const cellValue=groupColumn?$xeTable.getCellLabel(row,groupColumn):_xeUtils.default.get(row,groupField);const groupValue=_xeUtils.default.eqNull(cellValue)?'':cellValue;let childList=groupMaps[groupValue];if(!childList){childList=[];groupMaps[groupValue]=childList;}if(row.isAggregate){row.isAggregate=undefined;}childList.push(row);});_xeUtils.default.objectEach(groupMaps,(childList,groupValue)=>{const{fullData:childFullData,treeData:childTreeData}=handleGroupData(childList,rowGroups.slice(1));const aggRow={isAggregate:true,aggData:{},groupContent:groupValue,groupField,childCount:0,[rowField]:(0,_util.getRowUniqueId)(),[parentField]:null,[rowkey]:(0,_util.getRowUniqueId)(),[childrenField]:childTreeData,[mapChildrenField]:childTreeData};if(checkField){aggRow[checkField]=false;}if(indeterminateField){aggRow[indeterminateField]=false;}aggList.push(aggRow);treeData.push(aggRow);fullData.push(aggRow);if(childFullData.length){fullData.push(...childFullData);}});handleeGroupSummary(aggList);}}return{treeData,fullData};};/**
|
|
208
208
|
* 加载表格数据
|
|
209
209
|
* @param {Array} datas 数据
|
|
210
210
|
*/const loadTableData=(datas,isReset)=>{const{keepSource,treeConfig,rowGroupConfig,aggregateConfig}=props;const{rowGroupList,scrollYLoad:oldScrollYLoad}=reactData;const{scrollYStore,scrollXStore,lastScrollLeft,lastScrollTop}=internalData;const rowOpts=computeRowOpts.value;const treeOpts=computeTreeOpts.value;const expandOpts=computeExpandOpts.value;const{transform}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;let treeData=[];let fullData=(0,_vue.reactive)(datas?datas.slice(0):[]);// 转为响应式数据
|
|
@@ -262,7 +262,7 @@ tableFullColumn.forEach(column=>{if(column.visible){if(column.fixed==='left'){le
|
|
|
262
262
|
// }
|
|
263
263
|
if(props.spanMethod){(0,_log.warnLog)('vxe.error.scrollErrProp',['span-method']);}if(props.footerSpanMethod){(0,_log.warnLog)('vxe.error.scrollErrProp',['footer-span-method']);}if(isReset){const{visibleSize}=handleVirtualXVisible();scrollXStore.startIndex=0;scrollXStore.endIndex=visibleSize;scrollXStore.visibleSize=visibleSize;scrollXStore.visibleStartIndex=0;scrollXStore.visibleEndIndex=visibleSize;}}// 如果列被显示/隐藏,则清除合并状态
|
|
264
264
|
// 如果列被设置为固定,则清除合并状态
|
|
265
|
-
if(visibleColumn.length!==internalData.visibleColumn.length||!internalData.visibleColumn.every((column,index)=>column===visibleColumn[index])){$xeTable.clearMergeCells();$xeTable.clearMergeFooterItems();}visibleColumn.forEach((column,index)=>{const colid=column.id;const colRest=fullColumnIdData[colid];if(colRest){colRest._index=index;}});handleTableColumn();if(isReset){updateColumnOffsetLeft();return $xeTable.updateFooter().then(()=>{return $xeTable.recalculate();}).then(()=>{$xeTable.updateCellAreas();return $xeTable.recalculate();});}return $xeTable.updateFooter();};const initColumnSort=()=>{const{collectColumn}=internalData;collectColumn.forEach((column,index)=>{const sortIndex=index+1;column.sortNumber=sortIndex;column.renderSortNumber=sortIndex;});};const handleColumn=collectColumn=>{const expandOpts=computeExpandOpts.value;internalData.collectColumn=collectColumn;const tableFullColumn=getColumnList(collectColumn);internalData.tableFullColumn=tableFullColumn;reactData.isColLoading=true;reactData.isDragColMove=false;initColumnSort();return Promise.resolve(restoreCustomStorage()).then(()=>{const{scrollXLoad,scrollYLoad,expandColumn}=reactData;cacheColumnMap();parseColumns(true).then(()=>{if(reactData.scrollXLoad){loadScrollXData();}});$xeTable.clearMergeCells();$xeTable.clearMergeFooterItems();$xeTable.handleTableData(true);$xeTable.handleAggregateSummaryData();if((scrollXLoad||scrollYLoad)&&expandColumn&&expandOpts.mode!=='fixed'){(0,_log.warnLog)('vxe.error.scrollErrProp',['column.type=expand']);}return(0,_vue.nextTick)().then(()=>{if($xeToolbar){$xeToolbar.syncUpdate({collectColumn:internalData.collectColumn,$table:$xeTable});}if($xeTable.handleUpdateCustomColumn){$xeTable.handleUpdateCustomColumn();}reactData.isColLoading=false;return $xeTable.recalculate();});});};const updateScrollXStatus=fullColumn=>{const virtualXOpts=computeVirtualXOpts.value;const allCols=fullColumn||internalData.tableFullColumn;// 如果gt为0,则总是启用
|
|
265
|
+
if(visibleColumn.length!==internalData.visibleColumn.length||!internalData.visibleColumn.every((column,index)=>column===visibleColumn[index])){$xeTable.clearMergeCells();$xeTable.clearMergeFooterItems();}visibleColumn.forEach((column,index)=>{const colid=column.id;const colRest=fullColumnIdData[colid];if(colRest){colRest._index=index;}});handleTableColumn();handleUpdateAggValues();if(isReset){updateColumnOffsetLeft();return $xeTable.updateFooter().then(()=>{return $xeTable.recalculate();}).then(()=>{$xeTable.updateCellAreas();return $xeTable.recalculate();});}return $xeTable.updateFooter();};const initColumnSort=()=>{const{collectColumn}=internalData;collectColumn.forEach((column,index)=>{const sortIndex=index+1;column.sortNumber=sortIndex;column.renderSortNumber=sortIndex;});};const handleColumn=collectColumn=>{const expandOpts=computeExpandOpts.value;internalData.collectColumn=collectColumn;const tableFullColumn=getColumnList(collectColumn);internalData.tableFullColumn=tableFullColumn;reactData.isColLoading=true;reactData.isDragColMove=false;initColumnSort();return Promise.resolve(restoreCustomStorage()).then(()=>{const{scrollXLoad,scrollYLoad,expandColumn}=reactData;cacheColumnMap();parseColumns(true).then(()=>{if(reactData.scrollXLoad){loadScrollXData();}});$xeTable.clearMergeCells();$xeTable.clearMergeFooterItems();$xeTable.handleTableData(true);$xeTable.handleAggregateSummaryData();if((scrollXLoad||scrollYLoad)&&expandColumn&&expandOpts.mode!=='fixed'){(0,_log.warnLog)('vxe.error.scrollErrProp',['column.type=expand']);}return(0,_vue.nextTick)().then(()=>{if($xeToolbar){$xeToolbar.syncUpdate({collectColumn:internalData.collectColumn,$table:$xeTable});}if($xeTable.handleUpdateCustomColumn){$xeTable.handleUpdateCustomColumn();}reactData.isColLoading=false;return $xeTable.recalculate();});});};const updateScrollXStatus=fullColumn=>{const virtualXOpts=computeVirtualXOpts.value;const allCols=fullColumn||internalData.tableFullColumn;// 如果gt为0,则总是启用
|
|
266
266
|
const scrollXLoad=!!virtualXOpts.enabled&&virtualXOpts.gt>-1&&(virtualXOpts.gt===0||virtualXOpts.gt<allCols.length);reactData.scrollXLoad=scrollXLoad;return scrollXLoad;};const updateScrollYStatus=fullData=>{const{treeConfig}=props;const virtualYOpts=computeVirtualYOpts.value;const treeOpts=computeTreeOpts.value;const{transform}=treeOpts;const allList=fullData||internalData.tableFullData;// 如果gt为0,则总是启用
|
|
267
267
|
const scrollYLoad=(transform||!treeConfig)&&!!virtualYOpts.enabled&&virtualYOpts.gt>-1&&(virtualYOpts.gt===0||virtualYOpts.gt<allList.length);reactData.scrollYLoad=scrollYLoad;return scrollYLoad;};/**
|
|
268
268
|
* 展开与收起树节点
|
|
@@ -542,7 +542,7 @@ rowExpandedMaps={};internalData.rowExpandedMaps=rowExpandedMaps;rows=rows.slice(
|
|
|
542
542
|
*/isRowExpandByRow(row){const{rowExpandedFlag}=reactData;const{rowExpandedMaps}=internalData;const rowid=(0,_util.getRowid)($xeTable,row);return!!rowExpandedFlag&&!!rowExpandedMaps[rowid];},isExpandByRow(row){// 已废弃
|
|
543
543
|
(0,_log.warnLog)('vxe.error.delFunc',['isExpandByRow','isRowExpandByRow']);return tableMethods.isRowExpandByRow(row);},/**
|
|
544
544
|
* 手动清空展开行状态,数据会恢复成未展开的状态
|
|
545
|
-
*/clearRowExpand(){const{tableFullData}=internalData;const expandOpts=computeExpandOpts.value;const{reserve}=expandOpts;const expList=$xeTable.getRowExpandRecords();internalData.rowExpandedMaps={};reactData.rowExpandedFlag++;if(reserve){tableFullData.forEach(row=>handleRowExpandReserve(row,false));}return(0,_vue.nextTick)().then(()=>{if(expList.length){return $xeTable.recalculate(true);}}).then(()=>{updateRowOffsetTop();updateRowExpandStyle();handleRowExpandScroll();return $xeTable.updateCellAreas();});},clearRowExpandReserve(){internalData.rowExpandedReserveRowMap={};return(0,_vue.nextTick)();},getRowExpandRecords(){const rest=[];_xeUtils.default.each(internalData.rowExpandedMaps,item=>{if(item){rest.push(item);}});return rest;},setRowGroups(fieldOrColumns){const{aggregateConfig,rowGroupConfig}=props;const
|
|
545
|
+
*/clearRowExpand(){const{tableFullData}=internalData;const expandOpts=computeExpandOpts.value;const{reserve}=expandOpts;const expList=$xeTable.getRowExpandRecords();internalData.rowExpandedMaps={};reactData.rowExpandedFlag++;if(reserve){tableFullData.forEach(row=>handleRowExpandReserve(row,false));}return(0,_vue.nextTick)().then(()=>{if(expList.length){return $xeTable.recalculate(true);}}).then(()=>{updateRowOffsetTop();updateRowExpandStyle();handleRowExpandScroll();return $xeTable.updateCellAreas();});},clearRowExpandReserve(){internalData.rowExpandedReserveRowMap={};return(0,_vue.nextTick)();},getRowExpandRecords(){const rest=[];_xeUtils.default.each(internalData.rowExpandedMaps,item=>{if(item){rest.push(item);}});return rest;},setRowGroups(fieldOrColumns){const{aggregateConfig,rowGroupConfig}=props;const aggregateOpts=computeAggregateOpts.value;const{maxGroupSize}=aggregateOpts;if(!(aggregateConfig||rowGroupConfig)){(0,_log.errLog)('vxe.error.reqProp',['aggregate-config']);return(0,_vue.nextTick)();}const confList=fieldOrColumns?_xeUtils.default.isArray(fieldOrColumns)?fieldOrColumns:[fieldOrColumns]:[];if(maxGroupSize&&confList.length>maxGroupSize){if(_ui.VxeUI.modal){_ui.VxeUI.modal.message({status:'error',content:getI18n('vxe.table.maxGroupCol',[maxGroupSize])});}return(0,_vue.nextTick)();}if(confList.length){handleUpdateRowGroup(confList.map(fieldOrColumn=>{return _xeUtils.default.isString(fieldOrColumn)?fieldOrColumn:fieldOrColumn.field;}));return loadTableData(internalData.tableSynchData,true);}return(0,_vue.nextTick)();},clearRowGroups(){const{aggregateConfig,rowGroupConfig}=props;if(!(aggregateConfig||rowGroupConfig)){(0,_log.errLog)('vxe.error.reqProp',['aggregate-config']);return(0,_vue.nextTick)();}handleUpdateRowGroup([]);return loadTableData(internalData.tableSynchData,true);},isRowGroupRecord(row){(0,_log.warnLog)('vxe.error.delFunc',['isRowGroupRecord','isAggregateRecord']);return $xeTable.isAggregateRecord(row);},isRowGroupExpandByRow(row){(0,_log.warnLog)('vxe.error.delFunc',['isRowGroupExpandByRow','isAggregateExpandByRow']);return $xeTable.isAggregateExpandByRow(row);},isAggregateRecord(row){const{isRowGroupStatus}=reactData;return isRowGroupStatus&&row.isAggregate;},getAggregateContentByRow(row){const{isRowGroupStatus}=reactData;return isRowGroupStatus&&row&&row.isAggregate?row.groupContent:'';},getAggregateRowChildren(row){const aggregateOpts=computeAggregateOpts.value;const{childrenField,mapChildrenField}=aggregateOpts;const{isRowGroupStatus}=reactData;return isRowGroupStatus&&row&&row.isAggregate&&childrenField&&mapChildrenField?row[mapChildrenField]||[]:[];},isAggregateExpandByRow(row){const{rowGroupExpandedFlag}=reactData;const{rowGroupExpandedMaps}=internalData;return!!rowGroupExpandedFlag&&!!rowGroupExpandedMaps[(0,_util.getRowid)($xeTable,row)];},setRowGroupExpand(rows,expanded){if(rows){if(!_xeUtils.default.isArray(rows)){rows=[rows];}return handleRowGroupVirtualExpand(rows,expanded);}return(0,_vue.nextTick)();},setAllRowGroupExpand(expanded){const{tableFullGroupData}=internalData;const aggregateOpts=computeAggregateOpts.value;const{mapChildrenField}=aggregateOpts;const rgExpandedMaps={};if(expanded&&mapChildrenField){_xeUtils.default.eachTree(tableFullGroupData,row=>{if(row[mapChildrenField]&&row[mapChildrenField].length){rgExpandedMaps[(0,_util.getRowid)($xeTable,row)]=row;}},{children:mapChildrenField});}internalData.rowGroupExpandedMaps=rgExpandedMaps;handleVirtualTreeToList();$xeTable.handleTableData();updateAfterDataIndex();reactData.rowGroupExpandedFlag++;return $xeTable.recalculate(true);},clearRowGroupExpand(){internalData.rowGroupExpandedMaps={};handleVirtualTreeToList();$xeTable.handleTableData();updateAfterDataIndex();reactData.rowGroupExpandedFlag++;return $xeTable.recalculate(true);},getTreeExpandRecords(){const rest=[];_xeUtils.default.each(internalData.treeExpandedMaps,item=>{if(item){rest.push(item);}});return rest;},/**
|
|
546
546
|
* 判断树节点是否懒加载完成
|
|
547
547
|
* @param {Row} row 行对象
|
|
548
548
|
*/isTreeExpandLoaded(row){const{fullAllDataRowIdData}=internalData;const rowRest=fullAllDataRowIdData[(0,_util.getRowid)($xeTable,row)];return rowRest&&!!rowRest.treeLoaded;},clearTreeExpandLoaded(rows){const{fullAllDataRowIdData,treeExpandedMaps}=internalData;const treeOpts=computeTreeOpts.value;const{transform}=treeOpts;if(rows){if(!_xeUtils.default.isArray(rows)){rows=[rows];}rows.forEach(row=>{const rowid=(0,_util.getRowid)($xeTable,row);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){rowRest.treeLoaded=false;if(treeExpandedMaps[rowid]){delete treeExpandedMaps[rowid];}}});}else{_xeUtils.default.each(fullAllDataRowIdData,rowRest=>{rowRest.treeLoaded=false;});}internalData.treeExpandedMaps={};if(transform){handleVirtualTreeToList();$xeTable.handleTableData();}reactData.treeExpandedFlag++;return(0,_vue.nextTick)();},/**
|
|
@@ -600,8 +600,8 @@ if(transform){return handleVirtualTreeExpand(rows,expanded);}else{return handleB
|
|
|
600
600
|
* 获取所有被合并的表尾
|
|
601
601
|
*/getMergeFooterItems(){return internalData.mergeFooterList.slice(0);},/**
|
|
602
602
|
* 清除所有表尾合并
|
|
603
|
-
*/clearMergeFooterItems(){internalData.mergeFooterList=[];internalData.mergeFooterMaps={};internalData.mergeFooterCellMaps={};reactData.mergeFootFlag++;return(0,_vue.nextTick)().then(()=>{return updateStyle();});},updateCellAreas(){const{mouseConfig}=props;const mouseOpts=computeMouseOpts.value;if(mouseConfig&&mouseOpts.area&&$xeTable.handleRecalculateCellAreaEvent){return $xeTable.handleRecalculateCellAreaEvent();}return(0,_vue.nextTick)();},getCustomStoreData(){const{id}=props;const customOpts=computeCustomOpts.value;const{collectColumn}=internalData;const{storage,checkMethod,storeOptions}=customOpts;const isAllCustom=storage===true;const storageOpts=isAllCustom?{}:Object.assign({},storage||{},storeOptions);const isCustomResizable=hangleStorageDefaultValue(storageOpts.resizable,isAllCustom);const isCustomVisible=hangleStorageDefaultValue(storageOpts.visible,isAllCustom);const isCustomFixed=hangleStorageDefaultValue(storageOpts.fixed,isAllCustom);const isCustomSort=hangleStorageDefaultValue(storageOpts.sort,isAllCustom);const resizableData={};const sortData={};const visibleData={};const fixedData={};const storeData={resizableData:undefined,sortData:undefined,visibleData:undefined,fixedData:undefined};if(!id){if(storage){(0,_log.errLog)('vxe.error.reqProp',['id']);}return storeData;}let hasResizable=0;let hasSort=0;let hasFixed=0;let hasVisible=0;_xeUtils.default.eachTree(collectColumn,(column,index,items,path,parentColumn)=>{const colKey=column.getKey();if(!colKey){(0,_log.errLog)('vxe.error.reqProp',[`${column.getTitle()||column.type||''} -> column.field=?`]);return;}// 只支持一级
|
|
604
|
-
if(!parentColumn){if(isCustomSort){hasSort=1;sortData[colKey]=column.renderSortNumber;}if(isCustomFixed&&column.fixed!==column.defaultFixed){hasFixed=1;fixedData[colKey]=column.fixed;}}if(isCustomResizable&&column.resizeWidth){hasResizable=1;resizableData[colKey]=column.renderWidth;}if(isCustomVisible&&(!checkMethod||checkMethod({$table:$xeTable,column}))){if(!column.visible&&column.defaultVisible){hasVisible=1;visibleData[colKey]=false;}else if(column.visible&&!column.defaultVisible){hasVisible=1;visibleData[colKey]=true;}}});if(hasResizable){storeData.resizableData=resizableData;}if(hasSort){storeData.sortData=sortData;}if(hasFixed){storeData.fixedData=fixedData;}if(hasVisible){storeData.visibleData=visibleData;}return storeData;},focus(){internalData.isActivated=true;return(0,_vue.nextTick)();},blur(){internalData.isActivated=false;return(0,_vue.nextTick)();},/**
|
|
603
|
+
*/clearMergeFooterItems(){internalData.mergeFooterList=[];internalData.mergeFooterMaps={};internalData.mergeFooterCellMaps={};reactData.mergeFootFlag++;return(0,_vue.nextTick)().then(()=>{return updateStyle();});},updateCellAreas(){const{mouseConfig}=props;const mouseOpts=computeMouseOpts.value;if(mouseConfig&&mouseOpts.area&&$xeTable.handleRecalculateCellAreaEvent){return $xeTable.handleRecalculateCellAreaEvent();}return(0,_vue.nextTick)();},getCustomStoreData(){const{id}=props;const customOpts=computeCustomOpts.value;const{collectColumn}=internalData;const{storage,checkMethod,storeOptions}=customOpts;const isAllCustom=storage===true;const storageOpts=isAllCustom?{}:Object.assign({},storage||{},storeOptions);const isCustomResizable=hangleStorageDefaultValue(storageOpts.resizable,isAllCustom);const isCustomVisible=hangleStorageDefaultValue(storageOpts.visible,isAllCustom);const isCustomFixed=hangleStorageDefaultValue(storageOpts.fixed,isAllCustom);const isCustomSort=hangleStorageDefaultValue(storageOpts.sort,isAllCustom);const isCustomAggFunc=hangleStorageDefaultValue(storageOpts.aggFunc,isAllCustom);const resizableData={};const sortData={};const visibleData={};const fixedData={};const aggFuncData={};const storeData={resizableData:undefined,sortData:undefined,visibleData:undefined,fixedData:undefined,aggFuncData:undefined};if(!id){if(storage){(0,_log.errLog)('vxe.error.reqProp',['id']);}return storeData;}let hasResizable=0;let hasSort=0;let hasFixed=0;let hasVisible=0;let hasAggFunc=0;_xeUtils.default.eachTree(collectColumn,(column,index,items,path,parentColumn)=>{const colKey=column.getKey();if(!colKey){(0,_log.errLog)('vxe.error.reqProp',[`${column.getTitle()||column.type||''} -> column.field=?`]);return;}// 只支持一级
|
|
604
|
+
if(!parentColumn){if(isCustomSort){hasSort=1;sortData[colKey]=column.renderSortNumber;}if(isCustomFixed&&column.fixed!==column.defaultFixed){hasFixed=1;fixedData[colKey]=column.fixed;}}if(isCustomResizable&&column.resizeWidth){hasResizable=1;resizableData[colKey]=column.renderWidth;}if(isCustomVisible&&(!checkMethod||checkMethod({$table:$xeTable,column}))){if(!column.visible&&column.defaultVisible){hasVisible=1;visibleData[colKey]=false;}else if(column.visible&&!column.defaultVisible){hasVisible=1;visibleData[colKey]=true;}}if(isCustomAggFunc&&column.aggFunc!==column.defaultAggFunc){hasAggFunc=1;aggFuncData[colKey]=column.aggFunc;}});if(hasResizable){storeData.resizableData=resizableData;}if(hasSort){storeData.sortData=sortData;}if(hasFixed){storeData.fixedData=fixedData;}if(hasVisible){storeData.visibleData=visibleData;}if(hasAggFunc){storeData.aggFuncData=aggFuncData;}return storeData;},focus(){internalData.isActivated=true;return(0,_vue.nextTick)();},blur(){internalData.isActivated=false;return(0,_vue.nextTick)();},/**
|
|
605
605
|
* 连接工具栏
|
|
606
606
|
* @param $toolbar
|
|
607
607
|
*/connect($toolbar){if($toolbar){$xeToolbar=$toolbar;$xeToolbar.syncUpdate({collectColumn:internalData.collectColumn,$table:$xeTable});}else{(0,_log.errLog)('vxe.error.barUnableLink');}return(0,_vue.nextTick)();}};/**
|
|
@@ -701,8 +701,8 @@ if(treeConfig){const childrenField=treeOpts.children||treeOpts.childrenField;_xe
|
|
|
701
701
|
*/analyColumnWidth(){const{tableFullColumn}=internalData;const columnOpts=computeColumnOpts.value;const{width:defaultWidth,minWidth:defaultMinWidth}=columnOpts;const resizeList=[];const pxList=[];const pxMinList=[];const autoMinList=[];const scaleList=[];const scaleMinList=[];const autoList=[];const remainList=[];tableFullColumn.forEach(column=>{if(defaultWidth&&!column.width){column.width=defaultWidth;}if(defaultMinWidth&&!column.minWidth){column.minWidth=defaultMinWidth;}if(column.visible){if(column.resizeWidth){resizeList.push(column);}else if(column.width==='auto'){autoList.push(column);}else if((0,_dom.isPx)(column.width)){pxList.push(column);}else if((0,_dom.isScale)(column.width)){scaleList.push(column);}else if((0,_dom.isPx)(column.minWidth)){pxMinList.push(column);}else if(column.minWidth==='auto'){autoMinList.push(column);}else if((0,_dom.isScale)(column.minWidth)){scaleMinList.push(column);}else{remainList.push(column);}}});Object.assign(reactData.columnStore,{resizeList,pxList,pxMinList,autoMinList,scaleList,scaleMinList,autoList,remainList});},handleColResizeMousedownEvent(evnt,fixedType,params){evnt.stopPropagation();evnt.preventDefault();const{column}=params;const{columnStore,overflowX,scrollbarHeight}=reactData;const{elemStore,visibleColumn}=internalData;const{leftList,rightList}=columnStore;const resizableOpts=computeResizableOpts.value;const osbHeight=overflowX?scrollbarHeight:0;const tableEl=refElem.value;const leftContainerElem=refLeftContainer.value;const rightContainerElem=refRightContainer.value;const resizeBarElem=refColResizeBar.value;if(!resizeBarElem){return;}const isLeftFixed=fixedType==='left';const isRightFixed=fixedType==='right';const resizeTipElem=resizeBarElem.firstElementChild;const scrollbarXToTop=computeScrollbarXToTop.value;const{clientX:dragClientX}=evnt;const dragBtnElem=evnt.target;let resizeColumn=column;if(column.children&&column.children.length){_xeUtils.default.eachTree(column.children,childColumn=>{resizeColumn=childColumn;});}const cell=dragBtnElem.parentNode;const cellParams=Object.assign(params,{cell});let dragLeft=0;const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);if(!bodyScrollElem){return;}const tableRect=tableEl.getBoundingClientRect();const rightContainerRect=rightContainerElem?rightContainerElem.getBoundingClientRect():null;const cellRect=cell.getBoundingClientRect();const dragBtnRect=dragBtnElem.getBoundingClientRect();const dragBtnWidth=dragBtnElem.clientWidth;const dragBtnOffsetWidth=Math.floor(dragBtnWidth/2);const dragPosLeft=dragBtnRect.x-tableRect.x+dragBtnOffsetWidth;const minInterval=(0,_util.getColReMinWidth)(cellParams)-dragBtnOffsetWidth;// 列之间的最小间距
|
|
702
702
|
const dragMinLeft=isRightFixed?0:cellRect.x-tableRect.x+dragBtnWidth+minInterval;const dragMaxLeft=cellRect.x-tableRect.x+cell.clientWidth-minInterval;let fixedLeftRemainWidth=0;let fixedRightRemainWidth=0;if(isLeftFixed||isRightFixed){let isMach=false;const fixedColumn=isLeftFixed?leftList:rightList;for(let i=0;i<fixedColumn.length;i++){const item=fixedColumn[i];if(isMach){fixedLeftRemainWidth+=item.renderWidth;}else{isMach=item.id===resizeColumn.id;if(!isMach){fixedRightRemainWidth+=item.renderWidth;}}}}// 处理拖动事件
|
|
703
703
|
const updateEvent=evnt=>{evnt.stopPropagation();evnt.preventDefault();const tableHeight=tableEl.clientHeight;const offsetX=evnt.clientX-dragClientX;let left=dragPosLeft+offsetX;if(isLeftFixed){if(rightContainerRect){left=Math.min(left,rightContainerRect.x-tableRect.x-fixedLeftRemainWidth-minInterval);}}else if(isRightFixed){if(leftContainerElem){left=Math.max(left,leftContainerElem.clientWidth+fixedRightRemainWidth+minInterval);}left=Math.min(left,dragMaxLeft);}dragLeft=Math.max(left,dragMinLeft);const resizeBarLeft=Math.max(1,dragLeft);resizeBarElem.style.left=`${resizeBarLeft}px`;resizeBarElem.style.top=`${scrollbarXToTop?osbHeight:0}px`;resizeBarElem.style.height=`${scrollbarXToTop?tableHeight-osbHeight:tableHeight}px`;if(resizableOpts.showDragTip&&resizeTipElem){resizeTipElem.textContent=getI18n('vxe.table.resizeColTip',[Math.floor(resizeColumn.renderWidth+(isRightFixed?dragPosLeft-dragLeft:dragLeft-dragPosLeft))]);const tableWrapperWidth=tableEl.clientWidth;const resizeBarWidth=resizeBarElem.clientWidth;const resizeTipWidth=resizeTipElem.clientWidth;const resizeTipHeight=resizeTipElem.clientHeight;let resizeTipLeft=-resizeTipWidth;if(resizeBarLeft<resizeTipWidth+resizeBarWidth){resizeTipLeft=0;}else if(resizeBarLeft>tableWrapperWidth){resizeTipLeft+=tableWrapperWidth-resizeBarLeft;}resizeTipElem.style.left=`${resizeTipLeft}px`;resizeTipElem.style.top=`${Math.min(tableHeight-resizeTipHeight,Math.max(0,evnt.clientY-tableRect.y-resizeTipHeight/2))}px`;}reactData.isDragResize=true;};reactData.isDragResize=true;(0,_dom.addClass)(tableEl,'col-drag--resize');resizeBarElem.style.display='block';document.onmousemove=updateEvent;document.onmouseup=function(evnt){document.onmousemove=null;document.onmouseup=null;resizeBarElem.style.display='none';internalData._lastResizeTime=Date.now();setTimeout(()=>{reactData.isDragResize=false;},50);const resizeWidth=resizeColumn.renderWidth+(isRightFixed?dragPosLeft-dragLeft:dragLeft-dragPosLeft);const resizeParams=Object.assign(Object.assign({},params),{resizeWidth,resizeColumn});if(resizableOpts.dragMode==='fixed'){visibleColumn.forEach(item=>{if(item.id!==resizeColumn.id){if(!item.resizeWidth){item.resizeWidth=item.renderWidth;}}});}if($xeTable.handleColResizeCellAreaEvent){$xeTable.handleColResizeCellAreaEvent(evnt,resizeParams);}else{resizeColumn.resizeWidth=resizeWidth;handleUpdateColResize(evnt,resizeParams);}(0,_dom.removeClass)(tableEl,'col-drag--resize');};updateEvent(evnt);if($xeTable.closeMenu){$xeTable.closeMenu();}},handleColResizeDblclickEvent(evnt,params){const resizableOpts=computeResizableOpts.value;const{isDblclickAutoWidth}=resizableOpts;const el=refElem.value;if(isDblclickAutoWidth&&el){evnt.stopPropagation();evnt.preventDefault();const{fullColumnIdData}=internalData;const{column}=params;let resizeColumn=column;if(column.children&&column.children.length){_xeUtils.default.eachTree(column.children,childColumn=>{resizeColumn=childColumn;});}const colid=resizeColumn.id;const colRest=fullColumnIdData[colid];const dragBtnElem=evnt.target;const cell=dragBtnElem.parentNode;const cellParams=Object.assign(params,{cell});const colMinWidth=(0,_util.getColReMinWidth)(cellParams);el.setAttribute('data-calc-col','Y');let resizeWidth=calcColumnAutoWidth(resizeColumn,el);el.removeAttribute('data-calc-col');if(colRest){resizeWidth=Math.max(resizeWidth,colRest.width);}resizeWidth=Math.max(colMinWidth,resizeWidth);const resizeParams=Object.assign(Object.assign({},params),{resizeWidth,resizeColumn});reactData.isDragResize=false;internalData._lastResizeTime=Date.now();if($xeTable.handleColResizeDblclickCellAreaEvent){$xeTable.handleColResizeDblclickCellAreaEvent(evnt,resizeParams);}else{resizeColumn.resizeWidth=resizeWidth;handleUpdateColResize(evnt,resizeParams);}}},handleRowResizeMousedownEvent(evnt,params){evnt.stopPropagation();evnt.preventDefault();const{row}=params;const{overflowX,scrollbarWidth,overflowY,scrollbarHeight}=reactData;const{elemStore,fullAllDataRowIdData}=internalData;const osbWidth=overflowY?scrollbarWidth:0;const osbHeight=overflowX?scrollbarHeight:0;const scrollbarYToLeft=computeScrollbarYToLeft.value;const resizableOpts=computeResizableOpts.value;const rowOpts=computeRowOpts.value;const cellOpts=computeCellOpts.value;const tableEl=refElem.value;const resizeBarElem=refRowResizeBar.value;if(!resizeBarElem){return;}const{clientY:dragClientY}=evnt;const resizeTipElem=resizeBarElem.firstElementChild;const dragBtnElem=evnt.currentTarget;const tdEl=dragBtnElem.parentNode;const trEl=tdEl.parentNode;const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);if(!bodyScrollElem){return;}const rowid=(0,_util.getRowid)($xeTable,row);const rowRest=fullAllDataRowIdData[rowid];if(!rowRest){return;}const defaultRowHeight=computeDefaultRowHeight.value;const currCellHeight=rowRest.resizeHeight||cellOpts.height||rowOpts.height||rowRest.height||defaultRowHeight;const tableRect=tableEl.getBoundingClientRect();const trRect=trEl.getBoundingClientRect();const targetOffsetY=dragClientY-trRect.y-trEl.clientHeight;let resizeHeight=currCellHeight;const cellEl=tdEl.querySelector('.vxe-cell');let cellMinHeight=0;if(cellEl){const cellStyle=getComputedStyle(cellEl);cellMinHeight=Math.max(1,Math.ceil(_xeUtils.default.toNumber(cellStyle.paddingTop)+_xeUtils.default.toNumber(cellStyle.paddingBottom)));}const minTop=trRect.y-tableRect.y+cellMinHeight;// 处理拖动事件
|
|
704
|
-
const updateEvent=evnt=>{evnt.stopPropagation();evnt.preventDefault();const rtWidth=tableEl.clientWidth-osbWidth;const tableHeight=tableEl.clientHeight-osbHeight;let dragTop=evnt.clientY-tableRect.y-targetOffsetY;if(dragTop<minTop){dragTop=minTop;}else{resizeHeight=Math.max(cellMinHeight,currCellHeight+evnt.clientY-dragClientY);}resizeBarElem.style.left=`${scrollbarYToLeft?osbWidth:0}px`;resizeBarElem.style.top=`${dragTop}px`;resizeBarElem.style.width=`${rtWidth}px`;if(resizableOpts.showDragTip&&resizeTipElem){resizeTipElem.textContent=getI18n('vxe.table.resizeRowTip',[resizeHeight]);const resizeTipWidth=resizeTipElem.clientWidth;const resizeTipHeight=resizeTipElem.clientHeight;let resizeBarLeft=Math.max(2,evnt.clientX-tableRect.x);let resizeBarTop=0;if(resizeBarLeft+resizeTipWidth>=rtWidth-2){resizeBarLeft=rtWidth-resizeTipWidth-2;}if(dragTop+resizeTipHeight>=tableHeight){resizeBarTop=tableHeight-(dragTop+resizeTipHeight);}resizeTipElem.style.left=`${resizeBarLeft}px`;resizeTipElem.style.top=`${resizeBarTop}px`;}reactData.isDragResize=true;};reactData.isDragResize=true;(0,_dom.addClass)(tableEl,'row-drag--resize');resizeBarElem.style.display='block';document.onmousemove=updateEvent;document.onmouseup=function(evnt){document.onmousemove=null;document.onmouseup=null;resizeBarElem.style.display='none';internalData._lastResizeTime=Date.now();setTimeout(()=>{reactData.isDragResize=false;},50);if(resizeHeight!==currCellHeight){const resizeParams=Object.assign(Object.assign({},params),{resizeHeight,resizeRow:row});internalData.isResizeCellHeight=true;if($xeTable.handleRowResizeCellAreaEvent){$xeTable.handleRowResizeCellAreaEvent(evnt,resizeParams);}else{rowRest.resizeHeight=resizeHeight;handleUpdateRowResize(evnt,resizeParams);updateRowOffsetTop();}}(0,_dom.removeClass)(tableEl,'row-drag--resize');};updateEvent(evnt);},handleRowResizeDblclickEvent(evnt,params){const resizableOpts=computeResizableOpts.value;const{isDblclickAutoHeight}=resizableOpts;const el=refElem.value;if(isDblclickAutoHeight&&el){evnt.stopPropagation();evnt.preventDefault();const{editStore}=reactData;const{fullAllDataRowIdData}=internalData;const{actived}=editStore;const{row}=params;const rowid=(0,_util.getRowid)($xeTable,row);const rowRest=fullAllDataRowIdData[rowid];if(!rowRest){return;}const handleRsHeight=()=>{el.setAttribute('data-calc-row','Y');const resizeHeight=calcCellAutoHeight(rowRest,el);el.removeAttribute('data-calc-row');const resizeParams=Object.assign(Object.assign({},params),{resizeHeight,resizeRow:row});reactData.isDragResize=false;internalData._lastResizeTime=Date.now();if($xeTable.handleRowResizeDblclickCellAreaEvent){$xeTable.handleRowResizeDblclickCellAreaEvent(evnt,resizeParams);}else{rowRest.resizeHeight=resizeHeight;handleUpdateRowResize(evnt,resizeParams);}};if(actived.row||actived.column){$xeTable.clearEdit().then(handleRsHeight);}else{handleRsHeight();}}},saveCustomStore(type){const{customConfig}=props;const tableId=computeTableId.value;const customOpts=computeCustomOpts.value;const{updateStore,storage,storeOptions}=customOpts;const isAllCustom=storage===true;const storageOpts=isAllCustom?{}:Object.assign({},storage||{},storeOptions);const isCustomResizable=hangleStorageDefaultValue(storageOpts.resizable,isAllCustom);const isCustomVisible=hangleStorageDefaultValue(storageOpts.visible,isAllCustom);const isCustomFixed=hangleStorageDefaultValue(storageOpts.fixed,isAllCustom);const isCustomSort=hangleStorageDefaultValue(storageOpts.sort,isAllCustom);if(type!=='reset'){// fix:修复拖动列宽,重置按钮无法点击的问题
|
|
705
|
-
reactData.isCustomStatus=true;}if(storage&&(customConfig?(0,_utils.isEnableConf)(customOpts):customOpts.enabled)&&(isCustomResizable||isCustomVisible||isCustomFixed||isCustomSort)){if(!tableId){(0,_log.errLog)('vxe.error.reqProp',['id']);return(0,_vue.nextTick)();}const storeData=type==='reset'?{resizableData:{},sortData:{},visibleData:{},fixedData:{}}:tableMethods.getCustomStoreData();if(updateStore){return updateStore({$table:$xeTable,id:tableId,type,storeData});}else{setCustomStorageMap(tableId,type==='reset'?null:storeData);}}return(0,_vue.nextTick)();},handleCustom(){const{mouseConfig}=props;if(mouseConfig){if($xeTable.clearSelected){$xeTable.clearSelected();}if($xeTable.clearCellAreas){$xeTable.clearCellAreas();$xeTable.clearCopyCellArea();}}tablePrivateMethods.analyColumnWidth();return tableMethods.refreshColumn(true);},handleUpdateDataQueue(){reactData.upDataFlag++;},handleRefreshColumnQueue(){reactData.reColumnFlag++;},preventEvent(evnt,type,args,next,end){let evntList=interceptor.get(type);// 兼容老版本
|
|
704
|
+
const updateEvent=evnt=>{evnt.stopPropagation();evnt.preventDefault();const rtWidth=tableEl.clientWidth-osbWidth;const tableHeight=tableEl.clientHeight-osbHeight;let dragTop=evnt.clientY-tableRect.y-targetOffsetY;if(dragTop<minTop){dragTop=minTop;}else{resizeHeight=Math.max(cellMinHeight,currCellHeight+evnt.clientY-dragClientY);}resizeBarElem.style.left=`${scrollbarYToLeft?osbWidth:0}px`;resizeBarElem.style.top=`${dragTop}px`;resizeBarElem.style.width=`${rtWidth}px`;if(resizableOpts.showDragTip&&resizeTipElem){resizeTipElem.textContent=getI18n('vxe.table.resizeRowTip',[resizeHeight]);const resizeTipWidth=resizeTipElem.clientWidth;const resizeTipHeight=resizeTipElem.clientHeight;let resizeBarLeft=Math.max(2,evnt.clientX-tableRect.x);let resizeBarTop=0;if(resizeBarLeft+resizeTipWidth>=rtWidth-2){resizeBarLeft=rtWidth-resizeTipWidth-2;}if(dragTop+resizeTipHeight>=tableHeight){resizeBarTop=tableHeight-(dragTop+resizeTipHeight);}resizeTipElem.style.left=`${resizeBarLeft}px`;resizeTipElem.style.top=`${resizeBarTop}px`;}reactData.isDragResize=true;};reactData.isDragResize=true;(0,_dom.addClass)(tableEl,'row-drag--resize');resizeBarElem.style.display='block';document.onmousemove=updateEvent;document.onmouseup=function(evnt){document.onmousemove=null;document.onmouseup=null;resizeBarElem.style.display='none';internalData._lastResizeTime=Date.now();setTimeout(()=>{reactData.isDragResize=false;},50);if(resizeHeight!==currCellHeight){const resizeParams=Object.assign(Object.assign({},params),{resizeHeight,resizeRow:row});internalData.isResizeCellHeight=true;if($xeTable.handleRowResizeCellAreaEvent){$xeTable.handleRowResizeCellAreaEvent(evnt,resizeParams);}else{rowRest.resizeHeight=resizeHeight;handleUpdateRowResize(evnt,resizeParams);updateRowOffsetTop();}}(0,_dom.removeClass)(tableEl,'row-drag--resize');};updateEvent(evnt);},handleRowResizeDblclickEvent(evnt,params){const resizableOpts=computeResizableOpts.value;const{isDblclickAutoHeight}=resizableOpts;const el=refElem.value;if(isDblclickAutoHeight&&el){evnt.stopPropagation();evnt.preventDefault();const{editStore}=reactData;const{fullAllDataRowIdData}=internalData;const{actived}=editStore;const{row}=params;const rowid=(0,_util.getRowid)($xeTable,row);const rowRest=fullAllDataRowIdData[rowid];if(!rowRest){return;}const handleRsHeight=()=>{el.setAttribute('data-calc-row','Y');const resizeHeight=calcCellAutoHeight(rowRest,el);el.removeAttribute('data-calc-row');const resizeParams=Object.assign(Object.assign({},params),{resizeHeight,resizeRow:row});reactData.isDragResize=false;internalData._lastResizeTime=Date.now();if($xeTable.handleRowResizeDblclickCellAreaEvent){$xeTable.handleRowResizeDblclickCellAreaEvent(evnt,resizeParams);}else{rowRest.resizeHeight=resizeHeight;handleUpdateRowResize(evnt,resizeParams);}};if(actived.row||actived.column){$xeTable.clearEdit().then(handleRsHeight);}else{handleRsHeight();}}},saveCustomStore(type){const{customConfig}=props;const tableId=computeTableId.value;const customOpts=computeCustomOpts.value;const{updateStore,storage,storeOptions}=customOpts;const isAllCustom=storage===true;const storageOpts=isAllCustom?{}:Object.assign({},storage||{},storeOptions);const isCustomResizable=hangleStorageDefaultValue(storageOpts.resizable,isAllCustom);const isCustomVisible=hangleStorageDefaultValue(storageOpts.visible,isAllCustom);const isCustomFixed=hangleStorageDefaultValue(storageOpts.fixed,isAllCustom);const isCustomSort=hangleStorageDefaultValue(storageOpts.sort,isAllCustom);const isCustomAggFunc=hangleStorageDefaultValue(storageOpts.aggFunc,isAllCustom);if(type!=='reset'){// fix:修复拖动列宽,重置按钮无法点击的问题
|
|
705
|
+
reactData.isCustomStatus=true;}if(storage&&(customConfig?(0,_utils.isEnableConf)(customOpts):customOpts.enabled)&&(isCustomResizable||isCustomVisible||isCustomFixed||isCustomSort||isCustomAggFunc)){if(!tableId){(0,_log.errLog)('vxe.error.reqProp',['id']);return(0,_vue.nextTick)();}const storeData=type==='reset'?{resizableData:{},sortData:{},visibleData:{},fixedData:{}}:tableMethods.getCustomStoreData();if(updateStore){return updateStore({$table:$xeTable,id:tableId,type,storeData});}else{setCustomStorageMap(tableId,type==='reset'?null:storeData);}}return(0,_vue.nextTick)();},handleCustom(){const{mouseConfig}=props;if(mouseConfig){if($xeTable.clearSelected){$xeTable.clearSelected();}if($xeTable.clearCellAreas){$xeTable.clearCellAreas();$xeTable.clearCopyCellArea();}}tablePrivateMethods.analyColumnWidth();return tableMethods.refreshColumn(true);},handleUpdateDataQueue(){reactData.upDataFlag++;},handleRefreshColumnQueue(){reactData.reColumnFlag++;},preventEvent(evnt,type,args,next,end){let evntList=interceptor.get(type);// 兼容老版本
|
|
706
706
|
if(!evntList.length&&type==='event.clearEdit'){evntList=interceptor.get('event.clearActived');if(evntList.length){(0,_log.warnLog)('vxe.error.delEvent',['event.clearActived','event.clearEdit']);}}// 兼容老版本
|
|
707
707
|
let rest=null;let isStop=false;for(let i=0;i<evntList.length;i++){const func=evntList[i];const fnRest=func(Object.assign({$grid:$xeGrid,$table:$xeTable,$event:evnt},args));if(fnRest===false){isStop=true;break;}else if(fnRest&&fnRest.status===false){rest=fnRest.result;isStop=true;break;}}if(!isStop){if(next){rest=next();}}if(end){end();}return rest;},updateCheckboxStatus(){const{treeConfig}=props;const{isRowGroupStatus}=reactData;const{afterTreeFullData,afterGroupFullData,selectCheckboxMaps,treeIndeterminateRowMaps}=internalData;const aggregateOpts=computeAggregateOpts.value;const treeOpts=computeTreeOpts.value;const childrenField=treeOpts.children||treeOpts.childrenField;const checkboxOpts=computeCheckboxOpts.value;const{checkField,checkStrictly,checkMethod}=checkboxOpts;if(checkStrictly){return;}if(isRowGroupStatus||treeConfig){const{handleGetRowId}=(0,_util.createHandleGetRowId)($xeTable);const childRowMaps={};const childRowList=[];if(isRowGroupStatus){// 行分组
|
|
708
708
|
const mapChildrenField=aggregateOpts.mapChildrenField;if(mapChildrenField){_xeUtils.default.eachTree(afterGroupFullData,row=>{const rowid=handleGetRowId(row);const childList=row[mapChildrenField];if(childList&&childList.length&&!childRowMaps[rowid]){childRowMaps[rowid]=1;childRowList.unshift([row,rowid,childList]);}},{children:mapChildrenField});}}else if(treeConfig){// 树结构
|
|
@@ -819,7 +819,7 @@ if(expandColumn&&rowExpandedMaps[rowid]){scrollYHeight+=rowRest.expandHeight||ex
|
|
|
819
819
|
let ySpaceHeight=scrollYHeight;let scrollYTop=ySpaceTop;if(isScrollYBig){// 触底
|
|
820
820
|
if(bodyScrollElem&&bodyTableElem&&bodyScrollElem.scrollTop+clientHeight>=maxYHeight){scrollYTop=maxYHeight-bodyTableElem.clientHeight;}else{scrollYTop=(maxYHeight-clientHeight)*(ySpaceTop/(scrollYHeight-clientHeight));}ySpaceHeight=maxYHeight;}if(!(scrollYLoad&&overflowY)){scrollYTop=0;}if(leftBodyTableElem){leftBodyTableElem.style.transform=`translate(0px, ${scrollYTop}px)`;}if(bodyTableElem){bodyTableElem.style.transform=`translate(${reactData.scrollXLeft||0}px, ${scrollYTop}px)`;}if(rightbodyTableElem){rightbodyTableElem.style.transform=`translate(0px, ${scrollYTop}px)`;}containerList.forEach(name=>{const layoutList=['header','body','footer'];layoutList.forEach(layout=>{const ySpaceElem=(0,_util.getRefElem)(elemStore[`${name}-${layout}-ySpace`]);if(ySpaceElem){ySpaceElem.style.height=ySpaceHeight?`${ySpaceHeight}px`:'';}});});const scrollYSpaceEl=refScrollYSpaceElem.value;if(scrollYSpaceEl){scrollYSpaceEl.style.height=ySpaceHeight?`${ySpaceHeight}px`:'';}const rowExpandYSpaceEl=refRowExpandYSpaceElem.value;if(rowExpandYSpaceEl){rowExpandYSpaceEl.style.height=ySpaceHeight?`${ySpaceHeight}px`:'';}reactData.scrollYTop=scrollYTop;reactData.scrollYHeight=scrollYHeight;reactData.isScrollYBig=isScrollYBig;if(isScrollYBig&&mouseOpts.area){(0,_log.errLog)('vxe.error.notProp',['mouse-config.area']);}calcScrollbar();return(0,_vue.nextTick)().then(()=>{updateStyle();});},updateScrollXData(){const{isAllOverflow}=reactData;handleTableColumn();$xeTable.updateScrollXSpace();return(0,_vue.nextTick)().then(()=>{handleTableColumn();$xeTable.updateScrollXSpace();if(!isAllOverflow){$xeTable.updateScrollYSpace();}});},updateScrollYData(){$xeTable.handleTableData();$xeTable.updateScrollYSpace();return(0,_vue.nextTick)().then(()=>{$xeTable.handleTableData();$xeTable.updateScrollYSpace();});},/**
|
|
821
821
|
* 处理固定列的显示状态
|
|
822
|
-
*/checkScrolling(){const{elemStore}=internalData;const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);const leftContainerElem=refLeftContainer.value;const rightContainerElem=refRightContainer.value;const xHandleEl=refScrollXHandleElem.value;const bodtTargetEl=xHandleEl||bodyScrollElem;if(bodtTargetEl){if(leftContainerElem){if(bodtTargetEl.scrollLeft>0){(0,_dom.addClass)(leftContainerElem,'scrolling--middle');}else{(0,_dom.removeClass)(leftContainerElem,'scrolling--middle');}}if(rightContainerElem){if(bodtTargetEl.clientWidth<bodtTargetEl.scrollWidth-Math.ceil(bodtTargetEl.scrollLeft)){(0,_dom.addClass)(rightContainerElem,'scrolling--middle');}else{(0,_dom.removeClass)(rightContainerElem,'scrolling--middle');}}}},updateZindex(){if(props.zIndex){internalData.tZindex=props.zIndex;}else if(internalData.tZindex<(0,_utils.getLastZIndex)()){internalData.tZindex=(0,_utils.nextZIndex)();}},handleCheckedCheckboxRow,/**
|
|
822
|
+
*/checkScrolling(){const{elemStore}=internalData;const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);const leftContainerElem=refLeftContainer.value;const rightContainerElem=refRightContainer.value;const xHandleEl=refScrollXHandleElem.value;const bodtTargetEl=xHandleEl||bodyScrollElem;if(bodtTargetEl){if(leftContainerElem){if(bodtTargetEl.scrollLeft>0){(0,_dom.addClass)(leftContainerElem,'scrolling--middle');}else{(0,_dom.removeClass)(leftContainerElem,'scrolling--middle');}}if(rightContainerElem){if(bodtTargetEl.clientWidth<bodtTargetEl.scrollWidth-Math.ceil(bodtTargetEl.scrollLeft)){(0,_dom.addClass)(rightContainerElem,'scrolling--middle');}else{(0,_dom.removeClass)(rightContainerElem,'scrolling--middle');}}}},handleUpdateAggData(){return loadTableData(internalData.tableSynchData,true);},updateZindex(){if(props.zIndex){internalData.tZindex=props.zIndex;}else if(internalData.tZindex<(0,_utils.getLastZIndex)()){internalData.tZindex=(0,_utils.nextZIndex)();}},handleCheckedCheckboxRow,/**
|
|
823
823
|
* 行 hover 事件
|
|
824
824
|
*/triggerHoverEvent(evnt,{row}){tablePrivateMethods.setHoverRow(row);},setHoverRow(row){const rowid=(0,_util.getRowid)($xeTable,row);const el=refElem.value;tablePrivateMethods.clearHoverRow();if(el){_xeUtils.default.arrayEach(el.querySelectorAll(`.vxe-body--row[rowid="${rowid}"]`),elem=>(0,_dom.addClass)(elem,'row--hover'));}internalData.hoverRow=row;},clearHoverRow(){const el=refElem.value;if(el){_xeUtils.default.arrayEach(el.querySelectorAll('.vxe-body--row.row--hover'),elem=>(0,_dom.removeClass)(elem,'row--hover'));}internalData.hoverRow=null;},/**
|
|
825
825
|
* 已废弃,被 getCellElement 替换
|
|
@@ -881,7 +881,7 @@ if(inited){handleKeyField();reactData.tableData=[];(0,_vue.nextTick)(()=>{$xeTab
|
|
|
881
881
|
// warnLog('vxe.error.delProp', ['scroll-x', 'virtual-x-config'])
|
|
882
882
|
// }
|
|
883
883
|
// 检查导入导出类型,如果自定义导入导出方法,则不校验类型
|
|
884
|
-
if(importConfig&&importOpts.types&&!importOpts.importMethod&&!_xeUtils.default.includeArrays(_xeUtils.default.keys(importOpts._typeMaps),importOpts.types)){(0,_log.warnLog)('vxe.error.errProp',[`export-config.types=${importOpts.types.join(',')}`,importOpts.types.filter(type=>_xeUtils.default.includes(_xeUtils.default.keys(importOpts._typeMaps),type)).join(',')||_xeUtils.default.keys(importOpts._typeMaps).join(',')]);}if(exportConfig&&exportOpts.types&&!exportOpts.exportMethod&&!_xeUtils.default.includeArrays(_xeUtils.default.keys(exportOpts._typeMaps),exportOpts.types)){(0,_log.warnLog)('vxe.error.errProp',[`export-config.types=${exportOpts.types.join(',')}`,exportOpts.types.filter(type=>_xeUtils.default.includes(_xeUtils.default.keys(exportOpts._typeMaps),type)).join(',')||_xeUtils.default.keys(exportOpts._typeMaps).join(',')]);}if(!props.id){if((props.customConfig?(0,_utils.isEnableConf)(customOpts):customOpts.enabled)&&customOpts.storage){(0,_log.errLog)('vxe.error.reqProp',['id']);}}if(props.treeConfig&&checkboxOpts.range){(0,_log.errLog)('vxe.error.noTree',['checkbox-config.range']);}if(rowOpts.height&&!props.showOverflow){(0,_log.warnLog)('vxe.error.notProp',['table.show-overflow']);}if(!$xeTable.triggerCellAreaMousedownEvent){if(props.areaConfig){(0,_log.warnLog)('vxe.error.notProp',['area-config']);}if(props.clipConfig){(0,_log.warnLog)('vxe.error.notProp',['clip-config']);}if(props.fnrConfig){(0,_log.warnLog)('vxe.error.notProp',['fnr-config']);}if(mouseOpts.area){(0,_log.errLog)('vxe.error.notProp',['mouse-config.area']);return;}}if(treeConfig&&rowOpts.drag&&!treeOpts.transform){(0,_log.errLog)('vxe.error.notSupportProp',['column-config.drag','tree-config.transform=false','tree-config.transform=true']);}if(props.dragConfig){(0,_log.warnLog)('vxe.error.delProp',['drag-config','row-drag-config']);}if(props.rowGroupConfig){(0,_log.warnLog)('vxe.error.delProp',['row-group-config','aggregate-config']);}if(aggregateOpts.countFields){(0,_log.warnLog)('vxe.error.delProp',['row-group-config.countFields','column.agg-func']);}if(aggregateOpts.
|
|
884
|
+
if(importConfig&&importOpts.types&&!importOpts.importMethod&&!_xeUtils.default.includeArrays(_xeUtils.default.keys(importOpts._typeMaps),importOpts.types)){(0,_log.warnLog)('vxe.error.errProp',[`export-config.types=${importOpts.types.join(',')}`,importOpts.types.filter(type=>_xeUtils.default.includes(_xeUtils.default.keys(importOpts._typeMaps),type)).join(',')||_xeUtils.default.keys(importOpts._typeMaps).join(',')]);}if(exportConfig&&exportOpts.types&&!exportOpts.exportMethod&&!_xeUtils.default.includeArrays(_xeUtils.default.keys(exportOpts._typeMaps),exportOpts.types)){(0,_log.warnLog)('vxe.error.errProp',[`export-config.types=${exportOpts.types.join(',')}`,exportOpts.types.filter(type=>_xeUtils.default.includes(_xeUtils.default.keys(exportOpts._typeMaps),type)).join(',')||_xeUtils.default.keys(exportOpts._typeMaps).join(',')]);}if(!props.id){if((props.customConfig?(0,_utils.isEnableConf)(customOpts):customOpts.enabled)&&customOpts.storage){(0,_log.errLog)('vxe.error.reqProp',['id']);}}if(props.treeConfig&&checkboxOpts.range){(0,_log.errLog)('vxe.error.noTree',['checkbox-config.range']);}if(rowOpts.height&&!props.showOverflow){(0,_log.warnLog)('vxe.error.notProp',['table.show-overflow']);}if(!$xeTable.triggerCellAreaMousedownEvent){if(props.areaConfig){(0,_log.warnLog)('vxe.error.notProp',['area-config']);}if(props.clipConfig){(0,_log.warnLog)('vxe.error.notProp',['clip-config']);}if(props.fnrConfig){(0,_log.warnLog)('vxe.error.notProp',['fnr-config']);}if(mouseOpts.area){(0,_log.errLog)('vxe.error.notProp',['mouse-config.area']);return;}}if(!$xeTable.handlePivotTableAggregateData){if(customOpts.allowGroup){(0,_log.errLog)('vxe.error.notProp',['custom-config.allowGroup']);return;}if(customOpts.allowValues){(0,_log.errLog)('vxe.error.notProp',['custom-config.allowValues']);return;}}if(treeConfig&&rowOpts.drag&&!treeOpts.transform){(0,_log.errLog)('vxe.error.notSupportProp',['column-config.drag','tree-config.transform=false','tree-config.transform=true']);}if(props.dragConfig){(0,_log.warnLog)('vxe.error.delProp',['drag-config','row-drag-config']);}if(props.rowGroupConfig){(0,_log.warnLog)('vxe.error.delProp',['row-group-config','aggregate-config']);}if(aggregateOpts.countFields){(0,_log.warnLog)('vxe.error.delProp',['row-group-config.countFields','column.agg-func']);}if(aggregateOpts.aggregateMethod){(0,_log.warnLog)('vxe.error.delProp',['row-group-config.aggregateMethod','aggregate-config.countMethod']);}if(props.treeConfig&&treeOpts.children){(0,_log.warnLog)('vxe.error.delProp',['tree-config.children','tree-config.childrenField']);}if(props.treeConfig&&treeOpts.line){(0,_log.warnLog)('vxe.error.delProp',['tree-config.line','tree-config.showLine']);}if(mouseOpts.area&&mouseOpts.selected){(0,_log.warnLog)('vxe.error.errConflicts',['mouse-config.area','mouse-config.selected']);}if(mouseOpts.area&&props.treeConfig&&!treeOpts.transform){(0,_log.errLog)('vxe.error.noTree',['mouse-config.area']);}if(props.editConfig&&editOpts.activeMethod){(0,_log.warnLog)('vxe.error.delProp',['edit-config.activeMethod','edit-config.beforeEditMethod']);}if(props.treeConfig&&checkboxOpts.isShiftKey){(0,_log.errLog)('vxe.error.errConflicts',['tree-config','checkbox-config.isShiftKey']);}if(checkboxOpts.halfField){(0,_log.warnLog)('vxe.error.delProp',['checkbox-config.halfField','checkbox-config.indeterminateField']);}if(rowOpts.currentMethod){(0,_log.warnLog)('vxe.error.delProp',['row-config.currentMethod','current-row-config.beforeSelectMethod']);}if(columnOpts.currentMethod){(0,_log.warnLog)('vxe.error.delProp',['row-config.currentMethod','current-column-config.beforeSelectMethod']);}if((rowOpts.isCurrent||highlightCurrentRow)&&props.keyboardConfig&&keyboardOpts.isArrow&&!_xeUtils.default.isBoolean(currentRowOpts.isFollowSelected)){(0,_log.warnLog)('vxe.error.notConflictProp',['row-config.isCurrent','current-row-config.isFollowSelected']);}if((columnOpts.isCurrent||highlightCurrentColumn)&&props.keyboardConfig&&keyboardOpts.isArrow&&!_xeUtils.default.isBoolean(currentColumnOpts.isFollowSelected)){(0,_log.warnLog)('vxe.error.notConflictProp',['column-config.isCurrent','current-column-config.isFollowSelected']);}// 如果不支持虚拟滚动
|
|
885
885
|
// if (props.spanMethod) {
|
|
886
886
|
// if (virtualXOpts.enabled) {
|
|
887
887
|
// warnLog('vxe.error.notConflictProp', ['span-method', 'virtual-x-config.enabled=false'])
|