@chief-editor/brick-control
Version:
Control Brick for chief editor
1 lines • 1.87 kB
JavaScript
var __assign=this&&this.__assign||function(){return(__assign=Object.assign||function(e){for(var a,t=1,r=arguments.length;t<r;t++)for(var n in a=arguments[t])Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n]);return e}).apply(this,arguments)};import{RadioGroup,Select}from"@chief-editor/ui";import{useRefCallback}from"@rc-hooks/use";import React,{useCallback}from"react";import{BranchType}from"./type";export function BranchBrick(e){var a=e.styles,t=e.layout,r=e.setValue,n=e.creator,l=e.renderPart,c=e.config,i=e.datasource,o=e.value,u=c.props,s=u.branchType,d=u.readonly,p=u.disabled;return React.createElement("div",{"data-id":n,style:__assign(__assign({lineHeight:"34px",position:"relative"},a),t)},React.createElement("div",{style:{position:"relative",marginBottom:"14px"}},React.createElement(BranchHeader,{branchType:s,datasource:i,value:o,onChange:r,disabled:p,readonly:d})),l(String(o)))}function BranchHeader(e){var a=e.branchType,t=e.datasource,r=e.value,n=e.onChange,l=e.disabled,c=e.readonly,i=useRefCallback(n),o=useCallback((function(e){null!=e&&i(e)}),[]);switch(a){case BranchType.BUTTON_GROUP:return React.createElement(RadioGroup,{type:"button",value:r,onChange:o,disabled:l||c},t.map((function(e){return React.createElement(RadioGroup.Button,{key:e.value,value:e.value,disabled:e.disabled},e.label)})));case BranchType.RADIO_GROUP:return React.createElement(RadioGroup,{type:"radio",value:r,onChange:o,disabled:l||c},t.map((function(e){return React.createElement(RadioGroup.Radio,{key:e.value,value:e.value,disabled:e.disabled},e.label)})));case BranchType.SELECT:return React.createElement(Select,{value:r,onChange:o,disabled:l||c},t.map((function(e){return React.createElement(Select.Option,{key:e.value,value:e.value,label:e.label,disabled:e.disabled})})));default:return React.createElement("div",null,"Branch Header type: ",a," not exist")}}