UNPKG

@chief-editor/editor

Version:

FlowEditor Editor

1 lines 1.43 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var react_1=require("react"),base_1=require("@chief-editor/base"),dom_1=require("@rc-hooks/dom"),use_1=require("@rc-hooks/use"),useEditor_1=require("./useEditor");function useLayerBrickContainer(e,t){var r=dom_1.useContainer(e),i=use_1.useRefGetter(t),o=useEditor_1.useEditor();react_1.useEffect((function(){var e,s,n=r();if(n){var d=t.getNode().parentNode;if((null!==(s=null===(e=null==d?void 0:d.getValue())||void 0===e?void 0:e.type)&&void 0!==s?s:base_1.NodeType.STREAM)===base_1.NodeType.LAYER){var c=function(e){var t=i(),r=o.getActiveBoardId(),s=o.getActiveTemplate();if(s){var n=i().getAncestorBoardIds(),d=n.indexOf(r);if(d!==n.length-1){if(-1===d)return s.setActiveBoardId(n[n.length-1]||"root",!0),void t.setActive();var c=n[d+1],a=s.getBoard(c).getNode().parentNode;if(a)s.getBrickByNode(a).setActive(e.shiftKey)}else t.setActive(e.shiftKey)}},a=function(e){var t=o.getActiveTemplate(),r=i();if(t&&!r.isActiveBrick()){var s=i().getAncestorBrickIds();s.some((function(e,i){var o=t.getBrick(e).isActiveBrick();if(o){var n=s[i+1],d=r;n&&(d=t.getBrick(n)),t.setActiveBoardId(d.getOwnerBoard().id,!0),d.setActive()}return o}))}};return n.addEventListener("mousedown",c),n.addEventListener("dblclick",a),function(){n.removeEventListener("mousedown",c),n.removeEventListener("dblclick",a)}}}}),[])}exports.useLayerBrickContainer=useLayerBrickContainer;