浏览代码

修复dragend bug

Z F 7 年之前
父节点
当前提交
4a6e3c93eb

文件差异内容过多而无法显示
+ 0 - 0
build/react-dragger-layout.js


+ 4 - 4
dist/example/HistoryLayout/HistoryLayout.js

@@ -66,13 +66,13 @@ var HistoryDragact = /** @class */ (function (_super) {
             _this._actionsHistory = _this._actionsHistory.slice(0, 1);
             _this._changeDragactLayouts(_this._actionsHistory[0]);
         };
-        _this.onDragStart = function (event) {
+        _this.onDragStart = function (event, currentLayout) {
             _this._cacheCurrentLayoutStart(event);
-            _this.props.onDragStart && _this.props.onDragStart(event);
+            _this.props.onDragStart && _this.props.onDragStart(event, currentLayout);
         };
-        _this.onDragEnd = function (event) {
+        _this.onDragEnd = function (event, currentLayout) {
             _this._cacheCurrentLayoutEnd(event);
-            _this.props.onDragEnd && _this.props.onDragEnd(event);
+            _this.props.onDragEnd && _this.props.onDragEnd(event, currentLayout);
         };
         _this._changeDragactLayouts = function (snapshot) {
             if (!_this._dragact) {

+ 5 - 5
dist/src/lib/dragact.js

@@ -44,7 +44,7 @@ var Dragact = /** @class */ (function (_super) {
                     dragType: 'resize'
                 });
             }
-            _this.props.onDragStart && _this.props.onDragStart(layoutItem);
+            _this.props.onDragStart && _this.props.onDragStart(layoutItem, _this.state.layout);
         };
         _this.onResizing = function (layoutItem) {
             var newLayout = layoutCheck(_this.state.layout, layoutItem, layoutItem.UniqueKey + '', layoutItem.UniqueKey + '', 0);
@@ -65,7 +65,7 @@ var Dragact = /** @class */ (function (_super) {
                 mapLayout: mapLayout,
                 containerHeight: getMaxContainerHeight(compacted, _this.props.rowHeight, _this.props.margin[1], _this.state.containerHeight)
             });
-            _this.props.onDragEnd && _this.props.onDragEnd(layoutItem);
+            _this.props.onDragEnd && _this.props.onDragEnd(layoutItem, compacted);
         };
         _this.recalculateLayout = function (layout, col) {
             var corrected = correctLayout(layout, col);
@@ -108,7 +108,7 @@ var Dragact = /** @class */ (function (_super) {
                 dragType: 'drag'
             });
         }
-        this.props.onDragStart && this.props.onDragStart(bundles);
+        this.props.onDragStart && this.props.onDragStart(bundles, this.state.layout);
     };
     Dragact.prototype.onDrag = function (layoutItem) {
         var GridY = layoutItem.GridY, UniqueKey = layoutItem.UniqueKey;
@@ -122,7 +122,7 @@ var Dragact = /** @class */ (function (_super) {
             mapLayout: mapLayout,
             containerHeight: getMaxContainerHeight(compacted, this.props.rowHeight, this.props.margin[1], this.state.containerHeight)
         });
-        this.props.onDrag && this.props.onDrag(layoutItem);
+        this.props.onDrag && this.props.onDrag(layoutItem, compacted);
     };
     Dragact.prototype.onDragEnd = function (layoutItem) {
         var _a = compactLayout(this.state.layout, undefined, this.state.mapLayout), compacted = _a.compacted, mapLayout = _a.mapLayout;
@@ -132,7 +132,7 @@ var Dragact = /** @class */ (function (_super) {
             mapLayout: mapLayout,
             containerHeight: getMaxContainerHeight(compacted, this.props.rowHeight, this.props.margin[1], this.state.containerHeight)
         });
-        this.props.onDragEnd && this.props.onDragEnd(layoutItem);
+        this.props.onDragEnd && this.props.onDragEnd(layoutItem, compacted);
     };
     Dragact.prototype.renderPlaceholder = function () {
         if (!this.state.placeholderShow)

+ 4 - 4
example/HistoryLayout/HistoryLayout.tsx

@@ -67,14 +67,14 @@ export class HistoryDragact extends React.Component<DragactProps, HistoryDragact
         this._changeDragactLayouts(this._actionsHistory[0]);
     }
 
-    onDragStart = (event: GridItemEvent) => {
+    onDragStart = (event: GridItemEvent, currentLayout: DragactLayoutItem[]) => {
         this._cacheCurrentLayoutStart(event)
-        this.props.onDragStart && this.props.onDragStart(event)
+        this.props.onDragStart && this.props.onDragStart(event, currentLayout)
     }
 
-    onDragEnd = (event: GridItemEvent) => {
+    onDragEnd = (event: GridItemEvent, currentLayout: DragactLayoutItem[]) => {
         this._cacheCurrentLayoutEnd(event);
-        this.props.onDragEnd && this.props.onDragEnd(event)
+        this.props.onDragEnd && this.props.onDragEnd(event, currentLayout)
     }
 
     _changeDragactLayouts = (snapshot: string) => {

+ 3 - 3
src/lib/dragact-type.ts

@@ -51,17 +51,17 @@ export interface DragactProps {
     /**
      * 拖动开始的回调
      */
-    onDragStart?: (event: GridItemEvent) => void
+    onDragStart?: (event: GridItemEvent, currentLayout: DragactLayoutItem[]) => void
 
     /**
      * 拖动中的回调
      */
-    onDrag?: (event: GridItemEvent) => void
+    onDrag?: (event: GridItemEvent, currentLayout: DragactLayoutItem[]) => void
 
     /**
      * 拖动结束的回调
      */
-    onDragEnd?: (event: GridItemEvent) => void
+    onDragEnd?: (event: GridItemEvent, currentLayout: DragactLayoutItem[]) => void
 
     /**
      * 每个元素的margin,第一个参数是左右,第二个参数是上下

+ 7 - 6
src/lib/dragact.tsx

@@ -51,7 +51,7 @@ export class Dragact extends React.Component<DragactProps, DragactState> {
                 dragType: 'resize'
             })
         }
-        this.props.onDragStart && this.props.onDragStart(layoutItem);
+        this.props.onDragStart && this.props.onDragStart(layoutItem, this.state.layout);
     }
 
     onResizing = (layoutItem: GridItemEvent) => {
@@ -77,7 +77,7 @@ export class Dragact extends React.Component<DragactProps, DragactState> {
             mapLayout: mapLayout,
             containerHeight: getMaxContainerHeight(compacted, this.props.rowHeight, this.props.margin[1], this.state.containerHeight)
         })
-        this.props.onDragEnd && this.props.onDragEnd(layoutItem);
+        this.props.onDragEnd && this.props.onDragEnd(layoutItem, compacted);
     }
 
     onDragStart(bundles: GridItemEvent) {
@@ -94,7 +94,7 @@ export class Dragact extends React.Component<DragactProps, DragactState> {
                 dragType: 'drag'
             })
         }
-        this.props.onDragStart && this.props.onDragStart(bundles);
+        this.props.onDragStart && this.props.onDragStart(bundles, this.state.layout);
     }
 
     onDrag(layoutItem: GridItemEvent) {
@@ -110,18 +110,19 @@ export class Dragact extends React.Component<DragactProps, DragactState> {
             mapLayout: mapLayout,
             containerHeight: getMaxContainerHeight(compacted, this.props.rowHeight, this.props.margin[1], this.state.containerHeight)
         })
-        this.props.onDrag && this.props.onDrag(layoutItem);
+        this.props.onDrag && this.props.onDrag(layoutItem, compacted);
     }
 
     onDragEnd(layoutItem: GridItemEvent) {
-        const { compacted, mapLayout } = compactLayout(this.state.layout, undefined, this.state.mapLayout)
+        const { compacted, mapLayout } = compactLayout(this.state.layout, undefined, this.state.mapLayout);
+
         this.setState({
             placeholderShow: false,
             layout: compacted,
             mapLayout: mapLayout,
             containerHeight: getMaxContainerHeight(compacted, this.props.rowHeight, this.props.margin[1], this.state.containerHeight)
         })
-        this.props.onDragEnd && this.props.onDragEnd(layoutItem);
+        this.props.onDragEnd && this.props.onDragEnd(layoutItem, compacted);
     }
 
     renderPlaceholder() {

+ 0 - 1
src/lib/gridItem.tsx

@@ -3,7 +3,6 @@ import { Dragger } from './dragger/index'
 import { checkInContainer } from './util/correction';
 import { Bound } from './utils';
 
-
 export interface GridItemProps {
     /**外部容器属性 */
     col: number,

部分文件因为文件数量过多而无法显示