ywana-core8 0.1.11 → 0.1.12

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/dist/index.cjs CHANGED
@@ -5945,6 +5945,7 @@ var Planner2 = function Planner2(_ref) {
5945
5945
  rowHeaderTitle = _ref.rowHeaderTitle,
5946
5946
  EventRenderer = _ref.EventRenderer,
5947
5947
  onSelectCell = _ref.onSelectCell,
5948
+ onCellDrop = _ref.onCellDrop,
5948
5949
  _ref$hideEmptyRows = _ref.hideEmptyRows,
5949
5950
  hideEmptyRows = _ref$hideEmptyRows === void 0 ? false : _ref$hideEmptyRows;
5950
5951
  var _useState = React.useState([]),
@@ -5952,6 +5953,9 @@ var Planner2 = function Planner2(_ref) {
5952
5953
  setDays = _useState[1];
5953
5954
  var lastDay = new Date(to);
5954
5955
  var today = new Date();
5956
+ var _useState2 = React.useState(null),
5957
+ dragOverCell = _useState2[0],
5958
+ setDragOverCell = _useState2[1];
5955
5959
  React.useEffect(function () {
5956
5960
  var day = new Date(from);
5957
5961
  var nextDays = [];
@@ -5987,11 +5991,28 @@ var Planner2 = function Planner2(_ref) {
5987
5991
  function selectCell(cell) {
5988
5992
  if (onSelectCell) onSelectCell(cell);
5989
5993
  }
5990
- function drop() {
5991
- //TODO
5994
+ function onDragOver(event) {
5995
+ event.preventDefault();
5996
+ setDragOverCell(event.target.id);
5997
+ }
5998
+ function onDragLeave(event) {
5999
+ event.preventDefault();
6000
+ setDragOverCell(null);
6001
+ }
6002
+ function drop(event, _ref2) {
6003
+ var lane = _ref2.lane,
6004
+ date = _ref2.date;
6005
+ event.preventDefault();
6006
+ var data = event.dataTransfer.getData("text");
6007
+ if (onCellDrop) onCellDrop({
6008
+ data: data,
6009
+ lane: lane,
6010
+ date: date
6011
+ });
6012
+ setDragOverCell(null);
5992
6013
  }
5993
- var uniqueMonths = Array.from(new Set(days.map(function (_ref2) {
5994
- var month = _ref2.month;
6014
+ var uniqueMonths = Array.from(new Set(days.map(function (_ref3) {
6015
+ var month = _ref3.month;
5995
6016
  return month;
5996
6017
  })));
5997
6018
  var monthWidths = uniqueMonths.map(function (month) {
@@ -6038,15 +6059,15 @@ var Planner2 = function Planner2(_ref) {
6038
6059
  minWidth: rowHeaderWidth + "rem",
6039
6060
  maxWidth: rowHeaderWidth + "rem"
6040
6061
  }
6041
- }, rowHeaderTitle), days.map(function (_ref3) {
6042
- var day = _ref3.day,
6043
- weekday = _ref3.weekday,
6044
- month = _ref3.month,
6045
- _ref3$isToday = _ref3.isToday,
6046
- isToday = _ref3$isToday === void 0 ? false : _ref3$isToday,
6047
- _ref3$isWeekend = _ref3.isWeekend,
6048
- isWeekend = _ref3$isWeekend === void 0 ? false : _ref3$isWeekend,
6049
- isInCurrentWeek = _ref3.isInCurrentWeek;
6062
+ }, rowHeaderTitle), days.map(function (_ref4) {
6063
+ var day = _ref4.day,
6064
+ weekday = _ref4.weekday,
6065
+ month = _ref4.month,
6066
+ _ref4$isToday = _ref4.isToday,
6067
+ isToday = _ref4$isToday === void 0 ? false : _ref4$isToday,
6068
+ _ref4$isWeekend = _ref4.isWeekend,
6069
+ isWeekend = _ref4$isWeekend === void 0 ? false : _ref4$isWeekend,
6070
+ isInCurrentWeek = _ref4.isInCurrentWeek;
6050
6071
  var todayClass = isToday ? 'today' : '';
6051
6072
  var weekendClass = isWeekend ? 'weekend' : '';
6052
6073
  var currentWeekClass = isInCurrentWeek ? 'current-week' : '';
@@ -6070,10 +6091,10 @@ var Planner2 = function Planner2(_ref) {
6070
6091
  if (laneEvents.length === 0) return null;
6071
6092
 
6072
6093
  // find days with event for this lane in the period
6073
- var daysWithEvents = days.filter(function (_ref4) {
6074
- var day = _ref4.day,
6075
- monthNum = _ref4.monthNum,
6076
- year = _ref4.year;
6094
+ var daysWithEvents = days.filter(function (_ref5) {
6095
+ var day = _ref5.day,
6096
+ monthNum = _ref5.monthNum,
6097
+ year = _ref5.year;
6077
6098
  return laneEvents.find(function (event) {
6078
6099
  var eventDate = new Date(event.date);
6079
6100
  return eventDate.getDate() === day && eventDate.getMonth() === monthNum - 1 && eventDate.getFullYear() === year;
@@ -6084,6 +6105,7 @@ var Planner2 = function Planner2(_ref) {
6084
6105
  if (daysWithEvents.length === 0) return null;
6085
6106
  }
6086
6107
  return /*#__PURE__*/React__default["default"].createElement("div", {
6108
+ key: "content-row-" + index,
6087
6109
  className: "content-row " + lane.className,
6088
6110
  style: {
6089
6111
  width: totalDaysWidth + "rem"
@@ -6094,21 +6116,23 @@ var Planner2 = function Planner2(_ref) {
6094
6116
  minWidth: rowHeaderWidth + "rem",
6095
6117
  maxWidth: rowHeaderWidth + "rem"
6096
6118
  }
6097
- }, lane.title), days.map(function (_ref5) {
6098
- var day = _ref5.day,
6099
- month = _ref5.month,
6100
- monthNum = _ref5.monthNum,
6101
- year = _ref5.year,
6102
- isWeekend = _ref5.isWeekend;
6119
+ }, lane.title), days.map(function (_ref6) {
6120
+ var day = _ref6.day,
6121
+ month = _ref6.month,
6122
+ monthNum = _ref6.monthNum,
6123
+ year = _ref6.year,
6124
+ isWeekend = _ref6.isWeekend;
6103
6125
  var dayDate = new Date(year, monthNum - 1, day);
6104
6126
  var dayEvents = laneEvents.filter(function (event) {
6105
6127
  var eventDate = new Date(event.date);
6106
6128
  return eventDate.getDate() === dayDate.getDate() && eventDate.getMonth() === dayDate.getMonth() && eventDate.getFullYear() === dayDate.getFullYear();
6107
6129
  });
6108
6130
  var weekendClass = isWeekend ? 'weekend' : '';
6131
+ var dragOverStyle = dragOverCell === "cell" + index + "_" + year + "-" + month + "-" + day ? 'drag-over' : '';
6109
6132
  return /*#__PURE__*/React__default["default"].createElement("div", {
6133
+ id: "cell" + index + "_" + year + "-" + month + "-" + day,
6110
6134
  key: "content" + index + "_" + year + "-" + month + "-" + day,
6111
- className: "content-cell " + weekendClass,
6135
+ className: "content-cell " + weekendClass + " " + dragOverStyle,
6112
6136
  style: {
6113
6137
  minWidth: dayWidth,
6114
6138
  maxWidth: dayWidth
@@ -6119,7 +6143,14 @@ var Planner2 = function Planner2(_ref) {
6119
6143
  date: dayDate
6120
6144
  });
6121
6145
  },
6122
- onDrop: drop
6146
+ onDragOver: onDragOver,
6147
+ onDragLeave: onDragLeave,
6148
+ onDrop: function onDrop(event) {
6149
+ return drop(event, {
6150
+ lane: lane.id,
6151
+ date: dayDate
6152
+ });
6153
+ }
6123
6154
  }, dayEvents.map(function (event, index) {
6124
6155
  return /*#__PURE__*/React__default["default"].createElement(EventRenderer, {
6125
6156
  key: event.id + "-" + index,