@chief-editor/editor
Version:
FlowEditor Editor
1 lines • 2.57 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0});var core_1=require("@chief-editor/core"),vector_1=require("@co-hooks/vector"),sortable_1=require("@rc-hooks/sortable"),useEditorCls_1=require("../hooks/useEditorCls");function useEditorDrag(e){var r=useEditorCls_1.useEditorCls("placeholder",{vertical:!0}),t=useEditorCls_1.useEditorCls("placeholder",{horizontal:!0}),a=useEditorCls_1.useEditorCls("placeholder-container");return sortable_1.useCreateSortable({containerIdentifierPropName:"data-board-id",elemIdentifierPropName:"data-brick-id",hittingContainerClassName:a,mode:"vertical",dragLimit:e.getDragLimit(),getDragRoot:function(){var r=e.getActiveBoardId();return null!=r?document.getElementById("data-root-"+r):null},isVirtualDrag:function(){var r=e.getActiveBoard();return null==r||r.isLayerBoard()},getContainerMode:function(r){var t=e.getActiveTemplate();if(null==t)return null;var a=t.getBoard(r);return a.isStreamBoard()?a.isFloatMode()?"horizontal":"vertical":null},isValidContainer:function(r,t){var a=e.getActiveTemplate();if(null==a)return!1;var o=a.getBoard(t);return o.isStreamBoard()&&o.isValidBoard(r)},createPlaceHolder:function(a){var o=document.createElement("div"),i=e.getActiveTemplate();if(null==i)return o;var n=i.getBoard(a);return n.isStreamBoard()?(o.className=n.isFloatMode()?t:r,o):o},onDragStart:function(r){e.enableDragState();var t=e.getActiveBoard();if(null!=t&&t.isLayerBoard()&&null!=r.data){if(!document.querySelector('[data-template-id="'+t.getOwnerTemplate().id+'"]'))return;t.initDrag(r.data)}},onDragging:function(r){var t=e.getActiveBoard(),a=e.getZoom()/100;null!=t&&t.isLayerBoard()&&null!=r.data&&t.updateDrag(r.data,new vector_1.Vector([(r.currentMousePos.clientX-r.startMousePos.clientX)/a,(r.currentMousePos.clientY-r.startMousePos.clientY)/a]))},onDragEnd:function(r){e.disableDragState();var t=e.getActiveBoard(),a=e.getZoom()/100;null!=t&&t.isLayerBoard()&&null!=r.data&&t.finishDrag("copy"===r.dragType?core_1.OperationType.CREATE:core_1.OperationType.MOVE,r.data,new vector_1.Vector([(r.currentMousePos.clientX-r.startMousePos.clientX)/a,(r.currentMousePos.clientY-r.startMousePos.clientY)/a]),r.currentMousePos)},onDragCancel:function(){e.disableDragState();var r=e.getActiveBoard();null!=r&&r.isLayerBoard()&&r.cancelDrag()},onChange:function(r,t,a){e.disableDragState();var o=e.getActiveTemplate();null!=o&&null!=r.data&&o.getBoard(a.container).applyBoardChange("copy"===r.dragType?core_1.OperationType.CREATE:core_1.OperationType.MOVE,r.data,a.index)}})}exports.useEditorDrag=useEditorDrag;