vxe-gantt 4.0.15 → 4.0.17

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.
@@ -2,6 +2,8 @@ import { h, inject, ref, onMounted, onUnmounted } from 'vue';
2
2
  import { defineVxeComponent } from '../../ui/src/comp';
3
3
  import { getCellRestHeight } from './util';
4
4
  import GanttViewChartComponent from './gantt-chart';
5
+ const sourceType = 'gantt';
6
+ const viewType = 'body';
5
7
  export default defineVxeComponent({
6
8
  name: 'VxeGanttViewBody',
7
9
  setup() {
@@ -53,7 +55,8 @@ export default defineVxeComponent({
53
55
  $columnIndex: 0,
54
56
  _columnIndex: 0,
55
57
  fixed: '',
56
- type: '',
58
+ source: sourceType,
59
+ type: viewType,
57
60
  isHidden: false,
58
61
  isEdit: false,
59
62
  level: -1,
@@ -68,6 +71,7 @@ export default defineVxeComponent({
68
71
  onDblclick: (evnt) => $xeTable.handleRowResizeDblclickEvent(evnt, cellParams)
69
72
  }));
70
73
  }
74
+ const ctParams = { source: sourceType, type: viewType, row, column, $rowIndex, rowIndex, _rowIndex };
71
75
  return h('td', {
72
76
  key: $columnIndex,
73
77
  class: ['vxe-gantt-view--body-column', {
@@ -82,6 +86,9 @@ export default defineVxeComponent({
82
86
  },
83
87
  onDblclick(evnt) {
84
88
  $xeGantt.handleTaskCellDblclickEvent(evnt, { row, column });
89
+ },
90
+ onContextmenu(evnt) {
91
+ $xeGantt.handleTaskBodyContextmenuEvent(evnt, ctParams);
85
92
  }
86
93
  }, tdVNs);
87
94
  };
@@ -161,7 +168,10 @@ export default defineVxeComponent({
161
168
  h('div', {
162
169
  ref: refBodyScroll,
163
170
  class: 'vxe-gantt-view--body-inner-wrapper',
164
- onScroll: $xeGanttView.triggerBodyScrollEvent
171
+ onScroll: $xeGanttView.triggerBodyScrollEvent,
172
+ onContextmenu(evnt) {
173
+ $xeGantt.handleTaskBodyContextmenuEvent(evnt, { source: sourceType, type: viewType, rowIndex: -1, $rowIndex: -1, _rowIndex: -1 });
174
+ }
165
175
  }, [
166
176
  h('div', {
167
177
  ref: refBodyXSpace,
@@ -5,6 +5,8 @@ import XEUtils from 'xe-utils';
5
5
  import { getCellRestHeight } from './util';
6
6
  import { getStringValue } from '../../ui/src/utils';
7
7
  const { renderEmptyElement } = VxeUI;
8
+ const sourceType = 'gantt';
9
+ const viewType = 'chart';
8
10
  export default defineVxeComponent({
9
11
  name: 'VxeGanttViewChart',
10
12
  setup() {
@@ -13,7 +15,7 @@ export default defineVxeComponent({
13
15
  const { reactData, internalData } = $xeGanttView;
14
16
  const { computeProgressField, computeTitleField, computeTaskBarOpts } = $xeGantt.getComputeMaps();
15
17
  const refElem = ref();
16
- const renderTaskBar = ($xeTable, row, rowid, $rowIndex) => {
18
+ const renderTaskBar = ($xeTable, row, rowid, rowIndex, $rowIndex, _rowIndex) => {
17
19
  const tableProps = $xeTable.props;
18
20
  const { treeConfig } = tableProps;
19
21
  const tableReactData = $xeTable.reactData;
@@ -56,6 +58,7 @@ export default defineVxeComponent({
56
58
  if (contentMethod) {
57
59
  title = getStringValue(contentMethod({ row, title }));
58
60
  }
61
+ const ctParams = { source: sourceType, type: viewType, row, $rowIndex, rowIndex, _rowIndex };
59
62
  return h('div', {
60
63
  key: treeConfig ? rowid : $rowIndex,
61
64
  rowid,
@@ -65,6 +68,9 @@ export default defineVxeComponent({
65
68
  }],
66
69
  style: {
67
70
  height: `${cellHeight}px`
71
+ },
72
+ onContextmenu(evnt) {
73
+ $xeGantt.handleTaskBarContextmenuEvent(evnt, ctParams);
68
74
  }
69
75
  }, [
70
76
  h('div', {
@@ -105,7 +111,7 @@ export default defineVxeComponent({
105
111
  const tableReactData = $xeTable.reactData;
106
112
  const { treeExpandedFlag } = tableReactData;
107
113
  const tableInternalData = $xeTable.internalData;
108
- const { treeExpandedMaps } = tableInternalData;
114
+ const { fullAllDataRowIdData, treeExpandedMaps } = tableInternalData;
109
115
  const { computeTreeOpts } = $xeTable.getComputeMaps();
110
116
  const treeOpts = computeTreeOpts.value;
111
117
  const { transform } = treeOpts;
@@ -114,7 +120,14 @@ export default defineVxeComponent({
114
120
  const trVNs = [];
115
121
  tableData.forEach((row, $rowIndex) => {
116
122
  const rowid = $xeTable ? $xeTable.getRowid(row) : '';
117
- trVNs.push(renderTaskBar($xeTable, row, rowid, $rowIndex));
123
+ const rowRest = fullAllDataRowIdData[rowid] || {};
124
+ let rowIndex = $rowIndex;
125
+ let _rowIndex = -1;
126
+ if (rowRest) {
127
+ rowIndex = rowRest.index;
128
+ _rowIndex = rowRest._index;
129
+ }
130
+ trVNs.push(renderTaskBar($xeTable, row, rowid, rowIndex, $rowIndex, _rowIndex));
118
131
  let isExpandTree = false;
119
132
  let rowChildren = [];
120
133
  if (treeConfig && !scrollYLoad && !transform) {
@@ -1,8 +1,11 @@
1
1
  import { h, inject, ref, onMounted, onUnmounted } from 'vue';
2
2
  import { defineVxeComponent } from '../../ui/src/comp';
3
+ const sourceType = 'gantt';
4
+ const viewType = 'footer';
3
5
  export default defineVxeComponent({
4
6
  name: 'VxeGanttViewFooter',
5
7
  setup() {
8
+ const $xeGantt = inject('$xeGantt', {});
6
9
  const $xeGanttView = inject('$xeGanttView', {});
7
10
  const { internalData } = $xeGanttView;
8
11
  const refElem = ref();
@@ -10,7 +13,10 @@ export default defineVxeComponent({
10
13
  const renderVN = () => {
11
14
  return h('div', {
12
15
  ref: refElem,
13
- class: 'vxe-gantt-view--footer-wrapper'
16
+ class: 'vxe-gantt-view--footer-wrapper',
17
+ onContextmenu(evnt) {
18
+ $xeGantt.handleTaskFooterContextmenuEvent(evnt, { source: sourceType, type: viewType, $rowIndex: -1 });
19
+ }
14
20
  }, [
15
21
  h('div', {
16
22
  ref: refHeaderScroll,
@@ -3,6 +3,8 @@ import { defineVxeComponent } from '../../ui/src/comp';
3
3
  import { VxeUI } from '@vxe-ui/core';
4
4
  import XEUtils from 'xe-utils';
5
5
  const { getI18n } = VxeUI;
6
+ const sourceType = 'gantt';
7
+ const viewType = 'header';
6
8
  export default defineVxeComponent({
7
9
  name: 'VxeGanttViewHeader',
8
10
  setup() {
@@ -62,7 +64,7 @@ export default defineVxeComponent({
62
64
  }
63
65
  }
64
66
  let cellVNs = label;
65
- const ctParams = { scaleObj: scaleItem, title: label, dateObj: dateObj, $rowIndex };
67
+ const ctParams = { source: sourceType, type: viewType, column, scaleObj: scaleItem, title: label, dateObj: dateObj, $rowIndex };
66
68
  if (titleSlot) {
67
69
  cellVNs = $xeGantt.callSlot(titleSlot, ctParams);
68
70
  }
@@ -85,7 +87,10 @@ export default defineVxeComponent({
85
87
  }],
86
88
  colspan: childCount || null,
87
89
  title: titleSlot ? null : label,
88
- style: cellStys
90
+ style: cellStys,
91
+ onContextmenu(evnt) {
92
+ $xeGantt.handleTaskHeaderContextmenuEvent(evnt, ctParams);
93
+ }
89
94
  }, cellVNs);
90
95
  }));
91
96
  }))
@@ -1257,6 +1257,10 @@ export default defineVxeComponent({
1257
1257
  $pager.endPageByEvent(evnt);
1258
1258
  }
1259
1259
  },
1260
+ getCurrentPage() {
1261
+ const { tablePage } = reactData;
1262
+ return tablePage.currentPage;
1263
+ },
1260
1264
  setCurrentPage(currentPage) {
1261
1265
  const { tablePage } = reactData;
1262
1266
  const pageCount = computePageCount.value;
@@ -1269,6 +1273,10 @@ export default defineVxeComponent({
1269
1273
  $pager.setCurrentPageByEvent(evnt, currentPage);
1270
1274
  }
1271
1275
  },
1276
+ getPageSize() {
1277
+ const { tablePage } = reactData;
1278
+ return tablePage.pageSize;
1279
+ },
1272
1280
  setPageSize(pageSize) {
1273
1281
  const { tablePage } = reactData;
1274
1282
  tablePage.pageSize = Math.max(1, XEUtils.toNumber(pageSize));
@@ -1442,6 +1450,50 @@ export default defineVxeComponent({
1442
1450
  },
1443
1451
  handleTaskBarDblclickEvent(evnt, params) {
1444
1452
  $xeGantt.dispatchEvent('task-bar-dblclick', params, evnt);
1453
+ },
1454
+ handleTaskHeaderContextmenuEvent(evnt, params) {
1455
+ const $xeTable = refTable.value;
1456
+ if ($xeTable) {
1457
+ const tableProps = $xeTable.props;
1458
+ const { menuConfig } = tableProps;
1459
+ if (isEnableConf(menuConfig)) {
1460
+ evnt.stopPropagation();
1461
+ $xeTable.handleOpenMenuEvent(evnt, 'header', params);
1462
+ }
1463
+ }
1464
+ },
1465
+ handleTaskBodyContextmenuEvent(evnt, params) {
1466
+ const $xeTable = refTable.value;
1467
+ if ($xeTable) {
1468
+ const tableProps = $xeTable.props;
1469
+ const { menuConfig } = tableProps;
1470
+ if (isEnableConf(menuConfig)) {
1471
+ evnt.stopPropagation();
1472
+ $xeTable.handleOpenMenuEvent(evnt, 'body', params);
1473
+ }
1474
+ }
1475
+ },
1476
+ handleTaskFooterContextmenuEvent(evnt, params) {
1477
+ const $xeTable = refTable.value;
1478
+ if ($xeTable) {
1479
+ const tableProps = $xeTable.props;
1480
+ const { menuConfig } = tableProps;
1481
+ if (isEnableConf(menuConfig)) {
1482
+ evnt.stopPropagation();
1483
+ $xeTable.handleOpenMenuEvent(evnt, 'footer', params);
1484
+ }
1485
+ }
1486
+ },
1487
+ handleTaskBarContextmenuEvent(evnt, params) {
1488
+ const $xeTable = refTable.value;
1489
+ if ($xeTable) {
1490
+ const tableProps = $xeTable.props;
1491
+ const { menuConfig } = tableProps;
1492
+ if (isEnableConf(menuConfig)) {
1493
+ evnt.stopPropagation();
1494
+ $xeTable.handleOpenMenuEvent(evnt, 'body', params);
1495
+ }
1496
+ }
1445
1497
  }
1446
1498
  };
1447
1499
  Object.assign($xeGantt, ganttExtendTableMethods, ganttMethods, ganttPrivateMethods, {
@@ -70,6 +70,7 @@ export const tableEmits = [
70
70
  'custom-visible-change',
71
71
  'custom-visible-all',
72
72
  'custom-fixed-change',
73
+ 'custom-sort-change',
73
74
  'change-fnr',
74
75
  'open-fnr',
75
76
  'show-fnr',
@@ -93,6 +94,7 @@ export const tableEmits = [
93
94
  'cell-area-extension-start',
94
95
  'cell-area-extension-drag',
95
96
  'cell-area-extension-end',
97
+ 'cell-area-extension-fill',
96
98
  'cell-area-selection-all-start',
97
99
  'cell-area-selection-all-end',
98
100
  'cell-area-arrows-start',
package/es/ui/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { VxeUI } from '@vxe-ui/core';
2
2
  import { errLog } from './src/log';
3
3
  const { setConfig, setIcon, checkVersion } = VxeUI;
4
- VxeUI.ganttVersion = "4.0.15";
4
+ VxeUI.ganttVersion = "4.0.17";
5
5
  setConfig({
6
6
  gantt: {
7
7
  // size: null,
package/es/ui/src/log.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { VxeUI } from '@vxe-ui/core';
2
2
  const { log } = VxeUI;
3
- const version = `gantt v${"4.0.15"}`;
3
+ const version = `gantt v${"4.0.17"}`;
4
4
  export const warnLog = log.create('warn', version);
5
5
  export const errLog = log.create('error', version);
@@ -9,6 +9,8 @@ var _comp = require("../../ui/src/comp");
9
9
  var _util = require("./util");
10
10
  var _ganttChart = _interopRequireDefault(require("./gantt-chart"));
11
11
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ const sourceType = 'gantt';
13
+ const viewType = 'body';
12
14
  var _default = exports.default = (0, _comp.defineVxeComponent)({
13
15
  name: 'VxeGanttViewBody',
14
16
  setup() {
@@ -87,7 +89,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
87
89
  $columnIndex: 0,
88
90
  _columnIndex: 0,
89
91
  fixed: '',
90
- type: '',
92
+ source: sourceType,
93
+ type: viewType,
91
94
  isHidden: false,
92
95
  isEdit: false,
93
96
  level: -1,
@@ -102,6 +105,15 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
102
105
  onDblclick: evnt => $xeTable.handleRowResizeDblclickEvent(evnt, cellParams)
103
106
  }));
104
107
  }
108
+ const ctParams = {
109
+ source: sourceType,
110
+ type: viewType,
111
+ row,
112
+ column,
113
+ $rowIndex,
114
+ rowIndex,
115
+ _rowIndex
116
+ };
105
117
  return (0, _vue.h)('td', {
106
118
  key: $columnIndex,
107
119
  class: ['vxe-gantt-view--body-column', {
@@ -122,6 +134,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
122
134
  row,
123
135
  column
124
136
  });
137
+ },
138
+ onContextmenu(evnt) {
139
+ $xeGantt.handleTaskBodyContextmenuEvent(evnt, ctParams);
125
140
  }
126
141
  }, tdVNs);
127
142
  };
@@ -235,7 +250,16 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
235
250
  }, [(0, _vue.h)('div', {
236
251
  ref: refBodyScroll,
237
252
  class: 'vxe-gantt-view--body-inner-wrapper',
238
- onScroll: $xeGanttView.triggerBodyScrollEvent
253
+ onScroll: $xeGanttView.triggerBodyScrollEvent,
254
+ onContextmenu(evnt) {
255
+ $xeGantt.handleTaskBodyContextmenuEvent(evnt, {
256
+ source: sourceType,
257
+ type: viewType,
258
+ rowIndex: -1,
259
+ $rowIndex: -1,
260
+ _rowIndex: -1
261
+ });
262
+ }
239
263
  }, [(0, _vue.h)('div', {
240
264
  ref: refBodyXSpace,
241
265
  class: 'vxe-body--x-space'
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_util=require("./util"),_ganttChart=_interopRequireDefault(require("./gantt-chart"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGanttViewBody",setup(){let x=(0,_vue.inject)("$xeGantt",{}),o=(0,_vue.inject)("$xeGanttView",{}),b=x.getComputeMaps().computeTaskViewOpts,{reactData:O,internalData:D}=o,r=(0,_vue.ref)(),n=(0,_vue.ref)(),i=(0,_vue.ref)(),u=(0,_vue.ref)(),s=(0,_vue.ref)(),H=(a,l,e,o,r,n,t,i)=>{var u=a.reactData.resizeHeightFlag,{fullAllDataRowIdData:s,visibleColumn:d}=a.internalData,{computeCellOpts:v,computeRowOpts:c,computeDefaultRowHeight:p,computeResizableOpts:w}=a.getComputeMaps(),v=v.value,c=c.value,p=p.value,w=w.value.isAllRowDrag,g=O.headerGroups,h=D.todayDateMaps,_=b.value.showNowLine,g=(g[g.length-1]||{}).scaleItem,m=t.field,h=_&&g?h[g.type]:null,g=s[e]||{},s=0<(u?g.resizeHeight:0),u=(0,_util.getCellRestHeight)(g,v,c,p),g=[];if(w&&c.resizable){let t={$table:a,$grid:null,$gantt:x,seq:-1,rowid:e,row:l,rowIndex:o,$rowIndex:r,_rowIndex:n,column:d[0],columnIndex:0,$columnIndex:0,_columnIndex:0,fixed:"",type:"",isHidden:!1,isEdit:!1,level:-1,visibleData:[],data:[],items:[]};g.push((0,_vue.h)("div",{class:"vxe-gantt-view-cell--row-resizable",onMousedown:e=>a.handleRowResizeMousedownEvent(e,t),onDblclick:e=>a.handleRowResizeDblclickEvent(e,t)}))}return(0,_vue.h)("td",{key:i,class:["vxe-gantt-view--body-column",{"is--now":_&&h===m,"col--rs-height":s}],style:{height:u+"px"},onClick(e){x.handleTaskCellClickEvent(e,{row:l,column:t})},onDblclick(e){x.handleTaskCellDblclickEvent(e,{row:l,column:t})}},g)},S=(d,e)=>{let{treeConfig:v,stripe:c,highlightHoverRow:p,editConfig:w}=d.props,{treeExpandedFlag:g,selectRadioRow:h,pendingRowFlag:_,isRowGroupStatus:m}=d.reactData,{fullAllDataRowIdData:x,treeExpandedMaps:b,pendingRowMaps:D}=d.internalData;var{computeRadioOpts:t,computeCheckboxOpts:a,computeTreeOpts:l,computeRowOpts:o}=d.getComputeMaps();let f=t.value,R=a.value,y=o.value;t=l.value;let C=t.transform,k=t.children||t.childrenField,{tableColumn:E,scrollYLoad:M}=O,I=[];return e.forEach((a,l)=>{let o=d.getRowid(a);var e=x[o]||{},t={};let r=l,n=-1,i=(e&&(r=e.index,n=e._index),!1),u=(w&&(i=d.isInsertByRow(a)),(y.isHover||p)&&(t.onMouseenter=e=>{d.triggerHoverEvent(e,{row:a,rowIndex:r})},t.onMouseleave=()=>{d.clearHoverRow()}),!y.drag||m||v&&!C||(t.onDragstart=d.handleRowDragDragstartEvent,t.onDragend=d.handleRowDragDragendEvent,t.onDragover=d.handleRowDragDragoverEvent),I.push((0,_vue.h)("tr",Object.assign({key:v?o:l,class:["vxe-gantt-view--body-row",{"row--stripe":c&&(n+1)%2==0,"is--new":i,"row--radio":f.highlight&&d.eqRow(h,a),"row--checked":R.highlight&&d.isCheckedByCheckboxRow(a),"row--pending":!!_&&!!D[o]}],rowid:o},t),E.map((e,t)=>H(d,a,o,r,l,n,e,t)))),!1),s=[];!v||M||C||(s=a[k],u=!!g&&s&&0<s.length&&!!b[o]),u&&I.push(...S(d,s))}),I};return(0,_vue.onMounted)(()=>{var e=D.elemStore,t="main-body-";e[t+"wrapper"]=r,e[t+"scroll"]=n,e[t+"table"]=i,e[t+"xSpace"]=u,e[t+"ySpace"]=s}),(0,_vue.onUnmounted)(()=>{var e=D.elemStore,t="main-body-";e[t+"wrapper"]=null,e[t+"scroll"]=null,e[t+"table"]=null,e[t+"xSpace"]=null,e[t+"ySpace"]=null}),()=>{var e=o.internalData.xeTable;let{tableData:t,tableColumn:a,viewCellWidth:l}=O;return(0,_vue.h)("div",{ref:r,class:"vxe-gantt-view--body-wrapper"},[(0,_vue.h)("div",{ref:n,class:"vxe-gantt-view--body-inner-wrapper",onScroll:o.triggerBodyScrollEvent},[(0,_vue.h)("div",{ref:u,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:s,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:i,class:"vxe-gantt-view--body-table"},[(0,_vue.h)("colgroup",{},a.map((e,t)=>(0,_vue.h)("col",{key:t,style:{width:l+"px"}}))),(0,_vue.h)("tbody",{},e?S(e,t):[])]),(0,_vue.h)(_ganttChart.default)])])}}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_util=require("./util"),_ganttChart=_interopRequireDefault(require("./gantt-chart"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let sourceType="gantt",viewType="body";var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGanttViewBody",setup(){let y=(0,_vue.inject)("$xeGantt",{}),l=(0,_vue.inject)("$xeGanttView",{}),b=y.getComputeMaps().computeTaskViewOpts,{reactData:M,internalData:D}=l,r=(0,_vue.ref)(),n=(0,_vue.ref)(),u=(0,_vue.ref)(),i=(0,_vue.ref)(),s=(0,_vue.ref)(),O=(a,o,e,l,r,n,t,u)=>{var i=a.reactData.resizeHeightFlag,{fullAllDataRowIdData:s,visibleColumn:d}=a.internalData,{computeCellOpts:v,computeRowOpts:p,computeDefaultRowHeight:c,computeResizableOpts:w}=a.getComputeMaps(),v=v.value,p=p.value,c=c.value,w=w.value.isAllRowDrag,h=M.headerGroups,g=D.todayDateMaps,x=b.value.showNowLine,h=(h[h.length-1]||{}).scaleItem,m=t.field,g=x&&h?g[h.type]:null,h=s[e]||{},s=0<(i?h.resizeHeight:0),i=(0,_util.getCellRestHeight)(h,v,p,c),h=[];if(w&&p.resizable){let t={$table:a,$grid:null,$gantt:y,seq:-1,rowid:e,row:o,rowIndex:l,$rowIndex:r,_rowIndex:n,column:d[0],columnIndex:0,$columnIndex:0,_columnIndex:0,fixed:"",source:sourceType,type:viewType,isHidden:!1,isEdit:!1,level:-1,visibleData:[],data:[],items:[]};h.push((0,_vue.h)("div",{class:"vxe-gantt-view-cell--row-resizable",onMousedown:e=>a.handleRowResizeMousedownEvent(e,t),onDblclick:e=>a.handleRowResizeDblclickEvent(e,t)}))}let _={source:sourceType,type:viewType,row:o,column:t,$rowIndex:r,rowIndex:l,_rowIndex:n};return(0,_vue.h)("td",{key:u,class:["vxe-gantt-view--body-column",{"is--now":x&&g===m,"col--rs-height":s}],style:{height:i+"px"},onClick(e){y.handleTaskCellClickEvent(e,{row:o,column:t})},onDblclick(e){y.handleTaskCellDblclickEvent(e,{row:o,column:t})},onContextmenu(e){y.handleTaskBodyContextmenuEvent(e,_)}},h)},H=(d,e)=>{let{treeConfig:v,stripe:p,highlightHoverRow:c,editConfig:w}=d.props,{treeExpandedFlag:h,selectRadioRow:g,pendingRowFlag:x,isRowGroupStatus:m}=d.reactData,{fullAllDataRowIdData:_,treeExpandedMaps:y,pendingRowMaps:b}=d.internalData;var{computeRadioOpts:t,computeCheckboxOpts:a,computeTreeOpts:o,computeRowOpts:l}=d.getComputeMaps();let D=t.value,f=a.value,R=l.value;t=o.value;let C=t.transform,k=t.children||t.childrenField,{tableColumn:I,scrollYLoad:E}=M,T=[];return e.forEach((a,o)=>{let l=d.getRowid(a);var e=_[l]||{},t={};let r=o,n=-1,u=(e&&(r=e.index,n=e._index),!1),i=(w&&(u=d.isInsertByRow(a)),(R.isHover||c)&&(t.onMouseenter=e=>{d.triggerHoverEvent(e,{row:a,rowIndex:r})},t.onMouseleave=()=>{d.clearHoverRow()}),!R.drag||m||v&&!C||(t.onDragstart=d.handleRowDragDragstartEvent,t.onDragend=d.handleRowDragDragendEvent,t.onDragover=d.handleRowDragDragoverEvent),T.push((0,_vue.h)("tr",Object.assign({key:v?l:o,class:["vxe-gantt-view--body-row",{"row--stripe":p&&(n+1)%2==0,"is--new":u,"row--radio":D.highlight&&d.eqRow(g,a),"row--checked":f.highlight&&d.isCheckedByCheckboxRow(a),"row--pending":!!x&&!!b[l]}],rowid:l},t),I.map((e,t)=>O(d,a,l,r,o,n,e,t)))),!1),s=[];!v||E||C||(s=a[k],i=!!h&&s&&0<s.length&&!!y[l]),i&&T.push(...H(d,s))}),T};return(0,_vue.onMounted)(()=>{var e=D.elemStore,t="main-body-";e[t+"wrapper"]=r,e[t+"scroll"]=n,e[t+"table"]=u,e[t+"xSpace"]=i,e[t+"ySpace"]=s}),(0,_vue.onUnmounted)(()=>{var e=D.elemStore,t="main-body-";e[t+"wrapper"]=null,e[t+"scroll"]=null,e[t+"table"]=null,e[t+"xSpace"]=null,e[t+"ySpace"]=null}),()=>{var e=l.internalData.xeTable;let{tableData:t,tableColumn:a,viewCellWidth:o}=M;return(0,_vue.h)("div",{ref:r,class:"vxe-gantt-view--body-wrapper"},[(0,_vue.h)("div",{ref:n,class:"vxe-gantt-view--body-inner-wrapper",onScroll:l.triggerBodyScrollEvent,onContextmenu(e){y.handleTaskBodyContextmenuEvent(e,{source:sourceType,type:viewType,rowIndex:-1,$rowIndex:-1,_rowIndex:-1})}},[(0,_vue.h)("div",{ref:i,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:s,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:u,class:"vxe-gantt-view--body-table"},[(0,_vue.h)("colgroup",{},a.map((e,t)=>(0,_vue.h)("col",{key:t,style:{width:o+"px"}}))),(0,_vue.h)("tbody",{},e?H(e,t):[])]),(0,_vue.h)(_ganttChart.default)])])}}});
@@ -14,6 +14,8 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
14
14
  const {
15
15
  renderEmptyElement
16
16
  } = _core.VxeUI;
17
+ const sourceType = 'gantt';
18
+ const viewType = 'chart';
17
19
  var _default = exports.default = (0, _comp.defineVxeComponent)({
18
20
  name: 'VxeGanttViewChart',
19
21
  setup() {
@@ -29,7 +31,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
29
31
  computeTaskBarOpts
30
32
  } = $xeGantt.getComputeMaps();
31
33
  const refElem = (0, _vue.ref)();
32
- const renderTaskBar = ($xeTable, row, rowid, $rowIndex) => {
34
+ const renderTaskBar = ($xeTable, row, rowid, rowIndex, $rowIndex, _rowIndex) => {
33
35
  const tableProps = $xeTable.props;
34
36
  const {
35
37
  treeConfig
@@ -98,6 +100,14 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
98
100
  title
99
101
  }));
100
102
  }
103
+ const ctParams = {
104
+ source: sourceType,
105
+ type: viewType,
106
+ row,
107
+ $rowIndex,
108
+ rowIndex,
109
+ _rowIndex
110
+ };
101
111
  return (0, _vue.h)('div', {
102
112
  key: treeConfig ? rowid : $rowIndex,
103
113
  rowid,
@@ -107,6 +117,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
107
117
  }],
108
118
  style: {
109
119
  height: `${cellHeight}px`
120
+ },
121
+ onContextmenu(evnt) {
122
+ $xeGantt.handleTaskBarContextmenuEvent(evnt, ctParams);
110
123
  }
111
124
  }, [(0, _vue.h)('div', {
112
125
  class: taskBarSlot ? 'vxe-gantt-view--chart-custom-bar' : 'vxe-gantt-view--chart-bar',
@@ -141,6 +154,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
141
154
  } = tableReactData;
142
155
  const tableInternalData = $xeTable.internalData;
143
156
  const {
157
+ fullAllDataRowIdData,
144
158
  treeExpandedMaps
145
159
  } = tableInternalData;
146
160
  const {
@@ -157,7 +171,14 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
157
171
  const trVNs = [];
158
172
  tableData.forEach((row, $rowIndex) => {
159
173
  const rowid = $xeTable ? $xeTable.getRowid(row) : '';
160
- trVNs.push(renderTaskBar($xeTable, row, rowid, $rowIndex));
174
+ const rowRest = fullAllDataRowIdData[rowid] || {};
175
+ let rowIndex = $rowIndex;
176
+ let _rowIndex = -1;
177
+ if (rowRest) {
178
+ rowIndex = rowRest.index;
179
+ _rowIndex = rowRest._index;
180
+ }
181
+ trVNs.push(renderTaskBar($xeTable, row, rowid, rowIndex, $rowIndex, _rowIndex));
161
182
  let isExpandTree = false;
162
183
  let rowChildren = [];
163
184
  if (treeConfig && !scrollYLoad && !transform) {
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_core=require("@vxe-ui/core"),_xeUtils=_interopRequireDefault(require("xe-utils")),_util=require("./util"),_utils=require("../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let renderEmptyElement=_core.VxeUI.renderEmptyElement;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGanttViewChart",setup(){let f=(0,_vue.inject)("$xeGantt",{}),a=(0,_vue.inject)("$xeGanttView",{}),{reactData:r,internalData:t}=a,{computeProgressField:C,computeTitleField:D,computeTaskBarOpts:E}=f.getComputeMaps(),l=(0,_vue.ref)(),p=(e,t,a,r)=>{var l=e.props.treeConfig,o=e.reactData.resizeHeightFlag,n=e.internalData.fullAllDataRowIdData,{computeCellOpts:e,computeRowOpts:u,computeDefaultRowHeight:i}=e.getComputeMaps(),e=e.value,u=u.value,i=i.value,s=f.context.slots,s=s.taskBar||s["task-bar"],c=D.value,d=C.value,v=E.value;let p={$gantt:f,row:t};var{showProgress:v,showContent:h,contentMethod:g,barStyle:m}=v,_=_xeUtils.default.isFunction(m),m=(m?_?m(p):m:{})||{},x=m.round,n=n[a]||{},o=0<(o?n.resizeHeight:0),n=(0,_util.getCellRestHeight)(n,e,u,i);let w=(0,_utils.getStringValue)(_xeUtils.default.get(t,c));e={},u={width:`${(v?Math.min(100,Math.max(0,_xeUtils.default.toNumber(_xeUtils.default.get(t,d)))):0)||0}%`};return _&&({bgColor:i,completedBgColor:c}=m,i&&(e.backgroundColor=i),c)&&(u.backgroundColor=c),g&&(w=(0,_utils.getStringValue)(g({row:t,title:w}))),(0,_vue.h)("div",{key:l?a:r,rowid:a,class:["vxe-gantt-view--chart-row",{"is--round":x,"col--rs-height":o}],style:{height:n+"px"}},[(0,_vue.h)("div",{class:s?"vxe-gantt-view--chart-custom-bar":"vxe-gantt-view--chart-bar",style:e,rowid:a,onClick(e){f.handleTaskBarClickEvent(e,p)},onDblclick(e){f.handleTaskBarDblclickEvent(e,p)},onMousedown(e){f.handleTaskBarMousedownEvent&&f.handleTaskBarMousedownEvent(e,p)}},s?f.callSlot(s,p):[v?(0,_vue.h)("div",{class:"vxe-gantt-view--chart-progress",style:u}):renderEmptyElement(f),h?(0,_vue.h)("div",{class:"vxe-gantt-view--chart-content"},w):renderEmptyElement(f)])])},h=(o,e)=>{let n=o.props.treeConfig,u=o.reactData.treeExpandedFlag,i=o.internalData.treeExpandedMaps;var t=o.getComputeMaps().computeTreeOpts,t=t.value;let s=t.transform,c=t.children||t.childrenField,d=r.scrollYLoad,v=[];return e.forEach((e,t)=>{var a=o?o.getRowid(e):"";v.push(p(o,e,a,t));let r=!1,l=[];!n||d||s||(l=e[c],r=!!u&&l&&0<l.length&&!!i[a]),r&&v.push(...h(o,l))}),v};return(0,_vue.onMounted)(()=>{var e=t.elemStore;e["main-chart-wrapper"]=l}),(0,_vue.onUnmounted)(()=>{var e=t.elemStore;e["main-chart-wrapper"]=null}),()=>{var e=a.internalData.xeTable,t=r.tableData;return(0,_vue.h)("div",{ref:l,class:"vxe-gantt-view--chart-wrapper"},e?h(e,t):[])}}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_core=require("@vxe-ui/core"),_xeUtils=_interopRequireDefault(require("xe-utils")),_util=require("./util"),_utils=require("../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let renderEmptyElement=_core.VxeUI.renderEmptyElement,sourceType="gantt",viewType="chart";var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGanttViewChart",setup(){let E=(0,_vue.inject)("$xeGantt",{}),a=(0,_vue.inject)("$xeGanttView",{}),{reactData:r,internalData:t}=a,{computeProgressField:k,computeTitleField:y,computeTaskBarOpts:b}=E.getComputeMaps(),l=(0,_vue.ref)(),x=(e,t,a,r,l,n)=>{var o=e.props.treeConfig,u=e.reactData.resizeHeightFlag,i=e.internalData.fullAllDataRowIdData,{computeCellOpts:e,computeRowOpts:s,computeDefaultRowHeight:c}=e.getComputeMaps(),e=e.value,s=s.value,c=c.value,d=E.context.slots,d=d.taskBar||d["task-bar"],p=y.value,v=k.value,h=b.value;let g={$gantt:E,row:t};var{showProgress:h,showContent:m,contentMethod:x,barStyle:_}=h,w=_xeUtils.default.isFunction(_),_=(_?w?_(g):_:{})||{},f=_.round,i=i[a]||{},u=0<(u?i.resizeHeight:0),i=(0,_util.getCellRestHeight)(i,e,s,c);let C=(0,_utils.getStringValue)(_xeUtils.default.get(t,p));e={},s={width:`${(h?Math.min(100,Math.max(0,_xeUtils.default.toNumber(_xeUtils.default.get(t,v)))):0)||0}%`};w&&({bgColor:c,completedBgColor:p}=_,c&&(e.backgroundColor=c),p)&&(s.backgroundColor=p),x&&(C=(0,_utils.getStringValue)(x({row:t,title:C})));let D={source:sourceType,type:viewType,row:t,$rowIndex:l,rowIndex:r,_rowIndex:n};return(0,_vue.h)("div",{key:o?a:l,rowid:a,class:["vxe-gantt-view--chart-row",{"is--round":f,"col--rs-height":u}],style:{height:i+"px"},onContextmenu(e){E.handleTaskBarContextmenuEvent(e,D)}},[(0,_vue.h)("div",{class:d?"vxe-gantt-view--chart-custom-bar":"vxe-gantt-view--chart-bar",style:e,rowid:a,onClick(e){E.handleTaskBarClickEvent(e,g)},onDblclick(e){E.handleTaskBarDblclickEvent(e,g)},onMousedown(e){E.handleTaskBarMousedownEvent&&E.handleTaskBarMousedownEvent(e,g)}},d?E.callSlot(d,g):[h?(0,_vue.h)("div",{class:"vxe-gantt-view--chart-progress",style:s}):renderEmptyElement(E),m?(0,_vue.h)("div",{class:"vxe-gantt-view--chart-content"},C):renderEmptyElement(E)])])},_=(i,e)=>{let s=i.props.treeConfig,c=i.reactData.treeExpandedFlag,{fullAllDataRowIdData:d,treeExpandedMaps:p}=i.internalData;var t=i.getComputeMaps().computeTreeOpts,t=t.value;let v=t.transform,h=t.children||t.childrenField,g=r.scrollYLoad,m=[];return e.forEach((e,t)=>{var a=i?i.getRowid(e):"",r=d[a]||{};let l=t,n=-1,o=(r&&(l=r.index,n=r._index),m.push(x(i,e,a,l,t,n)),!1),u=[];!s||g||v||(u=e[h],o=!!c&&u&&0<u.length&&!!p[a]),o&&m.push(..._(i,u))}),m};return(0,_vue.onMounted)(()=>{var e=t.elemStore;e["main-chart-wrapper"]=l}),(0,_vue.onUnmounted)(()=>{var e=t.elemStore;e["main-chart-wrapper"]=null}),()=>{var e=a.internalData.xeTable,t=r.tableData;return(0,_vue.h)("div",{ref:l,class:"vxe-gantt-view--chart-wrapper"},e?_(e,t):[])}}});
@@ -6,9 +6,12 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _vue = require("vue");
8
8
  var _comp = require("../../ui/src/comp");
9
+ const sourceType = 'gantt';
10
+ const viewType = 'footer';
9
11
  var _default = exports.default = (0, _comp.defineVxeComponent)({
10
12
  name: 'VxeGanttViewFooter',
11
13
  setup() {
14
+ const $xeGantt = (0, _vue.inject)('$xeGantt', {});
12
15
  const $xeGanttView = (0, _vue.inject)('$xeGanttView', {});
13
16
  const {
14
17
  internalData
@@ -18,7 +21,14 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
18
21
  const renderVN = () => {
19
22
  return (0, _vue.h)('div', {
20
23
  ref: refElem,
21
- class: 'vxe-gantt-view--footer-wrapper'
24
+ class: 'vxe-gantt-view--footer-wrapper',
25
+ onContextmenu(evnt) {
26
+ $xeGantt.handleTaskFooterContextmenuEvent(evnt, {
27
+ source: sourceType,
28
+ type: viewType,
29
+ $rowIndex: -1
30
+ });
31
+ }
22
32
  }, [(0, _vue.h)('div', {
23
33
  ref: refHeaderScroll,
24
34
  class: 'vxe-gantt-view--footer-inner-wrapper'
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGanttViewFooter",setup(){let t=(0,_vue.inject)("$xeGanttView",{}).internalData,o=(0,_vue.ref)(),n=(0,_vue.ref)();return(0,_vue.onMounted)(()=>{var e=t.elemStore,r="main-footer-";e[r+"wrapper"]=o,e[r+"scroll"]=n}),(0,_vue.onUnmounted)(()=>{var e=t.elemStore,r="main-footer-";e[r+"wrapper"]=null,e[r+"scroll"]=null}),()=>(0,_vue.h)("div",{ref:o,class:"vxe-gantt-view--footer-wrapper"},[(0,_vue.h)("div",{ref:n,class:"vxe-gantt-view--footer-inner-wrapper"})])}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp");let sourceType="gantt",viewType="footer";var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGanttViewFooter",setup(){let t=(0,_vue.inject)("$xeGantt",{});let r=(0,_vue.inject)("$xeGanttView",{}).internalData,o=(0,_vue.ref)(),n=(0,_vue.ref)();return(0,_vue.onMounted)(()=>{var e=r.elemStore,t="main-footer-";e[t+"wrapper"]=o,e[t+"scroll"]=n}),(0,_vue.onUnmounted)(()=>{var e=r.elemStore,t="main-footer-";e[t+"wrapper"]=null,e[t+"scroll"]=null}),()=>(0,_vue.h)("div",{ref:o,class:"vxe-gantt-view--footer-wrapper",onContextmenu(e){t.handleTaskFooterContextmenuEvent(e,{source:sourceType,type:viewType,$rowIndex:-1})}},[(0,_vue.h)("div",{ref:n,class:"vxe-gantt-view--footer-inner-wrapper"})])}});
@@ -12,6 +12,8 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
12
12
  const {
13
13
  getI18n
14
14
  } = _core.VxeUI;
15
+ const sourceType = 'gantt';
16
+ const viewType = 'header';
15
17
  var _default = exports.default = (0, _comp.defineVxeComponent)({
16
18
  name: 'VxeGanttViewHeader',
17
19
  setup() {
@@ -91,6 +93,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
91
93
  }
92
94
  let cellVNs = label;
93
95
  const ctParams = {
96
+ source: sourceType,
97
+ type: viewType,
98
+ column,
94
99
  scaleObj: scaleItem,
95
100
  title: label,
96
101
  dateObj: dateObj,
@@ -116,7 +121,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
116
121
  }],
117
122
  colspan: childCount || null,
118
123
  title: titleSlot ? null : label,
119
- style: cellStys
124
+ style: cellStys,
125
+ onContextmenu(evnt) {
126
+ $xeGantt.handleTaskHeaderContextmenuEvent(evnt, ctParams);
127
+ }
120
128
  }, cellVNs);
121
129
  }));
122
130
  }))])])]);
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_core=require("@vxe-ui/core"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let getI18n=_core.VxeUI.getI18n;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGanttViewHeader",setup(){let m=(0,_vue.inject)("$xeGantt",{}),t=(0,_vue.inject)("$xeGanttView",{}),a=m.getComputeMaps().computeTaskViewOpts,{reactData:u,internalData:n}=t,o=(0,_vue.ref)(),i=(0,_vue.ref)(),v=(0,_vue.ref)(),s=(0,_vue.ref)();return(0,_vue.onMounted)(()=>{var e=n.elemStore,t="main-header-";e[t+"wrapper"]=o,e[t+"scroll"]=i,e[t+"table"]=v,e[t+"xSpace"]=s}),(0,_vue.onUnmounted)(()=>{var e=n.elemStore,t="main-header-";e[t+"wrapper"]=null,e[t+"scroll"]=null,e[t+"table"]=null,e[t+"xSpace"]=null}),()=>{let{headerGroups:h,viewCellWidth:l}=u,{todayDateMaps:r,visibleColumn:e}=n;let x=a.value.showNowLine;return(0,_vue.h)("div",{ref:o,class:"vxe-gantt-view--header-wrapper"},[(0,_vue.h)("div",{ref:i,class:"vxe-gantt-view--header-inner-wrapper",onScroll:t.triggerHeaderScrollEvent},[(0,_vue.h)("div",{ref:s,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:v,class:"vxe-gantt-view--header-table"},[(0,_vue.h)("colgroup",{},e.map((e,t)=>(0,_vue.h)("col",{key:t,style:{width:l+"px"}}))),(0,_vue.h)("thead",{},h.map(({scaleItem:i,columns:e},v)=>{let{type:s,titleMethod:d,headerCellStyle:p,slots:t}=i,c=t?t.title:null,_=x&&v===h.length-1?r[s]:null;return(0,_vue.h)("tr",{key:v},e.map((e,t)=>{var{field:l,childCount:r,dateObj:a}=e;let u=""+e.title,n=u=v<h.length-1?"day"===i.type?getI18n("vxe.gantt.dayss.w"+a.e):getI18n(`vxe.gantt.${!v&&1<h.length?"tFullFormat":"tSimpleFormat"}.`+s,a):u;e={scaleObj:i,title:u,dateObj:a,$rowIndex:v};c?n=m.callSlot(c,e):d&&(n=""+d(e));let o={};return p&&(o=_xeUtils.default.isFunction(p)?p(e):p),(0,_vue.h)("th",{key:t,class:["vxe-gantt-view--header-column",{"is--now":x&&_&&_===l}],colspan:r||null,title:c?null:u,style:o},n)}))}))])])])}}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_core=require("@vxe-ui/core"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let getI18n=_core.VxeUI.getI18n,sourceType="gantt",viewType="header";var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGanttViewHeader",setup(){let w=(0,_vue.inject)("$xeGantt",{}),t=(0,_vue.inject)("$xeGanttView",{}),a=w.getComputeMaps().computeTaskViewOpts,{reactData:n,internalData:u}=t,o=(0,_vue.ref)(),i=(0,_vue.ref)(),v=(0,_vue.ref)(),s=(0,_vue.ref)();return(0,_vue.onMounted)(()=>{var e=u.elemStore,t="main-header-";e[t+"wrapper"]=o,e[t+"scroll"]=i,e[t+"table"]=v,e[t+"xSpace"]=s}),(0,_vue.onUnmounted)(()=>{var e=u.elemStore,t="main-header-";e[t+"wrapper"]=null,e[t+"scroll"]=null,e[t+"table"]=null,e[t+"xSpace"]=null}),()=>{let{headerGroups:x,viewCellWidth:l}=n,{todayDateMaps:r,visibleColumn:e}=u;let m=a.value.showNowLine;return(0,_vue.h)("div",{ref:o,class:"vxe-gantt-view--header-wrapper"},[(0,_vue.h)("div",{ref:i,class:"vxe-gantt-view--header-inner-wrapper",onScroll:t.triggerHeaderScrollEvent},[(0,_vue.h)("div",{ref:s,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:v,class:"vxe-gantt-view--header-table"},[(0,_vue.h)("colgroup",{},e.map((e,t)=>(0,_vue.h)("col",{key:t,style:{width:l+"px"}}))),(0,_vue.h)("thead",{},x.map(({scaleItem:v,columns:e},s)=>{let{type:p,titleMethod:d,headerCellStyle:c,slots:t}=v,_=t?t.title:null,h=m&&s===x.length-1?r[p]:null;return(0,_vue.h)("tr",{key:s},e.map((e,t)=>{var{field:l,childCount:r,dateObj:a}=e;let n=""+e.title,u=n=s<x.length-1?"day"===v.type?getI18n("vxe.gantt.dayss.w"+a.e):getI18n(`vxe.gantt.${!s&&1<x.length?"tFullFormat":"tSimpleFormat"}.`+p,a):n,o={source:sourceType,type:viewType,column:e,scaleObj:v,title:n,dateObj:a,$rowIndex:s},i=(_?u=w.callSlot(_,o):d&&(u=""+d(o)),{});return c&&(i=_xeUtils.default.isFunction(c)?c(o):c),(0,_vue.h)("th",{key:t,class:["vxe-gantt-view--header-column",{"is--now":m&&h&&h===l}],colspan:r||null,title:_?null:n,style:i,onContextmenu(e){w.handleTaskHeaderContextmenuEvent(e,o)}},u)}))}))])])])}}});
@@ -1516,6 +1516,12 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1516
1516
  $pager.endPageByEvent(evnt);
1517
1517
  }
1518
1518
  },
1519
+ getCurrentPage() {
1520
+ const {
1521
+ tablePage
1522
+ } = reactData;
1523
+ return tablePage.currentPage;
1524
+ },
1519
1525
  setCurrentPage(currentPage) {
1520
1526
  const {
1521
1527
  tablePage
@@ -1530,6 +1536,12 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1530
1536
  $pager.setCurrentPageByEvent(evnt, currentPage);
1531
1537
  }
1532
1538
  },
1539
+ getPageSize() {
1540
+ const {
1541
+ tablePage
1542
+ } = reactData;
1543
+ return tablePage.pageSize;
1544
+ },
1533
1545
  setPageSize(pageSize) {
1534
1546
  const {
1535
1547
  tablePage
@@ -1732,6 +1744,58 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1732
1744
  },
1733
1745
  handleTaskBarDblclickEvent(evnt, params) {
1734
1746
  $xeGantt.dispatchEvent('task-bar-dblclick', params, evnt);
1747
+ },
1748
+ handleTaskHeaderContextmenuEvent(evnt, params) {
1749
+ const $xeTable = refTable.value;
1750
+ if ($xeTable) {
1751
+ const tableProps = $xeTable.props;
1752
+ const {
1753
+ menuConfig
1754
+ } = tableProps;
1755
+ if ((0, _utils.isEnableConf)(menuConfig)) {
1756
+ evnt.stopPropagation();
1757
+ $xeTable.handleOpenMenuEvent(evnt, 'header', params);
1758
+ }
1759
+ }
1760
+ },
1761
+ handleTaskBodyContextmenuEvent(evnt, params) {
1762
+ const $xeTable = refTable.value;
1763
+ if ($xeTable) {
1764
+ const tableProps = $xeTable.props;
1765
+ const {
1766
+ menuConfig
1767
+ } = tableProps;
1768
+ if ((0, _utils.isEnableConf)(menuConfig)) {
1769
+ evnt.stopPropagation();
1770
+ $xeTable.handleOpenMenuEvent(evnt, 'body', params);
1771
+ }
1772
+ }
1773
+ },
1774
+ handleTaskFooterContextmenuEvent(evnt, params) {
1775
+ const $xeTable = refTable.value;
1776
+ if ($xeTable) {
1777
+ const tableProps = $xeTable.props;
1778
+ const {
1779
+ menuConfig
1780
+ } = tableProps;
1781
+ if ((0, _utils.isEnableConf)(menuConfig)) {
1782
+ evnt.stopPropagation();
1783
+ $xeTable.handleOpenMenuEvent(evnt, 'footer', params);
1784
+ }
1785
+ }
1786
+ },
1787
+ handleTaskBarContextmenuEvent(evnt, params) {
1788
+ const $xeTable = refTable.value;
1789
+ if ($xeTable) {
1790
+ const tableProps = $xeTable.props;
1791
+ const {
1792
+ menuConfig
1793
+ } = tableProps;
1794
+ if ((0, _utils.isEnableConf)(menuConfig)) {
1795
+ evnt.stopPropagation();
1796
+ $xeTable.handleOpenMenuEvent(evnt, 'body', params);
1797
+ }
1798
+ }
1735
1799
  }
1736
1800
  };
1737
1801
  Object.assign($xeGantt, ganttExtendTableMethods, ganttMethods, ganttPrivateMethods, {