@chief-editor/editor
Version:
FlowEditor Editor
1 lines • 2.04 kB
JavaScript
;var __assign=this&&this.__assign||function(){return(__assign=Object.assign||function(e){for(var t,r=1,a=arguments.length;r<a;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(exports,"__esModule",{value:!0});var dom_1=require("@co-hooks/dom"),util_1=require("@co-hooks/util"),base_1=require("@chief-editor/base"),react_1=__importStar(require("react")),useEditorCls_1=require("../hooks/useEditorCls"),useTemplate_1=require("../hooks/useTemplate");exports.BoardRender=react_1.memo((function(e){var t,r=e.className,a=e.style,o=void 0===a?{}:a,s=e.boardId,i=e.type,n=e.floatType,u=e.children,c=e.node,d=useTemplate_1.useTemplate().getBoardByNode(c),l=react_1.useState(d.isActiveBoard()),_=l[0],f=l[1],p=react_1.useState(d.getNode().isEmpty()),m=p[0],h=p[1],v=react_1.useRef(null);react_1.useEffect((function(){return d.addListener("active-change",f),function(){d.removeListener("active-change")}}),[]),react_1.useEffect((function(){var e=function(){h(d.getNode().isEmpty())};return d.getNode().addListener("childChange",e),function(){return d.getNode().removeListener("childChange",e)}}),[d.getNode()]),react_1.useEffect((function(){var e=v.current;e&&d.setPosition(dom_1.getElementPosition(e))}));var y=__assign({},o);i===base_1.NodeType.LAYER&&(y.position="relative",y.width="100%",y.height="100%"),i===base_1.NodeType.STREAM&&n!==base_1.FloatType.NONE&&Object.assign(y,{display:"flex",flexDirection:n===base_1.FloatType.RIGHT?"column-reverse":"column",justifyItems:"start"});var g=util_1.classnames(r,useEditorCls_1.useEditorCls("board",((t={active:_})[n.toLowerCase()]=n!==base_1.FloatType.NONE,t[i.toLowerCase()]=!0,t.empty=m,t)));return react_1.default.createElement("div",{className:g,"data-board-id":d.id,id:_?"data-root-"+s:void 0,style:y,ref:v},u)}));