@chief-editor/preview
Version:
FlowEditor Editor
1 lines • 1.17 kB
JavaScript
import{classnames}from"@co-hooks/util";import React,{useCallback,useEffect,useState}from"react";import{useTemplate}from"../hooks/useTemplate";export function BrickContainerRender(e){var t,a=e.node,c=e.children,i=e.style,r=void 0===i?{}:i,n=e.className,s=useTemplate().getBrickByNode(a),o=s.status,l=useState((function(){return s.isActiveBrick()})),p=l[0],u=l[1],m=s.isContainer();useEffect((function(){return s.addListener("active-change",u),function(){s.removeListener("active-change",u)}}),[s]);var f=classnames(((t={"ce-preview":!0})["ce-preview-"+o.toString().toLowerCase()]=!0,t["ce-preview-edit"]=null!=s.diffs,t["ce-preview-active"]=p,t["ce-preview-container"]=m,t),n),v=useCallback((function(e){e.stopPropagation(),s.setActive()}),[s]),d=useCallback((function(){var e=s.getOwnerTemplate();e.emit("show-prop-update",e.getActiveBrickDiffInfo())}),[s]);return React.createElement("div",{className:f,style:r,onClick:v},React.createElement("span",{className:"ce-preview-tag"},React.createElement("span",{className:"tag-info"},"type=",s.brickType," ",s.label,"(",s.field,")"),React.createElement("span",{className:"tag-prop-update",onClick:d},"查看属性更新")),c)}