@chief-editor/editor
Version:
FlowEditor Editor
1 lines • 983 B
JavaScript
var __assign=this&&this.__assign||function(){return(__assign=Object.assign||function(e){for(var r,t=1,n=arguments.length;t<n;t++)for(var i in r=arguments[t])Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i]);return e}).apply(this,arguments)};import{guid}from"@co-hooks/util";import{useContainer}from"@rc-hooks/dom";import{useRefGetter}from"@rc-hooks/use";import{useEffect,useRef}from"react";import{useLayerBrickContainer}from"./useLayerBrickContainer";import{useMoveContainer}from"./useMoveContainer";export function useBrickContainer(e,r,t,n){var i=useRef(guid()),o=useContainer(e),s=useRefGetter(t);useMoveContainer(e,t,__assign({onDragEnd:function(){i.current=guid()}},n||{})),useEffect((function(){var t=e.current;t&&Object.assign(t.style,r)}),[i.current]),useLayerBrickContainer(e,t),useEffect((function(){var e=o();if(e){var r=function(e){s().setActive(e.shiftKey||e.ctrlKey)};return e.addEventListener("click",r),function(){return e.removeEventListener("click",r)}}}),[])}