UNPKG

@chief-editor/brick-control

Version:

Control Brick for chief editor

1 lines 2.28 kB
"use strict";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)},__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(null!=e)for(var t in e)Object.hasOwnProperty.call(e,t)&&(a[t]=e[t]);return a.default=e,a};Object.defineProperty(exports,"__esModule",{value:!0});var ui_1=require("@chief-editor/ui"),use_1=require("@rc-hooks/use"),react_1=__importStar(require("react")),type_1=require("./type");function BranchBrick(e){var a=e.styles,t=e.layout,r=e.setValue,n=e.creator,l=e.renderPart,u=e.config,i=e.datasource,c=e.value,o=u.props,d=o.branchType,s=o.readonly,_=o.disabled;return react_1.default.createElement("div",{"data-id":n,style:__assign(__assign({lineHeight:"34px",position:"relative"},a),t)},react_1.default.createElement("div",{style:{position:"relative",marginBottom:"14px"}},react_1.default.createElement(BranchHeader,{branchType:d,datasource:i,value:c,onChange:r,disabled:_,readonly:s})),l(String(c)))}function BranchHeader(e){var a=e.branchType,t=e.datasource,r=e.value,n=e.onChange,l=e.disabled,u=e.readonly,i=use_1.useRefCallback(n),c=react_1.useCallback((function(e){null!=e&&i(e)}),[]);switch(a){case type_1.BranchType.BUTTON_GROUP:return react_1.default.createElement(ui_1.RadioGroup,{type:"button",value:r,onChange:c,disabled:l||u},t.map((function(e){return react_1.default.createElement(ui_1.RadioGroup.Button,{key:e.value,value:e.value,disabled:e.disabled},e.label)})));case type_1.BranchType.RADIO_GROUP:return react_1.default.createElement(ui_1.RadioGroup,{type:"radio",value:r,onChange:c,disabled:l||u},t.map((function(e){return react_1.default.createElement(ui_1.RadioGroup.Radio,{key:e.value,value:e.value,disabled:e.disabled},e.label)})));case type_1.BranchType.SELECT:return react_1.default.createElement(ui_1.Select,{value:r,onChange:c,disabled:l||u},t.map((function(e){return react_1.default.createElement(ui_1.Select.Option,{key:e.value,value:e.value,label:e.label,disabled:e.disabled})})));default:return react_1.default.createElement("div",null,"Branch Header type: ",a," not exist")}}exports.BranchBrick=BranchBrick;