mirror of
https://github.com/alibaba/lowcode-engine.git
synced 2026-01-13 09:41:57 +00:00
Merge commit '4f16d363a87a1dbff25b639a75554293b3f85955' into daily/0.10.0
# Conflicts: # CHANGELOG.md # lerna.json # packages/code-generator/CHANGELOG.md # packages/code-generator/package.json # packages/demo-server/CHANGELOG.md # packages/demo-server/package.json # packages/demo/CHANGELOG.md # packages/demo/package.json # packages/designer/CHANGELOG.md # packages/designer/package.json # packages/editor-core/CHANGELOG.md # packages/editor-core/package.json # packages/editor-preset-general/CHANGELOG.md # packages/editor-preset-general/package.json # packages/editor-preset-vision/CHANGELOG.md # packages/editor-preset-vision/package.json # packages/editor-setters/CHANGELOG.md # packages/editor-setters/package.json # packages/editor-skeleton/CHANGELOG.md # packages/editor-skeleton/package.json # packages/material-parser/CHANGELOG.md # packages/material-parser/package.json # packages/plugin-components-pane/CHANGELOG.md # packages/plugin-components-pane/package.json # packages/plugin-designer/CHANGELOG.md # packages/plugin-designer/package.json # packages/plugin-event-bind-dialog/CHANGELOG.md # packages/plugin-event-bind-dialog/package.json # packages/plugin-outline-pane/CHANGELOG.md # packages/plugin-outline-pane/package.json # packages/plugin-sample-logo/CHANGELOG.md # packages/plugin-sample-logo/package.json # packages/plugin-sample-preview/CHANGELOG.md # packages/plugin-sample-preview/package.json # packages/plugin-source-editor/CHANGELOG.md # packages/plugin-source-editor/package.json # packages/plugin-undo-redo/CHANGELOG.md # packages/plugin-undo-redo/package.json # packages/plugin-variable-bind-dialog/CHANGELOG.md # packages/plugin-variable-bind-dialog/package.json # packages/plugin-zh-en/CHANGELOG.md # packages/plugin-zh-en/package.json # packages/rax-provider/CHANGELOG.md # packages/rax-provider/package.json # packages/rax-render/CHANGELOG.md # packages/rax-render/package.json # packages/rax-simulator-renderer/CHANGELOG.md # packages/rax-simulator-renderer/package.json # packages/react-provider/CHANGELOG.md # packages/react-provider/package.json # packages/react-renderer/CHANGELOG.md # packages/react-renderer/package.json # packages/react-simulator-renderer/CHANGELOG.md # packages/react-simulator-renderer/package.json # packages/runtime/CHANGELOG.md # packages/runtime/package.json # packages/types/CHANGELOG.md # packages/types/package.json # packages/utils/CHANGELOG.md # packages/utils/package.json
This commit is contained in:
commit
d665900aec
@ -13,6 +13,7 @@ import { Skeleton, SettingsPrimaryPane, registerDefaults } from '@ali/lowcode-ed
|
||||
|
||||
import { deepValueParser } from './deep-value-parser';
|
||||
import { liveEditingRule, liveEditingSaveHander } from './vc-live-editing';
|
||||
import { isVariable } from './utils';
|
||||
|
||||
export const editor = new Editor();
|
||||
globalContext.register(editor, Editor);
|
||||
@ -36,10 +37,6 @@ interface Variable {
|
||||
value: any;
|
||||
}
|
||||
|
||||
function isVariable(obj: any): obj is Variable {
|
||||
return obj && obj.type === 'variable';
|
||||
}
|
||||
|
||||
function upgradePropsReducer(props: any) {
|
||||
if (!props || !isPlainObject(props)) {
|
||||
return props;
|
||||
@ -123,9 +120,11 @@ designer.addPropsReducer((props, node) => {
|
||||
if (ov === undefined && v !== undefined) {
|
||||
newProps[item.name] = v;
|
||||
}
|
||||
// 兼容 props 中的属性为 i18n 类型,但是仅提供了一个值
|
||||
// 兼容 props 中的属性为 i18n 类型,但是仅提供了一个字符串值,非变量绑定
|
||||
if (isUseI18NSetter(node.componentMeta.prototype, item.name) &&
|
||||
!isI18NObject(ov) && !isVariable(ov)) {
|
||||
!isI18NObject(ov) &&
|
||||
!isJSExpression(ov) &&
|
||||
!isVariable(ov)) {
|
||||
newProps[item.name] = v;
|
||||
}
|
||||
} catch (e) {
|
||||
|
||||
@ -207,8 +207,14 @@ export default class MixedSetter extends Component<{
|
||||
const { setter, props } = currentSetter;
|
||||
let setterProps: any = {};
|
||||
let setterType: any;
|
||||
let dynamicProps: any = {};
|
||||
if (isDynamicSetter(setter)) {
|
||||
setterType = setter.call(field, field);
|
||||
// { componentName: string; props: object }
|
||||
if (typeof setterType === 'object' && typeof setterType.componentName === 'string') {
|
||||
dynamicProps = setterType.props || {};
|
||||
setterType = setterType.componentName;
|
||||
}
|
||||
} else {
|
||||
setterType = setter;
|
||||
}
|
||||
@ -224,6 +230,7 @@ export default class MixedSetter extends Component<{
|
||||
field,
|
||||
...restProps,
|
||||
...extraProps,
|
||||
...dynamicProps,
|
||||
onInitial: () => {
|
||||
this.handleInitial(currentSetter);
|
||||
},
|
||||
|
||||
@ -517,8 +517,7 @@ class ComponentCreator extends React.Component<{ schema: any; propsMap: any, com
|
||||
if (this.isModal) {
|
||||
return null;
|
||||
}
|
||||
const { schema, propsMap } = this.props;
|
||||
const componentsMap = this.props.componentsMap;
|
||||
const { schema, propsMap, componentsMap } = this.props;
|
||||
const ComponentClass = componentsMap[schema.componentName];
|
||||
if (!ComponentClass) {
|
||||
return null;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user