vxe-gantt 4.0.15 → 4.0.16

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,7 @@ export default defineVxeComponent({
53
55
  $columnIndex: 0,
54
56
  _columnIndex: 0,
55
57
  fixed: '',
56
- type: '',
58
+ type: viewType,
57
59
  isHidden: false,
58
60
  isEdit: false,
59
61
  level: -1,
@@ -68,6 +70,7 @@ export default defineVxeComponent({
68
70
  onDblclick: (evnt) => $xeTable.handleRowResizeDblclickEvent(evnt, cellParams)
69
71
  }));
70
72
  }
73
+ const ctParams = { source: sourceType, type: viewType, row, column, $rowIndex, rowIndex, _rowIndex };
71
74
  return h('td', {
72
75
  key: $columnIndex,
73
76
  class: ['vxe-gantt-view--body-column', {
@@ -82,6 +85,9 @@ export default defineVxeComponent({
82
85
  },
83
86
  onDblclick(evnt) {
84
87
  $xeGantt.handleTaskCellDblclickEvent(evnt, { row, column });
88
+ },
89
+ onContextmenu(evnt) {
90
+ $xeGantt.handleTaskBodyContextmenuEvent(evnt, ctParams);
85
91
  }
86
92
  }, tdVNs);
87
93
  };
@@ -161,7 +167,10 @@ export default defineVxeComponent({
161
167
  h('div', {
162
168
  ref: refBodyScroll,
163
169
  class: 'vxe-gantt-view--body-inner-wrapper',
164
- onScroll: $xeGanttView.triggerBodyScrollEvent
170
+ onScroll: $xeGanttView.triggerBodyScrollEvent,
171
+ onContextmenu(evnt) {
172
+ $xeGantt.handleTaskBodyContextmenuEvent(evnt, { source: sourceType, type: viewType, rowIndex: -1, $rowIndex: -1, _rowIndex: -1 });
173
+ }
165
174
  }, [
166
175
  h('div', {
167
176
  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
  }))
@@ -1442,6 +1442,50 @@ export default defineVxeComponent({
1442
1442
  },
1443
1443
  handleTaskBarDblclickEvent(evnt, params) {
1444
1444
  $xeGantt.dispatchEvent('task-bar-dblclick', params, evnt);
1445
+ },
1446
+ handleTaskHeaderContextmenuEvent(evnt, params) {
1447
+ const $xeTable = refTable.value;
1448
+ if ($xeTable) {
1449
+ const tableProps = $xeTable.props;
1450
+ const { menuConfig } = tableProps;
1451
+ if (isEnableConf(menuConfig)) {
1452
+ evnt.stopPropagation();
1453
+ $xeTable.handleOpenMenuEvent(evnt, 'header', params);
1454
+ }
1455
+ }
1456
+ },
1457
+ handleTaskBodyContextmenuEvent(evnt, params) {
1458
+ const $xeTable = refTable.value;
1459
+ if ($xeTable) {
1460
+ const tableProps = $xeTable.props;
1461
+ const { menuConfig } = tableProps;
1462
+ if (isEnableConf(menuConfig)) {
1463
+ evnt.stopPropagation();
1464
+ $xeTable.handleOpenMenuEvent(evnt, 'body', params);
1465
+ }
1466
+ }
1467
+ },
1468
+ handleTaskFooterContextmenuEvent(evnt, params) {
1469
+ const $xeTable = refTable.value;
1470
+ if ($xeTable) {
1471
+ const tableProps = $xeTable.props;
1472
+ const { menuConfig } = tableProps;
1473
+ if (isEnableConf(menuConfig)) {
1474
+ evnt.stopPropagation();
1475
+ $xeTable.handleOpenMenuEvent(evnt, 'footer', params);
1476
+ }
1477
+ }
1478
+ },
1479
+ handleTaskBarContextmenuEvent(evnt, params) {
1480
+ const $xeTable = refTable.value;
1481
+ if ($xeTable) {
1482
+ const tableProps = $xeTable.props;
1483
+ const { menuConfig } = tableProps;
1484
+ if (isEnableConf(menuConfig)) {
1485
+ evnt.stopPropagation();
1486
+ $xeTable.handleOpenMenuEvent(evnt, 'body', params);
1487
+ }
1488
+ }
1445
1489
  }
1446
1490
  };
1447
1491
  Object.assign($xeGantt, ganttExtendTableMethods, ganttMethods, ganttPrivateMethods, {
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.16";
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.16"}`;
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,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
87
89
  $columnIndex: 0,
88
90
  _columnIndex: 0,
89
91
  fixed: '',
90
- type: '',
92
+ type: viewType,
91
93
  isHidden: false,
92
94
  isEdit: false,
93
95
  level: -1,
@@ -102,6 +104,15 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
102
104
  onDblclick: evnt => $xeTable.handleRowResizeDblclickEvent(evnt, cellParams)
103
105
  }));
104
106
  }
107
+ const ctParams = {
108
+ source: sourceType,
109
+ type: viewType,
110
+ row,
111
+ column,
112
+ $rowIndex,
113
+ rowIndex,
114
+ _rowIndex
115
+ };
105
116
  return (0, _vue.h)('td', {
106
117
  key: $columnIndex,
107
118
  class: ['vxe-gantt-view--body-column', {
@@ -122,6 +133,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
122
133
  row,
123
134
  column
124
135
  });
136
+ },
137
+ onContextmenu(evnt) {
138
+ $xeGantt.handleTaskBodyContextmenuEvent(evnt, ctParams);
125
139
  }
126
140
  }, tdVNs);
127
141
  };
@@ -235,7 +249,16 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
235
249
  }, [(0, _vue.h)('div', {
236
250
  ref: refBodyScroll,
237
251
  class: 'vxe-gantt-view--body-inner-wrapper',
238
- onScroll: $xeGanttView.triggerBodyScrollEvent
252
+ onScroll: $xeGanttView.triggerBodyScrollEvent,
253
+ onContextmenu(evnt) {
254
+ $xeGantt.handleTaskBodyContextmenuEvent(evnt, {
255
+ source: sourceType,
256
+ type: viewType,
257
+ rowIndex: -1,
258
+ $rowIndex: -1,
259
+ _rowIndex: -1
260
+ });
261
+ }
239
262
  }, [(0, _vue.h)('div', {
240
263
  ref: refBodyXSpace,
241
264
  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)(),i=(0,_vue.ref)(),u=(0,_vue.ref)(),s=(0,_vue.ref)(),O=(a,o,e,l,r,n,t,i)=>{var u=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<(u?h.resizeHeight:0),u=(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:"",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:i,class:["vxe-gantt-view--body-column",{"is--now":x&&g===m,"col--rs-height":s}],style:{height:u+"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,i=(e&&(r=e.index,n=e._index),!1),u=(w&&(i=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":i,"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],u=!!h&&s&&0<s.length&&!!y[l]),u&&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"]=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=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: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: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)}))}))])])])}}});
@@ -1732,6 +1732,58 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1732
1732
  },
1733
1733
  handleTaskBarDblclickEvent(evnt, params) {
1734
1734
  $xeGantt.dispatchEvent('task-bar-dblclick', params, evnt);
1735
+ },
1736
+ handleTaskHeaderContextmenuEvent(evnt, params) {
1737
+ const $xeTable = refTable.value;
1738
+ if ($xeTable) {
1739
+ const tableProps = $xeTable.props;
1740
+ const {
1741
+ menuConfig
1742
+ } = tableProps;
1743
+ if ((0, _utils.isEnableConf)(menuConfig)) {
1744
+ evnt.stopPropagation();
1745
+ $xeTable.handleOpenMenuEvent(evnt, 'header', params);
1746
+ }
1747
+ }
1748
+ },
1749
+ handleTaskBodyContextmenuEvent(evnt, params) {
1750
+ const $xeTable = refTable.value;
1751
+ if ($xeTable) {
1752
+ const tableProps = $xeTable.props;
1753
+ const {
1754
+ menuConfig
1755
+ } = tableProps;
1756
+ if ((0, _utils.isEnableConf)(menuConfig)) {
1757
+ evnt.stopPropagation();
1758
+ $xeTable.handleOpenMenuEvent(evnt, 'body', params);
1759
+ }
1760
+ }
1761
+ },
1762
+ handleTaskFooterContextmenuEvent(evnt, params) {
1763
+ const $xeTable = refTable.value;
1764
+ if ($xeTable) {
1765
+ const tableProps = $xeTable.props;
1766
+ const {
1767
+ menuConfig
1768
+ } = tableProps;
1769
+ if ((0, _utils.isEnableConf)(menuConfig)) {
1770
+ evnt.stopPropagation();
1771
+ $xeTable.handleOpenMenuEvent(evnt, 'footer', params);
1772
+ }
1773
+ }
1774
+ },
1775
+ handleTaskBarContextmenuEvent(evnt, params) {
1776
+ const $xeTable = refTable.value;
1777
+ if ($xeTable) {
1778
+ const tableProps = $xeTable.props;
1779
+ const {
1780
+ menuConfig
1781
+ } = tableProps;
1782
+ if ((0, _utils.isEnableConf)(menuConfig)) {
1783
+ evnt.stopPropagation();
1784
+ $xeTable.handleOpenMenuEvent(evnt, 'body', params);
1785
+ }
1786
+ }
1735
1787
  }
1736
1788
  };
1737
1789
  Object.assign($xeGantt, ganttExtendTableMethods, ganttMethods, ganttPrivateMethods, {