vxe-gantt 4.1.1 → 4.1.3
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.
- package/es/gantt/src/gantt-body.js +25 -3
- package/es/gantt/src/gantt-chart.js +14 -4
- package/es/gantt/src/gantt.js +23 -23
- package/es/ui/index.js +29 -2
- package/es/ui/src/log.js +1 -1
- package/lib/gantt/src/gantt-body.js +8 -1
- package/lib/gantt/src/gantt-body.min.js +1 -1
- package/lib/gantt/src/gantt-chart.js +10 -5
- package/lib/gantt/src/gantt-chart.min.js +1 -1
- package/lib/gantt/src/gantt.js +27 -33
- package/lib/gantt/src/gantt.min.js +1 -1
- package/lib/index.umd.js +75 -42
- package/lib/index.umd.min.js +1 -1
- package/lib/ui/index.js +29 -2
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +2 -2
- package/packages/gantt/src/gantt-body.ts +25 -3
- package/packages/gantt/src/gantt-chart.ts +14 -4
- package/packages/gantt/src/gantt.ts +23 -26
- package/packages/ui/index.ts +29 -1
|
@@ -11,7 +11,7 @@ export default defineVxeComponent({
|
|
|
11
11
|
setup() {
|
|
12
12
|
const $xeGantt = inject('$xeGantt', {});
|
|
13
13
|
const $xeGanttView = inject('$xeGanttView', {});
|
|
14
|
-
const { computeTaskViewOpts } = $xeGantt.getComputeMaps();
|
|
14
|
+
const { computeTaskViewOpts, computeScaleUnit } = $xeGantt.getComputeMaps();
|
|
15
15
|
const { reactData, internalData } = $xeGanttView;
|
|
16
16
|
const refElem = ref();
|
|
17
17
|
const refBodyScroll = ref();
|
|
@@ -33,6 +33,7 @@ export default defineVxeComponent({
|
|
|
33
33
|
const { todayDateMaps } = internalData;
|
|
34
34
|
const taskViewOpts = computeTaskViewOpts.value;
|
|
35
35
|
const { showNowLine, viewStyle } = taskViewOpts;
|
|
36
|
+
const scaleUnit = computeScaleUnit.value;
|
|
36
37
|
const { scaleItem } = headerGroups[headerGroups.length - 1] || {};
|
|
37
38
|
const { field, dateObj } = column;
|
|
38
39
|
const { cellClassName, cellStyle } = viewStyle || {};
|
|
@@ -74,7 +75,18 @@ export default defineVxeComponent({
|
|
|
74
75
|
onDblclick: (evnt) => $xeTable.handleRowResizeDblclickEvent(evnt, cellParams)
|
|
75
76
|
}));
|
|
76
77
|
}
|
|
77
|
-
const ctParams = {
|
|
78
|
+
const ctParams = {
|
|
79
|
+
$gantt: $xeGantt,
|
|
80
|
+
source: sourceType,
|
|
81
|
+
type: viewType,
|
|
82
|
+
scaleType: scaleUnit,
|
|
83
|
+
dateObj,
|
|
84
|
+
row,
|
|
85
|
+
column,
|
|
86
|
+
$rowIndex,
|
|
87
|
+
rowIndex,
|
|
88
|
+
_rowIndex
|
|
89
|
+
};
|
|
78
90
|
return h('td', {
|
|
79
91
|
key: $columnIndex,
|
|
80
92
|
class: [
|
|
@@ -117,6 +129,7 @@ export default defineVxeComponent({
|
|
|
117
129
|
const treeOpts = computeTreeOpts.value;
|
|
118
130
|
const { transform } = treeOpts;
|
|
119
131
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
132
|
+
const scaleUnit = computeScaleUnit.value;
|
|
120
133
|
const taskViewOpts = computeTaskViewOpts.value;
|
|
121
134
|
const { viewStyle } = taskViewOpts;
|
|
122
135
|
const { rowClassName, rowStyle } = viewStyle || {};
|
|
@@ -152,7 +165,16 @@ export default defineVxeComponent({
|
|
|
152
165
|
trOns.onDragend = $xeTable.handleRowDragDragendEvent;
|
|
153
166
|
trOns.onDragover = $xeTable.handleRowDragDragoverEvent;
|
|
154
167
|
}
|
|
155
|
-
const rowParams = {
|
|
168
|
+
const rowParams = {
|
|
169
|
+
$gantt: $xeGantt,
|
|
170
|
+
source: sourceType,
|
|
171
|
+
type: viewType,
|
|
172
|
+
scaleType: scaleUnit,
|
|
173
|
+
row,
|
|
174
|
+
rowIndex,
|
|
175
|
+
$rowIndex,
|
|
176
|
+
_rowIndex
|
|
177
|
+
};
|
|
156
178
|
trVNs.push(h('tr', Object.assign({ key: treeConfig ? rowid : $rowIndex, class: [
|
|
157
179
|
'vxe-gantt-view--body-row',
|
|
158
180
|
{
|
|
@@ -13,7 +13,7 @@ export default defineVxeComponent({
|
|
|
13
13
|
const $xeGantt = inject('$xeGantt', {});
|
|
14
14
|
const $xeGanttView = inject('$xeGanttView', {});
|
|
15
15
|
const { reactData, internalData } = $xeGanttView;
|
|
16
|
-
const { computeProgressField, computeTitleField, computeTaskBarOpts } = $xeGantt.getComputeMaps();
|
|
16
|
+
const { computeProgressField, computeTitleField, computeTaskBarOpts, computeScaleUnit } = $xeGantt.getComputeMaps();
|
|
17
17
|
const refElem = ref();
|
|
18
18
|
const renderTaskBar = ($xeTable, row, rowid, rowIndex, $rowIndex, _rowIndex) => {
|
|
19
19
|
const tableProps = $xeTable.props;
|
|
@@ -31,7 +31,8 @@ export default defineVxeComponent({
|
|
|
31
31
|
const titleField = computeTitleField.value;
|
|
32
32
|
const progressField = computeProgressField.value;
|
|
33
33
|
const taskBarOpts = computeTaskBarOpts.value;
|
|
34
|
-
const
|
|
34
|
+
const scaleUnit = computeScaleUnit.value;
|
|
35
|
+
const barParams = { $gantt: $xeGantt, row, scaleType: scaleUnit };
|
|
35
36
|
const { showProgress, showContent, contentMethod, barStyle, drag, showTooltip } = taskBarOpts;
|
|
36
37
|
const isBarRowStyle = XEUtils.isFunction(barStyle);
|
|
37
38
|
const barStyObj = (barStyle ? (isBarRowStyle ? barStyle(barParams) : barStyle) : {}) || {};
|
|
@@ -56,9 +57,18 @@ export default defineVxeComponent({
|
|
|
56
57
|
}
|
|
57
58
|
}
|
|
58
59
|
if (contentMethod) {
|
|
59
|
-
title = getStringValue(contentMethod({ row, title }));
|
|
60
|
+
title = getStringValue(contentMethod({ row, title, scaleType: scaleUnit }));
|
|
60
61
|
}
|
|
61
|
-
const ctParams = {
|
|
62
|
+
const ctParams = {
|
|
63
|
+
$gantt: $xeGantt,
|
|
64
|
+
source: sourceType,
|
|
65
|
+
type: viewType,
|
|
66
|
+
scaleType: scaleUnit,
|
|
67
|
+
row,
|
|
68
|
+
$rowIndex,
|
|
69
|
+
rowIndex,
|
|
70
|
+
_rowIndex
|
|
71
|
+
};
|
|
62
72
|
const ons = {
|
|
63
73
|
onClick(evnt) {
|
|
64
74
|
$xeGantt.handleTaskBarClickEvent(evnt, barParams);
|
package/es/gantt/src/gantt.js
CHANGED
|
@@ -379,6 +379,7 @@ export default defineVxeComponent({
|
|
|
379
379
|
refForm,
|
|
380
380
|
refToolbar,
|
|
381
381
|
refPager,
|
|
382
|
+
refGanttView,
|
|
382
383
|
refGanttContainerElem,
|
|
383
384
|
refClassifyWrapperElem,
|
|
384
385
|
refPopupContainerElem
|
|
@@ -423,28 +424,24 @@ export default defineVxeComponent({
|
|
|
423
424
|
const taskScaleConfs = computeTaskViewScales.value;
|
|
424
425
|
const taskViewScaleOpts = computeTaskViewScaleOpts.value;
|
|
425
426
|
const scaleConfs = [];
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
}
|
|
445
|
-
if (!scaleConfs.length) {
|
|
446
|
-
scaleConfs.push({ type: 'month', level: viewTypeLevelMaps.month }, { type: 'date', level: viewTypeLevelMaps.date });
|
|
447
|
-
}
|
|
427
|
+
const keyMaps = {};
|
|
428
|
+
const scaleList = (taskScaleConfs && taskScaleConfs.length ? taskScaleConfs : ['month', 'date']);
|
|
429
|
+
scaleList.forEach(conf => {
|
|
430
|
+
const sConf = !conf || XEUtils.isString(conf) ? { type: conf } : conf;
|
|
431
|
+
const { type } = sConf;
|
|
432
|
+
if (!type || !viewTypeLevelMaps[type]) {
|
|
433
|
+
errLog('vxe.error.errProp', [`type=${type}`, XEUtils.keys(viewTypeLevelMaps).join(',')]);
|
|
434
|
+
return;
|
|
435
|
+
}
|
|
436
|
+
if (keyMaps[type]) {
|
|
437
|
+
errLog('vxe.error.repeatProp', ['type', type]);
|
|
438
|
+
return;
|
|
439
|
+
}
|
|
440
|
+
keyMaps[type] = true;
|
|
441
|
+
scaleConfs.push(Object.assign({}, type ? taskViewScaleOpts[type] || {} : {}, sConf, {
|
|
442
|
+
level: getViewTypeLevel(type)
|
|
443
|
+
}));
|
|
444
|
+
});
|
|
448
445
|
reactData.taskScaleList = XEUtils.orderBy(scaleConfs, { field: 'level', order: 'desc' });
|
|
449
446
|
};
|
|
450
447
|
const initToolbar = () => {
|
|
@@ -1645,7 +1642,10 @@ export default defineVxeComponent({
|
|
|
1645
1642
|
const { row } = params;
|
|
1646
1643
|
let content = formatText(XEUtils.get(row, titleField));
|
|
1647
1644
|
if (contentMethod) {
|
|
1648
|
-
|
|
1645
|
+
const customContnet = contentMethod(params);
|
|
1646
|
+
if (!XEUtils.eqNull(customContnet)) {
|
|
1647
|
+
content = `${customContnet}`;
|
|
1648
|
+
}
|
|
1649
1649
|
}
|
|
1650
1650
|
handleTargetEnterEvent(barTipStore.row !== row);
|
|
1651
1651
|
const tipContent = formatText(content);
|
package/es/ui/index.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
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.1.
|
|
4
|
+
VxeUI.ganttVersion = "4.1.3";
|
|
5
|
+
const ymdFormat = 'yyyy-MM-dd';
|
|
6
|
+
const ymdhmsFormat = 'yyyy-MM-dd HH:mm:ss';
|
|
5
7
|
setConfig({
|
|
6
8
|
gantt: {
|
|
7
9
|
// size: null,
|
|
@@ -44,8 +46,33 @@ setConfig({
|
|
|
44
46
|
enterable: true
|
|
45
47
|
},
|
|
46
48
|
taskViewScaleConfig: {
|
|
49
|
+
year: {
|
|
50
|
+
valueFormat: ymdFormat
|
|
51
|
+
},
|
|
52
|
+
quarter: {
|
|
53
|
+
valueFormat: ymdFormat
|
|
54
|
+
},
|
|
55
|
+
month: {
|
|
56
|
+
valueFormat: ymdFormat
|
|
57
|
+
},
|
|
47
58
|
week: {
|
|
48
|
-
startDay: 1
|
|
59
|
+
startDay: 1,
|
|
60
|
+
valueFormat: ymdFormat
|
|
61
|
+
},
|
|
62
|
+
day: {
|
|
63
|
+
valueFormat: ymdFormat
|
|
64
|
+
},
|
|
65
|
+
date: {
|
|
66
|
+
valueFormat: ymdFormat
|
|
67
|
+
},
|
|
68
|
+
hour: {
|
|
69
|
+
valueFormat: ymdhmsFormat
|
|
70
|
+
},
|
|
71
|
+
minute: {
|
|
72
|
+
valueFormat: ymdhmsFormat
|
|
73
|
+
},
|
|
74
|
+
second: {
|
|
75
|
+
valueFormat: ymdhmsFormat
|
|
49
76
|
}
|
|
50
77
|
},
|
|
51
78
|
taskViewConfig: {
|
package/es/ui/src/log.js
CHANGED
|
@@ -19,7 +19,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
19
19
|
const $xeGantt = (0, _vue.inject)('$xeGantt', {});
|
|
20
20
|
const $xeGanttView = (0, _vue.inject)('$xeGanttView', {});
|
|
21
21
|
const {
|
|
22
|
-
computeTaskViewOpts
|
|
22
|
+
computeTaskViewOpts,
|
|
23
|
+
computeScaleUnit
|
|
23
24
|
} = $xeGantt.getComputeMaps();
|
|
24
25
|
const {
|
|
25
26
|
reactData,
|
|
@@ -64,6 +65,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
64
65
|
showNowLine,
|
|
65
66
|
viewStyle
|
|
66
67
|
} = taskViewOpts;
|
|
68
|
+
const scaleUnit = computeScaleUnit.value;
|
|
67
69
|
const {
|
|
68
70
|
scaleItem
|
|
69
71
|
} = headerGroups[headerGroups.length - 1] || {};
|
|
@@ -114,8 +116,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
114
116
|
}));
|
|
115
117
|
}
|
|
116
118
|
const ctParams = {
|
|
119
|
+
$gantt: $xeGantt,
|
|
117
120
|
source: sourceType,
|
|
118
121
|
type: viewType,
|
|
122
|
+
scaleType: scaleUnit,
|
|
119
123
|
dateObj,
|
|
120
124
|
row,
|
|
121
125
|
column,
|
|
@@ -186,6 +190,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
186
190
|
transform
|
|
187
191
|
} = treeOpts;
|
|
188
192
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
193
|
+
const scaleUnit = computeScaleUnit.value;
|
|
189
194
|
const taskViewOpts = computeTaskViewOpts.value;
|
|
190
195
|
const {
|
|
191
196
|
viewStyle
|
|
@@ -233,8 +238,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
233
238
|
trOns.onDragover = $xeTable.handleRowDragDragoverEvent;
|
|
234
239
|
}
|
|
235
240
|
const rowParams = {
|
|
241
|
+
$gantt: $xeGantt,
|
|
236
242
|
source: sourceType,
|
|
237
243
|
type: viewType,
|
|
244
|
+
scaleType: scaleUnit,
|
|
238
245
|
row,
|
|
239
246
|
rowIndex,
|
|
240
247
|
$rowIndex,
|
|
@@ -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"),_utils=require("../../ui/src/utils"),_xeUtils=_interopRequireDefault(require("xe-utils")),_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
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_util=require("./util"),_utils=require("../../ui/src/utils"),_xeUtils=_interopRequireDefault(require("xe-utils")),_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 $=(0,_vue.inject)("$xeGantt",{}),o=(0,_vue.inject)("$xeGanttView",{}),{computeTaskViewOpts:q,computeScaleUnit:H}=$.getComputeMaps(),{reactData:j,internalData:R}=o,r=(0,_vue.ref)(),n=(0,_vue.ref)(),i=(0,_vue.ref)(),u=(0,_vue.ref)(),s=(0,_vue.ref)(),z=(l,a,e,o,r,n,t,i)=>{var u=l.reactData.resizeHeightFlag,{fullAllDataRowIdData:s,visibleColumn:d}=l.internalData,{computeCellOpts:v,computeRowOpts:c,computeDefaultRowHeight:p,computeResizableOpts:w}=l.getComputeMaps(),v=v.value,c=c.value,p=p.value,w=w.value.isAllRowDrag,g=j.headerGroups,h=R.todayDateMaps,{showNowLine:x,viewStyle:y}=q.value,_=H.value,g=(g[g.length-1]||{}).scaleItem,{field:m,dateObj:b}=t,{cellClassName:y,cellStyle:f}=y||{},h=x&&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:l,$grid:null,$gantt:$,seq:-1,rowid:e,row:a,rowIndex:o,$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:[]};g.push((0,_vue.h)("div",{class:"vxe-gantt-view-cell--row-resizable",onMousedown:e=>l.handleRowResizeMousedownEvent(e,t),onDblclick:e=>l.handleRowResizeDblclickEvent(e,t)}))}let D={$gantt:$,source:sourceType,type:viewType,scaleType:_,dateObj:b,row:a,column:t,$rowIndex:r,rowIndex:o,_rowIndex:n};return(0,_vue.h)("td",{key:i,class:["vxe-gantt-view--body-column",{"is--now":x&&h===m,"col--rs-height":s},(0,_utils.getClass)(y,D)],style:f?Object.assign({},_xeUtils.default.isFunction(f)?f(D):f,{height:u+"px"}):{height:u+"px"},onClick(e){$.handleTaskCellClickEvent(e,{row:a,column:t})},onDblclick(e){$.handleTaskCellDblclickEvent(e,{row:a,column:t})},onContextmenu(e){$.handleTaskBodyContextmenuEvent(e,D)}},g)},B=(d,e)=>{let{treeConfig:v,stripe:c,highlightHoverRow:p,editConfig:w}=d.props,{treeExpandedFlag:g,selectRadioRow:h,pendingRowFlag:x,isRowGroupStatus:y}=d.reactData,{fullAllDataRowIdData:_,treeExpandedMaps:m,pendingRowMaps:b}=d.internalData;var{computeRadioOpts:t,computeCheckboxOpts:l,computeTreeOpts:a,computeRowOpts:o}=d.getComputeMaps();let f=t.value,D=l.value,R=o.value;t=a.value;let C=t.transform,I=t.children||t.childrenField,T=H.value;l=q.value.viewStyle;let{rowClassName:k,rowStyle:E}=l||{},{tableColumn:S,scrollYLoad:M}=j,O=[];return e.forEach((l,a)=>{let o=d.getRowid(l);var e=_[o]||{},t={};let r=a,n=-1,i=(e&&(r=e.index,n=e._index),!1);w&&(i=d.isInsertByRow(l)),(R.isHover||p)&&(t.onMouseenter=e=>{d.triggerHoverEvent(e,{row:l,rowIndex:r})},t.onMouseleave=()=>{d.clearHoverRow()}),!R.drag||y||v&&!C||(t.onDragstart=d.handleRowDragDragstartEvent,t.onDragend=d.handleRowDragDragendEvent,t.onDragover=d.handleRowDragDragoverEvent);e={$gantt:$,source:sourceType,type:viewType,scaleType:T,row:l,rowIndex:r,$rowIndex:a,_rowIndex:n};O.push((0,_vue.h)("tr",Object.assign({key:v?o:a,class:["vxe-gantt-view--body-row",{"row--stripe":c&&(n+1)%2==0,"is--new":i,"row--radio":f.highlight&&d.eqRow(h,l),"row--checked":D.highlight&&d.isCheckedByCheckboxRow(l),"row--pending":!!x&&!!b[o]},(0,_utils.getClass)(k,e)],rowid:o,style:E?_xeUtils.default.isFunction(E)?E(e):E:void 0},t),S.map((e,t)=>z(d,l,o,r,a,n,e,t))));let u=!1,s=[];!v||M||C||(s=l[I],u=!!g&&s&&0<s.length&&!!m[o]),u&&O.push(...B(d,s))}),O};return(0,_vue.onMounted)(()=>{var e=R.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=R.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:l,viewCellWidth:a}=j;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,onContextmenu(e){$.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",{},l.map((e,t)=>(0,_vue.h)("col",{key:t,style:{width:a+"px"}}))),(0,_vue.h)("tbody",{},e?B(e,t):[])]),(0,_vue.h)(_ganttChart.default)])])}}});
|
|
@@ -28,7 +28,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
28
28
|
const {
|
|
29
29
|
computeProgressField,
|
|
30
30
|
computeTitleField,
|
|
31
|
-
computeTaskBarOpts
|
|
31
|
+
computeTaskBarOpts,
|
|
32
|
+
computeScaleUnit
|
|
32
33
|
} = $xeGantt.getComputeMaps();
|
|
33
34
|
const refElem = (0, _vue.ref)();
|
|
34
35
|
const renderTaskBar = ($xeTable, row, rowid, rowIndex, $rowIndex, _rowIndex) => {
|
|
@@ -57,9 +58,11 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
57
58
|
const titleField = computeTitleField.value;
|
|
58
59
|
const progressField = computeProgressField.value;
|
|
59
60
|
const taskBarOpts = computeTaskBarOpts.value;
|
|
61
|
+
const scaleUnit = computeScaleUnit.value;
|
|
60
62
|
const barParams = {
|
|
61
63
|
$gantt: $xeGantt,
|
|
62
|
-
row
|
|
64
|
+
row,
|
|
65
|
+
scaleType: scaleUnit
|
|
63
66
|
};
|
|
64
67
|
const {
|
|
65
68
|
showProgress,
|
|
@@ -99,17 +102,19 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
99
102
|
if (contentMethod) {
|
|
100
103
|
title = (0, _utils.getStringValue)(contentMethod({
|
|
101
104
|
row,
|
|
102
|
-
title
|
|
105
|
+
title,
|
|
106
|
+
scaleType: scaleUnit
|
|
103
107
|
}));
|
|
104
108
|
}
|
|
105
109
|
const ctParams = {
|
|
110
|
+
$gantt: $xeGantt,
|
|
106
111
|
source: sourceType,
|
|
107
112
|
type: viewType,
|
|
113
|
+
scaleType: scaleUnit,
|
|
108
114
|
row,
|
|
109
115
|
$rowIndex,
|
|
110
116
|
rowIndex,
|
|
111
|
-
_rowIndex
|
|
112
|
-
$gantt: $xeGantt
|
|
117
|
+
_rowIndex
|
|
113
118
|
};
|
|
114
119
|
const ons = {
|
|
115
120
|
onClick(evnt) {
|
|
@@ -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,sourceType="gantt",viewType="chart";var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGanttViewChart",setup(){let
|
|
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 C=(0,_vue.inject)("$xeGantt",{}),a=(0,_vue.inject)("$xeGanttView",{}),{reactData:r,internalData:t}=a,{computeProgressField:D,computeTitleField:M,computeTaskBarOpts:B,computeScaleUnit:q}=C.getComputeMaps(),l=(0,_vue.ref)(),w=(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,v=C.context.slots,v=v.taskBar||v["task-bar"],d=M.value,p=D.value,g=B.value,h=q.value;let m={$gantt:C,row:t,scaleType:h};var{showProgress:g,showContent:w,contentMethod:x,barStyle:_,drag:f,showTooltip:T}=g,E=_xeUtils.default.isFunction(_),_=(_?E?_(m):_:{})||{},k=_.round,i=i[a]||{},u=0<(u?i.resizeHeight:0),i=(0,_util.getCellRestHeight)(i,e,s,c);let b=(0,_utils.getStringValue)(_xeUtils.default.get(t,d));e={},s={width:`${(g?Math.min(100,Math.max(0,_xeUtils.default.toNumber(_xeUtils.default.get(t,p)))):0)||0}%`};E&&({bgColor:c,completedBgColor:d}=_,c&&(e.backgroundColor=c),d)&&(s.backgroundColor=d),x&&(b=(0,_utils.getStringValue)(x({row:t,title:b,scaleType:h})));let y={$gantt:C,source:sourceType,type:viewType,scaleType:h,row:t,$rowIndex:l,rowIndex:r,_rowIndex:n};p={onClick(e){C.handleTaskBarClickEvent(e,m)},onDblclick(e){C.handleTaskBarDblclickEvent(e,m)},onMousedown(e){C.handleTaskBarMousedownEvent&&C.handleTaskBarMousedownEvent(e,m)}};return T&&(p.onMouseover=e=>{var t=Object.assign({$event:e},y);C.triggerTaskBarTooltipEvent(e,t),C.dispatchEvent("task-bar-mouseenter",t,e)},p.onMouseleave=e=>{var t=Object.assign({$event:e},y);C.handleTaskBarTooltipLeaveEvent(e,t),C.dispatchEvent("task-bar-mouseleave",t,e)}),(0,_vue.h)("div",{key:o?a:l,rowid:a,class:["vxe-gantt-view--chart-row",{"is--round":k,"is--drag":f,"col--rs-height":u}],style:{height:i+"px"},onContextmenu(e){C.handleTaskBarContextmenuEvent(e,y)}},[(0,_vue.h)("div",Object.assign({class:v?"vxe-gantt-view--chart-custom-bar":"vxe-gantt-view--chart-bar",style:e,rowid:a},p),v?C.callSlot(v,m):[g?(0,_vue.h)("div",{class:"vxe-gantt-view--chart-progress",style:s}):renderEmptyElement(C),w?(0,_vue.h)("div",{class:"vxe-gantt-view--chart-content"},b):renderEmptyElement(C)])])},x=(i,e)=>{let s=i.props.treeConfig,c=i.reactData.treeExpandedFlag,{fullAllDataRowIdData:v,treeExpandedMaps:d}=i.internalData;var t=i.getComputeMaps().computeTreeOpts,t=t.value;let p=t.transform,g=t.children||t.childrenField,h=r.scrollYLoad,m=[];return e.forEach((e,t)=>{var a=i?i.getRowid(e):"",r=v[a]||{};let l=t,n=-1,o=(r&&(l=r.index,n=r._index),m.push(w(i,e,a,l,t,n)),!1),u=[];!s||h||p||(u=e[g],o=!!c&&u&&0<u.length&&!!d[a]),o&&m.push(...x(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?x(e,t):[])}}});
|
package/lib/gantt/src/gantt.js
CHANGED
|
@@ -466,6 +466,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
466
466
|
refForm,
|
|
467
467
|
refToolbar,
|
|
468
468
|
refPager,
|
|
469
|
+
refGanttView,
|
|
469
470
|
refGanttContainerElem,
|
|
470
471
|
refClassifyWrapperElem,
|
|
471
472
|
refPopupContainerElem
|
|
@@ -510,38 +511,28 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
510
511
|
const taskScaleConfs = computeTaskViewScales.value;
|
|
511
512
|
const taskViewScaleOpts = computeTaskViewScaleOpts.value;
|
|
512
513
|
const scaleConfs = [];
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
}
|
|
536
|
-
if (!scaleConfs.length) {
|
|
537
|
-
scaleConfs.push({
|
|
538
|
-
type: 'month',
|
|
539
|
-
level: viewTypeLevelMaps.month
|
|
540
|
-
}, {
|
|
541
|
-
type: 'date',
|
|
542
|
-
level: viewTypeLevelMaps.date
|
|
543
|
-
});
|
|
544
|
-
}
|
|
514
|
+
const keyMaps = {};
|
|
515
|
+
const scaleList = taskScaleConfs && taskScaleConfs.length ? taskScaleConfs : ['month', 'date'];
|
|
516
|
+
scaleList.forEach(conf => {
|
|
517
|
+
const sConf = !conf || _xeUtils.default.isString(conf) ? {
|
|
518
|
+
type: conf
|
|
519
|
+
} : conf;
|
|
520
|
+
const {
|
|
521
|
+
type
|
|
522
|
+
} = sConf;
|
|
523
|
+
if (!type || !viewTypeLevelMaps[type]) {
|
|
524
|
+
(0, _log.errLog)('vxe.error.errProp', [`type=${type}`, _xeUtils.default.keys(viewTypeLevelMaps).join(',')]);
|
|
525
|
+
return;
|
|
526
|
+
}
|
|
527
|
+
if (keyMaps[type]) {
|
|
528
|
+
(0, _log.errLog)('vxe.error.repeatProp', ['type', type]);
|
|
529
|
+
return;
|
|
530
|
+
}
|
|
531
|
+
keyMaps[type] = true;
|
|
532
|
+
scaleConfs.push(Object.assign({}, type ? taskViewScaleOpts[type] || {} : {}, sConf, {
|
|
533
|
+
level: getViewTypeLevel(type)
|
|
534
|
+
}));
|
|
535
|
+
});
|
|
545
536
|
reactData.taskScaleList = _xeUtils.default.orderBy(scaleConfs, {
|
|
546
537
|
field: 'level',
|
|
547
538
|
order: 'desc'
|
|
@@ -1956,7 +1947,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1956
1947
|
} = params;
|
|
1957
1948
|
let content = (0, _utils.formatText)(_xeUtils.default.get(row, titleField));
|
|
1958
1949
|
if (contentMethod) {
|
|
1959
|
-
|
|
1950
|
+
const customContnet = contentMethod(params);
|
|
1951
|
+
if (!_xeUtils.default.eqNull(customContnet)) {
|
|
1952
|
+
content = `${customContnet}`;
|
|
1953
|
+
}
|
|
1960
1954
|
}
|
|
1961
1955
|
handleTargetEnterEvent(barTipStore.row !== row);
|
|
1962
1956
|
const tipContent = (0, _utils.formatText)(content);
|