vxe-gantt 3.2.6 → 3.3.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.
@@ -51,12 +51,14 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
51
51
  var cellOpts = $xeTable.computeCellOpts;
52
52
  var rowOpts = $xeTable.computeRowOpts;
53
53
  var defaultRowHeight = $xeTable.computeDefaultRowHeight;
54
+ var treeOpts = $xeTable.computeTreeOpts;
55
+ var childrenField = treeOpts.children || treeOpts.childrenField;
54
56
  var ganttProps = $xeGantt;
55
57
  var ganttReactData = $xeGantt.reactData;
56
- var ganttInternalData = $xeGantt.internalData;
57
58
  var ganttSlots = $xeGantt.$scopedSlots;
58
59
  var taskBarSlot = ganttSlots.taskBar || ganttSlots['task-bar'];
59
- var taskBarMilestoneConfig = ganttProps.taskBarMilestoneConfig,
60
+ var treeConfig = ganttProps.treeConfig,
61
+ taskBarMilestoneConfig = ganttProps.taskBarMilestoneConfig,
60
62
  taskBarSubviewConfig = ganttProps.taskBarSubviewConfig;
61
63
  var activeLink = ganttReactData.activeLink,
62
64
  activeBarRowid = ganttReactData.activeBarRowid;
@@ -86,8 +88,6 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
86
88
  var title = (0, _utils.getStringValue)(_xeUtils.default.get(row, titleField));
87
89
  var progressValue = showProgress ? Math.min(100, Math.max(0, _xeUtils.default.toNumber(_xeUtils.default.get(row, progressField)))) : 0;
88
90
  var renderTaskType = (0, _util.getTaskType)(_xeUtils.default.get(row, typeField));
89
- var isMilestone = !!((0, _utils.hasEnableConf)(taskBarMilestoneConfig, taskBarMilestoneOpts) && (0, _util.hasMilestoneTask)(renderTaskType));
90
- var isSubview = !!((0, _utils.hasEnableConf)(taskBarSubviewConfig, taskBarSubviewOpts) && (0, _util.hasSubviewTask)(renderTaskType));
91
91
  var vbStyle = {};
92
92
  var vpStyle = {
93
93
  width: "".concat(progressValue || 0, "%")
@@ -102,13 +102,6 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
102
102
  vpStyle.backgroundColor = completedBgColor;
103
103
  }
104
104
  }
105
- if (contentMethod) {
106
- title = (0, _utils.getStringValue)(contentMethod({
107
- row: row,
108
- title: title,
109
- scaleType: scaleUnit
110
- }));
111
- }
112
105
  var ctParams = {
113
106
  $gantt: $xeGantt,
114
107
  source: sourceType,
@@ -119,139 +112,163 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
119
112
  rowIndex: rowIndex,
120
113
  _rowIndex: _rowIndex
121
114
  };
122
- var ctOns = {};
123
- if (showTooltip) {
124
- ctOns.mouseover = function (evnt) {
125
- var dragBarRow = ganttInternalData.dragBarRow;
126
- var ttParams = Object.assign({
127
- $event: evnt
128
- }, ctParams);
129
- if (!dragBarRow) {
130
- $xeGantt.triggerTaskBarTooltipEvent(evnt, ttParams);
131
- }
132
- $xeGantt.dispatchEvent('task-bar-mouseenter', ttParams, evnt);
133
- };
134
- ctOns.mouseleave = function (evnt) {
135
- var dragBarRow = ganttInternalData.dragBarRow;
136
- var ttParams = Object.assign({
137
- $event: evnt
138
- }, ctParams);
139
- if (!dragBarRow) {
140
- $xeGantt.handleTaskBarTooltipLeaveEvent(evnt, ttParams);
141
- }
142
- $xeGantt.dispatchEvent('task-bar-mouseleave', ttParams, evnt);
143
- };
144
- }
145
115
  var cbVNs = [];
146
116
  if ($xeGantt.renderGanttTaskBarContent) {
147
117
  cbVNs = $xeGantt.renderGanttTaskBarContent(h, ctParams, {
148
- isMilestone: isMilestone,
149
- title: title,
150
- vbStyle: vbStyle,
151
- vpStyle: vpStyle,
152
- rowid: rowid,
153
- ctOns: ctOns
118
+ $gantt: $xeGantt,
119
+ $table: $xeTable,
120
+ rowid: rowid
154
121
  });
155
- } else if (taskBarSlot) {
156
- cbVNs.push(h('div', {
157
- key: 'cbc',
158
- class: 'vxe-gantt-view--chart-custom-bar-content-wrapper',
159
- on: ctOns
160
- }, $xeGantt.callSlot(taskBarSlot, barParams, h)));
161
122
  } else {
162
- if (isSubview && rowChildren && rowChildren.length) {
163
- if (isExpandTree) {
164
- if (taskBarSubviewOpts.showOverview) {
123
+ var isMilestone = !!((0, _utils.hasEnableConf)(taskBarMilestoneConfig, taskBarMilestoneOpts) && (0, _util.hasMilestoneTask)(renderTaskType));
124
+ var isSubview = !!((0, _utils.hasEnableConf)(taskBarSubviewConfig, taskBarSubviewOpts) && (0, _util.hasSubviewTask)(renderTaskType));
125
+ if (contentMethod) {
126
+ title = (0, _utils.getStringValue)(contentMethod({
127
+ row: row,
128
+ title: title,
129
+ scaleType: scaleUnit
130
+ }));
131
+ }
132
+ var ctOns = {};
133
+ if (showTooltip) {
134
+ ctOns.mouseover = function (evnt) {
135
+ var ttParams = Object.assign({
136
+ $event: evnt
137
+ }, ctParams);
138
+ $xeGantt.dispatchEvent('task-bar-mouseenter', ttParams, evnt);
139
+ };
140
+ ctOns.mouseleave = function (evnt) {
141
+ var ttParams = Object.assign({
142
+ $event: evnt
143
+ }, ctParams);
144
+ $xeGantt.dispatchEvent('task-bar-mouseleave', ttParams, evnt);
145
+ };
146
+ }
147
+ if (taskBarSlot) {
148
+ cbVNs.push(h('div', {
149
+ key: 'cbc',
150
+ class: 'vxe-gantt-view--chart-custom-bar-content-wrapper',
151
+ on: ctOns
152
+ }, $xeGantt.callSlot(taskBarSlot, barParams, h)));
153
+ } else {
154
+ if (isSubview && treeConfig && rowChildren && rowChildren.length) {
155
+ if (isExpandTree) {
156
+ if (taskBarSubviewOpts.showOverview) {
157
+ cbVNs.push(h('div', {
158
+ key: 'vcso',
159
+ class: 'vxe-gantt-view--chart-subview-wrapper is--overview'
160
+ }, [h('div', {
161
+ key: rowid,
162
+ attrs: {
163
+ rowid: rowid
164
+ },
165
+ class: ['vxe-gantt-view--chart-subview-row', {
166
+ 'is--progress': showProgress,
167
+ 'is--round': round,
168
+ 'is--move': moveable
169
+ }]
170
+ }, [h('div', {
171
+ attrs: {
172
+ rowid: rowid
173
+ },
174
+ class: 'vxe-gantt-view--chart-subview-bar'
175
+ }, [h('div', {
176
+ class: 'vxe-gantt-view--chart-subview-bar-content-wrapper'
177
+ }, [showContent ? h('div', {
178
+ class: 'vxe-gantt-view--chart-content'
179
+ }, title) : renderEmptyElement($xeGantt)])])])]));
180
+ }
181
+ } else {
182
+ var cbcVNs = [];
183
+ _xeUtils.default.eachTree(rowChildren, function (childRow) {
184
+ var childRowid = $xeTable.getRowid(childRow);
185
+ var childTitle = (0, _utils.getStringValue)(_xeUtils.default.get(childRow, titleField));
186
+ var childProgressValue = showProgress ? Math.min(100, Math.max(0, _xeUtils.default.toNumber(_xeUtils.default.get(childRow, progressField)))) : 0;
187
+ var childRenderTaskType = (0, _util.getTaskType)(_xeUtils.default.get(childRow, typeField));
188
+ var isChildSubview = !!((0, _utils.hasEnableConf)(taskBarSubviewConfig, taskBarSubviewOpts) && (0, _util.hasSubviewTask)(childRenderTaskType));
189
+ if (isChildSubview) {
190
+ return;
191
+ }
192
+ var vpcStyle = {
193
+ width: "".concat(childProgressValue || 0, "%")
194
+ };
195
+ if (isBarRowStyle) {
196
+ var _completedBgColor = barStyObj.completedBgColor;
197
+ if (_completedBgColor) {
198
+ vpcStyle.backgroundColor = _completedBgColor;
199
+ }
200
+ }
201
+ if (contentMethod) {
202
+ childTitle = (0, _utils.getStringValue)(contentMethod({
203
+ row: childRow,
204
+ title: childTitle,
205
+ scaleType: scaleUnit
206
+ }));
207
+ }
208
+ cbcVNs.push(h('div', {
209
+ key: childRowid,
210
+ attrs: {
211
+ rowid: childRowid
212
+ },
213
+ class: ['vxe-gantt-view--chart-subview-row', "is--".concat(childRenderTaskType), {
214
+ 'is--progress': showProgress,
215
+ 'is--round': round,
216
+ 'is--move': moveable,
217
+ 'row--pending': !!pendingRowFlag && !!pendingRowMaps[childRowid]
218
+ }]
219
+ }, [h('div', {
220
+ attrs: {
221
+ rowid: childRowid
222
+ },
223
+ class: 'vxe-gantt-view--chart-subview-bar'
224
+ }, [h('div', {
225
+ class: 'vxe-gantt-view--chart-subview-bar-content-wrapper'
226
+ }, [showProgress ? h('div', {
227
+ class: 'vxe-gantt-view--chart-progress',
228
+ style: vpcStyle
229
+ }) : renderEmptyElement($xeGantt), showContent ? h('div', {
230
+ class: 'vxe-gantt-view--chart-content'
231
+ }, childTitle) : renderEmptyElement($xeGantt)])])]));
232
+ }, {
233
+ children: childrenField
234
+ });
165
235
  cbVNs.push(h('div', {
166
- key: 'vcso',
167
- class: ['vxe-gantt-view--chart-subview-wrapper is--overview', {
168
- 'is--round': round,
169
- 'is--move': moveable
170
- }]
171
- }, [h('div', {
172
- key: rowid,
173
- attrs: {
174
- rowid: rowid
175
- },
176
- class: 'vxe-gantt-view--chart-subview-bar'
177
- }, [h('div', {
178
- class: 'vxe-gantt-view--chart-subview-bar-content-wrapper'
179
- }, [showContent ? h('div', {
180
- class: 'vxe-gantt-view--chart-content'
181
- }, title) : renderEmptyElement($xeGantt)])])]));
236
+ key: 'vcsc',
237
+ class: 'vxe-gantt-view--chart-subview-wrappe is--inliner'
238
+ }, cbcVNs));
182
239
  }
240
+ } else if (isMilestone) {
241
+ var icon = taskBarMilestoneOpts.icon,
242
+ iconStatus = taskBarMilestoneOpts.iconStatus,
243
+ iconStyle = taskBarMilestoneOpts.iconStyle;
244
+ var tbmParams = {
245
+ $gantt: $xeGantt,
246
+ row: row
247
+ };
248
+ cbVNs.push(h('div', {
249
+ key: 'vcm',
250
+ class: 'vxe-gantt-view--chart-milestone-wrapper',
251
+ on: ctOns
252
+ }, [h('div', {
253
+ class: ['vxe-gantt-view--chart-milestone-icon', iconStatus ? "theme--".concat(_xeUtils.default.isFunction(iconStatus) ? iconStatus(tbmParams) : iconStatus) : ''],
254
+ style: iconStyle ? Object.assign({}, _xeUtils.default.isFunction(iconStyle) ? iconStyle(tbmParams) : iconStyle) : undefined
255
+ }, [h('i', {
256
+ class: (icon ? _xeUtils.default.isFunction(icon) ? icon(tbmParams) : icon : '') || getIcon().GANTT_VIEW_TASK_MILESTONE
257
+ })]), showContent ? h('div', {
258
+ class: 'vxe-gantt-view--chart-milestone-content'
259
+ }, title) : renderEmptyElement($xeGantt)]));
183
260
  } else {
184
261
  cbVNs.push(h('div', {
185
- key: 'vcsc',
186
- class: 'vxe-gantt-view--chart-subview-wrapper is--inline'
187
- }, rowChildren.map(function (childRow) {
188
- var childRowid = $xeTable.getRowid(childRow);
189
- var childTitle = (0, _utils.getStringValue)(_xeUtils.default.get(childRow, titleField));
190
- var childProgressValue = showProgress ? Math.min(100, Math.max(0, _xeUtils.default.toNumber(_xeUtils.default.get(childRow, progressField)))) : 0;
191
- var childRenderTaskType = (0, _util.getTaskType)(_xeUtils.default.get(childRow, typeField));
192
- var vpcStyle = {
193
- width: "".concat(childProgressValue || 0, "%")
194
- };
195
- if (isBarRowStyle) {
196
- var _completedBgColor = barStyObj.completedBgColor;
197
- if (_completedBgColor) {
198
- vpcStyle.backgroundColor = _completedBgColor;
199
- }
200
- }
201
- if (contentMethod) {
202
- childTitle = (0, _utils.getStringValue)(contentMethod({
203
- row: childRow,
204
- title: childTitle,
205
- scaleType: scaleUnit
206
- }));
207
- }
208
- return h('div', {
209
- key: childRowid,
210
- attrs: {
211
- rowid: childRowid
212
- },
213
- class: ['vxe-gantt-view--chart-subview-bar', "is--".concat(childRenderTaskType)]
214
- }, [h('div', {
215
- class: 'vxe-gantt-view--chart-subview-bar-content-wrapper'
216
- }, [showProgress ? h('div', {
217
- class: 'vxe-gantt-view--chart-progress',
218
- style: vpcStyle
219
- }) : renderEmptyElement($xeGantt), showContent ? h('div', {
220
- class: 'vxe-gantt-view--chart-content'
221
- }, childTitle) : renderEmptyElement($xeGantt)])]);
222
- })));
262
+ key: 'vbc',
263
+ class: 'vxe-gantt-view--chart-bar-content-wrapper',
264
+ on: ctOns
265
+ }, [showProgress ? h('div', {
266
+ class: 'vxe-gantt-view--chart-progress',
267
+ style: vpStyle
268
+ }) : renderEmptyElement($xeGantt), showContent ? h('div', {
269
+ class: 'vxe-gantt-view--chart-content'
270
+ }, title) : renderEmptyElement($xeGantt)]));
223
271
  }
224
- } else if (isMilestone) {
225
- var icon = taskBarMilestoneOpts.icon,
226
- iconStatus = taskBarMilestoneOpts.iconStatus,
227
- iconStyle = taskBarMilestoneOpts.iconStyle;
228
- var tbmParams = {
229
- $gantt: $xeGantt,
230
- row: row
231
- };
232
- cbVNs.push(h('div', {
233
- key: 'vcm',
234
- class: 'vxe-gantt-view--chart-milestone-wrapper',
235
- on: ctOns
236
- }, [h('div', {
237
- class: ['vxe-gantt-view--chart-milestone-icon', iconStatus ? "theme--".concat(_xeUtils.default.isFunction(iconStatus) ? iconStatus(tbmParams) : iconStatus) : ''],
238
- style: iconStyle ? Object.assign({}, _xeUtils.default.isFunction(iconStyle) ? iconStyle(tbmParams) : iconStyle) : undefined
239
- }, [h('i', {
240
- class: (icon ? _xeUtils.default.isFunction(icon) ? icon(tbmParams) : icon : '') || getIcon().GANTT_VIEW_TASK_MILESTONE
241
- })]), showContent ? h('div', {
242
- class: 'vxe-gantt-view--chart-milestone-content'
243
- }, title) : renderEmptyElement($xeGantt)]));
244
- } else {
245
- cbVNs.push(h('div', {
246
- key: 'vbc',
247
- class: 'vxe-gantt-view--chart-bar-content-wrapper',
248
- on: ctOns
249
- }, [showProgress ? h('div', {
250
- class: 'vxe-gantt-view--chart-progress',
251
- style: vpStyle
252
- }) : renderEmptyElement($xeGantt), showContent ? h('div', {
253
- class: 'vxe-gantt-view--chart-content'
254
- }, title) : renderEmptyElement($xeGantt)]));
255
272
  }
256
273
  }
257
274
  return h('div', {
@@ -260,6 +277,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
260
277
  rowid: rowid
261
278
  },
262
279
  class: ['vxe-gantt-view--chart-row', "is--".concat(renderTaskType), {
280
+ 'is--progress': showProgress,
263
281
  'row--pending': !!pendingRowFlag && !!pendingRowMaps[rowid],
264
282
  'is--round': round,
265
283
  'is--move': moveable
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _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}}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var r;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(r="Object"===(r={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:r)||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(e,t):void 0}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,a=Array(t);r<t;r++)a[r]=e[r];return a}var getIcon=_core.VxeUI.getIcon,renderEmptyElement=_core.VxeUI.renderEmptyElement,sourceType="gantt",viewType="chart",_default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGanttViewChart",inject:{$xeGantt:{default:null},$xeGanttView:{default:null}},props:{},data:function(){return{}},computed:Object.assign({},{}),methods:{renderTaskBar:function(o,s,e,t,r,a,n,i,U){var l=this.$xeGantt,c=s.resizeHeightFlag,V=s.pendingRowFlag,u=s.fullAllDataRowIdData,G=s.pendingRowMaps,d=s.computeCellOpts,p=s.computeRowOpts,v=s.computeDefaultRowHeight,w=l.reactData,h=l.internalData,f=l.$scopedSlots,f=f.taskBar||f["task-bar"],m=l.taskBarMilestoneConfig,g=l.taskBarSubviewConfig,y=w.activeLink,w=w.activeBarRowid,k=l.computeTitleField,x=l.computeProgressField,b=l.computeTypeField,T=l.computeTaskBarOpts,_=l.computeTaskBarMilestoneOpts,F=l.computeTaskBarSubviewOpts,E=l.computeScaleUnit,C={$gantt:l,row:e,scaleType:E},B=T.showProgress,S=T.showContent,A=T.contentMethod,I=T.barStyle,L=T.moveable,T=T.showTooltip,$=_xeUtils.default.isFunction(I),D=(I?$?I(C):I:{})||{},I=D.round,u=u[t]||{},c=c?(0,_util.getCellRestHeight)(u,d,p,v):0,u=(0,_utils.getStringValue)(_xeUtils.default.get(e,k)),d=B?Math.min(100,Math.max(0,_xeUtils.default.toNumber(_xeUtils.default.get(e,x)))):0,p=(0,_util.getTaskType)(_xeUtils.default.get(e,b)),v=!(!(0,_utils.hasEnableConf)(m,_)||!(0,_util.hasMilestoneTask)(p)),m=!(!(0,_utils.hasEnableConf)(g,F)||!(0,_util.hasSubviewTask)(p)),g={},d={width:"".concat(d||0,"%")},M=($&&(O=D.bgColor,R=D.completedBgColor,O&&(g.backgroundColor=O),R)&&(d.backgroundColor=R),A&&(u=(0,_utils.getStringValue)(A({row:e,title:u,scaleType:E}))),{$gantt:l,source:sourceType,type:viewType,scaleType:E,row:e,$rowIndex:a,rowIndex:r,_rowIndex:n}),O={},R=(T&&(O.mouseover=function(e){var t=h.dragBarRow,r=Object.assign({$event:e},M);t||l.triggerTaskBarTooltipEvent(e,r),l.dispatchEvent("task-bar-mouseenter",r,e)},O.mouseleave=function(e){var t=h.dragBarRow,r=Object.assign({$event:e},M);t||l.handleTaskBarTooltipLeaveEvent(e,r),l.dispatchEvent("task-bar-mouseleave",r,e)}),[]);return l.renderGanttTaskBarContent?R=l.renderGanttTaskBarContent(o,M,{isMilestone:v,title:u,vbStyle:g,vpStyle:d,rowid:t,ctOns:O}):f?R.push(o("div",{key:"cbc",class:"vxe-gantt-view--chart-custom-bar-content-wrapper",on:O},l.callSlot(f,C,o))):m&&i&&i.length?U?F.showOverview&&R.push(o("div",{key:"vcso",class:["vxe-gantt-view--chart-subview-wrapper is--overview",{"is--round":I,"is--move":L}]},[o("div",{key:t,attrs:{rowid:t},class:"vxe-gantt-view--chart-subview-bar"},[o("div",{class:"vxe-gantt-view--chart-subview-bar-content-wrapper"},[S?o("div",{class:"vxe-gantt-view--chart-content"},u):renderEmptyElement(l)])])])):R.push(o("div",{key:"vcsc",class:"vxe-gantt-view--chart-subview-wrapper is--inline"},i.map(function(e){var t,r=s.getRowid(e),a=(0,_utils.getStringValue)(_xeUtils.default.get(e,k)),n=B?Math.min(100,Math.max(0,_xeUtils.default.toNumber(_xeUtils.default.get(e,x)))):0,i=(0,_util.getTaskType)(_xeUtils.default.get(e,b)),n={width:"".concat(n||0,"%")};return $&&(t=D.completedBgColor)&&(n.backgroundColor=t),A&&(a=(0,_utils.getStringValue)(A({row:e,title:a,scaleType:E}))),o("div",{key:r,attrs:{rowid:r},class:["vxe-gantt-view--chart-subview-bar","is--".concat(i)]},[o("div",{class:"vxe-gantt-view--chart-subview-bar-content-wrapper"},[B?o("div",{class:"vxe-gantt-view--chart-progress",style:n}):renderEmptyElement(l),S?o("div",{class:"vxe-gantt-view--chart-content"},a):renderEmptyElement(l)])])}))):v?(a=_.icon,r=_.iconStatus,n=_.iconStyle,T={$gantt:l,row:e},R.push(o("div",{key:"vcm",class:"vxe-gantt-view--chart-milestone-wrapper",on:O},[o("div",{class:["vxe-gantt-view--chart-milestone-icon",r?"theme--".concat(_xeUtils.default.isFunction(r)?r(T):r):""],style:n?Object.assign({},_xeUtils.default.isFunction(n)?n(T):n):void 0},[o("i",{class:(a?_xeUtils.default.isFunction(a)?a(T):a:"")||getIcon().GANTT_VIEW_TASK_MILESTONE})]),S?o("div",{class:"vxe-gantt-view--chart-milestone-content"},u):renderEmptyElement(l)]))):R.push(o("div",{key:"vbc",class:"vxe-gantt-view--chart-bar-content-wrapper",on:O},[B?o("div",{class:"vxe-gantt-view--chart-progress",style:d}):renderEmptyElement(l),S?o("div",{class:"vxe-gantt-view--chart-content"},u):renderEmptyElement(l)])),o("div",{key:t,attrs:{rowid:t},class:["vxe-gantt-view--chart-row","is--".concat(p),{"row--pending":!!V&&!!G[t],"is--round":I,"is--move":L}],style:{height:"".concat(c,"px")},on:{contextmenu:function(e){l.handleTaskBarContextmenuEvent(e,M)}}},[o("div",{class:[f?"vxe-gantt-view--chart-custom-bar":"vxe-gantt-view--chart-bar","is--".concat(p),{"is--active":w===t,"active--link":y&&(t==="".concat(y.from)||t==="".concat(y.to))}],style:g,attrs:{rowid:t},on:{click:function(e){l.handleTaskBarClickEvent(e,C)},dblclick:function(e){l.handleTaskBarDblclickEvent(e,C)},mousedown:function(e){l.handleTaskBarMousedownEvent&&l.handleTaskBarMousedownEvent(e,C)}}},R)])},renderTaskRows:function(s,l,e){var c=this,t=c.$xeGanttView.reactData,u=l.treeConfig,d=l.treeExpandedFlag,p=l.fullAllDataRowIdData,v=l.treeExpandedMaps,r=l.computeTreeOpts,w=r.transform,h=r.children||r.childrenField,f=t.scrollYLoad,m=[];return e.forEach(function(e,t){var r=l.getRowid(e),a=p[r]||{},n=t,i=-1,a=(a&&(n=a.index,i=a._index),!1),o=[];u&&(o=e[h],a=!!d&&o&&0<o.length&&!!v[r]),m.push(c.renderTaskBar(s,l,e,r,n,t,i,o,a)),u&&a&&!f&&!w&&m.push.apply(m,_toConsumableArray(c.renderTaskRows(s,l,o)))}),m},renderVN:function(e){var t=this.$xeGantt,r=this.$xeGanttView,a=t.reactData,n=r.internalData.xeTable,a=a.dragLinkFromStore,r=r.reactData.tableData,i=t.computeTaskLinkOpts,o=i.isCurrent,s=t.computeTaskBarOpts.linkCreatable;return e("div",{ref:"refElem",class:["vxe-gantt-view--chart-wrapper",{"is--cl-drag":a.rowid}]},[t.renderGanttTaskChartBefores?e("div",{ref:"refChartBeforeWrapperElem",class:["vxe-gantt-view--chart-before-wrapper",{"link--current":o,"link--hover":i.isHover}]},n&&(0,_utils.isEnableConf)(i)?t.renderGanttTaskChartBefores(e):[]):renderEmptyElement(t),e("div",{ref:"refTaskWrapperElem",class:["vxe-gantt-view--chart-task-wrapper",{"link--current":o,"link--create":s}]},n?this.renderTaskRows(e,n,r):[]),t.renderGanttTaskChartAfters?e("div",{ref:"refChartAfterWrapperElem",class:"vxe-gantt-view--chart-after-wrapper"},n&&(0,_utils.isEnableConf)(i)?t.renderGanttTaskChartAfters(e):[]):renderEmptyElement(t)])}},mounted:function(){var e=this.$xeGanttView.internalData.elemStore,t="main-chart-";e["".concat(t,"task-wrapper")]=this.$refs.refTaskWrapperElem,e["".concat(t,"before-wrapper")]=this.$refs.refChartBeforeWrapperElem,e["".concat(t,"after-wrapper")]=this.$refs.refChartAfterWrapperElem},destroyed:function(){var e=this.$xeGanttView.internalData.elemStore,t="main-chart-";e["".concat(t,"task-wrapper")]=null,e["".concat(t,"before-wrapper")]=null,e["".concat(t,"after-wrapper")]=null},render:function(e){return this.renderVN(e)}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _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}}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var r;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(r="Object"===(r={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:r)||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(e,t):void 0}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,a=Array(t);r<t;r++)a[r]=e[r];return a}var getIcon=_core.VxeUI.getIcon,renderEmptyElement=_core.VxeUI.renderEmptyElement,sourceType="gantt",viewType="chart",_default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGanttViewChart",inject:{$xeGantt:{default:null},$xeGanttView:{default:null}},props:{},data:function(){return{}},computed:Object.assign({},{}),methods:{renderTaskBar:function(s,o,e,t,r,a,n,i,G){var l,c,u=this.$xeGantt,d=o.resizeHeightFlag,p=o.pendingRowFlag,v=o.fullAllDataRowIdData,M=o.pendingRowMaps,w=o.computeCellOpts,h=o.computeRowOpts,f=o.computeDefaultRowHeight,m=o.computeTreeOpts,m=m.children||m.childrenField,g=u.reactData,x=u.$scopedSlots,x=x.taskBar||x["task-bar"],R=u.treeConfig,y=u.taskBarMilestoneConfig,F=u.taskBarSubviewConfig,b=g.activeLink,g=g.activeBarRowid,L=u.computeTitleField,W=u.computeProgressField,j=u.computeTypeField,k=u.computeTaskBarOpts,_=u.computeTaskBarMilestoneOpts,T=u.computeTaskBarSubviewOpts,E=u.computeScaleUnit,C={$gantt:u,row:e,scaleType:E},S=k.showProgress,A=k.showContent,B=k.contentMethod,$=k.barStyle,I=k.moveable,k=k.showTooltip,U=_xeUtils.default.isFunction($),O=($?U?$(C):$:{})||{},V=O.round,$=v[t]||{},v=d?(0,_util.getCellRestHeight)($,w,h,f):0,d=(0,_utils.getStringValue)(_xeUtils.default.get(e,L)),$=S?Math.min(100,Math.max(0,_xeUtils.default.toNumber(_xeUtils.default.get(e,W)))):0,w=(0,_util.getTaskType)(_xeUtils.default.get(e,j)),h={},f={width:"".concat($||0,"%")},D=(U&&($=O.bgColor,l=O.completedBgColor,$&&(h.backgroundColor=$),l)&&(f.backgroundColor=l),{$gantt:u,source:sourceType,type:viewType,scaleType:E,row:e,$rowIndex:a,rowIndex:r,_rowIndex:n}),$=[];return u.renderGanttTaskBarContent?$=u.renderGanttTaskBarContent(s,D,{$gantt:u,$table:o,rowid:t}):(l=!(!(0,_utils.hasEnableConf)(y,_)||!(0,_util.hasMilestoneTask)(w)),a=!(!(0,_utils.hasEnableConf)(F,T)||!(0,_util.hasSubviewTask)(w)),B&&(d=(0,_utils.getStringValue)(B({row:e,title:d,scaleType:E}))),r={},k&&(r.mouseover=function(e){var t=Object.assign({$event:e},D);u.dispatchEvent("task-bar-mouseenter",t,e)},r.mouseleave=function(e){var t=Object.assign({$event:e},D);u.dispatchEvent("task-bar-mouseleave",t,e)}),x?$.push(s("div",{key:"cbc",class:"vxe-gantt-view--chart-custom-bar-content-wrapper",on:r},u.callSlot(x,C,s))):a&&R&&i&&i.length?G?T.showOverview&&$.push(s("div",{key:"vcso",class:"vxe-gantt-view--chart-subview-wrapper is--overview"},[s("div",{key:t,attrs:{rowid:t},class:["vxe-gantt-view--chart-subview-row",{"is--progress":S,"is--round":V,"is--move":I}]},[s("div",{attrs:{rowid:t},class:"vxe-gantt-view--chart-subview-bar"},[s("div",{class:"vxe-gantt-view--chart-subview-bar-content-wrapper"},[A?s("div",{class:"vxe-gantt-view--chart-content"},d):renderEmptyElement(u)])])])])):(c=[],_xeUtils.default.eachTree(i,function(e){var t,r=o.getRowid(e),a=(0,_utils.getStringValue)(_xeUtils.default.get(e,L)),n=S?Math.min(100,Math.max(0,_xeUtils.default.toNumber(_xeUtils.default.get(e,W)))):0,i=(0,_util.getTaskType)(_xeUtils.default.get(e,j));(!(0,_utils.hasEnableConf)(F,T)||!(0,_util.hasSubviewTask)(i))&&(n={width:"".concat(n||0,"%")},U&&(t=O.completedBgColor)&&(n.backgroundColor=t),B&&(a=(0,_utils.getStringValue)(B({row:e,title:a,scaleType:E}))),c.push(s("div",{key:r,attrs:{rowid:r},class:["vxe-gantt-view--chart-subview-row","is--".concat(i),{"is--progress":S,"is--round":V,"is--move":I,"row--pending":!!p&&!!M[r]}]},[s("div",{attrs:{rowid:r},class:"vxe-gantt-view--chart-subview-bar"},[s("div",{class:"vxe-gantt-view--chart-subview-bar-content-wrapper"},[S?s("div",{class:"vxe-gantt-view--chart-progress",style:n}):renderEmptyElement(u),A?s("div",{class:"vxe-gantt-view--chart-content"},a):renderEmptyElement(u)])])])))},{children:m}),$.push(s("div",{key:"vcsc",class:"vxe-gantt-view--chart-subview-wrappe is--inliner"},c))):l?(n=_.icon,y=_.iconStatus,k=_.iconStyle,a={$gantt:u,row:e},$.push(s("div",{key:"vcm",class:"vxe-gantt-view--chart-milestone-wrapper",on:r},[s("div",{class:["vxe-gantt-view--chart-milestone-icon",y?"theme--".concat(_xeUtils.default.isFunction(y)?y(a):y):""],style:k?Object.assign({},_xeUtils.default.isFunction(k)?k(a):k):void 0},[s("i",{class:(n?_xeUtils.default.isFunction(n)?n(a):n:"")||getIcon().GANTT_VIEW_TASK_MILESTONE})]),A?s("div",{class:"vxe-gantt-view--chart-milestone-content"},d):renderEmptyElement(u)]))):$.push(s("div",{key:"vbc",class:"vxe-gantt-view--chart-bar-content-wrapper",on:r},[S?s("div",{class:"vxe-gantt-view--chart-progress",style:f}):renderEmptyElement(u),A?s("div",{class:"vxe-gantt-view--chart-content"},d):renderEmptyElement(u)]))),s("div",{key:t,attrs:{rowid:t},class:["vxe-gantt-view--chart-row","is--".concat(w),{"is--progress":S,"row--pending":!!p&&!!M[t],"is--round":V,"is--move":I}],style:{height:"".concat(v,"px")},on:{contextmenu:function(e){u.handleTaskBarContextmenuEvent(e,D)}}},[s("div",{class:[x?"vxe-gantt-view--chart-custom-bar":"vxe-gantt-view--chart-bar","is--".concat(w),{"is--active":g===t,"active--link":b&&(t==="".concat(b.from)||t==="".concat(b.to))}],style:h,attrs:{rowid:t},on:{click:function(e){u.handleTaskBarClickEvent(e,C)},dblclick:function(e){u.handleTaskBarDblclickEvent(e,C)},mousedown:function(e){u.handleTaskBarMousedownEvent&&u.handleTaskBarMousedownEvent(e,C)}}},$)])},renderTaskRows:function(o,l,e){var c=this,t=c.$xeGanttView.reactData,u=l.treeConfig,d=l.treeExpandedFlag,p=l.fullAllDataRowIdData,v=l.treeExpandedMaps,r=l.computeTreeOpts,w=r.transform,h=r.children||r.childrenField,f=t.scrollYLoad,m=[];return e.forEach(function(e,t){var r=l.getRowid(e),a=p[r]||{},n=t,i=-1,a=(a&&(n=a.index,i=a._index),!1),s=[];u&&(s=e[h],a=!!d&&s&&0<s.length&&!!v[r]),m.push(c.renderTaskBar(o,l,e,r,n,t,i,s,a)),u&&a&&!f&&!w&&m.push.apply(m,_toConsumableArray(c.renderTaskRows(o,l,s)))}),m},renderVN:function(e){var t=this.$xeGantt,r=this.$xeGanttView,a=t.reactData,n=r.internalData.xeTable,a=a.dragLinkFromStore,r=r.reactData.tableData,i=t.computeTaskLinkOpts,s=i.isCurrent,o=t.computeTaskBarOpts.linkCreatable;return e("div",{ref:"refElem",class:["vxe-gantt-view--chart-wrapper",{"is--cl-drag":a.rowid}]},[t.renderGanttTaskChartBefores?e("div",{ref:"refChartBeforeWrapperElem",class:["vxe-gantt-view--chart-before-wrapper",{"link--current":s,"link--hover":i.isHover}]},n&&(0,_utils.isEnableConf)(i)?t.renderGanttTaskChartBefores(e):[]):renderEmptyElement(t),e("div",{ref:"refTaskWrapperElem",class:["vxe-gantt-view--chart-task-wrapper",{"link--current":s,"link--create":o}]},n?this.renderTaskRows(e,n,r):[]),t.renderGanttTaskChartAfters?e("div",{ref:"refChartAfterWrapperElem",class:"vxe-gantt-view--chart-after-wrapper"},n&&(0,_utils.isEnableConf)(i)?t.renderGanttTaskChartAfters(e):[]):renderEmptyElement(t)])}},mounted:function(){var e=this.$xeGanttView.internalData.elemStore,t="main-chart-";e["".concat(t,"task-wrapper")]=this.$refs.refTaskWrapperElem,e["".concat(t,"before-wrapper")]=this.$refs.refChartBeforeWrapperElem,e["".concat(t,"after-wrapper")]=this.$refs.refChartAfterWrapperElem},destroyed:function(){var e=this.$xeGanttView.internalData.elemStore,t="main-chart-";e["".concat(t,"task-wrapper")]=null,e["".concat(t,"before-wrapper")]=null,e["".concat(t,"after-wrapper")]=null},render:function(e){return this.renderVN(e)}});
@@ -753,6 +753,34 @@ function calcScrollbar($xeGanttView) {
753
753
  reactData.overflowX = overflowX;
754
754
  }
755
755
  }
756
+ function handleSubTaskMinMaxSize($xeGanttView, $xeTable, list) {
757
+ var $xeGantt = $xeGanttView.$xeGantt;
758
+ var internalData = $xeGanttView.internalData;
759
+ var chartMaps = internalData.chartMaps;
760
+ var treeOpts = $xeTable.computeTreeOpts;
761
+ var childrenField = treeOpts.children || treeOpts.childrenField;
762
+ var typeField = $xeGantt.computeTypeField;
763
+ var minChildLeftSize = 0;
764
+ var maxChildLeftSize = 0;
765
+ _xeUtils.default.eachTree(list, function (childRow) {
766
+ var childRowid = $xeTable.getRowid(childRow);
767
+ var renderTaskType = _xeUtils.default.get(childRow, typeField);
768
+ if ((0, _util.hasSubviewTask)(renderTaskType)) {
769
+ return;
770
+ }
771
+ var childChartRest = childRowid ? chartMaps[childRowid] : null;
772
+ if (childChartRest) {
773
+ maxChildLeftSize = Math.max(maxChildLeftSize, childChartRest.oLeftSize + childChartRest.oWidthSize);
774
+ minChildLeftSize = minChildLeftSize ? Math.min(minChildLeftSize, childChartRest.oLeftSize) : childChartRest.oLeftSize;
775
+ }
776
+ }, {
777
+ children: childrenField
778
+ });
779
+ return {
780
+ minSize: minChildLeftSize,
781
+ maxSize: maxChildLeftSize
782
+ };
783
+ }
756
784
  function updateTaskChartStyle($xeGanttView) {
757
785
  var $xeGantt = $xeGanttView.$xeGantt;
758
786
  var reactData = $xeGanttView.reactData;
@@ -765,6 +793,8 @@ function updateTaskChartStyle($xeGanttView) {
765
793
  chartMaps = internalData.chartMaps;
766
794
  var chartWrapper = (0, _util.getRefElem)(elemStore['main-chart-task-wrapper']);
767
795
  if (chartWrapper && $xeTable) {
796
+ var treeOpts = $xeTable.computeTreeOpts;
797
+ var childrenField = treeOpts.children || treeOpts.childrenField;
768
798
  _xeUtils.default.arrayEach(chartWrapper.children, function (rowEl) {
769
799
  var barEl = rowEl.children[0];
770
800
  if (!barEl) {
@@ -775,20 +805,49 @@ function updateTaskChartStyle($xeGanttView) {
775
805
  return;
776
806
  }
777
807
  var chartRest = rowid ? chartMaps[rowid] : null;
808
+ var row = chartRest ? chartRest.row : null;
778
809
  // 子任务视图
779
810
  if ((0, _dom.hasClass)(barEl, 'is--subview')) {
780
811
  var childWrapperEl = barEl.firstElementChild;
781
812
  if (childWrapperEl) {
782
- _xeUtils.default.arrayEach(childWrapperEl.children, function (childEl) {
783
- var childBarEl = childEl;
784
- var childRowid = childBarEl.getAttribute('rowid') || '';
785
- var childChartRest = childRowid ? chartMaps[childRowid] : null;
786
- childBarEl.style.left = "".concat((0, _util.getTaskBarLeft)(childChartRest, viewCellWidth), "px");
787
- // 里程碑不需要宽度
788
- if (!(0, _dom.hasClass)(childBarEl, 'is--milestone')) {
789
- childBarEl.style.width = "".concat((0, _util.getTaskBarWidth)(childChartRest, viewCellWidth), "px");
813
+ // 行内展示
814
+ if ((0, _dom.hasClass)(childWrapperEl, 'is--inline')) {
815
+ _xeUtils.default.arrayEach(childWrapperEl.children, function (childRowEl) {
816
+ var childBarEl = childRowEl.children[0];
817
+ var childRowid = childBarEl.getAttribute('rowid') || '';
818
+ var childChartRest = childRowid ? chartMaps[childRowid] : null;
819
+ if (childChartRest) {
820
+ var childRow = childChartRest.row;
821
+ // 如果是子视图
822
+ if ((0, _dom.hasClass)(childBarEl, 'is--subview')) {
823
+ var subChildren = childRow[childrenField];
824
+ var _handleSubTaskMinMaxS = handleSubTaskMinMaxSize($xeGanttView, $xeTable, subChildren),
825
+ minChildLeftSize = _handleSubTaskMinMaxS.minSize,
826
+ maxChildLeftSize = _handleSubTaskMinMaxS.maxSize;
827
+ childBarEl.style.left = "".concat(viewCellWidth * minChildLeftSize, "px");
828
+ childBarEl.style.width = "".concat(viewCellWidth * (maxChildLeftSize - minChildLeftSize), "px");
829
+ } else {
830
+ childBarEl.style.left = "".concat((0, _util.getTaskBarLeft)(childChartRest, viewCellWidth), "px");
831
+ if (!(0, _dom.hasClass)(childBarEl, 'is--milestone')) {
832
+ // 里程碑不需要宽度
833
+ childBarEl.style.width = "".concat((0, _util.getTaskBarWidth)(childChartRest, viewCellWidth), "px");
834
+ }
835
+ }
836
+ }
837
+ });
838
+ } else {
839
+ // 如果展开子任务
840
+ var childRowEl = childWrapperEl.children[0];
841
+ var childBarEl = childRowEl ? childRowEl.children[0] : null;
842
+ if (childBarEl) {
843
+ var rowChildren = row ? row[childrenField] : [];
844
+ var _handleSubTaskMinMaxS2 = handleSubTaskMinMaxSize($xeGanttView, $xeTable, rowChildren),
845
+ minChildLeftSize = _handleSubTaskMinMaxS2.minSize,
846
+ maxChildLeftSize = _handleSubTaskMinMaxS2.maxSize;
847
+ childBarEl.style.left = "".concat(viewCellWidth * minChildLeftSize, "px");
848
+ childBarEl.style.width = "".concat(viewCellWidth * (maxChildLeftSize - minChildLeftSize), "px");
790
849
  }
791
- });
850
+ }
792
851
  }
793
852
  } else {
794
853
  barEl.style.left = "".concat((0, _util.getTaskBarLeft)(chartRest, viewCellWidth), "px");