vxe-gantt 4.0.0-beta.7 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/es/gantt/src/gantt-footer.js +35 -0
  2. package/es/gantt/src/gantt-header.js +1 -1
  3. package/es/gantt/src/gantt-view.js +16 -3
  4. package/es/gantt/src/gantt.js +12 -2
  5. package/es/gantt/style.css +8 -0
  6. package/es/gantt/style.min.css +1 -1
  7. package/es/style.css +1 -1
  8. package/es/style.min.css +1 -1
  9. package/es/ui/index.js +1 -1
  10. package/es/ui/src/log.js +1 -1
  11. package/es/vxe-gantt/style.css +8 -0
  12. package/es/vxe-gantt/style.min.css +1 -1
  13. package/lib/gantt/src/gantt-footer.js +45 -0
  14. package/lib/gantt/src/gantt-footer.min.js +1 -0
  15. package/lib/gantt/src/gantt-header.js +1 -1
  16. package/lib/gantt/src/gantt-header.min.js +1 -1
  17. package/lib/gantt/src/gantt-view.js +15 -3
  18. package/lib/gantt/src/gantt-view.min.js +1 -1
  19. package/lib/gantt/src/gantt.js +14 -2
  20. package/lib/gantt/src/gantt.min.js +1 -1
  21. package/lib/gantt/style/style.css +8 -0
  22. package/lib/gantt/style/style.min.css +1 -1
  23. package/lib/index.umd.js +78 -14
  24. package/lib/index.umd.min.js +1 -1
  25. package/lib/style.css +1 -1
  26. package/lib/style.min.css +1 -1
  27. package/lib/ui/index.js +1 -1
  28. package/lib/ui/index.min.js +1 -1
  29. package/lib/ui/src/log.js +1 -1
  30. package/lib/ui/src/log.min.js +1 -1
  31. package/lib/vxe-gantt/style/style.css +8 -0
  32. package/lib/vxe-gantt/style/style.min.css +1 -1
  33. package/package.json +1 -1
  34. package/packages/gantt/src/gantt-footer.ts +44 -0
  35. package/packages/gantt/src/gantt-header.ts +1 -1
  36. package/packages/gantt/src/gantt-view.ts +17 -3
  37. package/packages/gantt/src/gantt.ts +14 -2
  38. package/styles/components/gantt.scss +11 -0
package/lib/index.umd.js CHANGED
@@ -2952,7 +2952,7 @@ var core_ = __webpack_require__(4345);
2952
2952
  const {
2953
2953
  log
2954
2954
  } = core_.VxeUI;
2955
- const version = `gantt v${"4.0.0-beta.7"}`;
2955
+ const version = `gantt v${"4.0.0"}`;
2956
2956
  const warnLog = log.create('warn', version);
2957
2957
  const errLog = log.create('error', version);
2958
2958
  ;// ./packages/ui/index.ts
@@ -2963,7 +2963,7 @@ const {
2963
2963
  setIcon,
2964
2964
  checkVersion
2965
2965
  } = core_.VxeUI;
2966
- core_.VxeUI.ganttVersion = "4.0.0-beta.7";
2966
+ core_.VxeUI.ganttVersion = "4.0.0";
2967
2967
  setConfig({
2968
2968
  gantt: {
2969
2969
  // size: null,
@@ -3470,7 +3470,7 @@ function getCellRestHeight(rowRest, cellOpts, rowOpts, defaultRowHeight) {
3470
3470
 
3471
3471
 
3472
3472
  /* harmony default export */ var gantt_header = (defineVxeComponent({
3473
- name: 'VxeGanttView',
3473
+ name: 'VxeGanttViewHeader',
3474
3474
  setup() {
3475
3475
  const $xeGanttView = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.inject)('$xeGanttView', {});
3476
3476
  const {
@@ -3930,6 +3930,46 @@ const {
3930
3930
  return renderVN;
3931
3931
  }
3932
3932
  }));
3933
+ ;// ./packages/gantt/src/gantt-footer.ts
3934
+
3935
+
3936
+ /* harmony default export */ var gantt_footer = (defineVxeComponent({
3937
+ name: 'VxeGanttViewFooter',
3938
+ setup() {
3939
+ const $xeGanttView = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.inject)('$xeGanttView', {});
3940
+ const {
3941
+ internalData
3942
+ } = $xeGanttView;
3943
+ const refElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
3944
+ const refHeaderScroll = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
3945
+ const renderVN = () => {
3946
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
3947
+ ref: refElem,
3948
+ class: 'vxe-gantt-view--footer-wrapper'
3949
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
3950
+ ref: refHeaderScroll,
3951
+ class: 'vxe-gantt-view--footer-inner-wrapper'
3952
+ })]);
3953
+ };
3954
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.onMounted)(() => {
3955
+ const {
3956
+ elemStore
3957
+ } = internalData;
3958
+ const prefix = 'main-footer-';
3959
+ elemStore[`${prefix}wrapper`] = refElem;
3960
+ elemStore[`${prefix}scroll`] = refHeaderScroll;
3961
+ });
3962
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.onUnmounted)(() => {
3963
+ const {
3964
+ elemStore
3965
+ } = internalData;
3966
+ const prefix = 'main-footer-';
3967
+ elemStore[`${prefix}wrapper`] = null;
3968
+ elemStore[`${prefix}scroll`] = null;
3969
+ });
3970
+ return renderVN;
3971
+ }
3972
+ }));
3933
3973
  ;// ./packages/gantt/src/gantt-view.ts
3934
3974
 
3935
3975
 
@@ -3942,6 +3982,7 @@ const {
3942
3982
 
3943
3983
 
3944
3984
 
3985
+
3945
3986
  const {
3946
3987
  globalEvents
3947
3988
  } = core_.VxeUI;
@@ -4278,11 +4319,13 @@ const maxYHeight = 5e6;
4278
4319
  if (!el || !el.clientHeight) {
4279
4320
  return;
4280
4321
  }
4322
+ const scrollbarOpts = computeScrollbarOpts.value;
4281
4323
  const scrollbarXToTop = computeScrollbarXToTop.value;
4324
+ const scrollbarYToLeft = computeScrollbarYToLeft.value;
4282
4325
  const xLeftCornerEl = refScrollXLeftCornerElem.value;
4283
4326
  const xRightCornerEl = refScrollXRightCornerElem.value;
4284
4327
  const scrollXVirtualEl = refScrollXVirtualElem.value;
4285
- const osbWidth = scrollbarWidth;
4328
+ let osbWidth = scrollbarWidth;
4286
4329
  const osbHeight = scrollbarHeight;
4287
4330
  let tbHeight = 0;
4288
4331
  let tHeaderHeight = 0;
@@ -4293,6 +4336,11 @@ const maxYHeight = 5e6;
4293
4336
  tHeaderHeight = tableInternalData.tHeaderHeight;
4294
4337
  tFooterHeight = tableInternalData.tFooterHeight;
4295
4338
  }
4339
+ let yScrollbarVisible = 'visible';
4340
+ if (scrollbarYToLeft || scrollbarOpts.y && scrollbarOpts.y.visible === false) {
4341
+ osbWidth = 0;
4342
+ yScrollbarVisible = 'hidden';
4343
+ }
4296
4344
  const headerScrollElem = getRefElem(elemStore['main-header-scroll']);
4297
4345
  if (headerScrollElem) {
4298
4346
  headerScrollElem.style.height = `${tHeaderHeight}px`;
@@ -4301,6 +4349,10 @@ const maxYHeight = 5e6;
4301
4349
  if (bodyScrollElem) {
4302
4350
  bodyScrollElem.style.height = `${tbHeight}px`;
4303
4351
  }
4352
+ const footerScrollElem = getRefElem(elemStore['main-footer-scroll']);
4353
+ if (footerScrollElem) {
4354
+ footerScrollElem.style.height = `${tFooterHeight}px`;
4355
+ }
4304
4356
  if (scrollXVirtualEl) {
4305
4357
  scrollXVirtualEl.style.height = `${osbHeight}px`;
4306
4358
  scrollXVirtualEl.style.visibility = 'visible';
@@ -4322,7 +4374,7 @@ const maxYHeight = 5e6;
4322
4374
  if (scrollYVirtualEl) {
4323
4375
  scrollYVirtualEl.style.width = `${osbWidth}px`;
4324
4376
  scrollYVirtualEl.style.height = `${tbHeight + tHeaderHeight + tFooterHeight}px`;
4325
- scrollYVirtualEl.style.visibility = 'visible';
4377
+ scrollYVirtualEl.style.visibility = yScrollbarVisible;
4326
4378
  }
4327
4379
  const yTopCornerEl = refScrollYTopCornerElem.value;
4328
4380
  if (yTopCornerEl) {
@@ -4725,7 +4777,7 @@ const maxYHeight = 5e6;
4725
4777
  const renderViewport = () => {
4726
4778
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
4727
4779
  class: 'vxe-gantt-view--viewport-wrapper'
4728
- }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(gantt_header), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(gantt_body)]);
4780
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(gantt_header), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(gantt_body), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(gantt_footer)]);
4729
4781
  };
4730
4782
  const renderBody = () => {
4731
4783
  const scrollbarYToLeft = computeScrollbarYToLeft.value;
@@ -4832,7 +4884,7 @@ function utils_eqEmptyValue(cellValue) {
4832
4884
  ;// ./node_modules/vxe-table/es/ui/index.js
4833
4885
 
4834
4886
 
4835
- const ui_version = "4.16.0-beta.2";
4887
+ const ui_version = "4.16.0-beta.3";
4836
4888
  core_.VxeUI.version = ui_version;
4837
4889
  core_.VxeUI.tableVersion = ui_version;
4838
4890
  core_.VxeUI.setConfig({
@@ -5327,7 +5379,7 @@ var es_iterator_some = __webpack_require__(3579);
5327
5379
  const {
5328
5380
  log: log_log
5329
5381
  } = core_.VxeUI;
5330
- const log_version = `table v${"4.16.0-beta.2"}`;
5382
+ const log_version = `table v${"4.16.0-beta.3"}`;
5331
5383
  const log_warnLog = log_log.create('warn', log_version);
5332
5384
  const log_errLog = log_log.create('error', log_version);
5333
5385
  ;// ./node_modules/vxe-table/es/table/src/columnInfo.js
@@ -19994,7 +20046,7 @@ if(props.spanMethod){log_warnLog('vxe.error.scrollErrProp',['span-method']);}if(
19994
20046
  // 如果列被设置为固定,则清除合并状态
19995
20047
  if(visibleColumn.length!==internalData.visibleColumn.length||!internalData.visibleColumn.every((column,index)=>column===visibleColumn[index])){$xeTable.clearMergeCells();$xeTable.clearMergeFooterItems();}visibleColumn.forEach((column,index)=>{const colid=column.id;const colRest=fullColumnIdData[colid];if(colRest){colRest._index=index;}});handleTableColumn();handleUpdateAggValues();if(isReset){updateColumnOffsetLeft();return $xeTable.updateFooter().then(()=>{return $xeTable.recalculate();}).then(()=>{$xeTable.updateCellAreas();return $xeTable.recalculate();});}return $xeTable.updateFooter();};const initColumnHierarchy=()=>{const{collectColumn}=internalData;const fullColIdData={};const fullColFieldData={};let sortIndex=1;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(collectColumn,(column,index,items,path,parentColumn)=>{const{id:colid,field}=column;const parentId=parentColumn?parentColumn.id:null;const rest={$index:-1,_index:-1,column,colid,index,items,parent:parentColumn||null,width:0,oLeft:0};column.parentId=parentId;column.defaultParentId=parentId;column.sortNumber=sortIndex;column.renderSortNumber=sortIndex;sortIndex++;if(field){if(fullColFieldData[field]){log_errLog('vxe.error.colRepet',['field',field]);}fullColFieldData[field]=rest;}fullColIdData[colid]=rest;});internalData.fullColumnIdData=fullColIdData;internalData.fullColumnFieldData=fullColFieldData;};const handleInitColumn=collectColumn=>{const expandOpts=computeExpandOpts.value;internalData.collectColumn=collectColumn;const tableFullColumn=getColumnList(collectColumn);internalData.tableFullColumn=tableFullColumn;reactData.isColLoading=true;initColumnHierarchy();return Promise.resolve(restoreCustomStorage()).then(()=>{const{scrollXLoad,scrollYLoad,expandColumn}=reactData;cacheColumnMap();parseColumns(true).then(()=>{if(reactData.scrollXLoad){loadScrollXData();}});$xeTable.clearMergeCells();$xeTable.clearMergeFooterItems();$xeTable.handleTableData(true);$xeTable.handleAggregateSummaryData();if((scrollXLoad||scrollYLoad)&&expandColumn&&expandOpts.mode!=='fixed'){log_warnLog('vxe.error.scrollErrProp',['column.type=expand']);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{if($xeToolbar){$xeToolbar.syncUpdate({collectColumn:internalData.collectColumn,$table:$xeTable});}if($xeTable.handleUpdateCustomColumn){$xeTable.handleUpdateCustomColumn();}reactData.isColLoading=false;return handleLazyRecalculate(false,true,true);});});};const updateScrollXStatus=fullColumn=>{const virtualXOpts=computeVirtualXOpts.value;const allCols=fullColumn||internalData.tableFullColumn;// 如果gt为0,则总是启用
19996
20048
  const scrollXLoad=!!virtualXOpts.enabled&&virtualXOpts.gt>-1&&(virtualXOpts.gt===0||virtualXOpts.gt<allCols.length);reactData.scrollXLoad=scrollXLoad;return scrollXLoad;};const updateScrollYStatus=fullData=>{const{treeConfig}=props;const $xeGanttView=internalData.xeGanttView;const virtualYOpts=computeVirtualYOpts.value;const treeOpts=computeTreeOpts.value;const{transform}=treeOpts;const allList=fullData||internalData.tableFullData;// 如果gt为0,则总是启用
19997
- const scrollYLoad=(transform||!treeConfig)&&!!virtualYOpts.enabled&&virtualYOpts.gt>-1&&(virtualYOpts.gt===0||virtualYOpts.gt<allList.length);reactData.scrollYLoad=scrollYLoad;if($xeGanttView){$xeGanttView.updateScrollYStatus(scrollYLoad);}return scrollYLoad;};/**
20049
+ const scrollYLoad=(transform||!treeConfig)&&!!virtualYOpts.enabled&&virtualYOpts.gt>-1&&(virtualYOpts.gt===0||virtualYOpts.gt<allList.length);reactData.scrollYLoad=scrollYLoad;if($xeGanttView){$xeGanttView.handleUpdateSYStatus(scrollYLoad);}return scrollYLoad;};/**
19998
20050
  * 展开与收起树节点
19999
20051
  * @param rows
20000
20052
  * @param expanded
@@ -20555,13 +20607,13 @@ if(isRollX){evnt.preventDefault();internalData.inWheelScroll=true;if(browseObj.f
20555
20607
  * 对于某些特定的场景可能会用到,比如定位到某一节点
20556
20608
  * @param {Row} row 行对象
20557
20609
  */scrollToTreeRow(row){const{treeConfig}=props;const{isRowGroupStatus}=reactData;const{tableFullData}=internalData;const rests=[];if(treeConfig||isRowGroupStatus){const aggregateOpts=computeAggregateOpts.value;const treeOpts=computeTreeOpts.value;const childrenField=treeOpts.children||treeOpts.childrenField;const matchObj=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(tableFullData,item=>$xeTable.eqRow(item,row),{children:isRowGroupStatus?aggregateOpts.mapChildrenField:childrenField});if(matchObj){const nodes=matchObj.nodes;nodes.forEach((row,index)=>{if(index<nodes.length-1&&!$xeTable.isTreeExpandByRow(row)){rests.push($xeTable.setTreeExpand(row,true));}});}}return Promise.all(rests).then(()=>rowToVisible($xeTable,row));},updateScrollYStatus,// 更新横向 X 可视渲染上下剩余空间大小
20558
- updateScrollXSpace(){const{scrollXLoad,overflowX,scrollXWidth}=reactData;const{visibleColumn,scrollXStore,elemStore,fullColumnIdData}=internalData;const mouseOpts=computeMouseOpts.value;const tableBody=refTableBody.value;const tableBodyElem=tableBody?tableBody.$el:null;if(tableBodyElem){const bodyScrollElem=util_getRefElem(elemStore['main-body-scroll']);const bodyTableElem=util_getRefElem(elemStore['main-body-table']);const headerTableElem=util_getRefElem(elemStore['main-header-table']);const footerTableElem=util_getRefElem(elemStore['main-footer-table']);let xSpaceLeft=0;const firstColumn=visibleColumn[scrollXStore.startIndex];if(firstColumn){const colRest=fullColumnIdData[firstColumn.id]||{};xSpaceLeft=colRest.oLeft;}let clientWidth=0;if(bodyScrollElem){clientWidth=bodyScrollElem.clientWidth;}// 虚拟渲染
20610
+ updateScrollXSpace(){const{scrollXLoad,overflowX,scrollXWidth}=reactData;const{visibleColumn,scrollXStore,elemStore,fullColumnIdData}=internalData;const $xeGanttView=internalData.xeGanttView;const mouseOpts=computeMouseOpts.value;const tableBody=refTableBody.value;const tableBodyElem=tableBody?tableBody.$el:null;if(tableBodyElem){const bodyScrollElem=util_getRefElem(elemStore['main-body-scroll']);const bodyTableElem=util_getRefElem(elemStore['main-body-table']);const headerTableElem=util_getRefElem(elemStore['main-header-table']);const footerTableElem=util_getRefElem(elemStore['main-footer-table']);let xSpaceLeft=0;const firstColumn=visibleColumn[scrollXStore.startIndex];if(firstColumn){const colRest=fullColumnIdData[firstColumn.id]||{};xSpaceLeft=colRest.oLeft;}let clientWidth=0;if(bodyScrollElem){clientWidth=bodyScrollElem.clientWidth;}// 虚拟渲染
20559
20611
  let isScrollXBig=false;let ySpaceWidth=scrollXWidth;if(scrollXWidth>maxXWidth){// 触右
20560
- if(bodyScrollElem&&bodyTableElem&&bodyScrollElem.scrollLeft+clientWidth>=maxXWidth){xSpaceLeft=maxXWidth-bodyTableElem.clientWidth;}else{xSpaceLeft=(maxXWidth-clientWidth)*(xSpaceLeft/(scrollXWidth-clientWidth));}ySpaceWidth=maxXWidth;isScrollXBig=true;}if(!(scrollXLoad&&overflowX)){xSpaceLeft=0;}if(headerTableElem){headerTableElem.style.transform=headerTableElem.getAttribute('xvm')?`translate(${xSpaceLeft}px, 0px)`:'';}if(bodyTableElem){bodyTableElem.style.transform=`translate(${xSpaceLeft}px, ${reactData.scrollYTop||0}px)`;}if(footerTableElem){footerTableElem.style.transform=footerTableElem.getAttribute('xvm')?`translate(${xSpaceLeft}px, 0px)`:'';}const containerList=['main'];containerList.forEach(name=>{const layoutList=['header','body','footer'];layoutList.forEach(layout=>{const xSpaceElem=util_getRefElem(elemStore[`${name}-${layout}-xSpace`]);if(xSpaceElem){xSpaceElem.style.width=scrollXLoad?`${ySpaceWidth}px`:'';}});});reactData.scrollXLeft=xSpaceLeft;reactData.scrollXWidth=ySpaceWidth;reactData.isScrollXBig=isScrollXBig;const scrollXSpaceEl=refScrollXSpaceElem.value;if(scrollXSpaceEl){scrollXSpaceEl.style.width=`${ySpaceWidth}px`;}calcScrollbar();if(isScrollXBig&&mouseOpts.area){log_errLog('vxe.error.notProp',['mouse-config.area']);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{updateStyle();});}},// 更新纵向 Y 可视渲染上下剩余空间大小
20612
+ if(bodyScrollElem&&bodyTableElem&&bodyScrollElem.scrollLeft+clientWidth>=maxXWidth){xSpaceLeft=maxXWidth-bodyTableElem.clientWidth;}else{xSpaceLeft=(maxXWidth-clientWidth)*(xSpaceLeft/(scrollXWidth-clientWidth));}ySpaceWidth=maxXWidth;isScrollXBig=true;}if(!(scrollXLoad&&overflowX)){xSpaceLeft=0;}if(headerTableElem){headerTableElem.style.transform=headerTableElem.getAttribute('xvm')?`translate(${xSpaceLeft}px, 0px)`:'';}if(bodyTableElem){bodyTableElem.style.transform=`translate(${xSpaceLeft}px, ${reactData.scrollYTop||0}px)`;}if(footerTableElem){footerTableElem.style.transform=footerTableElem.getAttribute('xvm')?`translate(${xSpaceLeft}px, 0px)`:'';}const containerList=['main'];containerList.forEach(name=>{const layoutList=['header','body','footer'];layoutList.forEach(layout=>{const xSpaceElem=util_getRefElem(elemStore[`${name}-${layout}-xSpace`]);if(xSpaceElem){xSpaceElem.style.width=scrollXLoad?`${ySpaceWidth}px`:'';}});});reactData.scrollXLeft=xSpaceLeft;reactData.scrollXWidth=ySpaceWidth;reactData.isScrollXBig=isScrollXBig;const scrollXSpaceEl=refScrollXSpaceElem.value;if(scrollXSpaceEl){scrollXSpaceEl.style.width=`${ySpaceWidth}px`;}calcScrollbar();if(isScrollXBig&&mouseOpts.area){log_errLog('vxe.error.notProp',['mouse-config.area']);}if($xeGanttView){$xeGanttView.handleUpdateSXSpace();}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{updateStyle();});}},// 更新纵向 Y 可视渲染上下剩余空间大小
20561
20613
  updateScrollYSpace(){const{isAllOverflow,overflowY,scrollYLoad,expandColumn}=reactData;const{scrollYStore,elemStore,isResizeCellHeight,afterFullData,fullAllDataRowIdData,rowExpandedMaps}=internalData;const $xeGanttView=internalData.xeGanttView;const{startIndex}=scrollYStore;const mouseOpts=computeMouseOpts.value;const expandOpts=computeExpandOpts.value;const rowOpts=computeRowOpts.value;const cellOpts=computeCellOpts.value;const defaultRowHeight=computeDefaultRowHeight.value;const bodyScrollElem=util_getRefElem(elemStore['main-body-scroll']);const bodyTableElem=util_getRefElem(elemStore['main-body-table']);const leftBodyTableElem=util_getRefElem(elemStore['left-body-table']);const rightbodyTableElem=util_getRefElem(elemStore['right-body-table']);const containerList=['main','left','right'];let ySpaceTop=0;let scrollYHeight=0;let isScrollYBig=false;if(scrollYLoad){const isCustomCellHeight=isResizeCellHeight||cellOpts.height||rowOpts.height;if(!isCustomCellHeight&&!expandColumn&&isAllOverflow){scrollYHeight=afterFullData.length*defaultRowHeight;if(scrollYHeight>table_maxYHeight){isScrollYBig=true;}ySpaceTop=Math.max(0,startIndex*defaultRowHeight);}else{const firstRow=afterFullData[startIndex];let rowid=getRowid($xeTable,firstRow);let rowRest=fullAllDataRowIdData[rowid]||{};ySpaceTop=rowRest.oTop||0;const lastRow=afterFullData[afterFullData.length-1];rowid=getRowid($xeTable,lastRow);rowRest=fullAllDataRowIdData[rowid]||{};scrollYHeight=(rowRest.oTop||0)+(rowRest.resizeHeight||cellOpts.height||rowOpts.height||rowRest.height||defaultRowHeight);// 是否展开行
20562
20614
  if(expandColumn&&rowExpandedMaps[rowid]){scrollYHeight+=rowRest.expandHeight||expandOpts.height||0;}if(scrollYHeight>table_maxYHeight){isScrollYBig=true;}}}else{if(bodyTableElem){scrollYHeight=bodyTableElem.clientHeight;}}let clientHeight=0;if(bodyScrollElem){clientHeight=bodyScrollElem.clientHeight;}// 虚拟渲染
20563
20615
  let ySpaceHeight=scrollYHeight;let scrollYTop=ySpaceTop;if(isScrollYBig){// 触底
20564
- if(bodyScrollElem&&bodyTableElem&&bodyScrollElem.scrollTop+clientHeight>=table_maxYHeight){scrollYTop=table_maxYHeight-bodyTableElem.clientHeight;}else{scrollYTop=(table_maxYHeight-clientHeight)*(ySpaceTop/(scrollYHeight-clientHeight));}ySpaceHeight=table_maxYHeight;}if(!(scrollYLoad&&overflowY)){scrollYTop=0;}if(leftBodyTableElem){leftBodyTableElem.style.transform=`translate(0px, ${scrollYTop}px)`;}if(bodyTableElem){bodyTableElem.style.transform=`translate(${reactData.scrollXLeft||0}px, ${scrollYTop}px)`;}if(rightbodyTableElem){rightbodyTableElem.style.transform=`translate(0px, ${scrollYTop}px)`;}containerList.forEach(name=>{const layoutList=['header','body','footer'];layoutList.forEach(layout=>{const ySpaceElem=util_getRefElem(elemStore[`${name}-${layout}-ySpace`]);if(ySpaceElem){ySpaceElem.style.height=ySpaceHeight?`${ySpaceHeight}px`:'';}});});const scrollYSpaceEl=refScrollYSpaceElem.value;if(scrollYSpaceEl){scrollYSpaceEl.style.height=ySpaceHeight?`${ySpaceHeight}px`:'';}const rowExpandYSpaceEl=refRowExpandYSpaceElem.value;if(rowExpandYSpaceEl){rowExpandYSpaceEl.style.height=ySpaceHeight?`${ySpaceHeight}px`:'';}reactData.scrollYTop=scrollYTop;reactData.scrollYHeight=scrollYHeight;reactData.isScrollYBig=isScrollYBig;calcScrollbar();if(isScrollYBig&&mouseOpts.area){log_errLog('vxe.error.notProp',['mouse-config.area']);}if($xeGanttView){$xeGanttView.updateScrollYSpace();}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{updateStyle();});},updateScrollXData(){const{isAllOverflow}=reactData;handleTableColumn();$xeTable.updateScrollXSpace();return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{handleTableColumn();$xeTable.updateScrollXSpace();if(!isAllOverflow){$xeTable.updateScrollYSpace();}});},updateScrollYData(){$xeTable.handleTableData();$xeTable.updateScrollYSpace();return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{$xeTable.handleTableData();$xeTable.updateScrollYSpace();});},/**
20616
+ if(bodyScrollElem&&bodyTableElem&&bodyScrollElem.scrollTop+clientHeight>=table_maxYHeight){scrollYTop=table_maxYHeight-bodyTableElem.clientHeight;}else{scrollYTop=(table_maxYHeight-clientHeight)*(ySpaceTop/(scrollYHeight-clientHeight));}ySpaceHeight=table_maxYHeight;}if(!(scrollYLoad&&overflowY)){scrollYTop=0;}if(leftBodyTableElem){leftBodyTableElem.style.transform=`translate(0px, ${scrollYTop}px)`;}if(bodyTableElem){bodyTableElem.style.transform=`translate(${reactData.scrollXLeft||0}px, ${scrollYTop}px)`;}if(rightbodyTableElem){rightbodyTableElem.style.transform=`translate(0px, ${scrollYTop}px)`;}containerList.forEach(name=>{const layoutList=['header','body','footer'];layoutList.forEach(layout=>{const ySpaceElem=util_getRefElem(elemStore[`${name}-${layout}-ySpace`]);if(ySpaceElem){ySpaceElem.style.height=ySpaceHeight?`${ySpaceHeight}px`:'';}});});const scrollYSpaceEl=refScrollYSpaceElem.value;if(scrollYSpaceEl){scrollYSpaceEl.style.height=ySpaceHeight?`${ySpaceHeight}px`:'';}const rowExpandYSpaceEl=refRowExpandYSpaceElem.value;if(rowExpandYSpaceEl){rowExpandYSpaceEl.style.height=ySpaceHeight?`${ySpaceHeight}px`:'';}reactData.scrollYTop=scrollYTop;reactData.scrollYHeight=scrollYHeight;reactData.isScrollYBig=isScrollYBig;calcScrollbar();if(isScrollYBig&&mouseOpts.area){log_errLog('vxe.error.notProp',['mouse-config.area']);}if($xeGanttView){$xeGanttView.handleUpdateSYSpace();}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{updateStyle();});},updateScrollXData(){const{isAllOverflow}=reactData;handleTableColumn();$xeTable.updateScrollXSpace();return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{handleTableColumn();$xeTable.updateScrollXSpace();if(!isAllOverflow){$xeTable.updateScrollYSpace();}});},updateScrollYData(){$xeTable.handleTableData();$xeTable.updateScrollYSpace();return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{$xeTable.handleTableData();$xeTable.updateScrollYSpace();});},/**
20565
20617
  * 处理固定列的显示状态
20566
20618
  */checkScrolling(){const{elemStore}=internalData;const bodyScrollElem=util_getRefElem(elemStore['main-body-scroll']);const leftContainerElem=refLeftContainer.value;const rightContainerElem=refRightContainer.value;const xHandleEl=refScrollXHandleElem.value;const bodtTargetEl=xHandleEl||bodyScrollElem;if(bodtTargetEl){if(leftContainerElem){if(bodtTargetEl.scrollLeft>0){dom_addClass(leftContainerElem,'scrolling--middle');}else{dom_removeClass(leftContainerElem,'scrolling--middle');}}if(rightContainerElem){if(bodtTargetEl.clientWidth<bodtTargetEl.scrollWidth-Math.ceil(bodtTargetEl.scrollLeft)){dom_addClass(rightContainerElem,'scrolling--middle');}else{dom_removeClass(rightContainerElem,'scrolling--middle');}}}},handleUpdateAggData(){return loadTableData(internalData.tableSynchData,true);},updateZindex(){if(props.zIndex){internalData.tZindex=props.zIndex;}else if(internalData.tZindex<utils_getLastZIndex()){internalData.tZindex=utils_nextZIndex();}},handleCheckedCheckboxRow,/**
20567
20619
  * 行 hover 事件
@@ -24340,10 +24392,10 @@ function gantt_createInternalData() {
24340
24392
  const pagerOpts = computePagerOpts.value;
24341
24393
  const isLoading = computeIsLoading.value;
24342
24394
  const tProps = Object.assign({}, tableExtendProps, {
24395
+ // 不支持修改的属性
24343
24396
  showOverflow: true,
24344
24397
  showHeaderOverflow: true,
24345
- showFooterOverflow: true,
24346
- showFooter: false
24398
+ showFooterOverflow: true
24347
24399
  });
24348
24400
  if (isZMax) {
24349
24401
  if (tableExtendProps.maxHeight) {
@@ -25709,6 +25761,9 @@ function gantt_createInternalData() {
25709
25761
  loadColumn(columns) {
25710
25762
  const $xeTable = refTable.value;
25711
25763
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(columns, column => {
25764
+ const {
25765
+ type
25766
+ } = column;
25712
25767
  if (column.slots) {
25713
25768
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(column.slots, func => {
25714
25769
  if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(func)) {
@@ -25718,6 +25773,9 @@ function gantt_createInternalData() {
25718
25773
  }
25719
25774
  });
25720
25775
  }
25776
+ if (type === 'expand') {
25777
+ errLog('vxe.error.errProp', ['type=expand', 'type=seq,radio,checkbox,html']);
25778
+ }
25721
25779
  });
25722
25780
  if ($xeTable) {
25723
25781
  return $xeTable.loadColumn(columns);
@@ -26191,6 +26249,12 @@ function gantt_createInternalData() {
26191
26249
  if (proxyOpts.props) {
26192
26250
  warnLog('vxe.error.delProp', ['proxy-config.props', 'proxy-config.response']);
26193
26251
  }
26252
+ if (props.expandConfig) {
26253
+ warnLog('vxe.error.notProp', ['expand-config']);
26254
+ }
26255
+ if (props.aggregateConfig) {
26256
+ warnLog('vxe.error.notProp', ['aggregate-config']);
26257
+ }
26194
26258
  if (columns && columns.length) {
26195
26259
  $xeGantt.loadColumn(columns);
26196
26260
  }