vxe-table 4.7.76 → 4.7.78

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.
Files changed (61) hide show
  1. package/README.en.md +1 -1
  2. package/README.ja-JP.md +1 -1
  3. package/README.md +1 -1
  4. package/README.zh-TW.md +1 -1
  5. package/es/grid/src/grid.js +45 -36
  6. package/es/style.css +1 -1
  7. package/es/table/module/custom/panel.js +5 -0
  8. package/es/table/src/body.js +26 -2
  9. package/es/table/src/cell.js +6 -6
  10. package/es/table/src/column.js +45 -18
  11. package/es/table/src/footer.js +16 -4
  12. package/es/table/src/group.js +18 -12
  13. package/es/table/src/header.js +4 -1
  14. package/es/table/src/props.js +96 -24
  15. package/es/table/src/table.js +80 -20
  16. package/es/table/src/util.js +1 -1
  17. package/es/toolbar/src/toolbar.js +89 -68
  18. package/es/ui/index.js +2 -2
  19. package/es/ui/src/log.js +1 -1
  20. package/lib/grid/src/grid.js +45 -39
  21. package/lib/grid/src/grid.min.js +1 -1
  22. package/lib/index.umd.js +343 -198
  23. package/lib/index.umd.min.js +1 -1
  24. package/lib/style.css +1 -1
  25. package/lib/table/module/custom/panel.js +7 -0
  26. package/lib/table/module/custom/panel.min.js +1 -1
  27. package/lib/table/src/cell.js +3 -3
  28. package/lib/table/src/cell.min.js +1 -1
  29. package/lib/table/src/column.js +16 -10
  30. package/lib/table/src/column.min.js +1 -1
  31. package/lib/table/src/group.js +17 -11
  32. package/lib/table/src/group.min.js +1 -1
  33. package/lib/table/src/table.js +91 -22
  34. package/lib/table/src/table.min.js +1 -1
  35. package/lib/table/src/util.js +1 -1
  36. package/lib/table/src/util.min.js +1 -1
  37. package/lib/toolbar/src/toolbar.js +109 -76
  38. package/lib/toolbar/src/toolbar.min.js +1 -1
  39. package/lib/ui/index.js +2 -2
  40. package/lib/ui/index.min.js +1 -1
  41. package/lib/ui/src/log.js +1 -1
  42. package/lib/ui/src/log.min.js +1 -1
  43. package/package.json +2 -2
  44. package/packages/grid/src/grid.ts +54 -44
  45. package/packages/table/module/custom/panel.ts +5 -0
  46. package/packages/table/src/body.ts +26 -2
  47. package/packages/table/src/cell.ts +9 -8
  48. package/packages/table/src/column.ts +47 -20
  49. package/packages/table/src/footer.ts +16 -4
  50. package/packages/table/src/group.ts +19 -13
  51. package/packages/table/src/header.ts +4 -1
  52. package/packages/table/src/props.ts +97 -24
  53. package/packages/table/src/table.ts +80 -25
  54. package/packages/table/src/util.ts +2 -2
  55. package/packages/toolbar/src/toolbar.ts +97 -75
  56. /package/es/{iconfont.1725332971397.ttf → iconfont.1726051234125.ttf} +0 -0
  57. /package/es/{iconfont.1725332971397.woff → iconfont.1726051234125.woff} +0 -0
  58. /package/es/{iconfont.1725332971397.woff2 → iconfont.1726051234125.woff2} +0 -0
  59. /package/lib/{iconfont.1725332971397.ttf → iconfont.1726051234125.ttf} +0 -0
  60. /package/lib/{iconfont.1725332971397.woff → iconfont.1726051234125.woff} +0 -0
  61. /package/lib/{iconfont.1725332971397.woff2 → iconfont.1726051234125.woff2} +0 -0
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Cell=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getI18n,getIcon,renderer,formats}=_ui.VxeUI;function renderTitlePrefixIcon(l){const{$table:t,column:e}=l,r=e.titlePrefix||e.titleHelp;return r?[(0,_vue.h)("i",{class:["vxe-cell-title-prefix-icon",r.icon||getIcon().TABLE_TITLE_PREFIX],onMouseenter(e){t.triggerHeaderTitleEvent(e,r,l)},onMouseleave(e){t.handleTargetLeaveEvent(e)}})]:[]}function renderTitleSuffixIcon(l){const{$table:t,column:e}=l,r=e.titleSuffix;return r?[(0,_vue.h)("i",{class:["vxe-cell-title-suffix-icon",r.icon||getIcon().TABLE_TITLE_SUFFIX],onMouseenter(e){t.triggerHeaderTitleEvent(e,r,l)},onMouseleave(e){t.handleTargetLeaveEvent(e)}})]:[]}function renderTitleContent(l,e){const{$table:t,column:r}=l,{props:n,reactData:a}=t;var o=t.getComputeMaps()["computeTooltipOpts"],d=n["showHeaderOverflow"],{type:i,showHeaderOverflow:c}=r;const s=o.value.showAll;o=_xeUtils.default.isUndefined(c)||_xeUtils.default.isNull(c)?d:c;const u="title"===o,C=!0===o||"tooltip"===o;d={};return(u||C||s)&&(d.onMouseenter=e=>{a._isResize||(u?(0,_dom.updateCellTitle)(e.currentTarget,r):(C||s)&&t.triggerHeaderTooltipEvent(e,l))}),(C||s)&&(d.onMouseleave=e=>{a._isResize||(C||s)&&t.handleTargetLeaveEvent(e)}),["html"===i&&_xeUtils.default.isString(e)?(0,_vue.h)("span",Object.assign({class:"vxe-cell--title",innerHTML:e},d)):(0,_vue.h)("span",Object.assign({class:"vxe-cell--title"},d),(0,_vn.getSlotVNs)(e))]}function formatFooterLabel(e,l){var t,r;return _xeUtils.default.isFunction(e)?e(l):(r=(r=(t=_xeUtils.default.isArray(e))?formats.get(e[0]):formats.get(e))?r.tableFooterCellFormatMethod:null)?t?r(l,...e.slice(1)):r(l):""}function getFooterContent(e){var{$table:l,column:t,_columnIndex:r,items:n,row:a}=e,{slots:o,editRender:d,cellRender:i,footerFormatter:c}=t,d=d||i,i=o?o.footer:null;if(i)return l.callSlot(i,e);if(d){o=renderer.get(d.name);if(o){l=o.renderTableFooter||o.renderFooter;if(l)return(0,_vn.getSlotVNs)(l(d,e))}}let s="";return _xeUtils.default.isArray(n)?s=n[r]:s=_xeUtils.default.get(a,t.field),[c?formatFooterLabel(c,{itemValue:s,column:t,row:a,items:n,_columnIndex:r}):(0,_utils.formatText)(s,1)]}function getDefaultCellLabel(e){var{$table:e,row:l,column:t}=e;return(0,_utils.formatText)(e.getCellLabel(l,t),1)}const Cell=exports.Cell={createColumn(e,l){var{type:t,sortable:r,filters:n,editRender:a,treeNode:o}=l,d=e["props"],i=d["editConfig"],{computeEditOpts:d,computeCheckboxOpts:c}=e.getComputeMaps(),s=c.value,u=d.value,C={renderHeader:Cell.renderDefaultHeader,renderCell:o?Cell.renderTreeCell:Cell.renderDefaultCell,renderFooter:Cell.renderDefaultFooter};switch(t){case"seq":C.renderHeader=Cell.renderSeqHeader,C.renderCell=o?Cell.renderTreeIndexCell:Cell.renderSeqCell;break;case"radio":C.renderHeader=Cell.renderRadioHeader,C.renderCell=o?Cell.renderTreeRadioCell:Cell.renderRadioCell;break;case"checkbox":C.renderHeader=Cell.renderCheckboxHeader,C.renderCell=s.checkField?o?Cell.renderTreeSelectionCellByProp:Cell.renderCheckboxCellByProp:o?Cell.renderTreeSelectionCell:Cell.renderCheckboxCell;break;case"expand":C.renderCell=Cell.renderExpandCell,C.renderData=Cell.renderExpandData;break;case"html":C.renderCell=o?Cell.renderTreeHTMLCell:Cell.renderHTMLCell,n&&r?C.renderHeader=Cell.renderSortAndFilterHeader:r?C.renderHeader=Cell.renderSortHeader:n&&(C.renderHeader=Cell.renderFilterHeader);break;default:i&&a?(C.renderHeader=Cell.renderEditHeader,C.renderCell="cell"===u.mode?o?Cell.renderTreeCellEdit:Cell.renderCellEdit:o?Cell.renderTreeRowEdit:Cell.renderRowEdit):n&&r?C.renderHeader=Cell.renderSortAndFilterHeader:r?C.renderHeader=Cell.renderSortHeader:n&&(C.renderHeader=Cell.renderFilterHeader)}return(0,_util.createColumn)(e,l,C)},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 renderTitlePrefixIcon(e).concat(Cell.renderHeaderTitle(e)).concat(renderTitleSuffixIcon(e))},renderDefaultCell(e){var{$table:l,row:t,column:r}=e,{slots:n,editRender:a,cellRender:o}=r,o=a||o,n=n?n.default:null;if(n)return l.callSlot(n,e);if(o){n=renderer.get(o.name);if(n){var d=n.renderTableCell||n.renderCell,n=n.renderTableDefault||n.renderDefault,d=a?d:n;if(d)return(0,_vn.getSlotVNs)(d(o,Object.assign({$type:a?"edit":"cell"},e)))}}n=l.getCellLabel(t,r),d=a?a.placeholder:"";return[(0,_vue.h)("span",{class:"vxe-cell--label"},a&&(0,_utils.eqEmptyValue)(n)?[(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(d),1))]:(0,_utils.formatText)(n,1))]},renderTreeCell(e){return Cell.renderTreeIcon(e,Cell.renderDefaultCell(e))},renderDefaultFooter(e){return[(0,_vue.h)("span",{class:"vxe-cell--item"},getFooterContent(e))]},renderTreeIcon(l,e){const{$table:t,isHidden:r}=l;var{reactData:n,internalData:a}=t,o=t.getComputeMaps()["computeTreeOpts"],{treeExpandedMaps:n,treeExpandLazyLoadedMaps:d}=n,a=a["fullAllDataRowIdData"],o=o.value,{row:i,column:c,level:s}=l,c=c["slots"],{indent:u,lazy:C,trigger:v,iconLoaded:p,showIcon:_,iconOpen:b,iconClose:g}=o,h=o.children||o.childrenField,o=o.hasChild||o.hasChildField,h=i[h],h=h&&h.length,c=c?c.icon:null;let E=!1,x=!1,f=!1,T=!1;var m={};return c?t.callSlot(c,l):(r||(c=(0,_util.getRowid)(t,i),x=!!n[c],C&&(n=a[c],f=!!d[c],E=i[o],T=!!n.treeLoaded)),v&&"default"!==v||(m.onClick=e=>{t.triggerTreeExpandEvent(e,l)}),[(0,_vue.h)("div",{class:["vxe-cell--tree-node",{"is--active":x}],style:{paddingLeft:s*u+"px"}},[_&&(!C||T?h:E)?[(0,_vue.h)("div",Object.assign({class:"vxe-tree--btn-wrapper"},m),[(0,_vue.h)("i",{class:["vxe-tree--node-btn",f?p||getIcon().TABLE_TREE_LOADED:x?b||getIcon().TABLE_TREE_OPEN:g||getIcon().TABLE_TREE_CLOSE]})])]:null,(0,_vue.h)("div",{class:"vxe-tree-cell"},e)])])},renderSeqHeader(e){var{$table:l,column:t}=e,r=t["slots"],r=r?r.header:null;return renderTitleContent(e,r?l.callSlot(r,e):(0,_utils.formatText)(t.getTitle(),1))},renderSeqCell(e){var{$table:l,column:t}=e,r=l["props"],r=r["treeConfig"],n=l.getComputeMaps()["computeSeqOpts"],n=n.value,t=t["slots"],t=t?t.default:null;return t?l.callSlot(t,e):(l=e["seq"],t=n.seqMethod,[(0,_utils.formatText)(t?t(e):r?l:(n.startIndex||0)+l,1)])},renderTreeIndexCell(e){return Cell.renderTreeIcon(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 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){const{$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:i}=a.value,c=l["row"],s=o?o.default:null,o=o?o.radio:null,n=t.eqRow(c,n);const u=!i||i({row:c});let C=!!d,v;r||(v={onClick(e){!C&&u&&t.triggerRadioRowEvent(e,l)}},d&&(C=!d({row:c})));i=Object.assign(Object.assign({},l),{checked:n,disabled:C,visible:u});return o?t.callSlot(o,i):(d=[],u&&d.push((0,_vue.h)("span",{class:["vxe-radio--icon",n?getIcon().TABLE_RADIO_CHECKED:getIcon().TABLE_RADIO_UNCHECKED]})),(s||a)&&d.push((0,_vue.h)("span",{class:"vxe-radio--label"},s?t.callSlot(s,i):_xeUtils.default.get(c,a))),[(0,_vue.h)("span",Object.assign({class:["vxe-cell--radio",{"is--checked":n,"is--disabled":C}]},v),d)])},renderTreeRadioCell(e){return Cell.renderTreeIcon(e,Cell.renderRadioCell(e))},renderCheckboxHeader(e){const{$table:l,column:t,isHidden:r}=e;var n=l["reactData"],{computeIsAllCheckboxDisabled:a,computeCheckboxOpts:o}=l.getComputeMaps();const{isAllSelected:d,isIndeterminate:i}=n,c=a.value;var n=t["slots"],a=n?n.header:null,n=n?n.title:null,o=o.value,s=t.getTitle();let u;r||(u={onClick(e){c||l.triggerCheckAllEvent(e,!d)}});e=Object.assign(Object.assign({},e),{checked:d,disabled:c,indeterminate:i});return a?renderTitleContent(e,l.callSlot(a,e)):(o.checkStrictly?o.showHeader:!1!==o.showHeader)?renderTitleContent(e,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":d,"is--disabled":c,"is--indeterminate":i}],title:getI18n("vxe.table.allTitle")},u),[(0,_vue.h)("span",{class:["vxe-checkbox--icon",i?getIcon().TABLE_CHECKBOX_INDETERMINATE:d?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})].concat(n||s?[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,e):s)]:[]))]):renderTitleContent(e,[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,e):s)])},renderCheckboxCell(l){const{$table:t,row:e,column:r,isHidden:n}=l;var{props:a,reactData:o}=t,a=a["treeConfig"],{selectCheckboxMaps:o,treeIndeterminateMaps:d}=o,i=t.getComputeMaps()["computeCheckboxOpts"],{labelField:i,checkMethod:c,visibleMethod:s}=i.value,u=r["slots"],C=u?u.default:null,u=u?u.checkbox:null;let v=!1,p=!1;const _=!s||s({row:e});let b=!!c,g;n||(s=(0,_util.getRowid)(t,e),p=!!o[s],g={onClick(e){!b&&_&&t.triggerCheckRowEvent(e,l,!p)}},c&&(b=!c({row:e})),a&&(v=!!d[s]));o=Object.assign(Object.assign({},l),{checked:p,disabled:b,visible:_,indeterminate:v});return u?t.callSlot(u,o):(c=[],_&&c.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",v?getIcon().TABLE_CHECKBOX_INDETERMINATE:p?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(C||i)&&c.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},C?t.callSlot(C,o):_xeUtils.default.get(e,i))),[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":p,"is--disabled":b,"is--indeterminate":v,"is--hidden":!_}]},g),c)])},renderTreeSelectionCell(e){return Cell.renderTreeIcon(e,Cell.renderCheckboxCell(e))},renderCheckboxCellByProp(l){const{$table:t,row:e,column:r,isHidden:n}=l;var{props:a,reactData:o}=t,a=a["treeConfig"],o=o["treeIndeterminateMaps"],d=t.getComputeMaps()["computeCheckboxOpts"],d=d.value,{labelField:i,checkField:c,checkMethod:s,visibleMethod:u}=d,d=d.indeterminateField||d.halfField,C=r["slots"],v=C?C.default:null,C=C?C.checkbox:null;let p=!1,_=!1;const b=!u||u({row:e});let g=!!s,h;n||(u=(0,_util.getRowid)(t,e),_=_xeUtils.default.get(e,c),h={onClick(e){!g&&b&&t.triggerCheckRowEvent(e,l,!_)}},s&&(g=!s({row:e})),a&&(p=!!o[u]));c=Object.assign(Object.assign({},l),{checked:_,disabled:g,visible:b,indeterminate:p});return C?t.callSlot(C,c):(s=[],b&&(s.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",p?getIcon().TABLE_CHECKBOX_INDETERMINATE:_?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),v||i)&&s.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},v?t.callSlot(v,c):_xeUtils.default.get(e,i))),[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":_,"is--disabled":g,"is--indeterminate":d&&!_?e[d]:p,"is--hidden":!b}]},h),s)])},renderTreeSelectionCellByProp(e){return Cell.renderTreeIcon(e,Cell.renderCheckboxCellByProp(e))},renderExpandCell(l){const{$table:t,isHidden:e,row:r,column:n}=l;var a=t["reactData"],{rowExpandedMaps:a,rowExpandLazyLoadedMaps:o}=a,d=t.getComputeMaps()["computeExpandOpts"],{lazy:d,labelField:i,iconLoaded:c,showIcon:s,iconOpen:u,iconClose:C,visibleMethod:v}=d.value,p=n["slots"],_=p?p.default:null,p=p?p.icon:null;let b=!1,g=!1;return p?t.callSlot(p,l):(e||(p=(0,_util.getRowid)(t,r),b=!!a[p],d&&(g=!!o[p])),[!s||v&&!v(l)?null:(0,_vue.h)("span",{class:["vxe-table--expanded",{"is--active":b}],onClick(e){t.triggerRowExpandEvent(e,l)}},[(0,_vue.h)("i",{class:["vxe-table--expand-btn",g?c||getIcon().TABLE_EXPAND_LOADED:b?u||getIcon().TABLE_EXPAND_OPEN:C||getIcon().TABLE_EXPAND_CLOSE]})]),_||i?(0,_vue.h)("span",{class:"vxe-table--expand-label"},_?t.callSlot(_,l):_xeUtils.default.get(r,i)):null])},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 t?l.callSlot(t,e):[(0,_vue.h)("span",{class:"vxe-cell--html",innerHTML:getDefaultCellLabel(e)})]},renderTreeHTMLCell(e){return Cell.renderTreeIcon(e,Cell.renderHTMLCell(e))},renderSortAndFilterHeader(e){return Cell.renderDefaultHeader(e).concat(Cell.renderSortIcon(e)).concat(Cell.renderFilterIcon(e))},renderSortHeader(e){return Cell.renderDefaultHeader(e).concat(Cell.renderSortIcon(e))},renderSortIcon(e){const{$table:l,column:t}=e;var e=l.getComputeMaps()["computeSortOpts"],{showIcon:e,iconLayout:r,iconAsc:n,iconDesc:a}=e.value,o=t["order"];return e?[(0,_vue.h)("span",{class:["vxe-cell--sort",`vxe-cell--sort-${r}-layout`]},[(0,_vue.h)("i",{class:["vxe-sort--asc-btn",n||getIcon().TABLE_SORT_ASC,{"sort--active":"asc"===o}],title:getI18n("vxe.table.sortAsc"),onClick(e){e.stopPropagation(),l.triggerSortEvent(e,t,"asc")}}),(0,_vue.h)("i",{class:["vxe-sort--desc-btn",a||getIcon().TABLE_SORT_DESC,{"sort--active":"desc"===o}],title:getI18n("vxe.table.sortDesc"),onClick(e){e.stopPropagation(),l.triggerSortEvent(e,t,"desc")}})])]:[]},renderFilterHeader(e){return Cell.renderDefaultHeader(e).concat(Cell.renderFilterIcon(e))},renderFilterIcon(l){const{$table:t,column:e,hasFilter:r}=l;var n=t["reactData"],n=n["filterStore"],a=t.getComputeMaps()["computeFilterOpts"],{showIcon:a,iconNone:o,iconMatch:d}=a.value;return a?[(0,_vue.h)("span",{class:["vxe-cell--filter",{"is--active":n.visible&&n.column===e}]},[(0,_vue.h)("i",{class:["vxe-filter--btn",r?d||getIcon().TABLE_FILTER_MATCH:o||getIcon().TABLE_FILTER_NONE],title:getI18n("vxe.table.filter"),onClick(e){t.triggerFilterEvent&&t.triggerFilterEvent(e,l.column,l)}})])]:[]},renderEditHeader(e){var{$table:l,column:t}=e,r=l["props"],l=l.getComputeMaps()["computeEditOpts"],{editConfig:r,editRules:n}=r,l=l.value,{sortable:a,filters:o,editRender:d}=t;let i=!1;return n&&(n=_xeUtils.default.get(n,t.field))&&(i=n.some(e=>e.required)),((0,_utils.isEnableConf)(r)?[i&&l.showAsterisk?(0,_vue.h)("i",{class:"vxe-cell--required-icon"}):null,(0,_utils.isEnableConf)(d)&&l.showIcon?(0,_vue.h)("i",{class:["vxe-cell--edit-icon",l.icon||getIcon().TABLE_EDIT]}):null]:[]).concat(Cell.renderDefaultHeader(e)).concat(a?Cell.renderSortIcon(e):[]).concat(o?Cell.renderFilterIcon(e):[])},renderRowEdit(e){var{$table:l,column:t}=e,l=l["reactData"],l=l["editStore"],l=l["actived"],t=t["editRender"];return Cell.runRenderer(e,(0,_utils.isEnableConf)(t)&&l&&l.row===e.row)},renderTreeRowEdit(e){return Cell.renderTreeIcon(e,Cell.renderRowEdit(e))},renderCellEdit(e){var{$table:l,column:t}=e,l=l["reactData"],l=l["editStore"],l=l["actived"],t=t["editRender"];return Cell.runRenderer(e,(0,_utils.isEnableConf)(t)&&l&&l.row===e.row&&l.column===e.column)},renderTreeCellEdit(e){return Cell.renderTreeIcon(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,e=Object.assign({$type:"",isEdit:l},e);return l?(e.$type="edit",r?t.callSlot(r,e):d?(0,_vn.getSlotVNs)(d(n,e)):[]):o?t.callSlot(o,e):a?[(0,_vue.h)("span",{class:"vxe-cell--label"},getDefaultCellLabel(e))]:Cell.renderDefaultCell(e)}};var _default=exports.default=Cell;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Cell=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getI18n,getIcon,renderer,formats}=_ui.VxeUI;function renderTitlePrefixIcon(l){const{$table:t,column:e}=l,r=e.titlePrefix||e.titleHelp;return r?[(0,_vue.h)("i",{class:["vxe-cell-title-prefix-icon",r.icon||getIcon().TABLE_TITLE_PREFIX],onMouseenter(e){t.triggerHeaderTitleEvent(e,r,l)},onMouseleave(e){t.handleTargetLeaveEvent(e)}})]:[]}function renderTitleSuffixIcon(l){const{$table:t,column:e}=l,r=e.titleSuffix;return r?[(0,_vue.h)("i",{class:["vxe-cell-title-suffix-icon",r.icon||getIcon().TABLE_TITLE_SUFFIX],onMouseenter(e){t.triggerHeaderTitleEvent(e,r,l)},onMouseleave(e){t.handleTargetLeaveEvent(e)}})]:[]}function renderTitleContent(l,e){const{$table:t,column:r}=l,{props:n,reactData:a}=t;var o=t.getComputeMaps()["computeTooltipOpts"],d=n["showHeaderOverflow"],{type:i,showHeaderOverflow:c}=r;const s=o.value.showAll;o=_xeUtils.default.isUndefined(c)||_xeUtils.default.isNull(c)?d:c;const u="title"===o,C=!0===o||"tooltip"===o;d={};return(u||C||s)&&(d.onMouseenter=e=>{a._isResize||(u?(0,_dom.updateCellTitle)(e.currentTarget,r):(C||s)&&t.triggerHeaderTooltipEvent(e,l))}),(C||s)&&(d.onMouseleave=e=>{a._isResize||(C||s)&&t.handleTargetLeaveEvent(e)}),["html"===i&&_xeUtils.default.isString(e)?(0,_vue.h)("span",Object.assign({class:"vxe-cell--title",innerHTML:e},d)):(0,_vue.h)("span",Object.assign({class:"vxe-cell--title"},d),(0,_vn.getSlotVNs)(e))]}function formatFooterLabel(e,l){var t,r;return _xeUtils.default.isFunction(e)?e(l):(r=(r=(t=_xeUtils.default.isArray(e))?formats.get(e[0]):formats.get(e))?r.tableFooterCellFormatMethod:null)?t?r(l,...e.slice(1)):r(l):""}function getFooterContent(e){var{$table:l,column:t,_columnIndex:r,items:n,row:a}=e,{slots:o,editRender:d,cellRender:i,footerFormatter:c}=t,d=d||i,i=o?o.footer:null;if(i)return l.callSlot(i,e);if(d){o=renderer.get(d.name);if(o){l=o.renderTableFooter||o.renderFooter;if(l)return(0,_vn.getSlotVNs)(l(d,e))}}let s="";return _xeUtils.default.isArray(n)?s=n[r]:s=_xeUtils.default.get(a,t.field),[c?formatFooterLabel(c,{itemValue:s,column:t,row:a,items:n,_columnIndex:r}):(0,_utils.formatText)(s,1)]}function getDefaultCellLabel(e){var{$table:e,row:l,column:t}=e;return(0,_utils.formatText)(e.getCellLabel(l,t),1)}const Cell=exports.Cell={createColumn(e,l){var{type:t,sortable:r,filters:n,editRender:a,treeNode:o}=l,d=e["props"],i=d["editConfig"],{computeEditOpts:d,computeCheckboxOpts:c}=e.getComputeMaps(),s=c.value,u=d.value,C={renderHeader:Cell.renderDefaultHeader,renderCell:o?Cell.renderTreeCell:Cell.renderDefaultCell,renderFooter:Cell.renderDefaultFooter};switch(t){case"seq":C.renderHeader=Cell.renderSeqHeader,C.renderCell=o?Cell.renderTreeIndexCell:Cell.renderSeqCell;break;case"radio":C.renderHeader=Cell.renderRadioHeader,C.renderCell=o?Cell.renderTreeRadioCell:Cell.renderRadioCell;break;case"checkbox":C.renderHeader=Cell.renderCheckboxHeader,C.renderCell=s.checkField?o?Cell.renderTreeSelectionCellByProp:Cell.renderCheckboxCellByProp:o?Cell.renderTreeSelectionCell:Cell.renderCheckboxCell;break;case"expand":C.renderCell=Cell.renderExpandCell,C.renderData=Cell.renderExpandData;break;case"html":C.renderCell=o?Cell.renderTreeHTMLCell:Cell.renderHTMLCell,n&&r?C.renderHeader=Cell.renderSortAndFilterHeader:r?C.renderHeader=Cell.renderSortHeader:n&&(C.renderHeader=Cell.renderFilterHeader);break;default:i&&a?(C.renderHeader=Cell.renderEditHeader,C.renderCell="cell"===u.mode?o?Cell.renderTreeCellEdit:Cell.renderCellEdit:o?Cell.renderTreeRowEdit:Cell.renderRowEdit):n&&r?C.renderHeader=Cell.renderSortAndFilterHeader:r?C.renderHeader=Cell.renderSortHeader:n&&(C.renderHeader=Cell.renderFilterHeader)}return(0,_util.createColumn)(e,l,C)},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 renderTitlePrefixIcon(e).concat(Cell.renderHeaderTitle(e)).concat(renderTitleSuffixIcon(e))},renderDefaultCell(e){var{$table:l,row:t,column:r}=e,{slots:n,editRender:a,cellRender:o}=r,o=a||o,n=n?n.default:null;if(n)return l.callSlot(n,e);if(o){n=renderer.get(o.name);if(n){var d=n.renderTableCell||n.renderCell,n=n.renderTableDefault||n.renderDefault,d=a?d:n;if(d)return(0,_vn.getSlotVNs)(d(o,Object.assign({$type:a?"edit":"cell"},e)))}}n=l.getCellLabel(t,r),d=a?a.placeholder:"";return[(0,_vue.h)("span",{class:"vxe-cell--label"},[a&&(0,_utils.eqEmptyValue)(n)?(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(d),1)):(0,_vue.h)("span",(0,_utils.formatText)(n,1))])]},renderTreeCell(e){return Cell.renderTreeIcon(e,Cell.renderDefaultCell(e))},renderDefaultFooter(e){return[(0,_vue.h)("span",{class:"vxe-cell--item"},getFooterContent(e))]},renderTreeIcon(l,e){const{$table:t,isHidden:r}=l;var{reactData:n,internalData:a}=t,o=t.getComputeMaps()["computeTreeOpts"],{treeExpandedMaps:n,treeExpandLazyLoadedMaps:d}=n,a=a["fullAllDataRowIdData"],o=o.value,{row:i,column:c,level:s}=l,c=c["slots"],{indent:u,lazy:C,trigger:v,iconLoaded:p,showIcon:_,iconOpen:b,iconClose:g}=o,h=o.children||o.childrenField,o=o.hasChild||o.hasChildField,h=i[h],h=h&&h.length,c=c?c.icon:null;let E=!1,x=!1,f=!1,T=!1;var m={};return c?t.callSlot(c,l):(r||(c=(0,_util.getRowid)(t,i),x=!!n[c],C&&(n=a[c],f=!!d[c],E=i[o],T=!!n.treeLoaded)),v&&"default"!==v||(m.onClick=e=>{t.triggerTreeExpandEvent(e,l)}),[(0,_vue.h)("div",{class:["vxe-cell--tree-node",{"is--active":x}],style:{paddingLeft:s*u+"px"}},[_&&(!C||T?h:E)?[(0,_vue.h)("div",Object.assign({class:"vxe-tree--btn-wrapper"},m),[(0,_vue.h)("i",{class:["vxe-tree--node-btn",f?p||getIcon().TABLE_TREE_LOADED:x?b||getIcon().TABLE_TREE_OPEN:g||getIcon().TABLE_TREE_CLOSE]})])]:null,(0,_vue.h)("div",{class:"vxe-tree-cell"},e)])])},renderSeqHeader(e){var{$table:l,column:t}=e,r=t["slots"],r=r?r.header:null;return renderTitleContent(e,r?l.callSlot(r,e):(0,_utils.formatText)(t.getTitle(),1))},renderSeqCell(e){var{$table:l,column:t}=e,r=l["props"],r=r["treeConfig"],n=l.getComputeMaps()["computeSeqOpts"],n=n.value,t=t["slots"],t=t?t.default:null;return t?l.callSlot(t,e):(l=e["seq"],t=n.seqMethod,[(0,_utils.formatText)(t?t(e):r?l:(n.startIndex||0)+l,1)])},renderTreeIndexCell(e){return Cell.renderTreeIcon(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 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){const{$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:i}=a.value,c=l["row"],s=o?o.default:null,o=o?o.radio:null,n=t.eqRow(c,n);const u=!i||i({row:c});let C=!!d,v;r||(v={onClick(e){!C&&u&&t.triggerRadioRowEvent(e,l)}},d&&(C=!d({row:c})));i=Object.assign(Object.assign({},l),{checked:n,disabled:C,visible:u});return o?t.callSlot(o,i):(d=[],u&&d.push((0,_vue.h)("span",{class:["vxe-radio--icon",n?getIcon().TABLE_RADIO_CHECKED:getIcon().TABLE_RADIO_UNCHECKED]})),(s||a)&&d.push((0,_vue.h)("span",{class:"vxe-radio--label"},s?t.callSlot(s,i):_xeUtils.default.get(c,a))),[(0,_vue.h)("span",Object.assign({class:["vxe-cell--radio",{"is--checked":n,"is--disabled":C}]},v),d)])},renderTreeRadioCell(e){return Cell.renderTreeIcon(e,Cell.renderRadioCell(e))},renderCheckboxHeader(e){const{$table:l,column:t,isHidden:r}=e;var n=l["reactData"],{computeIsAllCheckboxDisabled:a,computeCheckboxOpts:o}=l.getComputeMaps();const{isAllSelected:d,isIndeterminate:i}=n,c=a.value;var n=t["slots"],a=n?n.header:null,n=n?n.title:null,o=o.value,s=t.getTitle();let u;r||(u={onClick(e){c||l.triggerCheckAllEvent(e,!d)}});e=Object.assign(Object.assign({},e),{checked:d,disabled:c,indeterminate:i});return a?renderTitleContent(e,l.callSlot(a,e)):(o.checkStrictly?o.showHeader:!1!==o.showHeader)?renderTitleContent(e,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":d,"is--disabled":c,"is--indeterminate":i}],title:getI18n("vxe.table.allTitle")},u),[(0,_vue.h)("span",{class:["vxe-checkbox--icon",i?getIcon().TABLE_CHECKBOX_INDETERMINATE:d?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})].concat(n||s?[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,e):s)]:[]))]):renderTitleContent(e,[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,e):s)])},renderCheckboxCell(l){const{$table:t,row:e,column:r,isHidden:n}=l;var{props:a,reactData:o}=t,a=a["treeConfig"],{selectCheckboxMaps:o,treeIndeterminateMaps:d}=o,i=t.getComputeMaps()["computeCheckboxOpts"],{labelField:i,checkMethod:c,visibleMethod:s}=i.value,u=r["slots"],C=u?u.default:null,u=u?u.checkbox:null;let v=!1,p=!1;const _=!s||s({row:e});let b=!!c,g;n||(s=(0,_util.getRowid)(t,e),p=!!o[s],g={onClick(e){!b&&_&&t.triggerCheckRowEvent(e,l,!p)}},c&&(b=!c({row:e})),a&&(v=!!d[s]));o=Object.assign(Object.assign({},l),{checked:p,disabled:b,visible:_,indeterminate:v});return u?t.callSlot(u,o):(c=[],_&&c.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",v?getIcon().TABLE_CHECKBOX_INDETERMINATE:p?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(C||i)&&c.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},C?t.callSlot(C,o):_xeUtils.default.get(e,i))),[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":p,"is--disabled":b,"is--indeterminate":v,"is--hidden":!_}]},g),c)])},renderTreeSelectionCell(e){return Cell.renderTreeIcon(e,Cell.renderCheckboxCell(e))},renderCheckboxCellByProp(l){const{$table:t,row:e,column:r,isHidden:n}=l;var{props:a,reactData:o}=t,a=a["treeConfig"],o=o["treeIndeterminateMaps"],d=t.getComputeMaps()["computeCheckboxOpts"],d=d.value,{labelField:i,checkField:c,checkMethod:s,visibleMethod:u}=d,d=d.indeterminateField||d.halfField,C=r["slots"],v=C?C.default:null,C=C?C.checkbox:null;let p=!1,_=!1;const b=!u||u({row:e});let g=!!s,h;n||(u=(0,_util.getRowid)(t,e),_=_xeUtils.default.get(e,c),h={onClick(e){!g&&b&&t.triggerCheckRowEvent(e,l,!_)}},s&&(g=!s({row:e})),a&&(p=!!o[u]));c=Object.assign(Object.assign({},l),{checked:_,disabled:g,visible:b,indeterminate:p});return C?t.callSlot(C,c):(s=[],b&&(s.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",p?getIcon().TABLE_CHECKBOX_INDETERMINATE:_?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),v||i)&&s.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},v?t.callSlot(v,c):_xeUtils.default.get(e,i))),[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":_,"is--disabled":g,"is--indeterminate":d&&!_?e[d]:p,"is--hidden":!b}]},h),s)])},renderTreeSelectionCellByProp(e){return Cell.renderTreeIcon(e,Cell.renderCheckboxCellByProp(e))},renderExpandCell(l){const{$table:t,isHidden:e,row:r,column:n}=l;var a=t["reactData"],{rowExpandedMaps:a,rowExpandLazyLoadedMaps:o}=a,d=t.getComputeMaps()["computeExpandOpts"],{lazy:d,labelField:i,iconLoaded:c,showIcon:s,iconOpen:u,iconClose:C,visibleMethod:v}=d.value,p=n["slots"],_=p?p.default:null,p=p?p.icon:null;let b=!1,g=!1;return p?t.callSlot(p,l):(e||(p=(0,_util.getRowid)(t,r),b=!!a[p],d&&(g=!!o[p])),[!s||v&&!v(l)?null:(0,_vue.h)("span",{class:["vxe-table--expanded",{"is--active":b}],onClick(e){t.triggerRowExpandEvent(e,l)}},[(0,_vue.h)("i",{class:["vxe-table--expand-btn",g?c||getIcon().TABLE_EXPAND_LOADED:b?u||getIcon().TABLE_EXPAND_OPEN:C||getIcon().TABLE_EXPAND_CLOSE]})]),_||i?(0,_vue.h)("span",{class:"vxe-table--expand-label"},_?t.callSlot(_,l):_xeUtils.default.get(r,i)):null])},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 t?l.callSlot(t,e):[(0,_vue.h)("span",{class:"vxe-cell--html",innerHTML:getDefaultCellLabel(e)})]},renderTreeHTMLCell(e){return Cell.renderTreeIcon(e,Cell.renderHTMLCell(e))},renderSortAndFilterHeader(e){return Cell.renderDefaultHeader(e).concat(Cell.renderSortIcon(e)).concat(Cell.renderFilterIcon(e))},renderSortHeader(e){return Cell.renderDefaultHeader(e).concat(Cell.renderSortIcon(e))},renderSortIcon(e){const{$table:l,column:t}=e;var e=l.getComputeMaps()["computeSortOpts"],{showIcon:e,iconLayout:r,iconAsc:n,iconDesc:a}=e.value,o=t["order"];return e?[(0,_vue.h)("span",{class:["vxe-cell--sort",`vxe-cell--sort-${r}-layout`]},[(0,_vue.h)("i",{class:["vxe-sort--asc-btn",n||getIcon().TABLE_SORT_ASC,{"sort--active":"asc"===o}],title:getI18n("vxe.table.sortAsc"),onClick(e){e.stopPropagation(),l.triggerSortEvent(e,t,"asc")}}),(0,_vue.h)("i",{class:["vxe-sort--desc-btn",a||getIcon().TABLE_SORT_DESC,{"sort--active":"desc"===o}],title:getI18n("vxe.table.sortDesc"),onClick(e){e.stopPropagation(),l.triggerSortEvent(e,t,"desc")}})])]:[]},renderFilterHeader(e){return Cell.renderDefaultHeader(e).concat(Cell.renderFilterIcon(e))},renderFilterIcon(l){const{$table:t,column:e,hasFilter:r}=l;var n=t["reactData"],n=n["filterStore"],a=t.getComputeMaps()["computeFilterOpts"],{showIcon:a,iconNone:o,iconMatch:d}=a.value;return a?[(0,_vue.h)("span",{class:["vxe-cell--filter",{"is--active":n.visible&&n.column===e}]},[(0,_vue.h)("i",{class:["vxe-filter--btn",r?d||getIcon().TABLE_FILTER_MATCH:o||getIcon().TABLE_FILTER_NONE],title:getI18n("vxe.table.filter"),onClick(e){t.triggerFilterEvent&&t.triggerFilterEvent(e,l.column,l)}})])]:[]},renderEditHeader(e){var{$table:l,column:t}=e,r=l["props"],l=l.getComputeMaps()["computeEditOpts"],{editConfig:r,editRules:n}=r,l=l.value,{sortable:a,filters:o,editRender:d}=t;let i=!1;return n&&(n=_xeUtils.default.get(n,t.field))&&(i=n.some(e=>e.required)),((0,_utils.isEnableConf)(r)?[i&&l.showAsterisk?(0,_vue.h)("i",{class:"vxe-cell--required-icon"}):null,(0,_utils.isEnableConf)(d)&&l.showIcon?(0,_vue.h)("i",{class:["vxe-cell--edit-icon",l.icon||getIcon().TABLE_EDIT]}):null]:[]).concat(Cell.renderDefaultHeader(e)).concat(a?Cell.renderSortIcon(e):[]).concat(o?Cell.renderFilterIcon(e):[])},renderRowEdit(e){var{$table:l,column:t}=e,l=l["reactData"],l=l["editStore"],l=l["actived"],t=t["editRender"];return Cell.runRenderer(e,(0,_utils.isEnableConf)(t)&&l&&l.row===e.row)},renderTreeRowEdit(e){return Cell.renderTreeIcon(e,Cell.renderRowEdit(e))},renderCellEdit(e){var{$table:l,column:t}=e,l=l["reactData"],l=l["editStore"],l=l["actived"],t=t["editRender"];return Cell.runRenderer(e,(0,_utils.isEnableConf)(t)&&l&&l.row===e.row&&l.column===e.column)},renderTreeCellEdit(e){return Cell.renderTreeIcon(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,e=Object.assign({$type:"",isEdit:l},e);return l?(e.$type="edit",r?t.callSlot(r,e):d?(0,_vn.getSlotVNs)(d(n,e)):[]):o?t.callSlot(o,e):a?[(0,_vue.h)("span",{class:"vxe-cell--label"},getDefaultCellLabel(e))]:Cell.renderDefaultCell(e)}};var _default=exports.default=Cell;
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = exports.columnProps = void 0;
7
7
  var _vue = require("vue");
8
- var _util = require("../../table/src/util");
9
- var _cell = _interopRequireDefault(require("../../table/src/cell"));
8
+ var _util = require("./util");
9
+ var _cell = _interopRequireDefault(require("./cell"));
10
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
11
  const columnProps = exports.columnProps = {
12
12
  // 列唯一主键
@@ -122,25 +122,31 @@ var _default = exports.default = (0, _vue.defineComponent)({
122
122
  slots
123
123
  }) {
124
124
  const refElem = (0, _vue.ref)();
125
- const $xeTable = (0, _vue.inject)('$xeTable', {});
126
- const parentColgroup = (0, _vue.inject)('$xeColgroup', null);
127
- const column = _cell.default.createColumn($xeTable, props);
128
- column.slots = slots;
125
+ const $xeTable = (0, _vue.inject)('$xeTable', null);
126
+ const $xeColgroup = (0, _vue.inject)('$xeColgroup', null);
127
+ if (!$xeTable) {
128
+ return () => (0, _vue.createCommentVNode)();
129
+ }
130
+ const columnConfig = _cell.default.createColumn($xeTable, props);
131
+ columnConfig.slots = slots;
129
132
  const renderVN = () => {
130
133
  return (0, _vue.h)('div', {
131
134
  ref: refElem
132
135
  });
133
136
  };
134
137
  const $xeColumn = {
135
- column,
138
+ columnConfig,
136
139
  renderVN
137
140
  };
138
- (0, _util.watchColumn)($xeTable, props, column);
141
+ (0, _util.watchColumn)($xeTable, props, columnConfig);
139
142
  (0, _vue.onMounted)(() => {
140
- (0, _util.assembleColumn)($xeTable, refElem.value, column, parentColgroup);
143
+ const elem = refElem.value;
144
+ if (elem) {
145
+ (0, _util.assembleColumn)($xeTable, elem, columnConfig, $xeColgroup);
146
+ }
141
147
  });
142
148
  (0, _vue.onUnmounted)(() => {
143
- (0, _util.destroyColumn)($xeTable, column);
149
+ (0, _util.destroyColumn)($xeTable, columnConfig);
144
150
  });
145
151
  (0, _vue.provide)('$xeColumn', $xeColumn);
146
152
  (0, _vue.provide)('$xeGrid', null);
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.columnProps=void 0;var _vue=require("vue"),_util=require("../../table/src/util"),_cell=_interopRequireDefault(require("../../table/src/cell"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const columnProps=exports.columnProps={colId:[String,Number],type:String,field:String,title:String,width:[Number,String],minWidth:[Number,String],maxWidth:[Number,String],resizable:{type:Boolean,default:null},fixed:String,align:String,headerAlign:String,footerAlign:String,showOverflow:{type:[Boolean,String],default:null},showHeaderOverflow:{type:[Boolean,String],default:null},showFooterOverflow:{type:[Boolean,String],default:null},className:[String,Function],headerClassName:[String,Function],footerClassName:[String,Function],formatter:[Function,Array,String],footerFormatter:[Function,Array,String],sortable:Boolean,sortBy:[String,Function],sortType:String,filters:{type:Array,default:null},filterMultiple:{type:Boolean,default:!0},filterMethod:Function,filterResetMethod:Function,filterRecoverMethod:Function,filterRender:Object,treeNode:Boolean,visible:{type:Boolean,default:null},headerExportMethod:Function,exportMethod:Function,footerExportMethod:Function,titleHelp:Object,titlePrefix:Object,titleSuffix:Object,cellType:String,cellRender:Object,editRender:Object,contentRender:Object,params:Object};var _default=exports.default=(0,_vue.defineComponent)({name:"VxeColumn",props:columnProps,setup(e,{slots:t}){const r=(0,_vue.ref)(),o=(0,_vue.inject)("$xeTable",{}),n=(0,_vue.inject)("$xeColgroup",null),l=_cell.default.createColumn(o,e);l.slots=t;var t=()=>(0,_vue.h)("div",{ref:r}),u={column:l,renderVN:t};return(0,_util.watchColumn)(o,e,l),(0,_vue.onMounted)(()=>{(0,_util.assembleColumn)(o,r.value,l,n)}),(0,_vue.onUnmounted)(()=>{(0,_util.destroyColumn)(o,l)}),(0,_vue.provide)("$xeColumn",u),(0,_vue.provide)("$xeGrid",null),t}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.columnProps=void 0;var _vue=require("vue"),_util=require("./util"),_cell=_interopRequireDefault(require("./cell"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const columnProps=exports.columnProps={colId:[String,Number],type:String,field:String,title:String,width:[Number,String],minWidth:[Number,String],maxWidth:[Number,String],resizable:{type:Boolean,default:null},fixed:String,align:String,headerAlign:String,footerAlign:String,showOverflow:{type:[Boolean,String],default:null},showHeaderOverflow:{type:[Boolean,String],default:null},showFooterOverflow:{type:[Boolean,String],default:null},className:[String,Function],headerClassName:[String,Function],footerClassName:[String,Function],formatter:[Function,Array,String],footerFormatter:[Function,Array,String],sortable:Boolean,sortBy:[String,Function],sortType:String,filters:{type:Array,default:null},filterMultiple:{type:Boolean,default:!0},filterMethod:Function,filterResetMethod:Function,filterRecoverMethod:Function,filterRender:Object,treeNode:Boolean,visible:{type:Boolean,default:null},headerExportMethod:Function,exportMethod:Function,footerExportMethod:Function,titleHelp:Object,titlePrefix:Object,titleSuffix:Object,cellType:String,cellRender:Object,editRender:Object,contentRender:Object,params:Object};var _default=exports.default=(0,_vue.defineComponent)({name:"VxeColumn",props:columnProps,setup(e,{slots:t}){const r=(0,_vue.ref)(),n=(0,_vue.inject)("$xeTable",null),o=(0,_vue.inject)("$xeColgroup",null);if(!n)return()=>(0,_vue.createCommentVNode)();const l=_cell.default.createColumn(n,e);l.slots=t;var t=()=>(0,_vue.h)("div",{ref:r}),u={columnConfig:l,renderVN:t};return(0,_util.watchColumn)(n,e,l),(0,_vue.onMounted)(()=>{var e=r.value;e&&(0,_util.assembleColumn)(n,e,l,o)}),(0,_vue.onUnmounted)(()=>{(0,_util.destroyColumn)(n,l)}),(0,_vue.provide)("$xeColumn",u),(0,_vue.provide)("$xeGrid",null),t}});
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _vue = require("vue");
8
8
  var _column = require("./column");
9
- var _util = require("../../table/src/util");
10
- var _cell = _interopRequireDefault(require("../../table/src/cell"));
9
+ var _util = require("./util");
10
+ var _cell = _interopRequireDefault(require("./cell"));
11
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
12
  var _default = exports.default = (0, _vue.defineComponent)({
13
13
  name: 'VxeColgroup',
@@ -16,21 +16,27 @@ var _default = exports.default = (0, _vue.defineComponent)({
16
16
  slots
17
17
  }) {
18
18
  const refElem = (0, _vue.ref)();
19
- const $xeTable = (0, _vue.inject)('$xeTable', {});
20
- const parentColgroup = (0, _vue.inject)('$xeColgroup', null);
21
- const column = _cell.default.createColumn($xeTable, props);
19
+ const $xeTable = (0, _vue.inject)('$xeTable', null);
20
+ const $xeParentColgroup = (0, _vue.inject)('$xeColgroup', null);
21
+ if (!$xeTable) {
22
+ return () => (0, _vue.createCommentVNode)();
23
+ }
24
+ const columnConfig = _cell.default.createColumn($xeTable, props);
22
25
  const columnSlots = {};
23
26
  if (slots.header) {
24
27
  columnSlots.header = slots.header;
25
28
  }
26
- column.slots = columnSlots;
27
- column.children = [];
28
- (0, _util.watchColumn)($xeTable, props, column);
29
+ columnConfig.slots = columnSlots;
30
+ columnConfig.children = [];
31
+ (0, _util.watchColumn)($xeTable, props, columnConfig);
29
32
  (0, _vue.onMounted)(() => {
30
- (0, _util.assembleColumn)($xeTable, refElem.value, column, parentColgroup);
33
+ const elem = refElem.value;
34
+ if (elem) {
35
+ (0, _util.assembleColumn)($xeTable, elem, columnConfig, $xeParentColgroup);
36
+ }
31
37
  });
32
38
  (0, _vue.onUnmounted)(() => {
33
- (0, _util.destroyColumn)($xeTable, column);
39
+ (0, _util.destroyColumn)($xeTable, columnConfig);
34
40
  });
35
41
  const renderVN = () => {
36
42
  return (0, _vue.h)('div', {
@@ -38,7 +44,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
38
44
  }, slots.default ? slots.default() : []);
39
45
  };
40
46
  const $xeColgroup = {
41
- column
47
+ columnConfig
42
48
  };
43
49
  (0, _vue.provide)('$xeColgroup', $xeColgroup);
44
50
  (0, _vue.provide)('$xeGrid', null);
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_column=require("./column"),_util=require("../../table/src/util"),_cell=_interopRequireDefault(require("../../table/src/cell"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeColgroup",props:_column.columnProps,setup(e,{slots:u}){const l=(0,_vue.ref)(),r=(0,_vue.inject)("$xeTable",{}),t=(0,_vue.inject)("$xeColgroup",null),o=_cell.default.createColumn(r,e);var n={},n=(u.header&&(n.header=u.header),o.slots=n,o.children=[],(0,_util.watchColumn)(r,e,o),(0,_vue.onMounted)(()=>{(0,_util.assembleColumn)(r,l.value,o,t)}),(0,_vue.onUnmounted)(()=>{(0,_util.destroyColumn)(r,o)}),{column:o});return(0,_vue.provide)("$xeColgroup",n),(0,_vue.provide)("$xeGrid",null),()=>(0,_vue.h)("div",{ref:l},u.default?u.default():[])}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_column=require("./column"),_util=require("./util"),_cell=_interopRequireDefault(require("./cell"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeColgroup",props:_column.columnProps,setup(e,{slots:u}){const l=(0,_vue.ref)(),r=(0,_vue.inject)("$xeTable",null),o=(0,_vue.inject)("$xeColgroup",null);if(!r)return()=>(0,_vue.createCommentVNode)();const t=_cell.default.createColumn(r,e);var n={},n=(u.header&&(n.header=u.header),t.slots=n,t.children=[],(0,_util.watchColumn)(r,e,t),(0,_vue.onMounted)(()=>{var e=l.value;e&&(0,_util.assembleColumn)(r,e,t,o)}),(0,_vue.onUnmounted)(()=>{(0,_util.destroyColumn)(r,t)}),{columnConfig:t});return(0,_vue.provide)("$xeColgroup",n),(0,_vue.provide)("$xeGrid",null),()=>(0,_vue.h)("div",{ref:l},u.default?u.default():[])}});
@@ -2134,9 +2134,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
2134
2134
  if (rows && !_xeUtils.default.isArray(rows)) {
2135
2135
  rows = [rows];
2136
2136
  }
2137
- rows.forEach(row => tablePrivateMethods.handleSelectRow({
2138
- row
2139
- }, !!value, isForce));
2137
+ tablePrivateMethods.handleBatchSelectRows(rows, !!value, isForce);
2138
+ tablePrivateMethods.checkSelectionStatus();
2140
2139
  return (0, _vue.nextTick)();
2141
2140
  };
2142
2141
  const handleCheckedAllCheckboxRow = (value, isForce) => {
@@ -2148,7 +2147,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
2148
2147
  } = reactData;
2149
2148
  const {
2150
2149
  afterFullData,
2151
- afterFullRowMaps,
2152
2150
  checkboxReserveRowMap
2153
2151
  } = internalData;
2154
2152
  const treeOpts = computeTreeOpts.value;
@@ -2162,15 +2160,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
2162
2160
  } = checkboxOpts;
2163
2161
  const indeterminateField = checkboxOpts.indeterminateField || checkboxOpts.halfField;
2164
2162
  const selectRowMaps = {};
2165
- // 疑惑!
2166
- if (!treeConfig) {
2167
- _xeUtils.default.each(selectCheckboxMaps, (row, rowid) => {
2168
- if (!afterFullRowMaps[rowid]) {
2169
- selectRowMaps[rowid] = row;
2170
- }
2171
- });
2172
- }
2173
- // 疑惑!
2174
2163
  if (checkStrictly) {
2175
2164
  reactData.isAllSelected = value;
2176
2165
  } else {
@@ -3267,7 +3256,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
3267
3256
  if (!_xeUtils.default.isArray(rows)) {
3268
3257
  rest = [rows];
3269
3258
  }
3270
- rest.forEach(item => Object.assign(item, record));
3259
+ const rowkey = (0, _util.getRowkey)($xeTable);
3260
+ rest.forEach(row => {
3261
+ const rowid = (0, _util.getRowid)($xeTable, row);
3262
+ const newRecord = _xeUtils.default.clone(Object.assign({}, record), true);
3263
+ _xeUtils.default.set(newRecord, rowkey, rowid);
3264
+ Object.assign(row, newRecord);
3265
+ });
3271
3266
  }
3272
3267
  return (0, _vue.nextTick)();
3273
3268
  },
@@ -3293,11 +3288,14 @@ var _default = exports.default = (0, _vue.defineComponent)({
3293
3288
  const oRow = tableSourceData[rowIndex];
3294
3289
  if (oRow && row) {
3295
3290
  if (field) {
3296
- const newValue = _xeUtils.default.get(record || row, field);
3291
+ const newValue = _xeUtils.default.clone(_xeUtils.default.get(record || row, field), true);
3297
3292
  _xeUtils.default.set(row, field, newValue);
3298
3293
  _xeUtils.default.set(oRow, field, newValue);
3299
3294
  } else {
3295
+ const rowkey = (0, _util.getRowkey)($xeTable);
3296
+ const rowid = (0, _util.getRowid)($xeTable, row);
3300
3297
  const newRecord = _xeUtils.default.clone(Object.assign({}, record), true);
3298
+ _xeUtils.default.set(newRecord, rowkey, rowid);
3301
3299
  _xeUtils.default.destructuring(oRow, Object.assign(row, newRecord));
3302
3300
  }
3303
3301
  }
@@ -4175,6 +4173,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
4175
4173
  * @param {Boolean} value 是否选中
4176
4174
  */
4177
4175
  setCheckboxRow(rows, value) {
4176
+ if (rows && !_xeUtils.default.isArray(rows)) {
4177
+ rows = [rows];
4178
+ }
4178
4179
  return handleCheckedCheckboxRow(rows, value, true);
4179
4180
  },
4180
4181
  isCheckedByCheckboxRow(row) {
@@ -4211,6 +4212,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
4211
4212
  tablePrivateMethods.handleSelectRow({
4212
4213
  row
4213
4214
  }, value, true);
4215
+ tablePrivateMethods.checkSelectionStatus();
4214
4216
  return (0, _vue.nextTick)();
4215
4217
  },
4216
4218
  /**
@@ -6546,6 +6548,72 @@ var _default = exports.default = (0, _vue.defineComponent)({
6546
6548
  }
6547
6549
  },
6548
6550
  /**
6551
+ * 多行
6552
+ * 多选,行选中事件
6553
+ * value 选中true 不选false 半选-1
6554
+ */
6555
+ handleBatchSelectRows(rows, value, isForce) {
6556
+ const {
6557
+ treeConfig
6558
+ } = props;
6559
+ const {
6560
+ selectCheckboxMaps
6561
+ } = reactData;
6562
+ const selectRowMaps = Object.assign({}, selectCheckboxMaps);
6563
+ const checkboxOpts = computeCheckboxOpts.value;
6564
+ const {
6565
+ checkField,
6566
+ checkStrictly,
6567
+ checkMethod
6568
+ } = checkboxOpts;
6569
+ if (checkField) {
6570
+ if (treeConfig && !checkStrictly) {
6571
+ rows.forEach(row => {
6572
+ tablePrivateMethods.handleSelectRow({
6573
+ row
6574
+ }, value, isForce);
6575
+ });
6576
+ } else {
6577
+ rows.forEach(row => {
6578
+ if (isForce || !checkMethod || checkMethod({
6579
+ row
6580
+ })) {
6581
+ _xeUtils.default.set(row, checkField, value);
6582
+ handleCheckboxReserveRow(row, value);
6583
+ }
6584
+ });
6585
+ }
6586
+ } else {
6587
+ if (treeConfig && !checkStrictly) {
6588
+ rows.forEach(row => {
6589
+ tablePrivateMethods.handleSelectRow({
6590
+ row
6591
+ }, value, isForce);
6592
+ });
6593
+ } else {
6594
+ rows.forEach(row => {
6595
+ const rowid = (0, _util.getRowid)($xeTable, row);
6596
+ if (isForce || !checkMethod || checkMethod({
6597
+ row
6598
+ })) {
6599
+ if (value) {
6600
+ if (!selectRowMaps[rowid]) {
6601
+ selectRowMaps[rowid] = row;
6602
+ }
6603
+ } else {
6604
+ if (selectRowMaps[rowid]) {
6605
+ delete selectRowMaps[rowid];
6606
+ }
6607
+ }
6608
+ handleCheckboxReserveRow(row, value);
6609
+ }
6610
+ });
6611
+ }
6612
+ }
6613
+ reactData.selectCheckboxMaps = selectRowMaps;
6614
+ },
6615
+ /**
6616
+ * 单行
6549
6617
  * 多选,行选中事件
6550
6618
  * value 选中true 不选false 半选-1
6551
6619
  */
@@ -6638,9 +6706,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
6638
6706
  parentStatus = selectItems.filter(item => vItemMaps[(0, _util.getRowid)($xeTable, item)]).length === vItems.length ? true : selectItems.length || value === -1 ? -1 : false;
6639
6707
  }
6640
6708
  reactData.selectCheckboxMaps = selectRowMaps;
6641
- return tablePrivateMethods.handleSelectRow({
6709
+ tablePrivateMethods.handleSelectRow({
6642
6710
  row: matchObj.parent
6643
6711
  }, parentStatus, isForce);
6712
+ return;
6644
6713
  }
6645
6714
  } else {
6646
6715
  if (isForce || !checkMethod || checkMethod({
@@ -6725,9 +6794,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
6725
6794
  parentStatus = selectItems.filter(item => vItemMaps[(0, _util.getRowid)($xeTable, item)]).length === vItems.length ? true : selectItems.length || value === -1 ? -1 : false;
6726
6795
  }
6727
6796
  reactData.selectCheckboxMaps = selectRowMaps;
6728
- return tablePrivateMethods.handleSelectRow({
6797
+ tablePrivateMethods.handleSelectRow({
6729
6798
  row: matchObj.parent
6730
6799
  }, parentStatus, isForce);
6800
+ return;
6731
6801
  }
6732
6802
  } else {
6733
6803
  if (isForce || !checkMethod || checkMethod({
@@ -6747,7 +6817,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
6747
6817
  }
6748
6818
  }
6749
6819
  reactData.selectCheckboxMaps = selectRowMaps;
6750
- tablePrivateMethods.checkSelectionStatus();
6751
6820
  },
6752
6821
  triggerHeaderTitleEvent(evnt, iconParams, params) {
6753
6822
  const tipContent = iconParams.content || iconParams.message;
@@ -7056,6 +7125,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
7056
7125
  tablePrivateMethods.triggerCheckRowEvent(evnt, params, value);
7057
7126
  } else {
7058
7127
  tablePrivateMethods.handleSelectRow(params, value);
7128
+ tablePrivateMethods.checkSelectionStatus();
7059
7129
  }
7060
7130
  },
7061
7131
  triggerCheckRowEvent(evnt, params, value) {
@@ -7095,6 +7165,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
7095
7165
  row
7096
7166
  })) {
7097
7167
  tablePrivateMethods.handleSelectRow(params, value);
7168
+ tablePrivateMethods.checkSelectionStatus();
7098
7169
  tableMethods.dispatchEvent('checkbox-change', Object.assign({
7099
7170
  records: tableMethods.getCheckboxRecords(),
7100
7171
  reserves: tableMethods.getCheckboxReserveRecords(),
@@ -7975,9 +8046,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
7975
8046
  globalEvents.on($xeTable, 'mousewheel', handleGlobalMousewheelEvent);
7976
8047
  globalEvents.on($xeTable, 'keydown', handleGlobalKeydownEvent);
7977
8048
  globalEvents.on($xeTable, 'resize', handleGlobalResizeEvent);
7978
- if ($xeTable.handleGlobalContextmenuEvent) {
7979
- globalEvents.on($xeTable, 'contextmenu', $xeTable.handleGlobalContextmenuEvent);
7980
- }
8049
+ globalEvents.on($xeTable, 'contextmenu', $xeTable.handleGlobalContextmenuEvent);
7981
8050
  tablePrivateMethods.preventEvent(null, 'mounted', {
7982
8051
  $table: $xeTable
7983
8052
  });
@@ -8198,7 +8267,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
8198
8267
  storeData: reactData.importStore
8199
8268
  }) : (0, _vue.createCommentVNode)(),
8200
8269
  /**
8201
- * 导出/导出
8270
+ * 导出
8202
8271
  */
8203
8272
  initStore.export && (props.exportConfig || props.printConfig) ? (0, _vue.h)(_exportPanel.default, {
8204
8273
  defaultOptions: reactData.exportParams,