mirror of
https://gitee.com/xuliangzhan_admin/vxe-table.git
synced 2026-01-21 05:27:57 +08:00
1 line
14 KiB
JavaScript
1 line
14 KiB
JavaScript
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils/methods/xe-utils")),_conf=_interopRequireDefault(require("../../conf")),_vXETable=_interopRequireDefault(require("../../v-x-e-table")),_tools=require("../../tools"),_methods=_interopRequireDefault(require("./methods"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _defineProperty(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function renderFixed(e,t,o){var l=t.tableData,i=t.tableColumn,n=t.visibleColumn,r=t.collectColumn,s=t.isGroup,a=t.vSize,u=t.showHeader,d=t.showFooter,h=t.columnStore,f=t.footerData,c=h["".concat(o,"List")];return e("div",{class:"vxe-table--fixed-".concat(o,"-wrapper"),ref:"".concat(o,"Container")},[u?e("vxe-table-header",{props:{fixedType:o,tableData:l,tableColumn:i,visibleColumn:n,collectColumn:r,size:a,fixedColumn:c,isGroup:s},ref:"".concat(o,"Header")}):null,e("vxe-table-body",{props:{fixedType:o,tableData:l,tableColumn:i,visibleColumn:n,collectColumn:r,fixedColumn:c,size:a,isGroup:s},ref:"".concat(o,"Body")}),d?e("vxe-table-footer",{props:{fixedType:o,footerData:f,tableColumn:i,visibleColumn:n,size:a,fixedColumn:c},ref:"".concat(o,"Footer")}):null])}var _default2={name:"VxeTable",props:{data:Array,customs:Array,height:[Number,String],maxHeight:[Number,String],resizable:{type:Boolean,default:function(){return _conf.default.resizable}},stripe:{type:Boolean,default:function(){return _conf.default.stripe}},border:{type:Boolean,default:function(){return _conf.default.border}},size:{type:String,default:function(){return _conf.default.size}},fit:{type:Boolean,default:function(){return _conf.default.fit}},loading:Boolean,align:{type:String,default:function(){return _conf.default.align}},headerAlign:{type:String,default:function(){return _conf.default.headerAlign}},footerAlign:{type:String,default:function(){return _conf.default.footerAlign}},showHeader:{type:Boolean,default:function(){return _conf.default.showHeader}},startIndex:{type:Number,default:0},highlightCurrentRow:{type:Boolean,default:function(){return _conf.default.highlightCurrentRow}},highlightHoverRow:{type:Boolean,default:function(){return _conf.default.highlightHoverRow}},highlightCurrentColumn:{type:Boolean,default:function(){return _conf.default.highlightCurrentColumn}},highlightHoverColumn:{type:Boolean,default:function(){return _conf.default.highlightHoverColumn}},highlightCell:Boolean,showFooter:Boolean,footerMethod:Function,rowClassName:[String,Function],cellClassName:[String,Function],headerRowClassName:[String,Function],headerCellClassName:[String,Function],footerRowClassName:[String,Function],footerCellClassName:[String,Function],cellStyle:[Object,Function],headerCellStyle:[Object,Function],footerCellStyle:[Object,Function],rowStyle:[Object,Function],headerRowStyle:[Object,Function],footerRowStyle:[Object,Function],spanMethod:Function,footerSpanMethod:Function,showOverflow:{type:[Boolean,String],default:function(){return _conf.default.showOverflow}},showHeaderOverflow:{type:[Boolean,String],default:function(){return _conf.default.showHeaderOverflow}},remoteFilter:Boolean,remoteSort:Boolean,sortMethod:Function,columnWidth:[Number,String],columnMinWidth:[Number,String],columnKey:Boolean,rowKey:Boolean,rowId:{type:String,default:function(){return _conf.default.rowId}},zIndex:Number,autoResize:Boolean,syncResize:Boolean,sortConfig:Object,radioConfig:Object,selectConfig:Object,checkboxConfig:Object,tooltipConfig:Object,expandConfig:Object,treeConfig:Object,contextMenu:Object,mouseConfig:Object,keyboardConfig:Object,editConfig:Object,validConfig:Object,editRules:Object,optimization:Object,params:Object},provide:function(){return{$table:this}},inject:{$grid:{default:null}},mixins:[],data:function(){return{id:_xeUtils.default.uniqueId(),collectColumn:[],tableFullColumn:[],tableColumn:[],tableData:[],scrollXLoad:!1,scrollYLoad:!1,overflowY:!0,overflowX:!1,scrollbarWidth:0,scrollbarHeight:0,isAllSelected:!1,isIndeterminate:!1,selection:[],currentRow:null,selectRow:null,footerData:[],expandeds:[],treeExpandeds:[],treeIndeterminates:[],filterStore:{isAllSelected:!1,isIndeterminate:!1,style:null,options:[],column:null,multiple:!1,visible:!1},columnStore:{leftList:[],centerList:[],rightList:[],resizeList:[],pxList:[],pxMinList:[],scaleList:[],scaleMinList:[],autoList:[]},ctxMenuStore:{selected:null,visible:!1,showChild:!1,selectChild:null,list:[],style:null},editStore:{indexs:{columns:[]},titles:{columns:[]},checked:{rows:[],columns:[],tRows:[],tColumns:[]},selected:{row:null,column:null},copyed:{cut:!1,rows:[],columns:[]},actived:{row:null,column:null},insertList:[],removeList:[]},validStore:{visible:!1,row:null,column:null,content:"",rule:null,isArrow:!1},printUrl:""}},computed:{vSize:function(){return this.size||this.$parent.size||this.$parent.vSize},validOpts:function(){return Object.assign({message:"default"},_conf.default.validConfig,this.validConfig)},optimizeOpts:function(){return Object.assign({},_conf.default.optimization,this.optimization)},rowHeightMaps:function(){return Object.assign({default:48,medium:44,small:40,mini:36},this.optimizeOpts.rHeights)},vaildTipOpts:function(){return Object.assign({isArrow:!1},this.tooltipConfig)},sortOpts:function(){return Object.assign({},_conf.default.sortConfig,this.sortConfig)},isGroup:function(){return this.collectColumn.some(function(e){return _tools.UtilTools.hasChildrenList(e)})},hasTip:function(){return _vXETable.default._tooltip},visibleColumn:function(){return this.tableFullColumn?this.tableFullColumn.filter(function(e){return e.visible}):[]},isResizable:function(){return this.resizable||this.tableFullColumn.some(function(e){return e.resizable})},hasFilter:function(){return this.tableColumn.some(function(e){return e.filters&&e.filters.length})},headerCtxMenu:function(){return this.ctxMenuOpts.header&&this.ctxMenuOpts.header.options?this.ctxMenuOpts.header.options:[]},bodyCtxMenu:function(){return this.ctxMenuOpts.body&&this.ctxMenuOpts.body.options?this.ctxMenuOpts.body.options:[]},isCtxMenu:function(){return this.headerCtxMenu.length||this.bodyCtxMenu.length},ctxMenuOpts:function(){return Object.assign({},_conf.default.menu,this.contextMenu)},ctxMenuList:function(){var t=[];return this.ctxMenuStore.list.forEach(function(e){e.forEach(function(e){t.push(e)})}),t},isAllCheckboxDisabled:function(){var e=this.tableFullData,t=(this.treeConfig,this.checkboxConfig||this.selectConfig||{}),o=t.strict,l=t.checkMethod;return!!o&&(!e.length||!!l&&e.every(function(e,t){return!l({row:e,rowIndex:t,$rowIndex:t})}))}},watch:{data:function(e){this._isUpdateData||this.loadTableData(e,!0).then(this.handleDefault),this._isUpdateData=!1},customs:function(e){this.isUpdateCustoms||this.mergeCustomColumn(e),this.isUpdateCustoms=!1},collectColumn:function(e){var t=this,o=_tools.UtilTools.getColumnList(e);if(this.tableFullColumn=o,this.cacheColumnMap(),this.customs&&this.mergeCustomColumn(this.customs),this.refreshColumn().then(function(){t.scrollXLoad&&t.updateVirtualScrollX(!0)}),this.handleTableData(!0),this.$toolbar&&this.$toolbar.updateColumn(o),o.length){var l=Math.floor((o.length-1)/2);o[l].prop&&_tools.UtilTools.warn("vxe.error.delProp",["prop","field"]),o[l].label&&_tools.UtilTools.warn("vxe.error.delProp",["label","title"])}this.treeConfig&&o.some(function(e){return e.fixed})&&o.some(function(e){return"expand"===e.type})&&_tools.UtilTools.warn("vxe.error.treeFixedExpand")},tableColumn:function(){this.analyColumnWidth()},height:function(){var e=this;this.$nextTick(function(){return e.recalculate(!0)})},loading:function(){this._isLoading||(this._isLoading=!0)},syncResize:function(e){var t=this;e&&this.$nextTick(function(){return t.recalculate(!0)})}},created:function(){var e,t=this,o=Object.assign(this,{tZindex:0,elemStore:{},scrollXStore:{},scrollYStore:{},tooltipStore:{},parentHeight:0,tableWidth:0,tableHeight:0,headerHeight:0,footerHeight:0,lastScrollLeft:0,lastScrollTop:0,selectReserveRowMap:{},tableFullData:[],afterFullData:[],fullAllDataRowMap:new Map,fullAllDataRowIdData:{},fullDataRowMap:new Map,fullDataRowIdData:{},fullColumnMap:new Map,fullColumnIdData:{}}),l=o.scrollXStore,i=o.scrollYStore,n=o.optimizeOpts,r=o.data,s=o.loading,a=n.scrollX,u=n.scrollY;if(this._isLoading=s,_tools.UtilTools.getRowkey(this)||_tools.UtilTools.error("vxe.error.emptyProp",["row-id"]),!_vXETable.default._edit&&this.editConfig?e="Edit":!_vXETable.default._valid&&this.editRules?e="Validator":_vXETable.default._keyboard||!this.keyboardConfig&&!this.mouseConfig?!_vXETable.default._resize&&this.autoResize&&(e="Resize"):e="Keyboard",e)throw new Error(_tools.UtilTools.getLog("vxe.error.reqModule",[e]));u&&Object.assign(i,{startIndex:0,visibleIndex:0,adaptive:!_xeUtils.default.isBoolean(u.adaptive)||u.adaptive,renderSize:_xeUtils.default.toNumber(u.rSize),offsetSize:_xeUtils.default.toNumber(u.oSize)}),a&&Object.assign(l,{startIndex:0,visibleIndex:0,renderSize:_xeUtils.default.toNumber(a.rSize),offsetSize:_xeUtils.default.toNumber(a.oSize)}),this.loadTableData(r,!0).then(function(){t.handleDefault(),t.updateStyle()}),_tools.GlobalEvent.on(this,"mousedown",this.handleGlobalMousedownEvent),_tools.GlobalEvent.on(this,"blur",this.handleGlobalBlurEvent),_tools.GlobalEvent.on(this,"mousewheel",this.handleGlobalMousewheelEvent),_tools.GlobalEvent.on(this,"keydown",this.handleGlobalKeydownEvent),_tools.GlobalEvent.on(this,"resize",this.handleGlobalResizeEvent),_tools.GlobalEvent.on(this,"contextmenu",this.handleGlobalContextmenuEvent),this.preventEvent(null,"created",{$table:this})},mounted:function(){this.autoResize&&_vXETable.default._resize&&this.bindResize(),document.body.appendChild(this.$refs.tableWrapper),this.preventEvent(null,"mounted",{$table:this})},activated:function(){this.refreshScroll(),this.preventEvent(null,"activated",{$table:this})},deactivated:function(){this.preventEvent(null,"deactivated",{$table:this})},beforeDestroy:function(){var e=this.$refs.tableWrapper;e&&e.parentNode&&e.parentNode.removeChild(e),_vXETable.default._resize&&this.unbindResize(),this.closeFilter(),this.closeMenu(),this.clearAll(),this.preventEvent(null,"beforeDestroy",{$table:this})},destroyed:function(){_tools.GlobalEvent.off(this,"mousedown"),_tools.GlobalEvent.off(this,"blur"),_tools.GlobalEvent.off(this,"mousewheel"),_tools.GlobalEvent.off(this,"keydown"),_tools.GlobalEvent.off(this,"resize"),_tools.GlobalEvent.off(this,"contextmenu"),this.preventEvent(null,"destroyed",{$table:this})},render:function(e){var t,o=this._e,l=this.id,i=this.tableData,n=this.tableColumn,r=this.visibleColumn,s=this.collectColumn,a=this.isGroup,u=this.hasFilter,d=this.isResizable,h=this.isCtxMenu,f=this.loading,c=this._isLoading,p=this.showHeader,b=this.border,m=this.stripe,v=this.height,g=this.highlightHoverRow,C=this.highlightHoverColumn,x=this.highlightCell,_=this.vSize,y=this.showOverflow,w=this.showHeaderOverflow,S=this.editConfig,z=this.validOpts,O=this.mouseConfig,M=void 0===O?{}:O,E=this.editRules,R=this.showFooter,D=this.footerMethod,F=this.overflowX,j=this.overflowY,T=this.scrollXLoad,L=this.scrollYLoad,P=this.scrollbarHeight,B=this.optimizeOpts,G=this.vaildTipOpts,H=this.tooltipConfig,$=this.columnStore,U=this.filterStore,N=this.ctxMenuStore,I=this.footerData,X=this.hasTip,k=$.leftList,A=$.rightList;return e("div",{class:(t={"vxe-table":1},_defineProperty(t,"size--".concat(_),_),_defineProperty(t,"vxe-editable",S),_defineProperty(t,"show--head",p),_defineProperty(t,"show--foot",R),_defineProperty(t,"has--height",v),_defineProperty(t,"fixed--left",k.length),_defineProperty(t,"fixed--right",A.length),_defineProperty(t,"all-overflow",y),_defineProperty(t,"all-head-overflow",w),_defineProperty(t,"c--highlight",x),_defineProperty(t,"t--animat",B.animat),_defineProperty(t,"t--stripe",m),_defineProperty(t,"t--border",b),_defineProperty(t,"t--selected",M.selected),_defineProperty(t,"t--checked",M.checked),_defineProperty(t,"row--highlight",g),_defineProperty(t,"column--highlight",C),_defineProperty(t,"is--loading",f),_defineProperty(t,"scroll--y",j),_defineProperty(t,"scroll--x",F),_defineProperty(t,"virtual--x",T),_defineProperty(t,"virtual--y",L),t)},[e("div",{class:"vxe-table-hidden-column",ref:"hideColumn"},this.$slots.default),e("div",{class:"vxe-table--main-wrapper"},[p?e("vxe-table-header",{ref:"tableHeader",props:{tableData:i,tableColumn:n,visibleColumn:r,collectColumn:s,size:_,isGroup:a}}):o(),e("vxe-table-body",{ref:"tableBody",props:{tableData:i,tableColumn:n,visibleColumn:r,collectColumn:s,size:_,isGroup:a}}),R?e("vxe-table-footer",{props:{footerData:I,footerMethod:D,tableColumn:n,visibleColumn:r,size:_},ref:"tableFooter"}):null]),k&&k.length&&F?renderFixed(e,this,"left"):o(),A&&A.length&&F?renderFixed(e,this,"right"):o(),f||i.length?o():e("div",{ref:"emptyPlaceholder",class:"vxe-table--empty-placeholder",style:v?null:{top:"".concat(this.headerHeight,"px")}},[e("div",{class:"vxe-table--empty-content"},this.$scopedSlots.empty?this.$scopedSlots.empty.call(this,{$table:this},e):_conf.default.i18n("vxe.table.emptyText"))]),d?e("div",{class:"vxe-table--resizable-bar",style:F?{"padding-bottom":"".concat(P,"px")}:null,ref:"resizeBar"}):o(),c?e("vxe-table-loading",{props:{visible:f}}):o(),e("div",{class:"vxe-table".concat(l,"-wrapper ").concat(this.$vnode.data.staticClass||""),ref:"tableWrapper"},[u?e("vxe-table-filter",{props:{optimizeOpts:B,filterStore:U},ref:"filterWrapper"}):o(),h?e("vxe-table-context-menu",{props:{ctxMenuStore:N},ref:"ctxWrapper"}):o(),X?e("vxe-tooltip",{ref:"tooltip",props:H,on:H&&H.enterable?{leave:this.handleTooltipLeaveEvent}:null}):o(),X&&E&&("default"===z.message?!v:"tooltip"===z.message)?e("vxe-tooltip",{class:"vxe-table--valid-error",props:"tooltip"===z.message||1===i.length?G:null,ref:"validTip"}):o()])])},methods:_methods.default};exports.default=_default2; |