@chief-editor/brick-control
Version:
Control Brick for chief editor
1 lines • 3.22 kB
JavaScript
"use strict";var __assign=this&&this.__assign||function(){return(__assign=Object.assign||function(e){for(var a,t=1,l=arguments.length;t<l;t++)for(var u in a=arguments[t])Object.prototype.hasOwnProperty.call(a,u)&&(e[u]=a[u]);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"));function DatasourceBrick(e){var a=e.config.props,t=a.defaultValueType,l=void 0===t?"none":t,u=a.forceStatic,r=void 0!==u&&u,n=a.supportDynamic,c=void 0!==n&&n,i=e.styles,o=e.layout,_=e.datasource,s=e.setValue,f=e.creator,d=e.value,p=e.env,v=e.getHook,m=use_1.usePartialUpdate(d,s),b=null!=d.type?d.type:_.length>0?_[0].value:void 0,h=react_1.useCallback((function(e){return m({type:e})}),[]),g=react_1.useCallback((function(e){return m({data:e})}),[]),y=react_1.useCallback((function(e){return m({defaultValue:e})}),[]),C=react_1.useCallback((function(e){return m({func:e})}),[]),V=b?v("buildInDatasourceRender"+b.charAt(0).toUpperCase()+b.slice(1)):null;return"string"==typeof d||null==d?null:react_1.default.createElement("div",{"data-id":f,style:__assign(__assign({lineHeight:"34px",position:"relative"},i),o)},_.length>1&&react_1.default.createElement(ui_1.FormContainer,{label:"数据源类型",level:4},react_1.default.createElement(ui_1.Select,{clearable:!1,value:b,onChange:h},_.map((function(e){return react_1.default.createElement(ui_1.Select.Option,{key:e.value,value:e.value,label:e.label},e.label)})))),("local"===b||r)&&react_1.default.createElement(ui_1.FormContainer,{hasLabel:!1,level:4},react_1.default.createElement(ui_1.JSONEditorModal,{value:d.data,onConfirm:g})),V?V(d,m):"flow"===p?null:react_1.default.createElement(ui_1.FormContainer,{level:0,label:"数据源动态渲染部分"}),("local"===b||r)&&react_1.default.createElement(DefaultValueRender,{defaultValueType:l,data:d.data,defaultValue:d.defaultValue,onValueChange:y}),c&&react_1.default.createElement(ui_1.FormContainer,{label:"默认值钩子",level:4},react_1.default.createElement(ui_1.Input,{placeholder:"请输入钩子函数名",value:d.func,onValueChange:C})))}function DefaultValueRender(e){var a=e.data,t=e.defaultValue,l=e.defaultValueType,u=void 0===l?"none":l,r=e.onValueChange,n=null;switch(u){case"multiple":n=react_1.default.createElement(ui_1.MultipleSelect,{value:t,onValueChange:r},a.map((function(e){return react_1.default.createElement(ui_1.MultipleSelect.Option,{value:e.value,label:e.label,key:e.value},e.label)})));break;case"simple":n=react_1.default.createElement(ui_1.Select,{value:t,onValueChange:r},a.map((function(e){return react_1.default.createElement(ui_1.MultipleSelect.Option,{value:e.value,label:e.label,key:e.value},e.label)})));break;case"text":n=react_1.default.createElement(ui_1.Input,{value:t||"",onValueChange:r})}return n&&react_1.default.createElement(ui_1.FormContainer,{label:"默认值",level:4},n)}exports.DatasourceBrick=DatasourceBrick,exports.DefaultValueRender=DefaultValueRender;