vxe-table 4.3.8 → 4.3.10

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 +3 -3
  2. package/README.md +3 -3
  3. package/README.zh-TW.md +3 -3
  4. package/es/grid/src/grid.js +51 -21
  5. package/es/icon/style/{iconfont.1673016604432.ttf → iconfont.1676040467680.ttf} +0 -0
  6. package/es/icon/style/{iconfont.1673016604432.woff → iconfont.1676040467680.woff} +0 -0
  7. package/es/icon/style/{iconfont.1673016604432.woff2 → iconfont.1676040467680.woff2} +0 -0
  8. package/es/icon/style.css +1 -1
  9. package/es/{iconfont.1673016604432.ttf → iconfont.1676040467680.ttf} +0 -0
  10. package/es/{iconfont.1673016604432.woff → iconfont.1676040467680.woff} +0 -0
  11. package/es/{iconfont.1673016604432.woff2 → iconfont.1676040467680.woff2} +0 -0
  12. package/es/input/src/input.js +4 -4
  13. package/es/list/src/list.js +4 -1
  14. package/es/pager/src/pager.js +8 -2
  15. package/es/style.css +1 -1
  16. package/es/style.min.css +1 -1
  17. package/es/table/src/cell.js +2 -2
  18. package/es/table/src/table.js +151 -138
  19. package/es/toolbar/src/toolbar.js +2 -2
  20. package/es/tools/log.js +1 -1
  21. package/es/v-x-e-table/index.js +1 -1
  22. package/lib/grid/src/grid.js +72 -26
  23. package/lib/grid/src/grid.min.js +1 -1
  24. package/lib/icon/style/{iconfont.1673016604432.ttf → iconfont.1676040467680.ttf} +0 -0
  25. package/lib/icon/style/{iconfont.1673016604432.woff → iconfont.1676040467680.woff} +0 -0
  26. package/lib/icon/style/{iconfont.1673016604432.woff2 → iconfont.1676040467680.woff2} +0 -0
  27. package/lib/icon/style/style.css +1 -1
  28. package/lib/icon/style/style.min.css +1 -1
  29. package/lib/{iconfont.1673016604432.ttf → iconfont.1676040467680.ttf} +0 -0
  30. package/lib/{iconfont.1673016604432.woff → iconfont.1676040467680.woff} +0 -0
  31. package/lib/{iconfont.1673016604432.woff2 → iconfont.1676040467680.woff2} +0 -0
  32. package/lib/index.umd.js +277 -195
  33. package/lib/index.umd.min.js +1 -1
  34. package/lib/input/src/input.js +4 -4
  35. package/lib/input/src/input.min.js +1 -1
  36. package/lib/list/src/list.js +5 -0
  37. package/lib/list/src/list.min.js +1 -1
  38. package/lib/pager/src/pager.js +8 -2
  39. package/lib/pager/src/pager.min.js +1 -1
  40. package/lib/style.css +1 -1
  41. package/lib/style.min.css +1 -1
  42. package/lib/table/src/cell.js +2 -2
  43. package/lib/table/src/cell.min.js +1 -1
  44. package/lib/table/src/table.js +172 -159
  45. package/lib/table/src/table.min.js +1 -1
  46. package/lib/toolbar/src/toolbar.js +4 -2
  47. package/lib/toolbar/src/toolbar.min.js +1 -1
  48. package/lib/tools/log.js +1 -1
  49. package/lib/tools/log.min.js +1 -1
  50. package/lib/v-x-e-table/index.js +1 -1
  51. package/lib/v-x-e-table/index.min.js +1 -1
  52. package/package.json +1 -1
  53. package/packages/grid/src/grid.ts +50 -20
  54. package/packages/input/src/input.ts +4 -4
  55. package/packages/list/src/list.ts +5 -1
  56. package/packages/pager/src/pager.ts +8 -2
  57. package/packages/table/src/cell.ts +3 -3
  58. package/packages/table/src/table.ts +146 -130
  59. package/packages/toolbar/src/toolbar.ts +2 -2
  60. package/types/grid.d.ts +4 -0
  61. package/types/table.d.ts +1 -1
@@ -188,7 +188,7 @@ var Cell = {
188
188
  return renderTitleContent(params, (0, _vn.getSlotVNs)(compConf.renderHeader(renderOpts, params)));
189
189
  }
190
190
  }
191
- return renderTitleContent(params, [(0, _utils.formatText)(column.getTitle(), 1)]);
191
+ return renderTitleContent(params, (0, _utils.formatText)(column.getTitle(), 1));
192
192
  },
193
193
  renderDefaultHeader: function (params) {
194
194
  return renderHelpIcon(params).concat(Cell.renderHeaderTitle(params));
@@ -301,7 +301,7 @@ var Cell = {
301
301
  column = params.column;
302
302
  var slots = column.slots;
303
303
  var headerSlot = slots ? slots.header : null;
304
- return renderTitleContent(params, headerSlot ? $table.callSlot(headerSlot, params) : [(0, _utils.formatText)(column.getTitle(), 1)]);
304
+ return renderTitleContent(params, headerSlot ? $table.callSlot(headerSlot, params) : (0, _utils.formatText)(column.getTitle(), 1));
305
305
  },
306
306
  renderSeqCell: function (params) {
307
307
  var $table = params.$table,
@@ -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")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_vXETable=require("../../v-x-e-table"),_utils=require("../../tools/utils"),_dom=require("../../tools/dom"),_util=require("./util"),_vn=require("../../tools/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var __assign=function(){return(__assign=Object.assign||function(e){for(var l,r=1,n=arguments.length;r<n;r++)for(var t in l=arguments[r])Object.prototype.hasOwnProperty.call(l,t)&&(e[t]=l[t]);return e}).apply(this,arguments)};function renderHelpIcon(l){var r=l.$table,e=l.column,e=e.titlePrefix||e.titleHelp;return e?[(0,_vue.h)("i",{class:["vxe-cell-help-icon",e.icon||_conf.default.icon.TABLE_HELP],onMouseenter:function(e){r.triggerHeaderHelpEvent(e,l)},onMouseleave:function(e){r.handleTargetLeaveEvent(e)}})]:[]}function renderTitleContent(l,e){var r=l.$table,n=l.column,t=r.props,o=r.internalData,a=r.getComputeMaps().computeTooltipOpts,t=t.showHeaderOverflow,d=n.type,i=n.showHeaderOverflow,c=a.value.showAll,a=_xeUtils.default.isUndefined(i)||_xeUtils.default.isNull(i)?t:i,s="title"===a,u=!0===a||"tooltip"===a,t={};return(s||u||c)&&(t.onMouseenter=function(e){o._isResize||(s?(0,_dom.updateCellTitle)(e.currentTarget,n):(u||c)&&r.triggerHeaderTooltipEvent(e,l))}),(u||c)&&(t.onMouseleave=function(e){o._isResize||(u||c)&&r.handleTargetLeaveEvent(e)}),["html"===d&&_xeUtils.default.isString(e)?(0,_vue.h)("span",__assign({class:"vxe-cell--title",innerHTML:e},t)):(0,_vue.h)("span",__assign({class:"vxe-cell--title"},t),e)]}function getFooterContent(e){var l=e.$table,r=e.column,n=e._columnIndex,t=e.items,o=r.slots,a=r.editRender,r=r.cellRender,a=a||r,r=o?o.footer:null;if(r)return l.callSlot(r,e);if(a){o=_vXETable.VXETable.renderer.get(a.name);if(o&&o.renderFooter)return(0,_vn.getSlotVNs)(o.renderFooter(a,e))}return[(0,_utils.formatText)(t[n],1)]}function getDefaultCellLabel(e){var l=e.$table,r=e.row,e=e.column;return(0,_utils.formatText)(l.getCellLabel(r,e),1)}var Cell={createColumn:function(e,l){var r=l.type,n=l.sortable,t=l.filters,o=l.editRender,a=l.treeNode,d=e.props.editConfig,i=e.getComputeMaps(),c=i.computeEditOpts,s=i.computeCheckboxOpts.value,u=c.value,C={renderHeader:Cell.renderDefaultHeader,renderCell:a?Cell.renderTreeCell:Cell.renderDefaultCell,renderFooter:Cell.renderDefaultFooter};switch(r){case"seq":C.renderHeader=Cell.renderSeqHeader,C.renderCell=a?Cell.renderTreeIndexCell:Cell.renderSeqCell;break;case"radio":C.renderHeader=Cell.renderRadioHeader,C.renderCell=a?Cell.renderTreeRadioCell:Cell.renderRadioCell;break;case"checkbox":C.renderHeader=Cell.renderCheckboxHeader,C.renderCell=s.checkField?a?Cell.renderTreeSelectionCellByProp:Cell.renderCheckboxCellByProp:a?Cell.renderTreeSelectionCell:Cell.renderCheckboxCell;break;case"expand":C.renderCell=Cell.renderExpandCell,C.renderData=Cell.renderExpandData;break;case"html":C.renderCell=a?Cell.renderTreeHTMLCell:Cell.renderHTMLCell,t&&n?C.renderHeader=Cell.renderSortAndFilterHeader:n?C.renderHeader=Cell.renderSortHeader:t&&(C.renderHeader=Cell.renderFilterHeader);break;default:d&&o?(C.renderHeader=Cell.renderEditHeader,C.renderCell="cell"===u.mode?a?Cell.renderTreeCellEdit:Cell.renderCellEdit:a?Cell.renderTreeRowEdit:Cell.renderRowEdit):t&&n?C.renderHeader=Cell.renderSortAndFilterHeader:n?C.renderHeader=Cell.renderSortHeader:t&&(C.renderHeader=Cell.renderFilterHeader)}return(0,_util.createColumn)(e,l,C)},renderHeaderTitle:function(e){var l=e.$table,r=e.column,n=r.slots,t=r.editRender,o=r.cellRender,t=t||o,o=n?n.header:null;if(o)return renderTitleContent(e,l.callSlot(o,e));if(t){n=_vXETable.VXETable.renderer.get(t.name);if(n&&n.renderHeader)return renderTitleContent(e,(0,_vn.getSlotVNs)(n.renderHeader(t,e)))}return renderTitleContent(e,[(0,_utils.formatText)(r.getTitle(),1)])},renderDefaultHeader:function(e){return renderHelpIcon(e).concat(Cell.renderHeaderTitle(e))},renderDefaultCell:function(e){var l=e.$table,r=e.row,n=e.column,t=n.slots,o=n.editRender,a=n.cellRender,a=o||a,t=t?t.default:null;if(t)return l.callSlot(t,e);if(a){var t=o?"renderCell":"renderDefault",d=_vXETable.VXETable.renderer.get(a.name),d=d?d[t]:null;if(d)return(0,_vn.getSlotVNs)(d(a,Object.assign({$type:o?"edit":"cell"},e)))}t=l.getCellLabel(r,n),d=o?o.placeholder:"";return[(0,_vue.h)("span",{class:"vxe-cell--label"},o&&(0,_utils.eqEmptyValue)(t)?[(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(d),1))]:(0,_utils.formatText)(t,1))]},renderTreeCell:function(e){return Cell.renderTreeIcon(e,Cell.renderDefaultCell(e))},renderDefaultFooter:function(e){return[(0,_vue.h)("span",{class:"vxe-cell--item"},getFooterContent(e))]},renderTreeIcon:function(l,e){var r=l.$table,n=l.isHidden,t=r.reactData,o=r.getComputeMaps().computeTreeOpts,a=t.treeExpandeds,t=t.treeLazyLoadeds,o=o.value,d=l.row,i=l.column,c=l.level,i=i.slots,s=o.children,u=o.hasChild,C=o.indent,f=o.lazy,_=o.trigger,v=o.iconLoaded,p=o.showIcon,E=o.iconOpen,o=o.iconClose,s=d[s],i=i?i.icon:null,h=!1,b=!1,x=!1,T={};return i?r.callSlot(i,l):(n||(b=-1<r.findRowIndexOf(a,d),f&&(x=-1<r.findRowIndexOf(t,d),h=d[u])),_&&"default"!==_||(T.onClick=function(e){return r.triggerTreeExpandEvent(e,l)}),[(0,_vue.h)("div",{class:["vxe-cell--tree-node",{"is--active":b}],style:{paddingLeft:"".concat(c*C,"px")}},[p&&(s&&s.length||h)?[(0,_vue.h)("div",__assign({class:"vxe-tree--btn-wrapper"},T),[(0,_vue.h)("i",{class:["vxe-tree--node-btn",x?v||_conf.default.icon.TABLE_TREE_LOADED:b?E||_conf.default.icon.TABLE_TREE_OPEN:o||_conf.default.icon.TABLE_TREE_CLOSE]})])]:null,(0,_vue.h)("div",{class:"vxe-tree-cell"},e)])])},renderSeqHeader:function(e){var l=e.$table,r=e.column,n=r.slots,n=n?n.header:null;return renderTitleContent(e,n?l.callSlot(n,e):[(0,_utils.formatText)(r.getTitle(),1)])},renderSeqCell:function(e){var l=e.$table,r=e.column,n=l.props.treeConfig,t=l.getComputeMaps().computeSeqOpts.value,r=r.slots,r=r?r.default:null;return r?l.callSlot(r,e):(l=e.seq,r=t.seqMethod,[(0,_utils.formatText)(r?r(e):n?l:(t.startIndex||0)+l,1)])},renderTreeIndexCell:function(e){return Cell.renderTreeIcon(e,Cell.renderSeqCell(e))},renderRadioHeader:function(e){var l=e.$table,r=e.column,n=r.slots,t=n?n.header:null,n=n?n.title:null;return renderTitleContent(e,t?l.callSlot(t,e):[(0,_vue.h)("span",{class:"vxe-radio--label"},n?l.callSlot(n,e):(0,_utils.formatText)(r.getTitle(),1))])},renderRadioCell:function(l){var e,r=l.$table,n=l.column,t=l.isHidden,o=r.reactData,a=r.getComputeMaps().computeRadioOpts,o=o.selectRow,a=a.value,n=n.slots,d=a.labelField,i=a.checkMethod,a=a.visibleMethod,c=l.row,s=n?n.default:null,n=n?n.radio:null,o=c===o,u=!a||a({row:c}),C=!!i,a=(t||(e={onClick:function(e){!C&&u&&r.triggerRadioRowEvent(e,l)}},i&&(C=!i({row:c}))),__assign(__assign({},l),{checked:o,disabled:C,visible:u}));return n?r.callSlot(n,a):(t=[],u&&t.push((0,_vue.h)("span",{class:["vxe-radio--icon",o?_conf.default.icon.TABLE_RADIO_CHECKED:_conf.default.icon.TABLE_RADIO_UNCHECKED]})),(s||d)&&t.push((0,_vue.h)("span",{class:"vxe-radio--label"},s?r.callSlot(s,a):_xeUtils.default.get(c,d))),[(0,_vue.h)("span",__assign({class:["vxe-cell--radio",{"is--checked":o,"is--disabled":C}]},e),t)])},renderTreeRadioCell:function(e){return Cell.renderTreeIcon(e,Cell.renderRadioCell(e))},renderCheckboxHeader:function(e){var l,r=e.$table,n=e.column,t=e.isHidden,o=r.reactData,a=r.getComputeMaps(),d=a.computeIsAllCheckboxDisabled,a=a.computeCheckboxOpts,i=o.isAllSelected,o=o.isIndeterminate,c=d.value,d=n.slots,s=d?d.header:null,d=d?d.title:null,a=a.value,n=n.getTitle(),t=(t||(l={onClick:function(e){c||r.triggerCheckAllEvent(e,!i)}}),__assign(__assign({},e),{checked:i,disabled:c,indeterminate:o}));return s?renderTitleContent(t,r.callSlot(s,t)):(a.checkStrictly?a.showHeader:!1!==a.showHeader)?renderTitleContent(t,[(0,_vue.h)("span",__assign({class:["vxe-cell--checkbox",{"is--checked":i,"is--disabled":c,"is--indeterminate":o}],title:_conf.default.i18n("vxe.table.allTitle")},l),[(0,_vue.h)("span",{class:["vxe-checkbox--icon",o?_conf.default.icon.TABLE_CHECKBOX_INDETERMINATE:i?_conf.default.icon.TABLE_CHECKBOX_CHECKED:_conf.default.icon.TABLE_CHECKBOX_UNCHECKED]})].concat(d||n?[(0,_vue.h)("span",{class:"vxe-checkbox--label"},d?r.callSlot(d,t):n)]:[]))]):renderTitleContent(t,[(0,_vue.h)("span",{class:"vxe-checkbox--label"},d?r.callSlot(d,t):n)])},renderCheckboxCell:function(l){var e,r=l.$table,n=l.row,t=l.column,o=l.isHidden,a=r.props,d=r.reactData,a=a.treeConfig,i=d.selection,d=d.treeIndeterminates,c=r.getComputeMaps().computeCheckboxOpts.value,s=c.labelField,u=c.checkMethod,c=c.visibleMethod,t=t.slots,C=t?t.default:null,t=t?t.checkbox:null,f=!1,_=!1,v=!c||c({row:n}),p=!!u,c=(o||(_=-1<r.findRowIndexOf(i,n),e={onClick:function(e){!p&&v&&r.triggerCheckRowEvent(e,l,!_)}},u&&(p=!u({row:n})),a&&(f=-1<r.findRowIndexOf(d,n))),__assign(__assign({},l),{checked:_,disabled:p,visible:v,indeterminate:f}));return t?r.callSlot(t,c):(o=[],v&&o.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",f?_conf.default.icon.TABLE_CHECKBOX_INDETERMINATE:_?_conf.default.icon.TABLE_CHECKBOX_CHECKED:_conf.default.icon.TABLE_CHECKBOX_UNCHECKED]})),(C||s)&&o.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},C?r.callSlot(C,c):_xeUtils.default.get(n,s))),[(0,_vue.h)("span",__assign({class:["vxe-cell--checkbox",{"is--checked":_,"is--disabled":p,"is--indeterminate":f}]},e),o)])},renderTreeSelectionCell:function(e){return Cell.renderTreeIcon(e,Cell.renderCheckboxCell(e))},renderCheckboxCellByProp:function(l){var e,r=l.$table,n=l.row,t=l.column,o=l.isHidden,a=r.props,d=r.reactData,a=a.treeConfig,d=d.treeIndeterminates,i=r.getComputeMaps().computeCheckboxOpts.value,c=i.labelField,s=i.checkField,u=i.halfField,C=i.checkMethod,i=i.visibleMethod,t=t.slots,f=t?t.default:null,t=t?t.checkbox:null,_=!1,v=!1,p=!i||i({row:n}),E=!!C,i=(o||(v=_xeUtils.default.get(n,s),e={onClick:function(e){!E&&p&&r.triggerCheckRowEvent(e,l,!v)}},C&&(E=!C({row:n})),a&&(_=-1<r.findRowIndexOf(d,n))),__assign(__assign({},l),{checked:v,disabled:E,visible:p,indeterminate:_}));return t?r.callSlot(t,i):(o=[],p&&(o.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",_?_conf.default.icon.TABLE_CHECKBOX_INDETERMINATE:v?_conf.default.icon.TABLE_CHECKBOX_CHECKED:_conf.default.icon.TABLE_CHECKBOX_UNCHECKED]})),f||c)&&o.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},f?r.callSlot(f,i):_xeUtils.default.get(n,c))),[(0,_vue.h)("span",__assign({class:["vxe-cell--checkbox",{"is--checked":v,"is--disabled":E,"is--indeterminate":u&&!v?n[u]:_}]},e),o)])},renderTreeSelectionCellByProp:function(e){return Cell.renderTreeIcon(e,Cell.renderCheckboxCellByProp(e))},renderExpandCell:function(l){var r=l.$table,e=l.isHidden,n=l.row,t=l.column,o=r.reactData,a=o.rowExpandeds,o=o.expandLazyLoadeds,d=r.getComputeMaps().computeExpandOpts.value,i=d.lazy,c=d.labelField,s=d.iconLoaded,u=d.showIcon,C=d.iconOpen,f=d.iconClose,d=d.visibleMethod,t=t.slots,_=t?t.default:null,t=t?t.icon:null,v=!1,p=!1;return t?r.callSlot(t,l):(e||(v=-1<r.findRowIndexOf(a,l.row),i&&(p=-1<r.findRowIndexOf(o,n))),[!u||d&&!d(l)?null:(0,_vue.h)("span",{class:["vxe-table--expanded",{"is--active":v}],onClick:function(e){r.triggerRowExpandEvent(e,l)}},[(0,_vue.h)("i",{class:["vxe-table--expand-btn",p?s||_conf.default.icon.TABLE_EXPAND_LOADED:v?C||_conf.default.icon.TABLE_EXPAND_OPEN:f||_conf.default.icon.TABLE_EXPAND_CLOSE]})]),_||c?(0,_vue.h)("span",{class:"vxe-table--expand-label"},_?r.callSlot(_,l):_xeUtils.default.get(n,c)):null])},renderExpandData:function(e){var l=e.$table,r=e.column,n=r.slots,r=r.contentRender,n=n?n.content:null;if(n)return l.callSlot(n,e);if(r){l=_vXETable.VXETable.renderer.get(r.name);if(l&&l.renderExpand)return(0,_vn.getSlotVNs)(l.renderExpand(r,e))}return[]},renderHTMLCell:function(e){var l=e.$table,r=e.column.slots,r=r?r.default:null;return r?l.callSlot(r,e):[(0,_vue.h)("span",{class:"vxe-cell--html",innerHTML:getDefaultCellLabel(e)})]},renderTreeHTMLCell:function(e){return Cell.renderTreeIcon(e,Cell.renderHTMLCell(e))},renderSortAndFilterHeader:function(e){return Cell.renderDefaultHeader(e).concat(Cell.renderSortIcon(e)).concat(Cell.renderFilterIcon(e))},renderSortHeader:function(e){return Cell.renderDefaultHeader(e).concat(Cell.renderSortIcon(e))},renderSortIcon:function(e){var l=e.$table,r=e.column,e=l.getComputeMaps().computeSortOpts.value,n=e.showIcon,t=e.iconAsc,e=e.iconDesc,o=r.order;return n?[(0,_vue.h)("span",{class:"vxe-cell--sort"},[(0,_vue.h)("i",{class:["vxe-sort--asc-btn",t||_conf.default.icon.TABLE_SORT_ASC,{"sort--active":"asc"===o}],title:_conf.default.i18n("vxe.table.sortAsc"),onClick:function(e){l.triggerSortEvent(e,r,"asc")}}),(0,_vue.h)("i",{class:["vxe-sort--desc-btn",e||_conf.default.icon.TABLE_SORT_DESC,{"sort--active":"desc"===o}],title:_conf.default.i18n("vxe.table.sortDesc"),onClick:function(e){l.triggerSortEvent(e,r,"desc")}})])]:[]},renderFilterHeader:function(e){return Cell.renderDefaultHeader(e).concat(Cell.renderFilterIcon(e))},renderFilterIcon:function(l){var r=l.$table,e=l.column,n=l.hasFilter,t=r.reactData.filterStore,o=r.getComputeMaps().computeFilterOpts.value,a=o.showIcon,d=o.iconNone,o=o.iconMatch;return a?[(0,_vue.h)("span",{class:["vxe-cell--filter",{"is--active":t.visible&&t.column===e}]},[(0,_vue.h)("i",{class:["vxe-filter--btn",n?o||_conf.default.icon.TABLE_FILTER_MATCH:d||_conf.default.icon.TABLE_FILTER_NONE],title:_conf.default.i18n("vxe.table.filter"),onClick:function(e){r.triggerFilterEvent(e,l.column,l)}})])]:[]},renderEditHeader:function(e){var l=e.$table,r=e.column,n=l.props,l=l.getComputeMaps().computeEditOpts,t=n.editConfig,n=n.editRules,l=l.value,o=r.sortable,a=r.filters,d=r.editRender,i=!1;return n&&(n=_xeUtils.default.get(n,r.field))&&(i=n.some(function(e){return e.required})),((0,_utils.isEnableConf)(t)?[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||_conf.default.icon.TABLE_EDIT]}):null]:[]).concat(Cell.renderDefaultHeader(e)).concat(o?Cell.renderSortIcon(e):[]).concat(a?Cell.renderFilterIcon(e):[])},renderRowEdit:function(e){var l=e.$table,r=e.column,l=l.reactData.editStore.actived,r=r.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(r)&&l&&l.row===e.row)},renderTreeRowEdit:function(e){return Cell.renderTreeIcon(e,Cell.renderRowEdit(e))},renderCellEdit:function(e){var l=e.$table,r=e.column,l=l.reactData.editStore.actived,r=r.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(r)&&l&&l.row===e.row&&l.column===e.column)},renderTreeCellEdit:function(e){return Cell.renderTreeIcon(e,Cell.renderCellEdit(e))},runRenderer:function(e,l){var r=e.$table,n=e.column,t=n.slots,o=n.editRender,n=n.formatter,a=t?t.default:null,t=t?t.edit:null,d=_vXETable.VXETable.renderer.get(o.name);return l?t?r.callSlot(t,e):d&&d.renderEdit?(0,_vn.getSlotVNs)(d.renderEdit(o,Object.assign({$type:"edit"},e))):[]:a?r.callSlot(a,e):n?[(0,_vue.h)("span",{class:"vxe-cell--label"},getDefaultCellLabel(e))]:Cell.renderDefaultCell(e)}},_default=exports.Cell=Cell;exports.default=_default;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Cell=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_vXETable=require("../../v-x-e-table"),_utils=require("../../tools/utils"),_dom=require("../../tools/dom"),_util=require("./util"),_vn=require("../../tools/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var __assign=function(){return(__assign=Object.assign||function(e){for(var l,r=1,n=arguments.length;r<n;r++)for(var t in l=arguments[r])Object.prototype.hasOwnProperty.call(l,t)&&(e[t]=l[t]);return e}).apply(this,arguments)};function renderHelpIcon(l){var r=l.$table,e=l.column,e=e.titlePrefix||e.titleHelp;return e?[(0,_vue.h)("i",{class:["vxe-cell-help-icon",e.icon||_conf.default.icon.TABLE_HELP],onMouseenter:function(e){r.triggerHeaderHelpEvent(e,l)},onMouseleave:function(e){r.handleTargetLeaveEvent(e)}})]:[]}function renderTitleContent(l,e){var r=l.$table,n=l.column,t=r.props,o=r.internalData,a=r.getComputeMaps().computeTooltipOpts,t=t.showHeaderOverflow,d=n.type,i=n.showHeaderOverflow,c=a.value.showAll,a=_xeUtils.default.isUndefined(i)||_xeUtils.default.isNull(i)?t:i,s="title"===a,u=!0===a||"tooltip"===a,t={};return(s||u||c)&&(t.onMouseenter=function(e){o._isResize||(s?(0,_dom.updateCellTitle)(e.currentTarget,n):(u||c)&&r.triggerHeaderTooltipEvent(e,l))}),(u||c)&&(t.onMouseleave=function(e){o._isResize||(u||c)&&r.handleTargetLeaveEvent(e)}),["html"===d&&_xeUtils.default.isString(e)?(0,_vue.h)("span",__assign({class:"vxe-cell--title",innerHTML:e},t)):(0,_vue.h)("span",__assign({class:"vxe-cell--title"},t),e)]}function getFooterContent(e){var l=e.$table,r=e.column,n=e._columnIndex,t=e.items,o=r.slots,a=r.editRender,r=r.cellRender,a=a||r,r=o?o.footer:null;if(r)return l.callSlot(r,e);if(a){o=_vXETable.VXETable.renderer.get(a.name);if(o&&o.renderFooter)return(0,_vn.getSlotVNs)(o.renderFooter(a,e))}return[(0,_utils.formatText)(t[n],1)]}function getDefaultCellLabel(e){var l=e.$table,r=e.row,e=e.column;return(0,_utils.formatText)(l.getCellLabel(r,e),1)}var Cell={createColumn:function(e,l){var r=l.type,n=l.sortable,t=l.filters,o=l.editRender,a=l.treeNode,d=e.props.editConfig,i=e.getComputeMaps(),c=i.computeEditOpts,s=i.computeCheckboxOpts.value,u=c.value,C={renderHeader:Cell.renderDefaultHeader,renderCell:a?Cell.renderTreeCell:Cell.renderDefaultCell,renderFooter:Cell.renderDefaultFooter};switch(r){case"seq":C.renderHeader=Cell.renderSeqHeader,C.renderCell=a?Cell.renderTreeIndexCell:Cell.renderSeqCell;break;case"radio":C.renderHeader=Cell.renderRadioHeader,C.renderCell=a?Cell.renderTreeRadioCell:Cell.renderRadioCell;break;case"checkbox":C.renderHeader=Cell.renderCheckboxHeader,C.renderCell=s.checkField?a?Cell.renderTreeSelectionCellByProp:Cell.renderCheckboxCellByProp:a?Cell.renderTreeSelectionCell:Cell.renderCheckboxCell;break;case"expand":C.renderCell=Cell.renderExpandCell,C.renderData=Cell.renderExpandData;break;case"html":C.renderCell=a?Cell.renderTreeHTMLCell:Cell.renderHTMLCell,t&&n?C.renderHeader=Cell.renderSortAndFilterHeader:n?C.renderHeader=Cell.renderSortHeader:t&&(C.renderHeader=Cell.renderFilterHeader);break;default:d&&o?(C.renderHeader=Cell.renderEditHeader,C.renderCell="cell"===u.mode?a?Cell.renderTreeCellEdit:Cell.renderCellEdit:a?Cell.renderTreeRowEdit:Cell.renderRowEdit):t&&n?C.renderHeader=Cell.renderSortAndFilterHeader:n?C.renderHeader=Cell.renderSortHeader:t&&(C.renderHeader=Cell.renderFilterHeader)}return(0,_util.createColumn)(e,l,C)},renderHeaderTitle:function(e){var l=e.$table,r=e.column,n=r.slots,t=r.editRender,o=r.cellRender,t=t||o,o=n?n.header:null;if(o)return renderTitleContent(e,l.callSlot(o,e));if(t){n=_vXETable.VXETable.renderer.get(t.name);if(n&&n.renderHeader)return renderTitleContent(e,(0,_vn.getSlotVNs)(n.renderHeader(t,e)))}return renderTitleContent(e,(0,_utils.formatText)(r.getTitle(),1))},renderDefaultHeader:function(e){return renderHelpIcon(e).concat(Cell.renderHeaderTitle(e))},renderDefaultCell:function(e){var l=e.$table,r=e.row,n=e.column,t=n.slots,o=n.editRender,a=n.cellRender,a=o||a,t=t?t.default:null;if(t)return l.callSlot(t,e);if(a){var t=o?"renderCell":"renderDefault",d=_vXETable.VXETable.renderer.get(a.name),d=d?d[t]:null;if(d)return(0,_vn.getSlotVNs)(d(a,Object.assign({$type:o?"edit":"cell"},e)))}t=l.getCellLabel(r,n),d=o?o.placeholder:"";return[(0,_vue.h)("span",{class:"vxe-cell--label"},o&&(0,_utils.eqEmptyValue)(t)?[(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(d),1))]:(0,_utils.formatText)(t,1))]},renderTreeCell:function(e){return Cell.renderTreeIcon(e,Cell.renderDefaultCell(e))},renderDefaultFooter:function(e){return[(0,_vue.h)("span",{class:"vxe-cell--item"},getFooterContent(e))]},renderTreeIcon:function(l,e){var r=l.$table,n=l.isHidden,t=r.reactData,o=r.getComputeMaps().computeTreeOpts,a=t.treeExpandeds,t=t.treeLazyLoadeds,o=o.value,d=l.row,i=l.column,c=l.level,i=i.slots,s=o.children,u=o.hasChild,C=o.indent,f=o.lazy,_=o.trigger,v=o.iconLoaded,p=o.showIcon,E=o.iconOpen,o=o.iconClose,s=d[s],i=i?i.icon:null,h=!1,b=!1,x=!1,T={};return i?r.callSlot(i,l):(n||(b=-1<r.findRowIndexOf(a,d),f&&(x=-1<r.findRowIndexOf(t,d),h=d[u])),_&&"default"!==_||(T.onClick=function(e){return r.triggerTreeExpandEvent(e,l)}),[(0,_vue.h)("div",{class:["vxe-cell--tree-node",{"is--active":b}],style:{paddingLeft:"".concat(c*C,"px")}},[p&&(s&&s.length||h)?[(0,_vue.h)("div",__assign({class:"vxe-tree--btn-wrapper"},T),[(0,_vue.h)("i",{class:["vxe-tree--node-btn",x?v||_conf.default.icon.TABLE_TREE_LOADED:b?E||_conf.default.icon.TABLE_TREE_OPEN:o||_conf.default.icon.TABLE_TREE_CLOSE]})])]:null,(0,_vue.h)("div",{class:"vxe-tree-cell"},e)])])},renderSeqHeader:function(e){var l=e.$table,r=e.column,n=r.slots,n=n?n.header:null;return renderTitleContent(e,n?l.callSlot(n,e):(0,_utils.formatText)(r.getTitle(),1))},renderSeqCell:function(e){var l=e.$table,r=e.column,n=l.props.treeConfig,t=l.getComputeMaps().computeSeqOpts.value,r=r.slots,r=r?r.default:null;return r?l.callSlot(r,e):(l=e.seq,r=t.seqMethod,[(0,_utils.formatText)(r?r(e):n?l:(t.startIndex||0)+l,1)])},renderTreeIndexCell:function(e){return Cell.renderTreeIcon(e,Cell.renderSeqCell(e))},renderRadioHeader:function(e){var l=e.$table,r=e.column,n=r.slots,t=n?n.header:null,n=n?n.title:null;return renderTitleContent(e,t?l.callSlot(t,e):[(0,_vue.h)("span",{class:"vxe-radio--label"},n?l.callSlot(n,e):(0,_utils.formatText)(r.getTitle(),1))])},renderRadioCell:function(l){var e,r=l.$table,n=l.column,t=l.isHidden,o=r.reactData,a=r.getComputeMaps().computeRadioOpts,o=o.selectRow,a=a.value,n=n.slots,d=a.labelField,i=a.checkMethod,a=a.visibleMethod,c=l.row,s=n?n.default:null,n=n?n.radio:null,o=c===o,u=!a||a({row:c}),C=!!i,a=(t||(e={onClick:function(e){!C&&u&&r.triggerRadioRowEvent(e,l)}},i&&(C=!i({row:c}))),__assign(__assign({},l),{checked:o,disabled:C,visible:u}));return n?r.callSlot(n,a):(t=[],u&&t.push((0,_vue.h)("span",{class:["vxe-radio--icon",o?_conf.default.icon.TABLE_RADIO_CHECKED:_conf.default.icon.TABLE_RADIO_UNCHECKED]})),(s||d)&&t.push((0,_vue.h)("span",{class:"vxe-radio--label"},s?r.callSlot(s,a):_xeUtils.default.get(c,d))),[(0,_vue.h)("span",__assign({class:["vxe-cell--radio",{"is--checked":o,"is--disabled":C}]},e),t)])},renderTreeRadioCell:function(e){return Cell.renderTreeIcon(e,Cell.renderRadioCell(e))},renderCheckboxHeader:function(e){var l,r=e.$table,n=e.column,t=e.isHidden,o=r.reactData,a=r.getComputeMaps(),d=a.computeIsAllCheckboxDisabled,a=a.computeCheckboxOpts,i=o.isAllSelected,o=o.isIndeterminate,c=d.value,d=n.slots,s=d?d.header:null,d=d?d.title:null,a=a.value,n=n.getTitle(),t=(t||(l={onClick:function(e){c||r.triggerCheckAllEvent(e,!i)}}),__assign(__assign({},e),{checked:i,disabled:c,indeterminate:o}));return s?renderTitleContent(t,r.callSlot(s,t)):(a.checkStrictly?a.showHeader:!1!==a.showHeader)?renderTitleContent(t,[(0,_vue.h)("span",__assign({class:["vxe-cell--checkbox",{"is--checked":i,"is--disabled":c,"is--indeterminate":o}],title:_conf.default.i18n("vxe.table.allTitle")},l),[(0,_vue.h)("span",{class:["vxe-checkbox--icon",o?_conf.default.icon.TABLE_CHECKBOX_INDETERMINATE:i?_conf.default.icon.TABLE_CHECKBOX_CHECKED:_conf.default.icon.TABLE_CHECKBOX_UNCHECKED]})].concat(d||n?[(0,_vue.h)("span",{class:"vxe-checkbox--label"},d?r.callSlot(d,t):n)]:[]))]):renderTitleContent(t,[(0,_vue.h)("span",{class:"vxe-checkbox--label"},d?r.callSlot(d,t):n)])},renderCheckboxCell:function(l){var e,r=l.$table,n=l.row,t=l.column,o=l.isHidden,a=r.props,d=r.reactData,a=a.treeConfig,i=d.selection,d=d.treeIndeterminates,c=r.getComputeMaps().computeCheckboxOpts.value,s=c.labelField,u=c.checkMethod,c=c.visibleMethod,t=t.slots,C=t?t.default:null,t=t?t.checkbox:null,f=!1,_=!1,v=!c||c({row:n}),p=!!u,c=(o||(_=-1<r.findRowIndexOf(i,n),e={onClick:function(e){!p&&v&&r.triggerCheckRowEvent(e,l,!_)}},u&&(p=!u({row:n})),a&&(f=-1<r.findRowIndexOf(d,n))),__assign(__assign({},l),{checked:_,disabled:p,visible:v,indeterminate:f}));return t?r.callSlot(t,c):(o=[],v&&o.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",f?_conf.default.icon.TABLE_CHECKBOX_INDETERMINATE:_?_conf.default.icon.TABLE_CHECKBOX_CHECKED:_conf.default.icon.TABLE_CHECKBOX_UNCHECKED]})),(C||s)&&o.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},C?r.callSlot(C,c):_xeUtils.default.get(n,s))),[(0,_vue.h)("span",__assign({class:["vxe-cell--checkbox",{"is--checked":_,"is--disabled":p,"is--indeterminate":f}]},e),o)])},renderTreeSelectionCell:function(e){return Cell.renderTreeIcon(e,Cell.renderCheckboxCell(e))},renderCheckboxCellByProp:function(l){var e,r=l.$table,n=l.row,t=l.column,o=l.isHidden,a=r.props,d=r.reactData,a=a.treeConfig,d=d.treeIndeterminates,i=r.getComputeMaps().computeCheckboxOpts.value,c=i.labelField,s=i.checkField,u=i.halfField,C=i.checkMethod,i=i.visibleMethod,t=t.slots,f=t?t.default:null,t=t?t.checkbox:null,_=!1,v=!1,p=!i||i({row:n}),E=!!C,i=(o||(v=_xeUtils.default.get(n,s),e={onClick:function(e){!E&&p&&r.triggerCheckRowEvent(e,l,!v)}},C&&(E=!C({row:n})),a&&(_=-1<r.findRowIndexOf(d,n))),__assign(__assign({},l),{checked:v,disabled:E,visible:p,indeterminate:_}));return t?r.callSlot(t,i):(o=[],p&&(o.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",_?_conf.default.icon.TABLE_CHECKBOX_INDETERMINATE:v?_conf.default.icon.TABLE_CHECKBOX_CHECKED:_conf.default.icon.TABLE_CHECKBOX_UNCHECKED]})),f||c)&&o.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},f?r.callSlot(f,i):_xeUtils.default.get(n,c))),[(0,_vue.h)("span",__assign({class:["vxe-cell--checkbox",{"is--checked":v,"is--disabled":E,"is--indeterminate":u&&!v?n[u]:_}]},e),o)])},renderTreeSelectionCellByProp:function(e){return Cell.renderTreeIcon(e,Cell.renderCheckboxCellByProp(e))},renderExpandCell:function(l){var r=l.$table,e=l.isHidden,n=l.row,t=l.column,o=r.reactData,a=o.rowExpandeds,o=o.expandLazyLoadeds,d=r.getComputeMaps().computeExpandOpts.value,i=d.lazy,c=d.labelField,s=d.iconLoaded,u=d.showIcon,C=d.iconOpen,f=d.iconClose,d=d.visibleMethod,t=t.slots,_=t?t.default:null,t=t?t.icon:null,v=!1,p=!1;return t?r.callSlot(t,l):(e||(v=-1<r.findRowIndexOf(a,l.row),i&&(p=-1<r.findRowIndexOf(o,n))),[!u||d&&!d(l)?null:(0,_vue.h)("span",{class:["vxe-table--expanded",{"is--active":v}],onClick:function(e){r.triggerRowExpandEvent(e,l)}},[(0,_vue.h)("i",{class:["vxe-table--expand-btn",p?s||_conf.default.icon.TABLE_EXPAND_LOADED:v?C||_conf.default.icon.TABLE_EXPAND_OPEN:f||_conf.default.icon.TABLE_EXPAND_CLOSE]})]),_||c?(0,_vue.h)("span",{class:"vxe-table--expand-label"},_?r.callSlot(_,l):_xeUtils.default.get(n,c)):null])},renderExpandData:function(e){var l=e.$table,r=e.column,n=r.slots,r=r.contentRender,n=n?n.content:null;if(n)return l.callSlot(n,e);if(r){l=_vXETable.VXETable.renderer.get(r.name);if(l&&l.renderExpand)return(0,_vn.getSlotVNs)(l.renderExpand(r,e))}return[]},renderHTMLCell:function(e){var l=e.$table,r=e.column.slots,r=r?r.default:null;return r?l.callSlot(r,e):[(0,_vue.h)("span",{class:"vxe-cell--html",innerHTML:getDefaultCellLabel(e)})]},renderTreeHTMLCell:function(e){return Cell.renderTreeIcon(e,Cell.renderHTMLCell(e))},renderSortAndFilterHeader:function(e){return Cell.renderDefaultHeader(e).concat(Cell.renderSortIcon(e)).concat(Cell.renderFilterIcon(e))},renderSortHeader:function(e){return Cell.renderDefaultHeader(e).concat(Cell.renderSortIcon(e))},renderSortIcon:function(e){var l=e.$table,r=e.column,e=l.getComputeMaps().computeSortOpts.value,n=e.showIcon,t=e.iconAsc,e=e.iconDesc,o=r.order;return n?[(0,_vue.h)("span",{class:"vxe-cell--sort"},[(0,_vue.h)("i",{class:["vxe-sort--asc-btn",t||_conf.default.icon.TABLE_SORT_ASC,{"sort--active":"asc"===o}],title:_conf.default.i18n("vxe.table.sortAsc"),onClick:function(e){l.triggerSortEvent(e,r,"asc")}}),(0,_vue.h)("i",{class:["vxe-sort--desc-btn",e||_conf.default.icon.TABLE_SORT_DESC,{"sort--active":"desc"===o}],title:_conf.default.i18n("vxe.table.sortDesc"),onClick:function(e){l.triggerSortEvent(e,r,"desc")}})])]:[]},renderFilterHeader:function(e){return Cell.renderDefaultHeader(e).concat(Cell.renderFilterIcon(e))},renderFilterIcon:function(l){var r=l.$table,e=l.column,n=l.hasFilter,t=r.reactData.filterStore,o=r.getComputeMaps().computeFilterOpts.value,a=o.showIcon,d=o.iconNone,o=o.iconMatch;return a?[(0,_vue.h)("span",{class:["vxe-cell--filter",{"is--active":t.visible&&t.column===e}]},[(0,_vue.h)("i",{class:["vxe-filter--btn",n?o||_conf.default.icon.TABLE_FILTER_MATCH:d||_conf.default.icon.TABLE_FILTER_NONE],title:_conf.default.i18n("vxe.table.filter"),onClick:function(e){r.triggerFilterEvent(e,l.column,l)}})])]:[]},renderEditHeader:function(e){var l=e.$table,r=e.column,n=l.props,l=l.getComputeMaps().computeEditOpts,t=n.editConfig,n=n.editRules,l=l.value,o=r.sortable,a=r.filters,d=r.editRender,i=!1;return n&&(n=_xeUtils.default.get(n,r.field))&&(i=n.some(function(e){return e.required})),((0,_utils.isEnableConf)(t)?[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||_conf.default.icon.TABLE_EDIT]}):null]:[]).concat(Cell.renderDefaultHeader(e)).concat(o?Cell.renderSortIcon(e):[]).concat(a?Cell.renderFilterIcon(e):[])},renderRowEdit:function(e){var l=e.$table,r=e.column,l=l.reactData.editStore.actived,r=r.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(r)&&l&&l.row===e.row)},renderTreeRowEdit:function(e){return Cell.renderTreeIcon(e,Cell.renderRowEdit(e))},renderCellEdit:function(e){var l=e.$table,r=e.column,l=l.reactData.editStore.actived,r=r.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(r)&&l&&l.row===e.row&&l.column===e.column)},renderTreeCellEdit:function(e){return Cell.renderTreeIcon(e,Cell.renderCellEdit(e))},runRenderer:function(e,l){var r=e.$table,n=e.column,t=n.slots,o=n.editRender,n=n.formatter,a=t?t.default:null,t=t?t.edit:null,d=_vXETable.VXETable.renderer.get(o.name);return l?t?r.callSlot(t,e):d&&d.renderEdit?(0,_vn.getSlotVNs)(d.renderEdit(o,Object.assign({$type:"edit"},e))):[]:a?r.callSlot(a,e):n?[(0,_vue.h)("span",{class:"vxe-cell--label"},getDefaultCellLabel(e))]:Cell.renderDefaultCell(e)}},_default=exports.Cell=Cell;exports.default=_default;
@@ -1769,7 +1769,7 @@ var _default = (0, _vue.defineComponent)({
1769
1769
  var checkAll = checkboxOpts.checkAll,
1770
1770
  checkRowKeys = checkboxOpts.checkRowKeys;
1771
1771
  if (checkAll) {
1772
- tableMethods.setAllCheckboxRow(true);
1772
+ handleCheckedAllCheckboxRow(true, true);
1773
1773
  } else if (checkRowKeys) {
1774
1774
  var defSelection_1 = [];
1775
1775
  checkRowKeys.forEach(function (rowid) {
@@ -1777,7 +1777,7 @@ var _default = (0, _vue.defineComponent)({
1777
1777
  defSelection_1.push(fullDataRowIdData_1[rowid].row);
1778
1778
  }
1779
1779
  });
1780
- tableMethods.setCheckboxRow(defSelection_1, true);
1780
+ handleCheckedCheckboxRow(defSelection_1, true, true);
1781
1781
  }
1782
1782
  }
1783
1783
  };
@@ -1794,7 +1794,7 @@ var _default = (0, _vue.defineComponent)({
1794
1794
  reserve = radioOpts.reserve;
1795
1795
  if (rowid) {
1796
1796
  if (fullDataRowIdData[rowid]) {
1797
- tableMethods.setRadioRow(fullDataRowIdData[rowid].row);
1797
+ handleCheckedRadioRow(fullDataRowIdData[rowid].row, true);
1798
1798
  }
1799
1799
  if (reserve) {
1800
1800
  var rowkey = (0, _util.getRowkey)($xetable);
@@ -1844,6 +1844,150 @@ var _default = (0, _vue.defineComponent)({
1844
1844
  }
1845
1845
  }
1846
1846
  };
1847
+ var handleCheckedRadioRow = function (row, isForce) {
1848
+ var radioOpts = computeRadioOpts.value;
1849
+ var checkMethod = radioOpts.checkMethod;
1850
+ if (row && (isForce || !checkMethod || checkMethod({
1851
+ row: row
1852
+ }))) {
1853
+ reactData.selectRow = row;
1854
+ handleRadioReserveRow(row);
1855
+ }
1856
+ return (0, _vue.nextTick)();
1857
+ };
1858
+ var handleCheckedCheckboxRow = function (rows, value, isForce) {
1859
+ if (rows && !_xeUtils.default.isArray(rows)) {
1860
+ rows = [rows];
1861
+ }
1862
+ rows.forEach(function (row) {
1863
+ return tablePrivateMethods.handleSelectRow({
1864
+ row: row
1865
+ }, !!value, isForce);
1866
+ });
1867
+ return (0, _vue.nextTick)();
1868
+ };
1869
+ var handleCheckedAllCheckboxRow = function (value, isForce) {
1870
+ var treeConfig = props.treeConfig;
1871
+ var selection = reactData.selection;
1872
+ var afterFullData = internalData.afterFullData,
1873
+ checkboxReserveRowMap = internalData.checkboxReserveRowMap;
1874
+ var treeOpts = computeTreeOpts.value;
1875
+ var checkboxOpts = computeCheckboxOpts.value;
1876
+ var checkField = checkboxOpts.checkField,
1877
+ reserve = checkboxOpts.reserve,
1878
+ checkStrictly = checkboxOpts.checkStrictly,
1879
+ checkMethod = checkboxOpts.checkMethod;
1880
+ var selectRows = [];
1881
+ var beforeSelection = treeConfig ? [] : selection.filter(function (row) {
1882
+ return $xetable.findRowIndexOf(afterFullData, row) === -1;
1883
+ });
1884
+ if (checkStrictly) {
1885
+ reactData.isAllSelected = value;
1886
+ } else {
1887
+ /**
1888
+ * 绑定属性方式(高性能,有污染)
1889
+ * 必须在行数据存在对应的属性,否则将不响应
1890
+ */
1891
+ if (checkField) {
1892
+ var checkValFn = function (row) {
1893
+ if (isForce || !checkMethod || checkMethod({
1894
+ row: row
1895
+ })) {
1896
+ if (value) {
1897
+ selectRows.push(row);
1898
+ }
1899
+ _xeUtils.default.set(row, checkField, value);
1900
+ }
1901
+ };
1902
+ // 如果存在选中方法
1903
+ // 如果方法成立,则更新值,否则忽略该数据
1904
+ if (treeConfig) {
1905
+ _xeUtils.default.eachTree(afterFullData, checkValFn, treeOpts);
1906
+ } else {
1907
+ afterFullData.forEach(checkValFn);
1908
+ }
1909
+ } else {
1910
+ /**
1911
+ * 默认方式(低性能,无污染)
1912
+ * 无需任何属性,直接绑定
1913
+ */
1914
+ if (treeConfig) {
1915
+ if (value) {
1916
+ /**
1917
+ * 如果是树勾选
1918
+ * 如果方法成立,则添加到临时集合中
1919
+ */
1920
+ _xeUtils.default.eachTree(afterFullData, function (row) {
1921
+ if (isForce || !checkMethod || checkMethod({
1922
+ row: row
1923
+ })) {
1924
+ selectRows.push(row);
1925
+ }
1926
+ }, treeOpts);
1927
+ } else {
1928
+ /**
1929
+ * 如果是树取消
1930
+ * 如果方法成立,则不添加到临时集合中
1931
+ */
1932
+ if (!isForce && checkMethod) {
1933
+ _xeUtils.default.eachTree(afterFullData, function (row) {
1934
+ if (checkMethod({
1935
+ row: row
1936
+ }) ? 0 : $xetable.findRowIndexOf(selection, row) > -1) {
1937
+ selectRows.push(row);
1938
+ }
1939
+ }, treeOpts);
1940
+ }
1941
+ }
1942
+ } else {
1943
+ if (value) {
1944
+ /**
1945
+ * 如果是行勾选
1946
+ * 如果存在选中方法且成立或者本身已勾选,则添加到临时集合中
1947
+ * 如果不存在选中方法,则添加所有数据到临时集合中
1948
+ */
1949
+ if (!isForce && checkMethod) {
1950
+ selectRows = afterFullData.filter(function (row) {
1951
+ return $xetable.findRowIndexOf(selection, row) > -1 || checkMethod({
1952
+ row: row
1953
+ });
1954
+ });
1955
+ } else {
1956
+ selectRows = afterFullData.slice(0);
1957
+ }
1958
+ } else {
1959
+ /**
1960
+ * 如果是行取消
1961
+ * 如果方法成立,则不添加到临时集合中;如果方法不成立则判断当前是否已勾选,如果已被勾选则添加到新集合中
1962
+ * 如果不存在选中方法,无需处理,临时集合默认为空
1963
+ */
1964
+ if (!isForce && checkMethod) {
1965
+ selectRows = afterFullData.filter(function (row) {
1966
+ return checkMethod({
1967
+ row: row
1968
+ }) ? 0 : $xetable.findRowIndexOf(selection, row) > -1;
1969
+ });
1970
+ }
1971
+ }
1972
+ }
1973
+ }
1974
+ if (reserve) {
1975
+ if (value) {
1976
+ selectRows.forEach(function (row) {
1977
+ checkboxReserveRowMap[(0, _util.getRowid)($xetable, row)] = row;
1978
+ });
1979
+ } else {
1980
+ afterFullData.forEach(function (row) {
1981
+ return handleCheckboxReserveRow(row, false);
1982
+ });
1983
+ }
1984
+ }
1985
+ reactData.selection = checkField ? [] : beforeSelection.concat(selectRows);
1986
+ }
1987
+ reactData.treeIndeterminates = [];
1988
+ tablePrivateMethods.checkSelectionStatus();
1989
+ return (0, _vue.nextTick)();
1990
+ };
1847
1991
  // 还原展开、选中等相关状态
1848
1992
  var handleReserveStatus = function () {
1849
1993
  var treeConfig = props.treeConfig;
@@ -1868,14 +2012,14 @@ var _default = (0, _vue.defineComponent)({
1868
2012
  if (radioOpts.reserve && radioReserveRow) {
1869
2013
  var rowid = (0, _util.getRowid)($xetable, radioReserveRow);
1870
2014
  if (fullDataRowIdData[rowid]) {
1871
- tableMethods.setRadioRow(fullDataRowIdData[rowid].row);
2015
+ handleCheckedRadioRow(fullDataRowIdData[rowid].row, true);
1872
2016
  }
1873
2017
  }
1874
2018
  // 复选框
1875
2019
  reactData.selection = getRecoverRow(selection); // 刷新多选行状态
1876
2020
  // 还原保留选中状态
1877
2021
  if (checkboxOpts.reserve) {
1878
- tableMethods.setCheckboxRow(handleReserveRow(internalData.checkboxReserveRowMap), true);
2022
+ handleCheckedCheckboxRow(handleReserveRow(internalData.checkboxReserveRowMap), true, true);
1879
2023
  }
1880
2024
  if (currentRow && !fullAllDataRowIdData[(0, _util.getRowid)($xetable, currentRow)]) {
1881
2025
  reactData.currentRow = null; // 刷新当前行状态
@@ -1950,7 +2094,7 @@ var _default = (0, _vue.defineComponent)({
1950
2094
  }
1951
2095
  // 如果当前节点已选中,则展开后子节点也被选中
1952
2096
  if (!checkStrictly && tableMethods.isCheckedByCheckboxRow(row)) {
1953
- tableMethods.setCheckboxRow(childRows, true);
2097
+ handleCheckedCheckboxRow(childRows, true);
1954
2098
  }
1955
2099
  return (0, _vue.nextTick)().then(function () {
1956
2100
  if (transform) {
@@ -3342,15 +3486,7 @@ var _default = (0, _vue.defineComponent)({
3342
3486
  * @param {Boolean} value 是否选中
3343
3487
  */
3344
3488
  setCheckboxRow: function (rows, value) {
3345
- if (rows && !_xeUtils.default.isArray(rows)) {
3346
- rows = [rows];
3347
- }
3348
- rows.forEach(function (row) {
3349
- return tablePrivateMethods.handleSelectRow({
3350
- row: row
3351
- }, !!value);
3352
- });
3353
- return (0, _vue.nextTick)();
3489
+ return handleCheckedCheckboxRow(rows, value, true);
3354
3490
  },
3355
3491
  isCheckedByCheckboxRow: function (row) {
3356
3492
  var selection = reactData.selection;
@@ -3369,9 +3505,13 @@ var _default = (0, _vue.defineComponent)({
3369
3505
  * 多选,切换某一行的选中状态
3370
3506
  */
3371
3507
  toggleCheckboxRow: function (row) {
3372
- tablePrivateMethods.handleToggleCheckRowEvent(null, {
3508
+ var selection = reactData.selection;
3509
+ var checkboxOpts = computeCheckboxOpts.value;
3510
+ var checkField = checkboxOpts.checkField;
3511
+ var value = checkField ? !_xeUtils.default.get(row, checkField) : $xetable.findRowIndexOf(selection, row) === -1;
3512
+ tablePrivateMethods.handleSelectRow({
3373
3513
  row: row
3374
- });
3514
+ }, value, true);
3375
3515
  return (0, _vue.nextTick)();
3376
3516
  },
3377
3517
  /**
@@ -3379,126 +3519,7 @@ var _default = (0, _vue.defineComponent)({
3379
3519
  * @param {Boolean} value 是否选中
3380
3520
  */
3381
3521
  setAllCheckboxRow: function (value) {
3382
- var treeConfig = props.treeConfig;
3383
- var selection = reactData.selection;
3384
- var afterFullData = internalData.afterFullData,
3385
- checkboxReserveRowMap = internalData.checkboxReserveRowMap;
3386
- var treeOpts = computeTreeOpts.value;
3387
- var checkboxOpts = computeCheckboxOpts.value;
3388
- var checkField = checkboxOpts.checkField,
3389
- reserve = checkboxOpts.reserve,
3390
- checkStrictly = checkboxOpts.checkStrictly,
3391
- checkMethod = checkboxOpts.checkMethod;
3392
- var selectRows = [];
3393
- var beforeSelection = treeConfig ? [] : selection.filter(function (row) {
3394
- return $xetable.findRowIndexOf(afterFullData, row) === -1;
3395
- });
3396
- if (checkStrictly) {
3397
- reactData.isAllSelected = value;
3398
- } else {
3399
- /**
3400
- * 绑定属性方式(高性能,有污染)
3401
- * 必须在行数据存在对应的属性,否则将不响应
3402
- */
3403
- if (checkField) {
3404
- var checkValFn = function (row) {
3405
- if (!checkMethod || checkMethod({
3406
- row: row
3407
- })) {
3408
- if (value) {
3409
- selectRows.push(row);
3410
- }
3411
- _xeUtils.default.set(row, checkField, value);
3412
- }
3413
- };
3414
- // 如果存在选中方法
3415
- // 如果方法成立,则更新值,否则忽略该数据
3416
- if (treeConfig) {
3417
- _xeUtils.default.eachTree(afterFullData, checkValFn, treeOpts);
3418
- } else {
3419
- afterFullData.forEach(checkValFn);
3420
- }
3421
- } else {
3422
- /**
3423
- * 默认方式(低性能,无污染)
3424
- * 无需任何属性,直接绑定
3425
- */
3426
- if (treeConfig) {
3427
- if (value) {
3428
- /**
3429
- * 如果是树勾选
3430
- * 如果方法成立,则添加到临时集合中
3431
- */
3432
- _xeUtils.default.eachTree(afterFullData, function (row) {
3433
- if (!checkMethod || checkMethod({
3434
- row: row
3435
- })) {
3436
- selectRows.push(row);
3437
- }
3438
- }, treeOpts);
3439
- } else {
3440
- /**
3441
- * 如果是树取消
3442
- * 如果方法成立,则不添加到临时集合中
3443
- */
3444
- if (checkMethod) {
3445
- _xeUtils.default.eachTree(afterFullData, function (row) {
3446
- if (checkMethod({
3447
- row: row
3448
- }) ? 0 : $xetable.findRowIndexOf(selection, row) > -1) {
3449
- selectRows.push(row);
3450
- }
3451
- }, treeOpts);
3452
- }
3453
- }
3454
- } else {
3455
- if (value) {
3456
- /**
3457
- * 如果是行勾选
3458
- * 如果存在选中方法且成立或者本身已勾选,则添加到临时集合中
3459
- * 如果不存在选中方法,则添加所有数据到临时集合中
3460
- */
3461
- if (checkMethod) {
3462
- selectRows = afterFullData.filter(function (row) {
3463
- return $xetable.findRowIndexOf(selection, row) > -1 || checkMethod({
3464
- row: row
3465
- });
3466
- });
3467
- } else {
3468
- selectRows = afterFullData.slice(0);
3469
- }
3470
- } else {
3471
- /**
3472
- * 如果是行取消
3473
- * 如果方法成立,则不添加到临时集合中;如果方法不成立则判断当前是否已勾选,如果已被勾选则添加到新集合中
3474
- * 如果不存在选中方法,无需处理,临时集合默认为空
3475
- */
3476
- if (checkMethod) {
3477
- selectRows = afterFullData.filter(function (row) {
3478
- return checkMethod({
3479
- row: row
3480
- }) ? 0 : $xetable.findRowIndexOf(selection, row) > -1;
3481
- });
3482
- }
3483
- }
3484
- }
3485
- }
3486
- if (reserve) {
3487
- if (value) {
3488
- selectRows.forEach(function (row) {
3489
- checkboxReserveRowMap[(0, _util.getRowid)($xetable, row)] = row;
3490
- });
3491
- } else {
3492
- afterFullData.forEach(function (row) {
3493
- return handleCheckboxReserveRow(row, false);
3494
- });
3495
- }
3496
- }
3497
- reactData.selection = checkField ? [] : beforeSelection.concat(selectRows);
3498
- }
3499
- reactData.treeIndeterminates = [];
3500
- tablePrivateMethods.checkSelectionStatus();
3501
- return (0, _vue.nextTick)();
3522
+ return handleCheckedAllCheckboxRow(value, true);
3502
3523
  },
3503
3524
  /**
3504
3525
  * 获取单选框保留选中的行
@@ -3630,7 +3651,7 @@ var _default = (0, _vue.defineComponent)({
3630
3651
  var rowOpts = computeRowOpts.value;
3631
3652
  var el = refElem.value;
3632
3653
  tableMethods.clearCurrentRow();
3633
- tableMethods.clearCurrentColumn();
3654
+ // tableMethods.clearCurrentColumn()
3634
3655
  reactData.currentRow = row;
3635
3656
  if (rowOpts.isCurrent || props.highlightCurrentRow) {
3636
3657
  if (el) {
@@ -3649,15 +3670,7 @@ var _default = (0, _vue.defineComponent)({
3649
3670
  * @param {Row} row 行对象
3650
3671
  */
3651
3672
  setRadioRow: function (row) {
3652
- var radioOpts = computeRadioOpts.value;
3653
- var checkMethod = radioOpts.checkMethod;
3654
- if (row && (!checkMethod || checkMethod({
3655
- row: row
3656
- }))) {
3657
- reactData.selectRow = row;
3658
- handleRadioReserveRow(row);
3659
- }
3660
- return (0, _vue.nextTick)();
3673
+ return handleCheckedRadioRow(row, true);
3661
3674
  },
3662
3675
  /**
3663
3676
  * 用于当前行,手动清空当前高亮的状态
@@ -3730,7 +3743,7 @@ var _default = (0, _vue.defineComponent)({
3730
3743
  setCurrentColumn: function (fieldOrColumn) {
3731
3744
  var column = (0, _util.handleFieldOrColumn)($xetable, fieldOrColumn);
3732
3745
  if (column) {
3733
- tableMethods.clearCurrentRow();
3746
+ // tableMethods.clearCurrentRow()
3734
3747
  tableMethods.clearCurrentColumn();
3735
3748
  reactData.currentColumn = column;
3736
3749
  }
@@ -5366,7 +5379,7 @@ var _default = (0, _vue.defineComponent)({
5366
5379
  * 多选,行选中事件
5367
5380
  * value 选中true 不选false 半选-1
5368
5381
  */
5369
- handleSelectRow: function (_a, value) {
5382
+ handleSelectRow: function (_a, value, isForce) {
5370
5383
  var row = _a.row;
5371
5384
  var treeConfig = props.treeConfig;
5372
5385
  var selection = reactData.selection,
@@ -5387,7 +5400,7 @@ var _default = (0, _vue.defineComponent)({
5387
5400
  } else {
5388
5401
  // 更新子节点状态
5389
5402
  _xeUtils.default.eachTree([row], function (item) {
5390
- if ($xetable.eqRow(item, row) || !checkMethod || checkMethod({
5403
+ if ($xetable.eqRow(item, row) || isForce || !checkMethod || checkMethod({
5391
5404
  row: item
5392
5405
  })) {
5393
5406
  _xeUtils.default.set(item, checkField, value);
@@ -5404,7 +5417,7 @@ var _default = (0, _vue.defineComponent)({
5404
5417
  }, treeOpts);
5405
5418
  if (matchObj && matchObj.parent) {
5406
5419
  var parentStatus = void 0;
5407
- var vItems_1 = checkMethod ? matchObj.items.filter(function (item) {
5420
+ var vItems_1 = !isForce && checkMethod ? matchObj.items.filter(function (item) {
5408
5421
  return checkMethod({
5409
5422
  row: item
5410
5423
  });
@@ -5424,10 +5437,10 @@ var _default = (0, _vue.defineComponent)({
5424
5437
  }
5425
5438
  return tablePrivateMethods.handleSelectRow({
5426
5439
  row: matchObj.parent
5427
- }, parentStatus);
5440
+ }, parentStatus, isForce);
5428
5441
  }
5429
5442
  } else {
5430
- if (!checkMethod || checkMethod({
5443
+ if (isForce || !checkMethod || checkMethod({
5431
5444
  row: row
5432
5445
  })) {
5433
5446
  _xeUtils.default.set(row, checkField, value);
@@ -5446,7 +5459,7 @@ var _default = (0, _vue.defineComponent)({
5446
5459
  } else {
5447
5460
  // 更新子节点状态
5448
5461
  _xeUtils.default.eachTree([row], function (item) {
5449
- if ($xetable.eqRow(item, row) || !checkMethod || checkMethod({
5462
+ if ($xetable.eqRow(item, row) || isForce || !checkMethod || checkMethod({
5450
5463
  row: item
5451
5464
  })) {
5452
5465
  if (value) {
@@ -5469,7 +5482,7 @@ var _default = (0, _vue.defineComponent)({
5469
5482
  }, treeOpts);
5470
5483
  if (matchObj && matchObj.parent) {
5471
5484
  var parentStatus = void 0;
5472
- var vItems_2 = checkMethod ? matchObj.items.filter(function (item) {
5485
+ var vItems_2 = !isForce && checkMethod ? matchObj.items.filter(function (item) {
5473
5486
  return checkMethod({
5474
5487
  row: item
5475
5488
  });
@@ -5489,10 +5502,10 @@ var _default = (0, _vue.defineComponent)({
5489
5502
  }
5490
5503
  return tablePrivateMethods.handleSelectRow({
5491
5504
  row: matchObj.parent
5492
- }, parentStatus);
5505
+ }, parentStatus, isForce);
5493
5506
  }
5494
5507
  } else {
5495
- if (!checkMethod || checkMethod({
5508
+ if (isForce || !checkMethod || checkMethod({
5496
5509
  row: row
5497
5510
  })) {
5498
5511
  if (value) {
@@ -5784,7 +5797,7 @@ var _default = (0, _vue.defineComponent)({
5784
5797
  * 多选,选中所有事件
5785
5798
  */
5786
5799
  triggerCheckAllEvent: function (evnt, value) {
5787
- tableMethods.setAllCheckboxRow(value);
5800
+ handleCheckedAllCheckboxRow(value);
5788
5801
  if (evnt) {
5789
5802
  tableMethods.dispatchEvent('checkbox-all', {
5790
5803
  records: tableMethods.getCheckboxRecords(),
@@ -5804,7 +5817,7 @@ var _default = (0, _vue.defineComponent)({
5804
5817
  var newValue = row;
5805
5818
  var isChange = oldValue !== newValue;
5806
5819
  if (isChange) {
5807
- tableMethods.setRadioRow(newValue);
5820
+ handleCheckedRadioRow(newValue);
5808
5821
  } else if (!radioOpts.strict) {
5809
5822
  isChange = oldValue === newValue;
5810
5823
  if (isChange) {