@chief-editor/brick-control
Version:
Control Brick for chief editor
1 lines • 1.47 kB
JavaScript
import{FloatType,NodeType}from"@chief-editor/base";import{clone}from"@co-hooks/util";import schema from"./schema.json";export var branchMockData=[{label:"条件一",value:1},{label:"条件二",value:2}];export var BranchConfig={type:"Branch",isContainer:!0,category:"Container",mockData:branchMockData,schema:schema,getPartKeyMapFromBrickData:function(a){var t=a.datasource?a.datasource.data:[];return t.length||(t=branchMockData),t.map((function(a){return String(a.value)}))},getPartBoardInfoFromBrickData:function(){return{type:NodeType.STREAM,floatType:FloatType.NONE,accept:["FormItem","Container","Unit"]}},getDefaultLayout:function(){return{vertical:"top",horizontal:"left",left:0,top:0}},getInitialState:function(a){var t=a.datasource?a.datasource.data:[];return{currentIndex:t.length?String(t[0].value):void 0}},mergeStateWithBrickData:function(a,t){var e=t.datasource?t.datasource.data:[],r=e.reduce((function(a,t){return a[String(t.value)]=!0,a}),{}),n=a.currentIndex;return null==n||r[n]||(n=void 0),null==n&&(n=e&&e.length?String(e[0].value):void 0),n!==a.currentIndex?{currentIndex:n}:a},getDatasourceFromBrickData:function(a){var t=a.datasource;if(!t)return[];var e=t.data;return e&&e.length?clone(e):clone(branchMockData)},getValueFromBrickData:function(a){var t=(a.datasource||{}).defaultValue,e=void 0===t?"":t,r=BranchConfig.getDatasourceFromBrickData(a);return r.length?e||r[0].value:""},getDisplayFromBrickData:function(){return{label:"",values:[]}}};