onDragOpen method

  1. @override
dynamic onDragOpen(
  1. DragStartDetails dragStartDetails,
  2. String dir
)
override

Implementation

@override
onDragOpen(DragStartDetails dragStartDetails, String dir) {
  // print('drag open broadcast recieved');
  // if (animate == false) {


  var con = widget.model.constraints;
  double h = con.maxHeight ?? MediaQuery.of(context).size.height;
  double w = con.maxWidth  ?? MediaQuery.of(context).size.width;

  double screenHeight = h;
  double screenWidth = w;

  if (dir == 'vertical') {
    if (dragStartDetails.globalPosition.dy < dragEdge && openSheet == null && widget.model.drawerExists('top'))
    {
      setState(() {
        // fromLeft = fromRight = 0;
        fromBottom = screenHeight;
        // fromTop = screenHeight - fromBottom;
        openSheet = 'top';
      });
      // print('open top sheet');
    }
    else if(dragStartDetails.globalPosition.dy > (screenHeight - dragEdge) && openSheet == null && widget.model.drawerExists('bottom'))
    {
      setState(() {
        // fromLeft = fromRight = 0;
        fromTop = screenHeight;
        // fromBottom = screenHeight - fromTop;
        openSheet = 'bottom';
      });
      // print('open bottom sheet');
    }
    // else
      // print('not dragging from top/bottom');
  }
  if (dir == 'horizontal') {
    if (dragStartDetails.globalPosition.dx < dragEdge && openSheet == null && widget.model.drawerExists('left'))
    {
      setState(() {
        // fromTop = fromBottom = 0;
        fromRight = screenWidth;
        // fromLeft = screenWidth - fromRight;
        openSheet = 'left';
      });
      // print('open left sheet');
    }
    else if(dragStartDetails.globalPosition.dx > (screenWidth - dragEdge) && openSheet == null && widget.model.drawerExists('right'))
    {
      setState(() {
        // fromTop = fromBottom = 0;
        fromLeft = screenWidth;
        // fromRight = screenWidth - fromLeft;
        openSheet = 'right';
      });
      // print('open right sheet');
    }
    // else
      // print('not dragging from left/right');
  }
}