vxe-gantt 3.0.27 → 3.1.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.
package/lib/index.umd.js CHANGED
@@ -8182,7 +8182,7 @@ var core_ = __webpack_require__(4345);
8182
8182
  ;// ./packages/ui/src/log.ts
8183
8183
 
8184
8184
  var log = core_.VxeUI.log;
8185
- var version = "gantt v".concat("3.0.27");
8185
+ var version = "gantt v".concat("3.1.0");
8186
8186
  var warnLog = log.create('warn', version);
8187
8187
  var errLog = log.create('error', version);
8188
8188
  ;// ./packages/ui/index.ts
@@ -8192,7 +8192,7 @@ var errLog = log.create('error', version);
8192
8192
  var setConfig = core_.VxeUI.setConfig,
8193
8193
  setIcon = core_.VxeUI.setIcon,
8194
8194
  checkVersion = core_.VxeUI.checkVersion;
8195
- core_.VxeUI.ganttVersion = "3.0.27";
8195
+ core_.VxeUI.ganttVersion = "3.1.0";
8196
8196
  setConfig({
8197
8197
  gantt: {
8198
8198
  // size: null,
@@ -8523,6 +8523,8 @@ function _objectSpread2(e) {
8523
8523
  return e;
8524
8524
  }
8525
8525
 
8526
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.find.js
8527
+ var es_array_find = __webpack_require__(113);
8526
8528
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.includes.js
8527
8529
  var es_array_includes = __webpack_require__(4423);
8528
8530
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.join.js
@@ -8531,6 +8533,8 @@ var es_array_join = __webpack_require__(8598);
8531
8533
  var es_array_map = __webpack_require__(2062);
8532
8534
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.sort.js
8533
8535
  var es_array_sort = __webpack_require__(6910);
8536
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.find.js
8537
+ var es_iterator_find = __webpack_require__(116);
8534
8538
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.map.js
8535
8539
  var es_iterator_map = __webpack_require__(1701);
8536
8540
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.promise.js
@@ -8966,10 +8970,6 @@ function getSlotVNs(vns) {
8966
8970
  }
8967
8971
  return [vns];
8968
8972
  }
8969
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.find.js
8970
- var es_array_find = __webpack_require__(113);
8971
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.find.js
8972
- var es_iterator_find = __webpack_require__(116);
8973
8973
  ;// ./packages/gantt/src/util.ts
8974
8974
  function getRefElem(refEl) {
8975
8975
  if (refEl) {
@@ -8980,6 +8980,17 @@ function getRefElem(refEl) {
8980
8980
  function getCellRestHeight(rowRest, cellOpts, rowOpts, defaultRowHeight) {
8981
8981
  return rowRest.resizeHeight || cellOpts.height || rowOpts.height || rowRest.height || defaultRowHeight;
8982
8982
  }
8983
+ function getStandardGapTime(type) {
8984
+ switch (type) {
8985
+ case 'hour':
8986
+ return 1000 * 60 * 60;
8987
+ case 'minute':
8988
+ return 1000 * 60;
8989
+ case 'second':
8990
+ return 1000;
8991
+ }
8992
+ return 1000 * 60 * 60 * 24;
8993
+ }
8983
8994
  ;// ./packages/gantt/src/gantt-header.ts
8984
8995
 
8985
8996
 
@@ -9046,11 +9057,13 @@ var viewType = 'header';
9046
9057
  var scaleItem = _ref.scaleItem,
9047
9058
  columns = _ref.columns;
9048
9059
  var type = scaleItem.type,
9060
+ titleFormat = scaleItem.titleFormat,
9049
9061
  titleMethod = scaleItem.titleMethod,
9050
9062
  headerCellStyle = scaleItem.headerCellStyle,
9051
9063
  slots = scaleItem.slots;
9052
9064
  var titleSlot = slots ? slots.title : null;
9053
- var todayValue = showNowLine && $rowIndex === headerGroups.length - 1 ? todayDateMaps[type] : null;
9065
+ var isLast = $rowIndex === headerGroups.length - 1;
9066
+ var todayValue = isLast && showNowLine ? todayDateMaps[type] : null;
9054
9067
  return h('tr', {
9055
9068
  key: $rowIndex
9056
9069
  }, columns.map(function (column, cIndex) {
@@ -9064,6 +9077,10 @@ var viewType = 'header';
9064
9077
  } else {
9065
9078
  label = getI18n("vxe.gantt.".concat(!$rowIndex && headerGroups.length > 1 ? 'tFullFormat' : 'tSimpleFormat', ".").concat(type), dateObj);
9066
9079
  }
9080
+ } else {
9081
+ if (isLast && scaleItem.type === 'week') {
9082
+ label = getI18n("vxe.gantt.tSimpleFormat.".concat(type), dateObj);
9083
+ }
9067
9084
  }
9068
9085
  var cellVNs = label;
9069
9086
  var ctParams = {
@@ -9079,6 +9096,8 @@ var viewType = 'header';
9079
9096
  cellVNs = $xeGantt.callSlot(titleSlot, ctParams, h);
9080
9097
  } else if (titleMethod) {
9081
9098
  cellVNs = "".concat(titleMethod(ctParams));
9099
+ } else if (titleFormat) {
9100
+ cellVNs = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toDateString(dateObj.date, titleFormat);
9082
9101
  }
9083
9102
  var cellStys = {};
9084
9103
  if (headerCellStyle) {
@@ -9757,6 +9776,8 @@ var gantt_footer_viewType = 'footer';
9757
9776
 
9758
9777
  var globalEvents = core_.VxeUI.globalEvents;
9759
9778
  var gantt_view_sourceType = 'gantt';
9779
+ var minuteMs = 1000 * 60;
9780
+ var dayMs = minuteMs * 60 * 24;
9760
9781
  function createInternalData() {
9761
9782
  return {
9762
9783
  xeTable: null,
@@ -9822,43 +9843,17 @@ function updateTodayData($xeGanttView) {
9822
9843
  second: "".concat(yyyy, "_").concat(MM, "_").concat(dd, "_").concat(HH, "_").concat(mm, "_").concat(ss)
9823
9844
  };
9824
9845
  }
9825
- function handleParseColumn($xeGanttView) {
9846
+ function handleColumnHeader($xeGanttView) {
9826
9847
  var $xeGantt = $xeGanttView.$xeGantt;
9827
- var reactData = $xeGanttView.reactData;
9828
- var internalData = $xeGanttView.internalData;
9829
- var ganttProps = $xeGantt;
9830
9848
  var ganttReactData = $xeGantt.reactData;
9831
- var treeConfig = ganttProps.treeConfig;
9832
9849
  var taskScaleList = ganttReactData.taskScaleList;
9833
- var minViewDate = reactData.minViewDate,
9834
- maxViewDate = reactData.maxViewDate;
9835
- var minScale = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().last(taskScaleList);
9850
+ var scaleUnit = $xeGantt.computeScaleUnit;
9851
+ var minScale = $xeGantt.computeMinScale;
9852
+ var weekScale = $xeGantt.computeWeekScale;
9853
+ var scaleDateList = $xeGanttView.computeScaleDateList;
9836
9854
  var fullCols = [];
9837
9855
  var groupCols = [];
9838
- if (minScale && minViewDate && maxViewDate) {
9839
- var minSType = minScale.type;
9840
- var weekScale = taskScaleList.find(function (item) {
9841
- return item.type === 'week';
9842
- });
9843
- var gapTime = 1000 * 60 * 60 * 24;
9844
- switch (minScale.type) {
9845
- case 'hour':
9846
- gapTime = 1000 * 60 * 60;
9847
- break;
9848
- case 'minute':
9849
- gapTime = 1000 * 60;
9850
- break;
9851
- case 'second':
9852
- gapTime = 1000;
9853
- break;
9854
- default:
9855
- {
9856
- break;
9857
- }
9858
- }
9859
- var currTime = minViewDate.getTime();
9860
- var diffDayNum = maxViewDate.getTime() - minViewDate.getTime();
9861
- var countSize = Math.max(5, Math.floor(diffDayNum / gapTime) + 1);
9856
+ if (minScale && scaleUnit && scaleDateList.length) {
9862
9857
  var renderListMaps = {
9863
9858
  year: [],
9864
9859
  quarter: [],
@@ -9882,7 +9877,7 @@ function handleParseColumn($xeGanttView) {
9882
9877
  second: {}
9883
9878
  };
9884
9879
  var handleData = function handleData(type, colMaps, minCol) {
9885
- if (minSType === type) {
9880
+ if (minScale.type === type) {
9886
9881
  return;
9887
9882
  }
9888
9883
  var currCol = colMaps[type];
@@ -9900,8 +9895,8 @@ function handleParseColumn($xeGanttView) {
9900
9895
  currGpCol.children.push(minCol);
9901
9896
  }
9902
9897
  };
9903
- for (var i = 0; i < countSize; i++) {
9904
- var itemDate = new Date(currTime + i * gapTime);
9898
+ for (var i = 0; i < scaleDateList.length; i++) {
9899
+ var itemDate = scaleDateList[i];
9905
9900
  var _XEUtils$toDateString3 = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toDateString(itemDate, 'yyyy-M-d-H-m-s').split('-'),
9906
9901
  _XEUtils$toDateString4 = _slicedToArray(_XEUtils$toDateString3, 6),
9907
9902
  yyyy = _XEUtils$toDateString4[0],
@@ -9915,6 +9910,7 @@ function handleParseColumn($xeGanttView) {
9915
9910
  var q = Math.ceil((itemDate.getMonth() + 1) / 3);
9916
9911
  var W = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getYearWeek(itemDate, weekScale ? weekScale.startDay : undefined);
9917
9912
  var dateObj = {
9913
+ date: itemDate,
9918
9914
  yy: yyyy,
9919
9915
  M: MM,
9920
9916
  d: dd,
@@ -9973,7 +9969,7 @@ function handleParseColumn($xeGanttView) {
9973
9969
  dateObj: dateObj
9974
9970
  }
9975
9971
  };
9976
- var minCol = colMaps[minSType];
9972
+ var minCol = colMaps[minScale.type];
9977
9973
  if (minScale.level < 19) {
9978
9974
  handleData('year', colMaps, minCol);
9979
9975
  }
@@ -10001,7 +9997,7 @@ function handleParseColumn($xeGanttView) {
10001
9997
  fullCols.push(minCol);
10002
9998
  }
10003
9999
  taskScaleList.forEach(function (scaleItem) {
10004
- if (scaleItem.type === minSType) {
10000
+ if (scaleItem.type === minScale.type) {
10005
10001
  groupCols.push({
10006
10002
  scaleItem: scaleItem,
10007
10003
  columns: fullCols
@@ -10020,6 +10016,240 @@ function handleParseColumn($xeGanttView) {
10020
10016
  columns: list
10021
10017
  });
10022
10018
  });
10019
+ }
10020
+ return {
10021
+ fullCols: fullCols,
10022
+ groupCols: groupCols
10023
+ };
10024
+ }
10025
+ function createChartRender($xeGanttView, fullCols) {
10026
+ var $xeGantt = $xeGanttView.$xeGantt;
10027
+ var reactData = $xeGanttView.reactData;
10028
+ var minViewDate = reactData.minViewDate;
10029
+ var minScale = $xeGantt.computeMinScale;
10030
+ var scaleUnit = $xeGantt.computeScaleUnit;
10031
+ var weekScale = $xeGantt.computeWeekScale;
10032
+ switch (scaleUnit) {
10033
+ case 'year':
10034
+ {
10035
+ var indexMaps = {};
10036
+ fullCols.forEach(function (_ref, i) {
10037
+ var dateObj = _ref.dateObj;
10038
+ var yyyyMM = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toDateString(dateObj.date, 'yyyy');
10039
+ indexMaps[yyyyMM] = i;
10040
+ });
10041
+ return function (startValue, endValue) {
10042
+ var startDate = parseStringDate($xeGanttView, startValue);
10043
+ var endDate = parseStringDate($xeGanttView, endValue);
10044
+ var startStr = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toDateString(startDate, 'yyyy');
10045
+ var startFirstDate = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatYear(startDate, 0, 'first');
10046
+ var endStr = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toDateString(endDate, 'yyyy');
10047
+ var endFirstDate = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatYear(endDate, 0, 'first');
10048
+ var dateSize = Math.floor((external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatYear(endDate, 1, 'first').getTime() - endFirstDate.getTime()) / dayMs);
10049
+ var subtract = (startDate.getTime() - startFirstDate.getTime()) / dayMs / dateSize;
10050
+ var addSize = Math.max(0, (endDate.getTime() - endFirstDate.getTime()) / dayMs + 1) / dateSize;
10051
+ var offsetLeftSize = (indexMaps[startStr] || 0) + subtract;
10052
+ return {
10053
+ offsetLeftSize: offsetLeftSize,
10054
+ offsetWidthSize: (indexMaps[endStr] || 0) - offsetLeftSize + addSize
10055
+ };
10056
+ };
10057
+ }
10058
+ case 'quarter':
10059
+ {
10060
+ var _indexMaps = {};
10061
+ fullCols.forEach(function (_ref2, i) {
10062
+ var dateObj = _ref2.dateObj;
10063
+ var q = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toDateString(dateObj.date, 'yyyy-q');
10064
+ _indexMaps[q] = i;
10065
+ });
10066
+ return function (startValue, endValue) {
10067
+ var startDate = parseStringDate($xeGanttView, startValue);
10068
+ var endDate = parseStringDate($xeGanttView, endValue);
10069
+ var startStr = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toDateString(startDate, 'yyyy-q');
10070
+ var startFirstDate = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatQuarter(startDate, 0, 'first');
10071
+ var endStr = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toDateString(endDate, 'yyyy-q');
10072
+ var endFirstDate = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatQuarter(endDate, 0, 'first');
10073
+ var dateSize = Math.floor((external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatQuarter(endDate, 1, 'first').getTime() - endFirstDate.getTime()) / dayMs);
10074
+ var subtract = (startDate.getTime() - startFirstDate.getTime()) / dayMs / dateSize;
10075
+ var addSize = Math.max(0, (endDate.getTime() - endFirstDate.getTime()) / dayMs + 1) / dateSize;
10076
+ var offsetLeftSize = (_indexMaps[startStr] || 0) + subtract;
10077
+ return {
10078
+ offsetLeftSize: offsetLeftSize,
10079
+ offsetWidthSize: (_indexMaps[endStr] || 0) - offsetLeftSize + addSize
10080
+ };
10081
+ };
10082
+ }
10083
+ case 'month':
10084
+ {
10085
+ var _indexMaps2 = {};
10086
+ fullCols.forEach(function (_ref3, i) {
10087
+ var dateObj = _ref3.dateObj;
10088
+ var yyyyMM = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toDateString(dateObj.date, 'yyyy-MM');
10089
+ _indexMaps2[yyyyMM] = i;
10090
+ });
10091
+ return function (startValue, endValue) {
10092
+ var startDate = parseStringDate($xeGanttView, startValue);
10093
+ var endDate = parseStringDate($xeGanttView, endValue);
10094
+ var startStr = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toDateString(startDate, 'yyyy-MM');
10095
+ var startFirstDate = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatMonth(startDate, 0, 'first');
10096
+ var endStr = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toDateString(endDate, 'yyyy-MM');
10097
+ var endFirstDate = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatMonth(endDate, 0, 'first');
10098
+ var dateSize = Math.floor((external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatMonth(endDate, 1, 'first').getTime() - endFirstDate.getTime()) / dayMs);
10099
+ var subtract = (startDate.getTime() - startFirstDate.getTime()) / dayMs / dateSize;
10100
+ var addSize = Math.max(0, (endDate.getTime() - endFirstDate.getTime()) / dayMs + 1) / dateSize;
10101
+ var offsetLeftSize = (_indexMaps2[startStr] || 0) + subtract;
10102
+ return {
10103
+ offsetLeftSize: offsetLeftSize,
10104
+ offsetWidthSize: (_indexMaps2[endStr] || 0) - offsetLeftSize + addSize
10105
+ };
10106
+ };
10107
+ }
10108
+ case 'week':
10109
+ {
10110
+ var _indexMaps3 = {};
10111
+ fullCols.forEach(function (_ref4, i) {
10112
+ var dateObj = _ref4.dateObj;
10113
+ var yyyyW = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toDateString(dateObj.date, 'yyyy-W', {
10114
+ firstDay: weekScale ? weekScale.startDay : undefined
10115
+ });
10116
+ _indexMaps3[yyyyW] = i;
10117
+ });
10118
+ return function (startValue, endValue) {
10119
+ var startDate = parseStringDate($xeGanttView, startValue);
10120
+ var endDate = parseStringDate($xeGanttView, endValue);
10121
+ var startStr = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toDateString(startDate, 'yyyy-W', {
10122
+ firstDay: weekScale ? weekScale.startDay : undefined
10123
+ });
10124
+ var startFirstDate = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatWeek(startDate, 0, weekScale ? weekScale.startDay : undefined, weekScale ? weekScale.startDay : undefined);
10125
+ var endStr = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toDateString(endDate, 'yyyy-W', {
10126
+ firstDay: weekScale ? weekScale.startDay : undefined
10127
+ });
10128
+ var endFirstDate = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatWeek(endDate, 0, weekScale ? weekScale.startDay : undefined, weekScale ? weekScale.startDay : undefined);
10129
+ var dateSize = Math.floor((external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatWeek(endDate, 1, weekScale ? weekScale.startDay : undefined, weekScale ? weekScale.startDay : undefined).getTime() - endFirstDate.getTime()) / dayMs);
10130
+ var subtract = (startDate.getTime() - startFirstDate.getTime()) / dayMs / dateSize;
10131
+ var addSize = Math.max(0, (endDate.getTime() - endFirstDate.getTime()) / dayMs + 1) / dateSize;
10132
+ var offsetLeftSize = (_indexMaps3[startStr] || 0) + subtract;
10133
+ return {
10134
+ offsetLeftSize: offsetLeftSize,
10135
+ offsetWidthSize: (_indexMaps3[endStr] || 0) - offsetLeftSize + addSize
10136
+ };
10137
+ };
10138
+ }
10139
+ case 'day':
10140
+ case 'date':
10141
+ {
10142
+ var _indexMaps4 = {};
10143
+ fullCols.forEach(function (_ref5, i) {
10144
+ var dateObj = _ref5.dateObj;
10145
+ var yyyyMM = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toDateString(dateObj.date, 'yyyy-MM-dd');
10146
+ _indexMaps4[yyyyMM] = i;
10147
+ });
10148
+ return function (startValue, endValue) {
10149
+ var startDate = parseStringDate($xeGanttView, startValue);
10150
+ var endDate = parseStringDate($xeGanttView, endValue);
10151
+ var startStr = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toDateString(startDate, 'yyyy-MM-dd');
10152
+ var startFirstDate = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatDay(startDate, 0, 'first');
10153
+ var endStr = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toDateString(endDate, 'yyyy-MM-dd');
10154
+ var endFirstDate = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatDay(endDate, 0, 'first');
10155
+ var minuteSize = Math.floor((external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatDay(endDate, 1, 'first').getTime() - endFirstDate.getTime()) / minuteMs);
10156
+ var subtract = (startDate.getTime() - startFirstDate.getTime()) / minuteMs / minuteSize;
10157
+ var addSize = Math.max(0, (endDate.getTime() - endFirstDate.getTime()) / minuteMs + 1) / minuteSize;
10158
+ var offsetLeftSize = (_indexMaps4[startStr] || 0) + subtract;
10159
+ return {
10160
+ offsetLeftSize: offsetLeftSize,
10161
+ offsetWidthSize: (_indexMaps4[endStr] || 0) - offsetLeftSize + addSize
10162
+ };
10163
+ };
10164
+ }
10165
+ case 'hour':
10166
+ {
10167
+ var _indexMaps5 = {};
10168
+ fullCols.forEach(function (_ref6, i) {
10169
+ var dateObj = _ref6.dateObj;
10170
+ var yyyyMM = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toDateString(dateObj.date, 'yyyy-MM-dd HH');
10171
+ _indexMaps5[yyyyMM] = i;
10172
+ });
10173
+ return function (startValue, endValue) {
10174
+ var startDate = parseStringDate($xeGanttView, startValue);
10175
+ var endDate = parseStringDate($xeGanttView, endValue);
10176
+ var startStr = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toDateString(startDate, 'yyyy-MM-dd HH');
10177
+ var startFirstDate = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatHours(startDate, 0, 'first');
10178
+ var endStr = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toDateString(endDate, 'yyyy-MM-dd HH');
10179
+ var endFirstDate = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatHours(endDate, 0, 'first');
10180
+ var minuteSize = Math.floor((external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatHours(endDate, 1, 'first').getTime() - endFirstDate.getTime()) / minuteMs);
10181
+ var subtract = (startDate.getTime() - startFirstDate.getTime()) / minuteMs / minuteSize;
10182
+ var addSize = Math.max(0, (endDate.getTime() - endFirstDate.getTime()) / minuteMs + 1) / minuteSize;
10183
+ var offsetLeftSize = (_indexMaps5[startStr] || 0) + subtract;
10184
+ return {
10185
+ offsetLeftSize: offsetLeftSize,
10186
+ offsetWidthSize: (_indexMaps5[endStr] || 0) - offsetLeftSize + addSize
10187
+ };
10188
+ };
10189
+ }
10190
+ case 'minute':
10191
+ {
10192
+ var _indexMaps6 = {};
10193
+ fullCols.forEach(function (_ref7, i) {
10194
+ var dateObj = _ref7.dateObj;
10195
+ var yyyyMM = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toDateString(dateObj.date, 'yyyy-MM-dd HH:mm');
10196
+ _indexMaps6[yyyyMM] = i;
10197
+ });
10198
+ return function (startValue, endValue) {
10199
+ var startDate = parseStringDate($xeGanttView, startValue);
10200
+ var endDate = parseStringDate($xeGanttView, endValue);
10201
+ var startStr = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toDateString(startDate, 'yyyy-MM-dd HH:mm');
10202
+ var startFirstDate = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatMinutes(startDate, 0, 'first');
10203
+ var endStr = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toDateString(endDate, 'yyyy-MM-dd HH:mm');
10204
+ var endFirstDate = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatMinutes(endDate, 0, 'first');
10205
+ var minuteSize = Math.floor((external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatMinutes(endDate, 1, 'first').getTime() - endFirstDate.getTime()) / minuteMs);
10206
+ var subtract = (startDate.getTime() - startFirstDate.getTime()) / minuteMs / minuteSize;
10207
+ var addSize = Math.max(0, (endDate.getTime() - endFirstDate.getTime()) / minuteMs + 1) / minuteSize;
10208
+ var offsetLeftSize = (_indexMaps6[startStr] || 0) + subtract;
10209
+ return {
10210
+ offsetLeftSize: offsetLeftSize,
10211
+ offsetWidthSize: (_indexMaps6[endStr] || 0) - offsetLeftSize + addSize
10212
+ };
10213
+ };
10214
+ }
10215
+ case 'second':
10216
+ {
10217
+ var gapTime = getStandardGapTime(minScale.type);
10218
+ return function (startValue, endValue) {
10219
+ var startDate = parseStringDate($xeGanttView, startValue);
10220
+ var endDate = parseStringDate($xeGanttView, endValue);
10221
+ var offsetLeftSize = 0;
10222
+ var offsetWidthSize = 0;
10223
+ if (minViewDate) {
10224
+ offsetLeftSize = (startDate.getTime() - minViewDate.getTime()) / gapTime;
10225
+ offsetWidthSize = (endDate.getTime() - startDate.getTime()) / gapTime + 1;
10226
+ }
10227
+ return {
10228
+ offsetLeftSize: offsetLeftSize,
10229
+ offsetWidthSize: offsetWidthSize
10230
+ };
10231
+ };
10232
+ }
10233
+ }
10234
+ return function () {
10235
+ return {
10236
+ offsetLeftSize: 0,
10237
+ offsetWidthSize: 0
10238
+ };
10239
+ };
10240
+ }
10241
+ function handleParseColumn($xeGanttView) {
10242
+ var $xeGantt = $xeGanttView.$xeGantt;
10243
+ var reactData = $xeGanttView.reactData;
10244
+ var internalData = $xeGanttView.internalData;
10245
+ var ganttProps = $xeGantt;
10246
+ var treeConfig = ganttProps.treeConfig;
10247
+ var minViewDate = reactData.minViewDate,
10248
+ maxViewDate = reactData.maxViewDate;
10249
+ var _handleColumnHeader = handleColumnHeader($xeGanttView),
10250
+ fullCols = _handleColumnHeader.fullCols,
10251
+ groupCols = _handleColumnHeader.groupCols;
10252
+ if (minViewDate && maxViewDate) {
10023
10253
  var $xeTable = internalData.xeTable;
10024
10254
  if ($xeTable) {
10025
10255
  var startField = $xeGantt.computeStartField;
@@ -10035,20 +10265,20 @@ function handleParseColumn($xeGanttView) {
10035
10265
  var transform = treeOpts.transform;
10036
10266
  var childrenField = treeOpts.children || treeOpts.childrenField;
10037
10267
  var ctMaps = {};
10268
+ var renderFn = createChartRender($xeGanttView, fullCols);
10038
10269
  var handleParseRender = function handleParseRender(row) {
10039
10270
  var rowid = $xeTable.getRowid(row);
10040
10271
  var startValue = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, startField);
10041
10272
  var endValue = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, endField);
10042
10273
  if (startValue && endValue) {
10043
- var startDate = parseStringDate($xeGanttView, startValue);
10044
- var endDate = parseStringDate($xeGanttView, endValue);
10045
- var oLeftSize = Math.floor((startDate.getTime() - minViewDate.getTime()) / gapTime);
10046
- var oWidthSize = Math.floor((endDate.getTime() - startDate.getTime()) / gapTime) + 1;
10274
+ var _renderFn = renderFn(startValue, endValue),
10275
+ offsetLeftSize = _renderFn.offsetLeftSize,
10276
+ offsetWidthSize = _renderFn.offsetWidthSize;
10047
10277
  ctMaps[rowid] = {
10048
10278
  row: row,
10049
10279
  rowid: rowid,
10050
- oLeftSize: oLeftSize,
10051
- oWidthSize: oWidthSize
10280
+ oLeftSize: offsetLeftSize,
10281
+ oWidthSize: offsetWidthSize
10052
10282
  };
10053
10283
  }
10054
10284
  };
@@ -10322,10 +10552,10 @@ function _handleLazyRecalculate($xeGanttView) {
10322
10552
  var rceTimeout = internalData.rceTimeout,
10323
10553
  rceRunTime = internalData.rceRunTime;
10324
10554
  var $xeTable = internalData.xeTable;
10325
- var refreshDelay = 50;
10555
+ var refreshDelay = 30;
10326
10556
  if ($xeTable) {
10327
10557
  var resizeOpts = $xeTable.computeResizeOpts;
10328
- refreshDelay = resizeOpts.refreshDelay || 50;
10558
+ refreshDelay = resizeOpts.refreshDelay || refreshDelay;
10329
10559
  }
10330
10560
  if (rceTimeout) {
10331
10561
  clearTimeout(rceTimeout);
@@ -10727,15 +10957,96 @@ function syncTableScrollTop($xeGanttView, scrollTop) {
10727
10957
  internalData: internalData
10728
10958
  };
10729
10959
  },
10730
- computed: _objectSpread2({}, {}),
10960
+ computed: _objectSpread2(_objectSpread2({}, {}), {}, {
10961
+ computeScaleDateList: function computeScaleDateList() {
10962
+ var $xeGanttView = this;
10963
+ var $xeGantt = $xeGanttView.$xeGantt;
10964
+ var reactData = $xeGanttView.reactData;
10965
+ var minViewDate = reactData.minViewDate,
10966
+ maxViewDate = reactData.maxViewDate;
10967
+ var minScale = $xeGantt.computeMinScale;
10968
+ var dateList = [];
10969
+ if (!minViewDate || !maxViewDate) {
10970
+ return dateList;
10971
+ }
10972
+ var startTime = minViewDate.getTime();
10973
+ var endTime = maxViewDate.getTime();
10974
+ switch (minScale.type) {
10975
+ case 'year':
10976
+ {
10977
+ var currDate = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatYear(minViewDate, 0, 'first');
10978
+ while (currDate <= maxViewDate) {
10979
+ var itemDate = currDate;
10980
+ dateList.push(itemDate);
10981
+ currDate = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatYear(currDate, 1);
10982
+ }
10983
+ break;
10984
+ }
10985
+ case 'quarter':
10986
+ {
10987
+ var _currDate = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatQuarter(minViewDate, 0, 'first');
10988
+ while (_currDate <= maxViewDate) {
10989
+ var _itemDate = _currDate;
10990
+ dateList.push(_itemDate);
10991
+ _currDate = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatQuarter(_currDate, 1);
10992
+ }
10993
+ break;
10994
+ }
10995
+ case 'month':
10996
+ {
10997
+ var _currDate2 = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatMonth(minViewDate, 0, 'first');
10998
+ while (_currDate2 <= maxViewDate) {
10999
+ var _itemDate2 = _currDate2;
11000
+ dateList.push(_itemDate2);
11001
+ _currDate2 = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatMonth(_currDate2, 1);
11002
+ }
11003
+ break;
11004
+ }
11005
+ case 'week':
11006
+ {
11007
+ var _currDate3 = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatWeek(minViewDate, 0, minScale.startDay, minScale.startDay);
11008
+ while (_currDate3 <= maxViewDate) {
11009
+ var _itemDate3 = _currDate3;
11010
+ dateList.push(_itemDate3);
11011
+ _currDate3 = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatWeek(_currDate3, 1);
11012
+ }
11013
+ break;
11014
+ }
11015
+ case 'day':
11016
+ case 'date':
11017
+ case 'hour':
11018
+ case 'minute':
11019
+ case 'second':
11020
+ {
11021
+ var gapTime = getStandardGapTime(minScale.type);
11022
+ var currTime = startTime;
11023
+ while (currTime <= endTime) {
11024
+ var _itemDate4 = new Date(currTime);
11025
+ dateList.push(_itemDate4);
11026
+ currTime += gapTime;
11027
+ }
11028
+ break;
11029
+ }
11030
+ }
11031
+ return dateList;
11032
+ }
11033
+ }),
10731
11034
  methods: {
10732
11035
  //
10733
11036
  // Method
10734
11037
  //
10735
11038
  refreshData: function refreshData() {
10736
11039
  var $xeGanttView = this;
11040
+ var internalData = $xeGanttView.internalData;
10737
11041
  handleUpdateData($xeGanttView);
10738
- return _handleLazyRecalculate($xeGanttView);
11042
+ handleRecalculateStyle($xeGanttView);
11043
+ return $xeGanttView.$nextTick().then(function () {
11044
+ var $xeTable = internalData.xeTable;
11045
+ handleRecalculateStyle($xeGanttView);
11046
+ if ($xeTable) {
11047
+ return $xeTable.recalculate();
11048
+ }
11049
+ });
10739
11050
  },
10740
11051
  updateViewData: function updateViewData() {
10741
11052
  var $xeGanttView = this;
@@ -10749,8 +11060,8 @@ function syncTableScrollTop($xeGanttView, scrollTop) {
10749
11060
  }
10750
11061
  return $xeGanttView.$nextTick();
10751
11062
  },
10752
- connectUpdate: function connectUpdate(_ref) {
10753
- var $table = _ref.$table;
11063
+ connectUpdate: function connectUpdate(_ref8) {
11064
+ var $table = _ref8.$table;
10754
11065
  var $xeGanttView = this;
10755
11066
  var internalData = $xeGanttView.internalData;
10756
11067
  if ($table) {
@@ -11104,6 +11415,8 @@ var external_root_VxeUITable_commonjs_vxe_table_commonjs2_vxe_table_amd_vxe_tabl
11104
11415
 
11105
11416
 
11106
11417
 
11418
+
11419
+
11107
11420
 
11108
11421
 
11109
11422
 
@@ -11307,6 +11620,25 @@ function gantt_createInternalData() {
11307
11620
  var props = $xeGantt;
11308
11621
  return Object.assign({}, gantt_getConfig().gantt.taskSplitConfig, props.taskSplitConfig);
11309
11622
  },
11623
+ computeScaleUnit: function computeScaleUnit() {
11624
+ var $xeGantt = this;
11625
+ var minScale = $xeGantt.computeMinScale;
11626
+ return minScale ? minScale.type : 'date';
11627
+ },
11628
+ computeMinScale: function computeMinScale() {
11629
+ var $xeGantt = this;
11630
+ var reactData = $xeGantt.reactData;
11631
+ var taskScaleList = reactData.taskScaleList;
11632
+ return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().last(taskScaleList);
11633
+ },
11634
+ computeWeekScale: function computeWeekScale() {
11635
+ var $xeGantt = this;
11636
+ var reactData = $xeGantt.reactData;
11637
+ var taskScaleList = reactData.taskScaleList;
11638
+ return taskScaleList.find(function (item) {
11639
+ return item.type === 'week';
11640
+ });
11641
+ },
11310
11642
  computeTaskScaleConfs: function computeTaskScaleConfs() {
11311
11643
  var $xeGantt = this;
11312
11644
  var taskViewOpts = $xeGantt.computeTaskViewOpts;
@@ -11573,6 +11905,7 @@ function gantt_createInternalData() {
11573
11905
  computeTaskScaleConfs: function computeTaskScaleConfs() {
11574
11906
  var $xeGantt = this;
11575
11907
  $xeGantt.handleTaskScaleConfig();
11908
+ $xeGantt.refreshTaskView();
11576
11909
  }
11577
11910
  },
11578
11911
  methods: _objectSpread2(_objectSpread2({}, tableMethods), {}, {