vxe-gantt 3.0.8 → 3.0.10

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
@@ -7643,7 +7643,7 @@ var core_ = __webpack_require__(4345);
7643
7643
  ;// CONCATENATED MODULE: ./packages/ui/src/log.ts
7644
7644
 
7645
7645
  var log = core_.VxeUI.log;
7646
- var version = "gantt v".concat("3.0.8");
7646
+ var version = "gantt v".concat("3.0.10");
7647
7647
  var warnLog = log.create('warn', version);
7648
7648
  var errLog = log.create('error', version);
7649
7649
  ;// CONCATENATED MODULE: ./packages/ui/index.ts
@@ -7653,7 +7653,7 @@ var errLog = log.create('error', version);
7653
7653
  var setConfig = core_.VxeUI.setConfig,
7654
7654
  setIcon = core_.VxeUI.setIcon,
7655
7655
  checkVersion = core_.VxeUI.checkVersion;
7656
- core_.VxeUI.ganttVersion = "3.0.8";
7656
+ core_.VxeUI.ganttVersion = "3.0.10";
7657
7657
  setConfig({
7658
7658
  gantt: {
7659
7659
  // size: null,
@@ -7697,6 +7697,9 @@ setConfig({
7697
7697
  startDay: 1
7698
7698
  }
7699
7699
  },
7700
+ taskViewConfig: {
7701
+ showNowLine: true
7702
+ },
7700
7703
  taskSplitConfig: {
7701
7704
  enabled: true,
7702
7705
  resize: true,
@@ -8426,6 +8429,7 @@ function getCellRestHeight(rowRest, cellOpts, rowOpts, defaultRowHeight) {
8426
8429
 
8427
8430
 
8428
8431
 
8432
+
8429
8433
  var getI18n = core_.VxeUI.getI18n;
8430
8434
  /* harmony default export */ var gantt_header = (defineVxeComponent({
8431
8435
  name: 'VxeGanttViewHeader',
@@ -8450,7 +8454,10 @@ var getI18n = core_.VxeUI.getI18n;
8450
8454
  var internalData = $xeGanttView.internalData;
8451
8455
  var headerGroups = reactData.headerGroups,
8452
8456
  viewCellWidth = reactData.viewCellWidth;
8453
- var visibleColumn = internalData.visibleColumn;
8457
+ var todayDateMaps = internalData.todayDateMaps,
8458
+ visibleColumn = internalData.visibleColumn;
8459
+ var taskViewOpts = $xeGantt.computeTaskViewOpts;
8460
+ var showNowLine = taskViewOpts.showNowLine;
8454
8461
  return h('div', {
8455
8462
  ref: 'refElem',
8456
8463
  class: 'vxe-gantt-view--header-wrapper'
@@ -8478,12 +8485,15 @@ var getI18n = core_.VxeUI.getI18n;
8478
8485
  columns = _ref.columns;
8479
8486
  var type = scaleItem.type,
8480
8487
  titleMethod = scaleItem.titleMethod,
8488
+ headerCellStyle = scaleItem.headerCellStyle,
8481
8489
  slots = scaleItem.slots;
8482
8490
  var titleSlot = slots ? slots.title : null;
8491
+ var todayValue = showNowLine && $rowIndex === headerGroups.length - 1 ? todayDateMaps[type] : null;
8483
8492
  return h('tr', {
8484
8493
  key: $rowIndex
8485
8494
  }, columns.map(function (column, cIndex) {
8486
- var childCount = column.childCount,
8495
+ var field = column.field,
8496
+ childCount = column.childCount,
8487
8497
  dateObj = column.dateObj;
8488
8498
  var label = "".concat(column.title);
8489
8499
  if ($rowIndex < headerGroups.length - 1) {
@@ -8505,13 +8515,24 @@ var getI18n = core_.VxeUI.getI18n;
8505
8515
  } else if (titleMethod) {
8506
8516
  cellVNs = "".concat(titleMethod(ctParams));
8507
8517
  }
8518
+ var cellStys = {};
8519
+ if (headerCellStyle) {
8520
+ if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(headerCellStyle)) {
8521
+ cellStys = headerCellStyle(ctParams);
8522
+ } else {
8523
+ cellStys = headerCellStyle;
8524
+ }
8525
+ }
8508
8526
  return h('th', {
8509
8527
  key: cIndex,
8510
- class: 'vxe-gantt-view--header-column',
8528
+ class: ['vxe-gantt-view--header-column', {
8529
+ 'is--now': showNowLine && todayValue && todayValue === field
8530
+ }],
8511
8531
  attrs: {
8512
8532
  colspan: childCount || null,
8513
8533
  title: titleSlot ? null : label
8514
- }
8534
+ },
8535
+ style: cellStys
8515
8536
  }, cellVNs);
8516
8537
  }));
8517
8538
  }))])])]);
@@ -8756,7 +8777,10 @@ var renderEmptyElement = core_.VxeUI.renderEmptyElement;
8756
8777
  //
8757
8778
  renderColumn: function renderColumn(h, $xeTable, row, rowid, rowIndex, $rowIndex, _rowIndex, column, $columnIndex) {
8758
8779
  var _vm = this;
8780
+ var $xeGanttView = _vm.$xeGanttView;
8759
8781
  var $xeGantt = _vm.$xeGantt;
8782
+ var reactData = $xeGanttView.reactData,
8783
+ internalData = $xeGanttView.internalData;
8760
8784
  var tableReactData = $xeTable;
8761
8785
  var resizeHeightFlag = tableReactData.resizeHeightFlag;
8762
8786
  var tableInternalData = $xeTable;
@@ -8767,6 +8791,14 @@ var renderEmptyElement = core_.VxeUI.renderEmptyElement;
8767
8791
  var defaultRowHeight = $xeTable.computeDefaultRowHeight;
8768
8792
  var resizableOpts = $xeTable.computeResizableOpts;
8769
8793
  var isAllRowDrag = resizableOpts.isAllRowDrag;
8794
+ var headerGroups = reactData.headerGroups;
8795
+ var todayDateMaps = internalData.todayDateMaps;
8796
+ var taskViewOpts = $xeGantt.computeTaskViewOpts;
8797
+ var showNowLine = taskViewOpts.showNowLine;
8798
+ var _ref = headerGroups[headerGroups.length - 1] || {},
8799
+ scaleItem = _ref.scaleItem;
8800
+ var field = column.field;
8801
+ var todayValue = showNowLine && scaleItem ? todayDateMaps[scaleItem.type] : null;
8770
8802
  var rowRest = fullAllDataRowIdData[rowid] || {};
8771
8803
  var resizeHeight = resizeHeightFlag ? rowRest.resizeHeight : 0;
8772
8804
  var isRsHeight = resizeHeight > 0;
@@ -8812,6 +8844,7 @@ var renderEmptyElement = core_.VxeUI.renderEmptyElement;
8812
8844
  return h('td', {
8813
8845
  key: $columnIndex,
8814
8846
  class: ['vxe-gantt-view--body-column', {
8847
+ 'is--now': showNowLine && todayValue === field,
8815
8848
  'col--rs-height': isRsHeight
8816
8849
  }],
8817
8850
  style: {
@@ -9063,6 +9096,7 @@ function createInternalData() {
9063
9096
  startMaps: {},
9064
9097
  endMaps: {},
9065
9098
  chartMaps: {},
9099
+ todayDateMaps: {},
9066
9100
  elemStore: {},
9067
9101
  // 存放横向 X 虚拟滚动相关的信息
9068
9102
  scrollXStore: {
@@ -9087,6 +9121,39 @@ function parseStringDate($xeGanttView, dateValue) {
9087
9121
  var dateFormat = taskOpts.dateFormat;
9088
9122
  return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toStringDate(dateValue, dateFormat || null);
9089
9123
  }
9124
+ function updateTodayData($xeGanttView) {
9125
+ var $xeGantt = $xeGanttView.$xeGantt;
9126
+ var internalData = $xeGanttView.internalData;
9127
+ var ganttReactData = $xeGantt.reactData;
9128
+ var taskScaleList = ganttReactData.taskScaleList;
9129
+ var weekScale = taskScaleList.find(function (item) {
9130
+ return item.type === 'week';
9131
+ });
9132
+ var itemDate = new Date();
9133
+ var _XEUtils$toDateString = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toDateString(itemDate, 'yyyy-M-d-H-m-s').split('-'),
9134
+ _XEUtils$toDateString2 = _slicedToArray(_XEUtils$toDateString, 6),
9135
+ yyyy = _XEUtils$toDateString2[0],
9136
+ MM = _XEUtils$toDateString2[1],
9137
+ dd = _XEUtils$toDateString2[2],
9138
+ HH = _XEUtils$toDateString2[3],
9139
+ mm = _XEUtils$toDateString2[4],
9140
+ ss = _XEUtils$toDateString2[5];
9141
+ var e = itemDate.getDay();
9142
+ var E = e + 1;
9143
+ var q = Math.ceil((itemDate.getMonth() + 1) / 3);
9144
+ var W = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getYearWeek(itemDate, weekScale ? weekScale.startDay : undefined);
9145
+ internalData.todayDateMaps = {
9146
+ year: yyyy,
9147
+ quarter: "".concat(yyyy, "_q").concat(q),
9148
+ month: "".concat(yyyy, "_").concat(MM),
9149
+ week: "".concat(yyyy, "_W").concat(W),
9150
+ day: "".concat(yyyy, "_").concat(MM, "_").concat(dd, "_E").concat(E),
9151
+ date: "".concat(yyyy, "_").concat(MM, "_").concat(dd),
9152
+ hour: "".concat(yyyy, "_").concat(MM, "_").concat(dd, "_").concat(HH),
9153
+ minute: "".concat(yyyy, "_").concat(MM, "_").concat(dd, "_").concat(HH, "_").concat(mm),
9154
+ second: "".concat(yyyy, "_").concat(MM, "_").concat(dd, "_").concat(HH, "_").concat(mm, "_").concat(ss)
9155
+ };
9156
+ }
9090
9157
  function handleParseColumn($xeGanttView) {
9091
9158
  var $xeGantt = $xeGanttView.$xeGantt;
9092
9159
  var reactData = $xeGanttView.reactData;
@@ -9124,37 +9191,6 @@ function handleParseColumn($xeGanttView) {
9124
9191
  var currTime = minViewDate.getTime();
9125
9192
  var diffDayNum = maxViewDate.getTime() - minViewDate.getTime();
9126
9193
  var countSize = Math.max(5, Math.floor(diffDayNum / gapTime) + 1);
9127
- // switch (minScale.type) {
9128
- // case 'day':
9129
- // case 'date':
9130
- // if (diffDayNum > (1000 * 60 * 60 * 24 * 366 * 3)) {
9131
- // reactData.tableColumn = []
9132
- // reactData.headerGroups = []
9133
- // return
9134
- // }
9135
- // break
9136
- // case 'hour':
9137
- // if (diffDayNum > (1000 * 60 * 60 * 24 * 31 * 3)) {
9138
- // reactData.tableColumn = []
9139
- // reactData.headerGroups = []
9140
- // return
9141
- // }
9142
- // break
9143
- // case 'minute':
9144
- // if (diffDayNum > (1000 * 60 * 60 * 24 * 3)) {
9145
- // reactData.tableColumn = []
9146
- // reactData.headerGroups = []
9147
- // return
9148
- // }
9149
- // break
9150
- // case 'second':
9151
- // if (diffDayNum > (1000 * 60 * 60 * 3)) {
9152
- // reactData.tableColumn = []
9153
- // reactData.headerGroups = []
9154
- // return
9155
- // }
9156
- // break
9157
- // }
9158
9194
  var renderListMaps = {
9159
9195
  year: [],
9160
9196
  quarter: [],
@@ -9198,14 +9234,14 @@ function handleParseColumn($xeGanttView) {
9198
9234
  };
9199
9235
  for (var i = 0; i < countSize; i++) {
9200
9236
  var itemDate = new Date(currTime + i * gapTime);
9201
- var _XEUtils$toDateString = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toDateString(itemDate, 'yyyy-M-d-H-m-s').split('-'),
9202
- _XEUtils$toDateString2 = _slicedToArray(_XEUtils$toDateString, 6),
9203
- yyyy = _XEUtils$toDateString2[0],
9204
- MM = _XEUtils$toDateString2[1],
9205
- dd = _XEUtils$toDateString2[2],
9206
- HH = _XEUtils$toDateString2[3],
9207
- mm = _XEUtils$toDateString2[4],
9208
- ss = _XEUtils$toDateString2[5];
9237
+ 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('-'),
9238
+ _XEUtils$toDateString4 = _slicedToArray(_XEUtils$toDateString3, 6),
9239
+ yyyy = _XEUtils$toDateString4[0],
9240
+ MM = _XEUtils$toDateString4[1],
9241
+ dd = _XEUtils$toDateString4[2],
9242
+ HH = _XEUtils$toDateString4[3],
9243
+ mm = _XEUtils$toDateString4[4],
9244
+ ss = _XEUtils$toDateString4[5];
9209
9245
  var e = itemDate.getDay();
9210
9246
  var E = e + 1;
9211
9247
  var q = Math.ceil((itemDate.getMonth() + 1) / 3);
@@ -9369,6 +9405,7 @@ function handleParseColumn($xeGanttView) {
9369
9405
  }
9370
9406
  internalData.visibleColumn = fullCols;
9371
9407
  reactData.headerGroups = groupCols;
9408
+ updateTodayData($xeGanttView);
9372
9409
  updateScrollXStatus($xeGanttView);
9373
9410
  handleTableColumn($xeGanttView);
9374
9411
  }