fix merge bug

This commit is contained in:
金禅 2020-08-11 23:55:13 +08:00
parent 628cbf6b70
commit 9f9c38c676
7 changed files with 31 additions and 20 deletions

View File

@ -1583,7 +1583,7 @@
"name": "icon", "name": "icon",
"setter": "IconSetter", "setter": "IconSetter",
"extraProps": { "extraProps": {
"defaultValue": "success", "defaultValue": "",
"onChange": { "onChange": {
"type": "JSFunction", "type": "JSFunction",
"value": "(val, field, editor) => {\n field.nodes[0].children.import(val && {\"componentName\": \"Icon\", \"props\": {\"type\": val, \"style\": {\"marginRight\": 5}}}, true); //field.top.setPropValue('children', [{\"componentName\": \"Icon\", \"props\": {\"type\": val}}, (field.top.getPropValue('children') || []).slice(-1)]);\n}" "value": "(val, field, editor) => {\n field.nodes[0].children.import(val && {\"componentName\": \"Icon\", \"props\": {\"type\": val, \"style\": {\"marginRight\": 5}}}, true); //field.top.setPropValue('children', [{\"componentName\": \"Icon\", \"props\": {\"type\": val}}, (field.top.getPropValue('children') || []).slice(-1)]);\n}"
@ -1592,6 +1592,7 @@
}, },
{ {
"name": "children", "name": "children",
"title": "文本内容",
"setter": { "setter": {
"componentName": "MixedSetter", "componentName": "MixedSetter",
"props": { "props": {
@ -13940,7 +13941,14 @@
"labelPlacement": "ver", "labelPlacement": "ver",
"shape": "circle", "shape": "circle",
"animation": true "animation": true
} },
"children": [
{
"componentName": "StepItem",
"status": "process",
"title": "测试"
}
]
} }
} }
] ]

File diff suppressed because one or more lines are too long

View File

@ -432,7 +432,7 @@ export class Designer {
designer._componentMetasMap.forEach((config, key) => { designer._componentMetasMap.forEach((config, key) => {
const metaData = config.getMetadata(); const metaData = config.getMetadata();
if (metaData.devMode === 'lowcode') { if (metaData.devMode === 'lowcode') {
maps[key] = metaData.schema; maps[key] = this.currentDocument?.simulator?.createComponent(metaData.schema!);
} else { } else {
const view = metaData.experimental?.view; const view = metaData.experimental?.view;
if (view) { if (view) {

View File

@ -42,8 +42,7 @@ export class Transducer {
} else if (isValidElement(setter) && setter.type.displayName === 'MixedSetter') { } else if (isValidElement(setter) && setter.type.displayName === 'MixedSetter') {
setter = setter.props?.setters?.[0]; setter = setter.props?.setters?.[0];
} else if (typeof setter === 'object' && setter.componentName === 'MixedSetter') { } else if (typeof setter === 'object' && setter.componentName === 'MixedSetter') {
setter = setter; setter = setter && setter.props && setter.props.setters && Array.isArray(setter.props.setters) && setter.props.setters[0];
setter.props && setter.props.setters && Array.isArray(setter.props.setters) && setter.props.setters[0];
} }
if (isSetterConfig(setter)) { if (isSetterConfig(setter)) {

View File

@ -8,7 +8,7 @@ import JsonSetter from './json-setter';
import EventsSetter from './events-setter'; import EventsSetter from './events-setter';
import StyleSetter from './style-setter'; import StyleSetter from './style-setter';
import IconSetter from './icon-setter'; import IconSetter from './icon-setter';
import MixedSetter from './mixed-setter'; // import MixedSetter from './mixed-setter';
export const StringSetter = { export const StringSetter = {
component: Input, component: Input,
@ -44,7 +44,7 @@ export const DateYearSetter = DatePicker.YearPicker;
export const DateMonthSetter = DatePicker.MonthPicker; export const DateMonthSetter = DatePicker.MonthPicker;
export const DateRangeSetter = DatePicker.RangePicker; export const DateRangeSetter = DatePicker.RangePicker;
export { ExpressionSetter, EventsSetter, JsonSetter, MixedSetter }; export { ExpressionSetter, EventsSetter, JsonSetter, IconSetter };
class StringDateSetter extends Component { class StringDateSetter extends Component {
render() { render() {
@ -71,21 +71,24 @@ class StringTimePicker extends Component {
} }
} }
const VariableSetter ={
component: ExpressionSetter,
condition: (field: any) => {
const v = field.getValue();
return v == null || isJSExpression(v);
},
defaultProps: { placeholder: '请输入表达式' },
title: '表达式输入',
recommend: true,
};
const builtinSetters: any = { const builtinSetters: any = {
StringSetter, StringSetter,
NumberSetter, NumberSetter,
BoolSetter, BoolSetter,
SelectSetter, SelectSetter,
ExpressionSetter: { VariableSetter,
component: ExpressionSetter, ExpressionSetter: VariableSetter,
condition: (field: any) => {
const v = field.getValue();
return v == null || isJSExpression(v);
},
defaultProps: { placeholder: '请输入表达式' },
title: '表达式输入',
recommend: true,
},
RadioGroupSetter, RadioGroupSetter,
TextAreaSetter, TextAreaSetter,
DateSetter: StringDateSetter, DateSetter: StringDateSetter,
@ -98,7 +101,6 @@ const builtinSetters: any = {
JsonSetter, JsonSetter,
StyleSetter, StyleSetter,
IconSetter, IconSetter,
MixedSetter,
}; };
registerSetter(builtinSetters); registerSetter(builtinSetters);

View File

@ -92,7 +92,7 @@ function nomalizeSetters(setters?: Array<string | SetterConfig | CustomView | Dy
config.initialValue = info?.initialValue; config.initialValue = info?.initialValue;
} }
} else { } else {
config.name = generateName((config.setter as any).displayName || (config.setter as any).name || 'CustomSetter'); config.name = generateName((config.setter as any)?.displayName || (config.setter as any)?.name || 'CustomSetter');
if (!config.title) { if (!config.title) {
config.title = config.name; config.title = config.name;
} }

View File

@ -4,3 +4,5 @@ export * from './types';
export * from './components/settings'; export * from './components/settings';
export * from './components/field'; export * from './components/field';
export * from './context'; export * from './context';
import './register-defaults';