vxe-table 4.7.92 → 4.7.93

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.
@@ -6,9 +6,13 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _vue = require("vue");
8
8
  var _xeUtils = _interopRequireDefault(require("xe-utils"));
9
+ var _ui = require("../../ui");
9
10
  var _util = require("./util");
10
11
  var _dom = require("../../ui/src/dom");
11
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+ const {
14
+ renderer
15
+ } = _ui.VxeUI;
12
16
  const renderType = 'header';
13
17
  var _default = exports.default = (0, _vue.defineComponent)({
14
18
  name: 'VxeTableHeader',
@@ -285,13 +289,17 @@ var _default = exports.default = (0, _vue.defineComponent)({
285
289
  showHeaderOverflow,
286
290
  headerAlign,
287
291
  align,
288
- headerClassName
292
+ headerClassName,
293
+ editRender,
294
+ cellRender
289
295
  } = column;
290
296
  const colid = column.id;
297
+ const renderOpts = editRender || cellRender;
298
+ const compConf = renderOpts ? renderer.get(renderOpts.name) : null;
291
299
  const isColGroup = column.children && column.children.length;
292
300
  const fixedHiddenColumn = fixedType ? column.fixed !== fixedType && !isColGroup : !!column.fixed && overflowX;
293
301
  const headOverflow = _xeUtils.default.eqNull(showHeaderOverflow) ? allColumnHeaderOverflow : showHeaderOverflow;
294
- const headAlign = headerAlign || align || allHeaderAlign || allAlign;
302
+ const headAlign = headerAlign || (compConf ? compConf.tableHeaderCellAlign : '') || allHeaderAlign || align || (compConf ? compConf.tableCellAlign : '') || allAlign;
295
303
  let showEllipsis = headOverflow === 'ellipsis';
296
304
  const showTitle = headOverflow === 'title';
297
305
  const showTooltip = headOverflow === true || headOverflow === 'tooltip';
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_util=require("./util"),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const renderType="header";var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableHeader",props:{tableData:Array,tableColumn:Array,tableGroupColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},setup(k){const H=(0,_vue.inject)("$xeTable",{}),{xID:u,props:d,reactData:I,internalData:O}=H,{refElem:M,refTableBody:z,refLeftContainer:S,refRightContainer:$,refCellResizeBar:D}=H.getRefMaps(),c=H.getComputeMaps()["computeColumnOpts"],f=(0,_vue.ref)([]),U=(0,_vue.ref)(),p=(0,_vue.ref)(),v=(0,_vue.ref)(),m=(0,_vue.ref)(),h=(0,_vue.ref)(),x=(0,_vue.ref)(),t=()=>{var e=I["isGroup"];f.value=e?(0,_util.convertHeaderColumnToRows)(k.tableGroupColumn):[]},q=(e,t)=>{const r=t["column"],a=k["fixedType"];var l=z.value;const o=S.value,n=$.value,i=D.value,s=e["clientX"];var u=U.value,d=e.target;const c=t.cell=d.parentNode;let f=0;const p=l.$el;l=(0,_dom.getOffsetPos)(d,u),u=d.clientWidth,d=Math.floor(u/2);const v=(0,_util.getColReMinWidth)(t)-d;let m=l.left-c.clientWidth+u+v,h=l.left+d;const x=document.onmousemove,_=document.onmouseup,g="left"===a,b="right"===a,C=M.value;let y=0;if(g||b){var w=g?"nextElementSibling":"previousElementSibling";let e=c[w];for(;e&&!(0,_dom.hasClass)(e,"fixed--hidden");)(0,_dom.hasClass)(e,"col--group")||(y+=e.offsetWidth),e=e[w];b&&n&&(h=n.offsetLeft+y)}function T(e){e.stopPropagation(),e.preventDefault(),e=e.clientX-s;let l=h+e;e=a?0:p.scrollLeft,g?l=Math.min(l,(n?n.offsetLeft:p.clientWidth)-y-v):b?(m=(o?o.clientWidth:0)+y+v,l=Math.min(l,h+c.clientWidth-v)):m=Math.max(p.scrollLeft,m),f=Math.max(l,m),i.style.left=f-e+"px"}I._isResize=!0,(0,_dom.addClass)(C,"drag--resize"),i.style.display="block",document.onmousemove=T,document.onmouseup=function(e){document.onmousemove=x,document.onmouseup=_;const l=r.renderWidth+(b?h-f:f-h);r.resizeWidth=l,i.style.display="none",I._isResize=!1,O._lastResizeTime=Date.now(),H.analyColumnWidth(),H.recalculate(!0).then(()=>{H.saveCustomStore("update:visible"),H.updateCellAreas(),H.dispatchEvent("resizable-change",Object.assign(Object.assign({},t),{resizeWidth:l}),e),setTimeout(()=>H.recalculate(!0),300)}),(0,_dom.removeClass)(C,"drag--resize")},T(e),H.closeMenu&&H.closeMenu()};(0,_vue.watch)(()=>k.tableColumn,t),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=k["fixedType"],l=H["internalData"],l=l["elemStore"],e=`${e||"main"}-header-`;l[e+"wrapper"]=U,l[e+"table"]=p,l[e+"colgroup"]=v,l[e+"list"]=m,l[e+"xSpace"]=h,l[e+"repair"]=x,t()})}),(0,_vue.onUnmounted)(()=>{var e=k["fixedType"],l=H["internalData"],l=l["elemStore"],e=`${e||"main"}-header-`;l[e+"wrapper"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"repair"]=null});return()=>{const{fixedType:_,fixedColumn:e,tableColumn:l}=k,{resizable:g,border:b,columnKey:C,headerRowClassName:t,headerCellClassName:y,headerRowStyle:r,headerCellStyle:w,showHeaderOverflow:T,headerAlign:M,align:z,mouseConfig:S}=d,{isGroup:a,currentColumn:$,scrollXLoad:D,overflowX:R,scrollbarWidth:o}=I;var n=O["visibleColumn"];const W=c.value;let i=f.value,s=l;return a?s=n:(_&&(D||T)&&(s=e),i=[s]),(0,_vue.h)("div",{ref:U,class:["vxe-table--header-wrapper",_?`fixed-${_}--wrapper`:"body--wrapper"],xid:u},[_?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{ref:h,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:p,class:"vxe-table--header",xid:u,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:v},s.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l})).concat(o?[(0,_vue.h)("col",{name:"col_gutter"})]:[])),(0,_vue.h)("thead",{ref:m},i.map((h,x)=>(0,_vue.h)("tr",{class:["vxe-header--row",t?_xeUtils.default.isFunction(t)?t({$table:H,$rowIndex:x,fixed:_,type:renderType}):t:""],style:r?_xeUtils.default.isFunction(r)?r({$table:H,$rowIndex:x,fixed:_,type:renderType}):r:null},h.map((e,l)=>{var{type:t,showHeaderOverflow:r,headerAlign:a,align:o,headerClassName:n}=e,i=e.id,s=e.children&&e.children.length,u=_?e.fixed!==_&&!s:!!e.fixed&&R,r=_xeUtils.default.eqNull(r)?T:r,a=a||o||M||z;let d="ellipsis"===r;o="title"===r,r=!0===r||"tooltip"===r;let c=o||r||d;var f=e.filters&&e.filters.some(e=>e.checked),p=H.getColumnIndex(e),v=H.getVTColumnIndex(e);const m={$table:H,$grid:H.xegrid,$rowIndex:x,column:e,columnIndex:p,$columnIndex:l,_columnIndex:v,fixed:_,type:renderType,isHidden:u,hasFilter:f};p={onClick:e=>H.triggerHeaderCellClickEvent(e,m),onDblclick:e=>H.triggerHeaderCellDblclickEvent(e,m)};return D&&!c&&(d=c=!0),S&&(p.onMousedown=e=>H.triggerHeaderCellMousedownEvent(e,m)),(0,_vue.h)("th",Object.assign(Object.assign({class:["vxe-header--column",i,{["col--"+a]:a,["col--"+t]:t,"col--last":l===h.length-1,"col--fixed":e.fixed,"col--group":s,"col--ellipsis":c,"fixed--hidden":u,"is--sortable":e.sortable,"col--filter":!!e.filters,"is--filter-active":f,"col--current":$===e},n?_xeUtils.default.isFunction(n)?n(m):n:"",y?_xeUtils.default.isFunction(y)?y(m):y:""],colid:i,colspan:1<e.colSpan?e.colSpan:null,rowspan:1<e.rowSpan?e.rowSpan:null,style:w?_xeUtils.default.isFunction(w)?w(m):w:null},p),{key:C||W.useKey||s?i:l}),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":o,"c--tooltip":r,"c--ellipsis":d}]},e.renderHeader(m)),u||s||!(_xeUtils.default.isBoolean(e.resizable)?e.resizable:W.resizable||g)?null:(0,_vue.h)("div",{class:["vxe-resizable",{"is--line":!b||"none"===b}],onMousedown:e=>q(e,m)})])}).concat(o?[(0,_vue.h)("th",{class:"vxe-header--gutter col--gutter"})]:[]))))]),(0,_vue.h)("div",{ref:x,class:"vxe-table--header-border-line"})])}}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const renderer=_ui.VxeUI["renderer"],renderType="header";var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableHeader",props:{tableData:Array,tableColumn:Array,tableGroupColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},setup(H){const I=(0,_vue.inject)("$xeTable",{}),{xID:s,props:d,reactData:U,internalData:k}=I,{refElem:M,refTableBody:z,refLeftContainer:R,refRightContainer:S,refCellResizeBar:$}=I.getRefMaps(),c=I.getComputeMaps()["computeColumnOpts"],f=(0,_vue.ref)([]),A=(0,_vue.ref)(),p=(0,_vue.ref)(),v=(0,_vue.ref)(),m=(0,_vue.ref)(),h=(0,_vue.ref)(),x=(0,_vue.ref)(),t=()=>{var e=U["isGroup"];f.value=e?(0,_util.convertHeaderColumnToRows)(H.tableGroupColumn):[]},O=(e,t)=>{const r=t["column"],a=H["fixedType"];var l=z.value;const n=R.value,o=S.value,i=$.value,u=e["clientX"];var s=A.value,d=e.target;const c=t.cell=d.parentNode;let f=0;const p=l.$el;l=(0,_dom.getOffsetPos)(d,s),s=d.clientWidth,d=Math.floor(s/2);const v=(0,_util.getColReMinWidth)(t)-d;let m=l.left-c.clientWidth+s+v,h=l.left+d;const x=document.onmousemove,_=document.onmouseup,g="left"===a,b="right"===a,C=M.value;let y=0;if(g||b){var w=g?"nextElementSibling":"previousElementSibling";let e=c[w];for(;e&&!(0,_dom.hasClass)(e,"fixed--hidden");)(0,_dom.hasClass)(e,"col--group")||(y+=e.offsetWidth),e=e[w];b&&o&&(h=o.offsetLeft+y)}function T(e){e.stopPropagation(),e.preventDefault(),e=e.clientX-u;let l=h+e;e=a?0:p.scrollLeft,g?l=Math.min(l,(o?o.offsetLeft:p.clientWidth)-y-v):b?(m=(n?n.clientWidth:0)+y+v,l=Math.min(l,h+c.clientWidth-v)):m=Math.max(p.scrollLeft,m),f=Math.max(l,m),i.style.left=f-e+"px"}U._isResize=!0,(0,_dom.addClass)(C,"drag--resize"),i.style.display="block",document.onmousemove=T,document.onmouseup=function(e){document.onmousemove=x,document.onmouseup=_;const l=r.renderWidth+(b?h-f:f-h);r.resizeWidth=l,i.style.display="none",U._isResize=!1,k._lastResizeTime=Date.now(),I.analyColumnWidth(),I.recalculate(!0).then(()=>{I.saveCustomStore("update:visible"),I.updateCellAreas(),I.dispatchEvent("resizable-change",Object.assign(Object.assign({},t),{resizeWidth:l}),e),setTimeout(()=>I.recalculate(!0),300)}),(0,_dom.removeClass)(C,"drag--resize")},T(e),I.closeMenu&&I.closeMenu()};(0,_vue.watch)(()=>H.tableColumn,t),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=H["fixedType"],l=I["internalData"],l=l["elemStore"],e=`${e||"main"}-header-`;l[e+"wrapper"]=A,l[e+"table"]=p,l[e+"colgroup"]=v,l[e+"list"]=m,l[e+"xSpace"]=h,l[e+"repair"]=x,t()})}),(0,_vue.onUnmounted)(()=>{var e=H["fixedType"],l=I["internalData"],l=l["elemStore"],e=`${e||"main"}-header-`;l[e+"wrapper"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"repair"]=null});return()=>{const{fixedType:_,fixedColumn:e,tableColumn:l}=H,{resizable:g,border:b,columnKey:C,headerRowClassName:t,headerCellClassName:y,headerRowStyle:r,headerCellStyle:w,showHeaderOverflow:T,headerAlign:M,align:z,mouseConfig:R}=d,{isGroup:a,currentColumn:S,scrollXLoad:$,overflowX:D,scrollbarWidth:n}=U;var o=k["visibleColumn"];const W=c.value;let i=f.value,u=l;return a?u=o:(_&&($||T)&&(u=e),i=[u]),(0,_vue.h)("div",{ref:A,class:["vxe-table--header-wrapper",_?`fixed-${_}--wrapper`:"body--wrapper"],xid:s},[_?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{ref:h,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:p,class:"vxe-table--header",xid:s,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:v},u.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l})).concat(n?[(0,_vue.h)("col",{name:"col_gutter"})]:[])),(0,_vue.h)("thead",{ref:m},i.map((h,x)=>(0,_vue.h)("tr",{class:["vxe-header--row",t?_xeUtils.default.isFunction(t)?t({$table:I,$rowIndex:x,fixed:_,type:renderType}):t:""],style:r?_xeUtils.default.isFunction(r)?r({$table:I,$rowIndex:x,fixed:_,type:renderType}):r:null},h.map((e,l)=>{var{type:t,showHeaderOverflow:r,headerAlign:a,align:n,headerClassName:o,editRender:i,cellRender:u}=e,s=e.id,i=i||u,u=i?renderer.get(i.name):null,i=e.children&&e.children.length,d=_?e.fixed!==_&&!i:!!e.fixed&&D,r=_xeUtils.default.eqNull(r)?T:r,a=a||(u?u.tableHeaderCellAlign:"")||M||n||(u?u.tableCellAlign:"")||z;let c="ellipsis"===r;n="title"===r,u=!0===r||"tooltip"===r;let f=n||u||c;var r=e.filters&&e.filters.some(e=>e.checked),p=I.getColumnIndex(e),v=I.getVTColumnIndex(e);const m={$table:I,$grid:I.xegrid,$rowIndex:x,column:e,columnIndex:p,$columnIndex:l,_columnIndex:v,fixed:_,type:renderType,isHidden:d,hasFilter:r};p={onClick:e=>I.triggerHeaderCellClickEvent(e,m),onDblclick:e=>I.triggerHeaderCellDblclickEvent(e,m)};return $&&!f&&(c=f=!0),R&&(p.onMousedown=e=>I.triggerHeaderCellMousedownEvent(e,m)),(0,_vue.h)("th",Object.assign(Object.assign({class:["vxe-header--column",s,{["col--"+a]:a,["col--"+t]:t,"col--last":l===h.length-1,"col--fixed":e.fixed,"col--group":i,"col--ellipsis":f,"fixed--hidden":d,"is--sortable":e.sortable,"col--filter":!!e.filters,"is--filter-active":r,"col--current":S===e},o?_xeUtils.default.isFunction(o)?o(m):o:"",y?_xeUtils.default.isFunction(y)?y(m):y:""],colid:s,colspan:1<e.colSpan?e.colSpan:null,rowspan:1<e.rowSpan?e.rowSpan:null,style:w?_xeUtils.default.isFunction(w)?w(m):w:null},p),{key:C||W.useKey||i?s:l}),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":n,"c--tooltip":u,"c--ellipsis":c}]},e.renderHeader(m)),d||i||!(_xeUtils.default.isBoolean(e.resizable)?e.resizable:W.resizable||g)?null:(0,_vue.h)("div",{class:["vxe-resizable",{"is--line":!b||"none"===b}],onMousedown:e=>O(e,m)})])}).concat(n?[(0,_vue.h)("th",{class:"vxe-header--gutter col--gutter"})]:[]))))]),(0,_vue.h)("div",{ref:x,class:"vxe-table--header-border-line"})])}}});
package/lib/ui/index.js CHANGED
@@ -13,9 +13,9 @@ Object.defineProperty(exports, "VxeUI", {
13
13
  exports.version = exports.validators = exports.use = exports.t = exports.setup = exports.setTheme = exports.setLanguage = exports.setIcon = exports.setI18n = exports.setConfig = exports.saveFile = exports.renderer = exports.readFile = exports.print = exports.modal = exports.menus = exports.log = exports.interceptor = exports.hooks = exports.globalResize = exports.globalEvents = exports.getTheme = exports.getIcon = exports.getI18n = exports.getConfig = exports.formats = exports.default = exports.config = exports.commands = exports.clipboard = exports._t = void 0;
14
14
  var _core = require("@vxe-ui/core");
15
15
  var _utils = require("./src/utils");
16
- const version = exports.version = "4.7.92";
16
+ const version = exports.version = "4.7.93";
17
17
  _core.VxeUI.version = version;
18
- _core.VxeUI.tableVersion = "4.7.92";
18
+ _core.VxeUI.tableVersion = "4.7.93";
19
19
  _core.VxeUI.setConfig({
20
20
  emptyCell: ' ',
21
21
  table: {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.VXETable=void 0,Object.defineProperty(exports,"VxeUI",{enumerable:!0,get:function(){return _core.VxeUI}}),exports.version=exports.validators=exports.use=exports.t=exports.setup=exports.setTheme=exports.setLanguage=exports.setIcon=exports.setI18n=exports.setConfig=exports.saveFile=exports.renderer=exports.readFile=exports.print=exports.modal=exports.menus=exports.log=exports.interceptor=exports.hooks=exports.globalResize=exports.globalEvents=exports.getTheme=exports.getIcon=exports.getI18n=exports.getConfig=exports.formats=exports.default=exports.config=exports.commands=exports.clipboard=exports._t=void 0;var _core=require("@vxe-ui/core"),_utils=require("./src/utils");const version=exports.version="4.7.92",iconPrefix=(_core.VxeUI.version=version,_core.VxeUI.tableVersion="4.7.92",_core.VxeUI.setConfig({emptyCell:" ",table:{fit:!0,showHeader:!0,animat:!0,delayHover:250,autoResize:!0,padding:!0,minHeight:144,resizeConfig:{refreshDelay:250},radioConfig:{strict:!0},checkboxConfig:{strict:!0},tooltipConfig:{enterable:!0},validConfig:{showMessage:!0,autoClear:!0,autoPos:!0,message:"inline",msgMode:"single"},columnConfig:{maxFixedSize:4},customConfig:{allowVisible:!0,allowResizable:!0,allowFixed:!0,allowSort:!0,showFooter:!0,placement:"top-right",modalOptions:{showMaximize:!0,mask:!0,lockView:!0,resize:!0,escClosable:!0}},sortConfig:{showIcon:!0,iconLayout:"vertical"},filterConfig:{showIcon:!0},treeConfig:{rowField:"id",parentField:"parentId",childrenField:"children",hasChildField:"hasChild",mapChildrenField:"_X_ROW_CHILD",indent:20,showIcon:!0},expandConfig:{showIcon:!0},editConfig:{showIcon:!0,showAsterisk:!0,autoFocus:!0},importConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},exportConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},printConfig:{},mouseConfig:{extension:!0},keyboardConfig:{isEsc:!0},areaConfig:{autoClear:!0,selectCellByHeader:!0},clipConfig:{isCopy:!0,isCut:!0,isPaste:!0},fnrConfig:{isFind:!0,isReplace:!0},scrollX:{gt:60},scrollY:{gt:100}},grid:{formConfig:{enabled:!0},pagerConfig:{enabled:!0},toolbarConfig:{enabled:!0},proxyConfig:{enabled:!0,autoLoad:!0,showResponseMsg:!0,showActiveMsg:!0,props:{list:null,result:"result",total:"page.total",message:"message"}}},toolbar:{}}),"vxe-table-icon-"),setTheme=(_core.VxeUI.setIcon({TABLE_SORT_ASC:iconPrefix+"caret-up",TABLE_SORT_DESC:iconPrefix+"caret-down",TABLE_FILTER_NONE:iconPrefix+"funnel",TABLE_FILTER_MATCH:iconPrefix+"funnel",TABLE_EDIT:iconPrefix+"edit",TABLE_TITLE_PREFIX:iconPrefix+"question-circle-fill",TABLE_TITLE_SUFFIX:iconPrefix+"question-circle-fill",TABLE_TREE_LOADED:iconPrefix+"spinner roll",TABLE_TREE_OPEN:iconPrefix+"caret-right rotate90",TABLE_TREE_CLOSE:iconPrefix+"caret-right",TABLE_EXPAND_LOADED:iconPrefix+"spinner roll",TABLE_EXPAND_OPEN:iconPrefix+"arrow-right rotate90",TABLE_EXPAND_CLOSE:iconPrefix+"arrow-right",TABLE_CHECKBOX_CHECKED:iconPrefix+"checkbox-checked-fill",TABLE_CHECKBOX_UNCHECKED:iconPrefix+"checkbox-unchecked",TABLE_CHECKBOX_INDETERMINATE:iconPrefix+"checkbox-indeterminate-fill",TABLE_RADIO_CHECKED:iconPrefix+"radio-checked-fill",TABLE_RADIO_UNCHECKED:iconPrefix+"radio-unchecked",TABLE_CUSTOM_SORT:iconPrefix+"drag-handle",TABLE_MENU_OPTIONS:iconPrefix+"arrow-right",TOOLBAR_TOOLS_REFRESH:iconPrefix+"repeat",TOOLBAR_TOOLS_REFRESH_LOADING:iconPrefix+"repeat roll",TOOLBAR_TOOLS_IMPORT:iconPrefix+"upload",TOOLBAR_TOOLS_EXPORT:iconPrefix+"download",TOOLBAR_TOOLS_PRINT:iconPrefix+"print",TOOLBAR_TOOLS_FULLSCREEN:iconPrefix+"fullscreen",TOOLBAR_TOOLS_MINIMIZE:iconPrefix+"minimize",TOOLBAR_TOOLS_CUSTOM:iconPrefix+"custom-column",TOOLBAR_TOOLS_FIXED_LEFT:iconPrefix+"fixed-left",TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:iconPrefix+"fixed-left-fill",TOOLBAR_TOOLS_FIXED_RIGHT:iconPrefix+"fixed-right",TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:iconPrefix+"fixed-right-fill"}),exports.setTheme=_core.VxeUI.setTheme),getTheme=exports.getTheme=_core.VxeUI.getTheme,setConfig=exports.setConfig=_core.VxeUI.setConfig,getConfig=exports.getConfig=_core.VxeUI.getConfig,setIcon=exports.setIcon=_core.VxeUI.setIcon,getIcon=exports.getIcon=_core.VxeUI.getIcon,setLanguage=exports.setLanguage=_core.VxeUI.setLanguage,setI18n=exports.setI18n=_core.VxeUI.setI18n,getI18n=exports.getI18n=_core.VxeUI.getI18n,globalEvents=exports.globalEvents=_core.VxeUI.globalEvents,globalResize=exports.globalResize=_core.VxeUI.globalResize,renderer=exports.renderer=_core.VxeUI.renderer,validators=exports.validators=_core.VxeUI.validators,menus=exports.menus=_core.VxeUI.menus,formats=exports.formats=_core.VxeUI.formats,commands=exports.commands=_core.VxeUI.commands,interceptor=exports.interceptor=_core.VxeUI.interceptor,clipboard=exports.clipboard=_core.VxeUI.clipboard,log=exports.log=_core.VxeUI.log,hooks=exports.hooks=_core.VxeUI.hooks,use=exports.use=_core.VxeUI.use,setup=e=>_core.VxeUI.setConfig(e),config=(exports.setup=setup,_core.VxeUI.setup=setup,e=>_core.VxeUI.setConfig(e)),t=(exports.config=config,_core.VxeUI.config=config,(e,o)=>_core.VxeUI.getI18n(e,o)),_t=(exports.t=t,_core.VxeUI.t=t,(e,o)=>(0,_utils.getFuncText)(e,o)),VXETable=(exports._t=_t,_core.VxeUI._t=_t,exports.VXETable=_core.VxeUI),saveFile=e=>_core.VxeUI.saveFile(e),readFile=(exports.saveFile=saveFile,e=>_core.VxeUI.readFile(e)),print=(exports.readFile=readFile,e=>_core.VxeUI.print(e)),modal=(exports.print=print,exports.modal={get(e){return _core.VxeUI.modal.get(e)},close(e){return _core.VxeUI.modal.close(e)},open(e){return _core.VxeUI.modal.open(e)},alert(e,o,r){return _core.VxeUI.modal.alert(e,o,r)},confirm(e,o,r){return _core.VxeUI.modal.confirm(e,o,r)},message(e,o){return _core.VxeUI.modal.message(e,o)},notification(e,o,r){return _core.VxeUI.modal.notification(e,o,r)}});var _default=exports.default=_core.VxeUI;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.VXETable=void 0,Object.defineProperty(exports,"VxeUI",{enumerable:!0,get:function(){return _core.VxeUI}}),exports.version=exports.validators=exports.use=exports.t=exports.setup=exports.setTheme=exports.setLanguage=exports.setIcon=exports.setI18n=exports.setConfig=exports.saveFile=exports.renderer=exports.readFile=exports.print=exports.modal=exports.menus=exports.log=exports.interceptor=exports.hooks=exports.globalResize=exports.globalEvents=exports.getTheme=exports.getIcon=exports.getI18n=exports.getConfig=exports.formats=exports.default=exports.config=exports.commands=exports.clipboard=exports._t=void 0;var _core=require("@vxe-ui/core"),_utils=require("./src/utils");const version=exports.version="4.7.93",iconPrefix=(_core.VxeUI.version=version,_core.VxeUI.tableVersion="4.7.93",_core.VxeUI.setConfig({emptyCell:" ",table:{fit:!0,showHeader:!0,animat:!0,delayHover:250,autoResize:!0,padding:!0,minHeight:144,resizeConfig:{refreshDelay:250},radioConfig:{strict:!0},checkboxConfig:{strict:!0},tooltipConfig:{enterable:!0},validConfig:{showMessage:!0,autoClear:!0,autoPos:!0,message:"inline",msgMode:"single"},columnConfig:{maxFixedSize:4},customConfig:{allowVisible:!0,allowResizable:!0,allowFixed:!0,allowSort:!0,showFooter:!0,placement:"top-right",modalOptions:{showMaximize:!0,mask:!0,lockView:!0,resize:!0,escClosable:!0}},sortConfig:{showIcon:!0,iconLayout:"vertical"},filterConfig:{showIcon:!0},treeConfig:{rowField:"id",parentField:"parentId",childrenField:"children",hasChildField:"hasChild",mapChildrenField:"_X_ROW_CHILD",indent:20,showIcon:!0},expandConfig:{showIcon:!0},editConfig:{showIcon:!0,showAsterisk:!0,autoFocus:!0},importConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},exportConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},printConfig:{},mouseConfig:{extension:!0},keyboardConfig:{isEsc:!0},areaConfig:{autoClear:!0,selectCellByHeader:!0},clipConfig:{isCopy:!0,isCut:!0,isPaste:!0},fnrConfig:{isFind:!0,isReplace:!0},scrollX:{gt:60},scrollY:{gt:100}},grid:{formConfig:{enabled:!0},pagerConfig:{enabled:!0},toolbarConfig:{enabled:!0},proxyConfig:{enabled:!0,autoLoad:!0,showResponseMsg:!0,showActiveMsg:!0,props:{list:null,result:"result",total:"page.total",message:"message"}}},toolbar:{}}),"vxe-table-icon-"),setTheme=(_core.VxeUI.setIcon({TABLE_SORT_ASC:iconPrefix+"caret-up",TABLE_SORT_DESC:iconPrefix+"caret-down",TABLE_FILTER_NONE:iconPrefix+"funnel",TABLE_FILTER_MATCH:iconPrefix+"funnel",TABLE_EDIT:iconPrefix+"edit",TABLE_TITLE_PREFIX:iconPrefix+"question-circle-fill",TABLE_TITLE_SUFFIX:iconPrefix+"question-circle-fill",TABLE_TREE_LOADED:iconPrefix+"spinner roll",TABLE_TREE_OPEN:iconPrefix+"caret-right rotate90",TABLE_TREE_CLOSE:iconPrefix+"caret-right",TABLE_EXPAND_LOADED:iconPrefix+"spinner roll",TABLE_EXPAND_OPEN:iconPrefix+"arrow-right rotate90",TABLE_EXPAND_CLOSE:iconPrefix+"arrow-right",TABLE_CHECKBOX_CHECKED:iconPrefix+"checkbox-checked-fill",TABLE_CHECKBOX_UNCHECKED:iconPrefix+"checkbox-unchecked",TABLE_CHECKBOX_INDETERMINATE:iconPrefix+"checkbox-indeterminate-fill",TABLE_RADIO_CHECKED:iconPrefix+"radio-checked-fill",TABLE_RADIO_UNCHECKED:iconPrefix+"radio-unchecked",TABLE_CUSTOM_SORT:iconPrefix+"drag-handle",TABLE_MENU_OPTIONS:iconPrefix+"arrow-right",TOOLBAR_TOOLS_REFRESH:iconPrefix+"repeat",TOOLBAR_TOOLS_REFRESH_LOADING:iconPrefix+"repeat roll",TOOLBAR_TOOLS_IMPORT:iconPrefix+"upload",TOOLBAR_TOOLS_EXPORT:iconPrefix+"download",TOOLBAR_TOOLS_PRINT:iconPrefix+"print",TOOLBAR_TOOLS_FULLSCREEN:iconPrefix+"fullscreen",TOOLBAR_TOOLS_MINIMIZE:iconPrefix+"minimize",TOOLBAR_TOOLS_CUSTOM:iconPrefix+"custom-column",TOOLBAR_TOOLS_FIXED_LEFT:iconPrefix+"fixed-left",TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:iconPrefix+"fixed-left-fill",TOOLBAR_TOOLS_FIXED_RIGHT:iconPrefix+"fixed-right",TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:iconPrefix+"fixed-right-fill"}),exports.setTheme=_core.VxeUI.setTheme),getTheme=exports.getTheme=_core.VxeUI.getTheme,setConfig=exports.setConfig=_core.VxeUI.setConfig,getConfig=exports.getConfig=_core.VxeUI.getConfig,setIcon=exports.setIcon=_core.VxeUI.setIcon,getIcon=exports.getIcon=_core.VxeUI.getIcon,setLanguage=exports.setLanguage=_core.VxeUI.setLanguage,setI18n=exports.setI18n=_core.VxeUI.setI18n,getI18n=exports.getI18n=_core.VxeUI.getI18n,globalEvents=exports.globalEvents=_core.VxeUI.globalEvents,globalResize=exports.globalResize=_core.VxeUI.globalResize,renderer=exports.renderer=_core.VxeUI.renderer,validators=exports.validators=_core.VxeUI.validators,menus=exports.menus=_core.VxeUI.menus,formats=exports.formats=_core.VxeUI.formats,commands=exports.commands=_core.VxeUI.commands,interceptor=exports.interceptor=_core.VxeUI.interceptor,clipboard=exports.clipboard=_core.VxeUI.clipboard,log=exports.log=_core.VxeUI.log,hooks=exports.hooks=_core.VxeUI.hooks,use=exports.use=_core.VxeUI.use,setup=e=>_core.VxeUI.setConfig(e),config=(exports.setup=setup,_core.VxeUI.setup=setup,e=>_core.VxeUI.setConfig(e)),t=(exports.config=config,_core.VxeUI.config=config,(e,o)=>_core.VxeUI.getI18n(e,o)),_t=(exports.t=t,_core.VxeUI.t=t,(e,o)=>(0,_utils.getFuncText)(e,o)),VXETable=(exports._t=_t,_core.VxeUI._t=_t,exports.VXETable=_core.VxeUI),saveFile=e=>_core.VxeUI.saveFile(e),readFile=(exports.saveFile=saveFile,e=>_core.VxeUI.readFile(e)),print=(exports.readFile=readFile,e=>_core.VxeUI.print(e)),modal=(exports.print=print,exports.modal={get(e){return _core.VxeUI.modal.get(e)},close(e){return _core.VxeUI.modal.close(e)},open(e){return _core.VxeUI.modal.open(e)},alert(e,o,r){return _core.VxeUI.modal.alert(e,o,r)},confirm(e,o,r){return _core.VxeUI.modal.confirm(e,o,r)},message(e,o){return _core.VxeUI.modal.message(e,o)},notification(e,o,r){return _core.VxeUI.modal.notification(e,o,r)}});var _default=exports.default=_core.VxeUI;
package/lib/ui/src/log.js CHANGED
@@ -8,6 +8,6 @@ var _core = require("@vxe-ui/core");
8
8
  const {
9
9
  log
10
10
  } = _core.VxeUI;
11
- const version = `table v${"4.7.92"}`;
11
+ const version = `table v${"4.7.93"}`;
12
12
  const warnLog = exports.warnLog = log.create('warn', version);
13
13
  const errLog = exports.errLog = log.create('error', version);
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");const log=_core.VxeUI["log"],version="table v4.7.92",warnLog=exports.warnLog=log.create("warn",version),errLog=exports.errLog=log.create("error",version);
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");const log=_core.VxeUI["log"],version="table v4.7.93",warnLog=exports.warnLog=log.create("warn",version),errLog=exports.errLog=log.create("error",version);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vxe-table",
3
- "version": "4.7.92",
3
+ "version": "4.7.93",
4
4
  "description": "一个基于 vue 的 PC 端表格组件,支持增删改查、虚拟树、列拖拽,懒加载、快捷菜单、数据校验、树形结构、打印、导入导出、自定义模板、渲染器、JSON 配置式...",
5
5
  "scripts": {
6
6
  "update": "npm install --legacy-peer-deps",
@@ -28,7 +28,7 @@
28
28
  "style": "lib/style.css",
29
29
  "typings": "types/index.d.ts",
30
30
  "dependencies": {
31
- "vxe-pc-ui": "^4.2.24"
31
+ "vxe-pc-ui": "^4.2.26"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@types/resize-observer-browser": "^0.1.11",
@@ -161,7 +161,7 @@ export default defineComponent({
161
161
  let hasEllipsis = showTitle || showTooltip || showEllipsis
162
162
  let isDirty
163
163
  const tdOns: any = {}
164
- const cellAlign = align || allAlign
164
+ const cellAlign = align || (compConf ? compConf.tableCellAlign : '') || allAlign
165
165
  const errorValidItem = validErrorMaps[`${rowid}:${colid}`]
166
166
  const showValidTip = editRules && validOpts.showMessage && (validOpts.message === 'default' ? (height || tableData.length > 1) : validOpts.message === 'inline')
167
167
  const attrs: any = { colid }
@@ -1,9 +1,12 @@
1
1
  import { createCommentVNode, defineComponent, h, ref, Ref, PropType, inject, nextTick, onMounted, onUnmounted } from 'vue'
2
2
  import XEUtils from 'xe-utils'
3
+ import { VxeUI } from '../../ui'
3
4
  import { updateCellTitle, getPropClass } from '../../ui/src/dom'
4
5
 
5
6
  import type { VxeTablePrivateMethods, VxeTableConstructor, VxeTableMethods, VxeColumnPropTypes, VxeTableDefines } from '../../../types'
6
7
 
8
+ const { renderer } = VxeUI
9
+
7
10
  const renderType = 'footer'
8
11
 
9
12
  function mergeFooterMethod (mergeFooterList: VxeTableDefines.MergeItem[], _rowIndex: number, _columnIndex: number) {
@@ -180,12 +183,14 @@ export default defineComponent({
180
183
  class: ['vxe-footer--row', footerRowClassName ? XEUtils.isFunction(footerRowClassName) ? footerRowClassName(rowParams) : footerRowClassName : ''],
181
184
  style: footerRowStyle ? (XEUtils.isFunction(footerRowStyle) ? footerRowStyle(rowParams) : footerRowStyle) : null
182
185
  }, tableColumn.map((column, $columnIndex) => {
183
- const { type, showFooterOverflow, footerAlign, align, footerClassName } = column
186
+ const { type, showFooterOverflow, footerAlign, align, footerClassName, editRender, cellRender } = column
187
+ const renderOpts = editRender || cellRender
188
+ const compConf = renderOpts ? renderer.get(renderOpts.name) : null
184
189
  const showAllTip = tooltipOpts.showAll
185
190
  const isColGroup = column.children && column.children.length
186
191
  const fixedHiddenColumn = fixedType ? column.fixed !== fixedType && !isColGroup : column.fixed && overflowX
187
192
  const footOverflow = XEUtils.eqNull(showFooterOverflow) ? allColumnFooterOverflow : showFooterOverflow
188
- const footAlign = footerAlign || align || allFooterAlign || allAlign
193
+ const footAlign = footerAlign || (compConf ? compConf.tableFooterCellAlign : '') || allFooterAlign || align || (compConf ? compConf.tableCellAlign : '') || allAlign
189
194
  let showEllipsis = footOverflow === 'ellipsis'
190
195
  const showTitle = footOverflow === 'title'
191
196
  const showTooltip = footOverflow === true || footOverflow === 'tooltip'
@@ -1,10 +1,13 @@
1
1
  import { createCommentVNode, defineComponent, h, ref, Ref, PropType, inject, nextTick, watch, onMounted, onUnmounted } from 'vue'
2
2
  import XEUtils from 'xe-utils'
3
+ import { VxeUI } from '../../ui'
3
4
  import { convertHeaderColumnToRows, getColReMinWidth } from './util'
4
5
  import { hasClass, getOffsetPos, addClass, removeClass } from '../../ui/src/dom'
5
6
 
6
7
  import type { VxeTablePrivateMethods, VxeTableConstructor, VxeTableMethods, VxeTableDefines, VxeColumnPropTypes } from '../../../types'
7
8
 
9
+ const { renderer } = VxeUI
10
+
8
11
  const renderType = 'header'
9
12
 
10
13
  export default defineComponent({
@@ -228,12 +231,14 @@ export default defineComponent({
228
231
  class: ['vxe-header--row', headerRowClassName ? (XEUtils.isFunction(headerRowClassName) ? headerRowClassName({ $table: $xeTable, $rowIndex, fixed: fixedType, type: renderType }) : headerRowClassName) : ''],
229
232
  style: headerRowStyle ? (XEUtils.isFunction(headerRowStyle) ? headerRowStyle({ $table: $xeTable, $rowIndex, fixed: fixedType, type: renderType }) : headerRowStyle) : null
230
233
  }, cols.map((column, $columnIndex) => {
231
- const { type, showHeaderOverflow, headerAlign, align, headerClassName } = column
234
+ const { type, showHeaderOverflow, headerAlign, align, headerClassName, editRender, cellRender } = column
232
235
  const colid = column.id
236
+ const renderOpts = editRender || cellRender
237
+ const compConf = renderOpts ? renderer.get(renderOpts.name) : null
233
238
  const isColGroup = column.children && column.children.length
234
239
  const fixedHiddenColumn = fixedType ? (column.fixed !== fixedType && !isColGroup) : !!column.fixed && overflowX
235
240
  const headOverflow = XEUtils.eqNull(showHeaderOverflow) ? allColumnHeaderOverflow : showHeaderOverflow
236
- const headAlign = headerAlign || align || allHeaderAlign || allAlign
241
+ const headAlign = headerAlign || (compConf ? compConf.tableHeaderCellAlign : '') || allHeaderAlign || align || (compConf ? compConf.tableCellAlign : '') || allAlign
237
242
  let showEllipsis = headOverflow === 'ellipsis'
238
243
  const showTitle = headOverflow === 'title'
239
244
  const showTooltip = headOverflow === true || headOverflow === 'tooltip'