@trops/dash-core 0.1.144 → 0.1.146

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.esm.js CHANGED
@@ -19861,9 +19861,11 @@ function _unsupportedIterableToArray$7(r, a) { if (r) { if ("string" == typeof r
19861
19861
  function _arrayLikeToArray$7(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
19862
19862
  function ownKeys$l(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
19863
19863
  function _objectSpread$l(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$l(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$l(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
19864
- var DraggableCellBody = function DraggableCellBody(_ref) {
19864
+ var DraggableDroppableCellBody = function DraggableDroppableCellBody(_ref) {
19865
19865
  var cellNumber = _ref.cellNumber,
19866
19866
  gridContainerId = _ref.gridContainerId,
19867
+ onMoveWidgetToCell = _ref.onMoveWidgetToCell,
19868
+ hasSpan = _ref.hasSpan,
19867
19869
  children = _ref.children,
19868
19870
  padding = _ref.padding;
19869
19871
  var _useDrag = useDrag(function () {
@@ -19871,7 +19873,8 @@ var DraggableCellBody = function DraggableCellBody(_ref) {
19871
19873
  type: GRID_CELL_WIDGET_TYPE,
19872
19874
  item: {
19873
19875
  cellNumber: cellNumber,
19874
- gridContainerId: gridContainerId
19876
+ gridContainerId: gridContainerId,
19877
+ hasSpan: hasSpan
19875
19878
  },
19876
19879
  collect: function collect(monitor) {
19877
19880
  return {
@@ -19879,17 +19882,50 @@ var DraggableCellBody = function DraggableCellBody(_ref) {
19879
19882
  };
19880
19883
  }
19881
19884
  };
19882
- }, [cellNumber, gridContainerId]),
19885
+ }, [cellNumber, gridContainerId, hasSpan]),
19883
19886
  _useDrag2 = _slicedToArray(_useDrag, 2),
19884
19887
  isDragging = _useDrag2[0].isDragging,
19885
19888
  drag = _useDrag2[1];
19886
- return /*#__PURE__*/jsx("div", {
19887
- ref: drag,
19888
- className: "flex-1 min-h-0 overflow-auto ".concat(padding, " ").concat(isDragging ? "opacity-30" : ""),
19889
+ var _useDrop = useDrop(function () {
19890
+ return {
19891
+ accept: GRID_CELL_WIDGET_TYPE,
19892
+ canDrop: function canDrop(dragItem) {
19893
+ if (dragItem.gridContainerId !== gridContainerId) return false;
19894
+ if (dragItem.cellNumber === cellNumber) return false;
19895
+ if (dragItem.hasSpan || hasSpan) return false;
19896
+ return true;
19897
+ },
19898
+ drop: function drop(dragItem) {
19899
+ if (onMoveWidgetToCell) onMoveWidgetToCell(gridContainerId, dragItem.cellNumber, cellNumber);
19900
+ },
19901
+ collect: function collect(monitor) {
19902
+ return {
19903
+ isOver: monitor.isOver(),
19904
+ canDrop: monitor.canDrop()
19905
+ };
19906
+ }
19907
+ };
19908
+ }, [cellNumber, gridContainerId, onMoveWidgetToCell, hasSpan]),
19909
+ _useDrop2 = _slicedToArray(_useDrop, 2),
19910
+ _useDrop2$ = _useDrop2[0],
19911
+ isOver = _useDrop2$.isOver,
19912
+ canDrop = _useDrop2$.canDrop,
19913
+ drop = _useDrop2[1];
19914
+ return /*#__PURE__*/jsxs("div", {
19915
+ ref: function ref(node) {
19916
+ return drag(drop(node));
19917
+ },
19918
+ className: "flex-1 min-h-0 overflow-auto ".concat(padding, " ").concat(isDragging ? "opacity-30" : "", " ").concat(isOver && canDrop ? "ring-2 ring-blue-500 ring-inset" : ""),
19889
19919
  style: {
19890
19920
  cursor: "grab"
19891
19921
  },
19892
- children: children
19922
+ children: [children, isOver && canDrop && /*#__PURE__*/jsx("div", {
19923
+ className: "absolute inset-0 flex items-center justify-center bg-blue-600/30 rounded pointer-events-none",
19924
+ children: /*#__PURE__*/jsx("span", {
19925
+ className: "text-sm font-bold text-blue-200",
19926
+ children: "Swap"
19927
+ })
19928
+ })]
19893
19929
  });
19894
19930
  };
19895
19931
  var DroppableEmptyCell = function DroppableEmptyCell(_ref2) {
@@ -19898,7 +19934,7 @@ var DroppableEmptyCell = function DroppableEmptyCell(_ref2) {
19898
19934
  onMoveWidgetToCell = _ref2.onMoveWidgetToCell,
19899
19935
  onDropWidgetFromSidebar = _ref2.onDropWidgetFromSidebar,
19900
19936
  children = _ref2.children;
19901
- var _useDrop = useDrop(function () {
19937
+ var _useDrop3 = useDrop(function () {
19902
19938
  return {
19903
19939
  accept: [GRID_CELL_WIDGET_TYPE, SIDEBAR_WIDGET_TYPE],
19904
19940
  canDrop: function canDrop(dragItem, monitor) {
@@ -19922,11 +19958,11 @@ var DroppableEmptyCell = function DroppableEmptyCell(_ref2) {
19922
19958
  }
19923
19959
  };
19924
19960
  }, [cellNumber, gridContainerId, onMoveWidgetToCell, onDropWidgetFromSidebar]),
19925
- _useDrop2 = _slicedToArray(_useDrop, 2),
19926
- _useDrop2$ = _useDrop2[0],
19927
- isOver = _useDrop2$.isOver,
19928
- canDrop = _useDrop2$.canDrop,
19929
- drop = _useDrop2[1];
19961
+ _useDrop4 = _slicedToArray(_useDrop3, 2),
19962
+ _useDrop4$ = _useDrop4[0],
19963
+ isOver = _useDrop4$.isOver,
19964
+ canDrop = _useDrop4$.canDrop,
19965
+ drop = _useDrop4[1];
19930
19966
  return /*#__PURE__*/jsxs("div", {
19931
19967
  ref: drop,
19932
19968
  className: "flex-1 min-h-0 relative flex flex-col ".concat(isOver && canDrop ? "ring-2 ring-green-500 ring-inset bg-green-900/20" : ""),
@@ -20956,9 +20992,11 @@ var LayoutGridContainer = /*#__PURE__*/memo(function (_ref3) {
20956
20992
  onDelete: cellComponent ? function () {
20957
20993
  if (onClickRemove) onClickRemove(cellComponent.id);
20958
20994
  } : undefined
20959
- }), cellComponent && isWidgetResolvable(cellComponent.component) ? /*#__PURE__*/jsx(DraggableCellBody, {
20995
+ }), cellComponent && isWidgetResolvable(cellComponent.component) ? /*#__PURE__*/jsx(DraggableDroppableCellBody, {
20960
20996
  cellNumber: cellNumber,
20961
20997
  gridContainerId: id,
20998
+ onMoveWidgetToCell: onMoveWidgetToCell,
20999
+ hasSpan: !!(cellDef.span && (cellDef.span.row && cellDef.span.row > 1 || cellDef.span.col && cellDef.span.col > 1)),
20962
21000
  padding: "p-3",
20963
21001
  children: renderedWidget
20964
21002
  }) : /*#__PURE__*/jsx(DroppableEmptyCell, {
@@ -24729,8 +24767,9 @@ var DashboardModel = /*#__PURE__*/function () {
24729
24767
  var gridContainer = this.getComponentById(itemId);
24730
24768
  var grid = gridContainer.grid;
24731
24769
  var componentId = grid[sourceCellNumber].component;
24770
+ var targetComponentId = grid[targetCellNumber].component;
24732
24771
  grid[targetCellNumber].component = componentId;
24733
- grid[sourceCellNumber].component = null;
24772
+ grid[sourceCellNumber].component = targetComponentId;
24734
24773
  this.updateLayoutItem(gridContainer);
24735
24774
  }
24736
24775
  }, {