dp-widgets-framework 1.6.4 → 1.6.5

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
@@ -44684,9 +44684,11 @@ function WidgetDashboard({
44684
44684
  });
44685
44685
  }
44686
44686
  }, [isEditing, availableWidgets, widgets, pageId, findAvailablePosition]);
44687
+ const [isUserInteracting, setIsUserInteracting] = useState(false);
44687
44688
  const handleLayoutChange = (layout, allLayouts) => {
44688
44689
  if (!isEditing) return;
44689
44690
  setCurrentLayouts(allLayouts);
44691
+ if (!isUserInteracting) return;
44690
44692
  const updatedWidgets = widgets.map((widget) => {
44691
44693
  const layoutItem = layout.find((item) => item.i === widget.id);
44692
44694
  if (layoutItem) {
@@ -44701,6 +44703,46 @@ function WidgetDashboard({
44701
44703
  });
44702
44704
  setWidgets(updatedWidgets);
44703
44705
  };
44706
+ const handleDragStart = () => {
44707
+ setIsUserInteracting(true);
44708
+ };
44709
+ const handleDragStop = (layout) => {
44710
+ if (!isEditing) return;
44711
+ const updatedWidgets = widgets.map((widget) => {
44712
+ const layoutItem = layout.find((item) => item.i === widget.id);
44713
+ if (layoutItem) {
44714
+ return __spreadProps$1(__spreadValues$1({}, widget), {
44715
+ position_x: layoutItem.x,
44716
+ position_y: layoutItem.y,
44717
+ width: layoutItem.w,
44718
+ height: layoutItem.h
44719
+ });
44720
+ }
44721
+ return widget;
44722
+ });
44723
+ setWidgets(updatedWidgets);
44724
+ setIsUserInteracting(false);
44725
+ };
44726
+ const handleResizeStart = () => {
44727
+ setIsUserInteracting(true);
44728
+ };
44729
+ const handleResizeStop = (layout) => {
44730
+ if (!isEditing) return;
44731
+ const updatedWidgets = widgets.map((widget) => {
44732
+ const layoutItem = layout.find((item) => item.i === widget.id);
44733
+ if (layoutItem) {
44734
+ return __spreadProps$1(__spreadValues$1({}, widget), {
44735
+ position_x: layoutItem.x,
44736
+ position_y: layoutItem.y,
44737
+ width: layoutItem.w,
44738
+ height: layoutItem.h
44739
+ });
44740
+ }
44741
+ return widget;
44742
+ });
44743
+ setWidgets(updatedWidgets);
44744
+ setIsUserInteracting(false);
44745
+ };
44704
44746
  const getLayoutFromWidgets = () => {
44705
44747
  const processedIds = /* @__PURE__ */ new Set();
44706
44748
  return widgets.filter((widget) => {
@@ -44786,6 +44828,10 @@ function WidgetDashboard({
44786
44828
  isResizable: isEditing,
44787
44829
  draggableHandle: ".drag-icon",
44788
44830
  onLayoutChange: handleLayoutChange,
44831
+ onDragStart: handleDragStart,
44832
+ onDragStop: handleDragStop,
44833
+ onResizeStart: handleResizeStart,
44834
+ onResizeStop: handleResizeStop,
44789
44835
  compactType: "vertical",
44790
44836
  containerPadding: [0, 0],
44791
44837
  margin: [16, 16],
package/dist/index.js CHANGED
@@ -44711,9 +44711,11 @@ function WidgetDashboard({
44711
44711
  });
44712
44712
  }
44713
44713
  }, [isEditing, availableWidgets, widgets, pageId, findAvailablePosition]);
44714
+ const [isUserInteracting, setIsUserInteracting] = React.useState(false);
44714
44715
  const handleLayoutChange = (layout, allLayouts) => {
44715
44716
  if (!isEditing) return;
44716
44717
  setCurrentLayouts(allLayouts);
44718
+ if (!isUserInteracting) return;
44717
44719
  const updatedWidgets = widgets.map((widget) => {
44718
44720
  const layoutItem = layout.find((item) => item.i === widget.id);
44719
44721
  if (layoutItem) {
@@ -44728,6 +44730,46 @@ function WidgetDashboard({
44728
44730
  });
44729
44731
  setWidgets(updatedWidgets);
44730
44732
  };
44733
+ const handleDragStart = () => {
44734
+ setIsUserInteracting(true);
44735
+ };
44736
+ const handleDragStop = (layout) => {
44737
+ if (!isEditing) return;
44738
+ const updatedWidgets = widgets.map((widget) => {
44739
+ const layoutItem = layout.find((item) => item.i === widget.id);
44740
+ if (layoutItem) {
44741
+ return __spreadProps$1(__spreadValues$1({}, widget), {
44742
+ position_x: layoutItem.x,
44743
+ position_y: layoutItem.y,
44744
+ width: layoutItem.w,
44745
+ height: layoutItem.h
44746
+ });
44747
+ }
44748
+ return widget;
44749
+ });
44750
+ setWidgets(updatedWidgets);
44751
+ setIsUserInteracting(false);
44752
+ };
44753
+ const handleResizeStart = () => {
44754
+ setIsUserInteracting(true);
44755
+ };
44756
+ const handleResizeStop = (layout) => {
44757
+ if (!isEditing) return;
44758
+ const updatedWidgets = widgets.map((widget) => {
44759
+ const layoutItem = layout.find((item) => item.i === widget.id);
44760
+ if (layoutItem) {
44761
+ return __spreadProps$1(__spreadValues$1({}, widget), {
44762
+ position_x: layoutItem.x,
44763
+ position_y: layoutItem.y,
44764
+ width: layoutItem.w,
44765
+ height: layoutItem.h
44766
+ });
44767
+ }
44768
+ return widget;
44769
+ });
44770
+ setWidgets(updatedWidgets);
44771
+ setIsUserInteracting(false);
44772
+ };
44731
44773
  const getLayoutFromWidgets = () => {
44732
44774
  const processedIds = /* @__PURE__ */ new Set();
44733
44775
  return widgets.filter((widget) => {
@@ -44813,6 +44855,10 @@ function WidgetDashboard({
44813
44855
  isResizable: isEditing,
44814
44856
  draggableHandle: ".drag-icon",
44815
44857
  onLayoutChange: handleLayoutChange,
44858
+ onDragStart: handleDragStart,
44859
+ onDragStop: handleDragStop,
44860
+ onResizeStart: handleResizeStart,
44861
+ onResizeStop: handleResizeStop,
44816
44862
  compactType: "vertical",
44817
44863
  containerPadding: [0, 0],
44818
44864
  margin: [16, 16],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dp-widgets-framework",
3
- "version": "1.6.4",
3
+ "version": "1.6.5",
4
4
  "private": false,
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org"