onDragOpen method
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');
}
}