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.
- package/README.en.md +1 -1
- package/README.ja-JP.md +1 -1
- package/README.md +1 -1
- package/README.zh-TW.md +1 -1
- package/es/grid/src/grid.js +45 -36
- package/es/style.css +1 -1
- package/es/table/module/custom/panel.js +5 -0
- package/es/table/src/body.js +26 -2
- package/es/table/src/cell.js +6 -6
- package/es/table/src/column.js +45 -18
- package/es/table/src/footer.js +16 -4
- package/es/table/src/group.js +18 -12
- package/es/table/src/header.js +4 -1
- package/es/table/src/props.js +96 -24
- package/es/table/src/table.js +80 -20
- package/es/table/src/util.js +1 -1
- package/es/toolbar/src/toolbar.js +89 -68
- package/es/ui/index.js +2 -2
- package/es/ui/src/log.js +1 -1
- package/lib/grid/src/grid.js +45 -39
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +343 -198
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/module/custom/panel.js +7 -0
- package/lib/table/module/custom/panel.min.js +1 -1
- package/lib/table/src/cell.js +3 -3
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/column.js +16 -10
- package/lib/table/src/column.min.js +1 -1
- package/lib/table/src/group.js +17 -11
- package/lib/table/src/group.min.js +1 -1
- package/lib/table/src/table.js +91 -22
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +1 -1
- package/lib/table/src/util.min.js +1 -1
- package/lib/toolbar/src/toolbar.js +109 -76
- package/lib/toolbar/src/toolbar.min.js +1 -1
- package/lib/ui/index.js +2 -2
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +2 -2
- package/packages/grid/src/grid.ts +54 -44
- package/packages/table/module/custom/panel.ts +5 -0
- package/packages/table/src/body.ts +26 -2
- package/packages/table/src/cell.ts +9 -8
- package/packages/table/src/column.ts +47 -20
- package/packages/table/src/footer.ts +16 -4
- package/packages/table/src/group.ts +19 -13
- package/packages/table/src/header.ts +4 -1
- package/packages/table/src/props.ts +97 -24
- package/packages/table/src/table.ts +80 -25
- package/packages/table/src/util.ts +2 -2
- package/packages/toolbar/src/toolbar.ts +97 -75
- /package/es/{iconfont.1725332971397.ttf → iconfont.1726051234125.ttf} +0 -0
- /package/es/{iconfont.1725332971397.woff → iconfont.1726051234125.woff} +0 -0
- /package/es/{iconfont.1725332971397.woff2 → iconfont.1726051234125.woff2} +0 -0
- /package/lib/{iconfont.1725332971397.ttf → iconfont.1726051234125.ttf} +0 -0
- /package/lib/{iconfont.1725332971397.woff → iconfont.1726051234125.woff} +0 -0
- /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;
|
package/lib/table/src/column.js
CHANGED
|
@@ -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("
|
|
9
|
-
var _cell = _interopRequireDefault(require("
|
|
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
|
|
127
|
-
|
|
128
|
-
|
|
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
|
-
|
|
138
|
+
columnConfig,
|
|
136
139
|
renderVN
|
|
137
140
|
};
|
|
138
|
-
(0, _util.watchColumn)($xeTable, props,
|
|
141
|
+
(0, _util.watchColumn)($xeTable, props, columnConfig);
|
|
139
142
|
(0, _vue.onMounted)(() => {
|
|
140
|
-
|
|
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,
|
|
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("
|
|
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}});
|
package/lib/table/src/group.js
CHANGED
|
@@ -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("
|
|
10
|
-
var _cell = _interopRequireDefault(require("
|
|
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
|
|
21
|
-
|
|
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
|
-
|
|
27
|
-
|
|
28
|
-
(0, _util.watchColumn)($xeTable, props,
|
|
29
|
+
columnConfig.slots = columnSlots;
|
|
30
|
+
columnConfig.children = [];
|
|
31
|
+
(0, _util.watchColumn)($xeTable, props, columnConfig);
|
|
29
32
|
(0, _vue.onMounted)(() => {
|
|
30
|
-
|
|
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,
|
|
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
|
-
|
|
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("
|
|
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():[])}});
|
package/lib/table/src/table.js
CHANGED
|
@@ -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
|
-
|
|
2138
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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,
|