mirror of
https://github.com/alibaba/lowcode-engine.git
synced 2026-03-04 00:37:08 +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 { deepValueParser } from './deep-value-parser';
|
||||||
import { liveEditingRule, liveEditingSaveHander } from './vc-live-editing';
|
import { liveEditingRule, liveEditingSaveHander } from './vc-live-editing';
|
||||||
|
import { isVariable } from './utils';
|
||||||
|
|
||||||
export const editor = new Editor();
|
export const editor = new Editor();
|
||||||
globalContext.register(editor, Editor);
|
globalContext.register(editor, Editor);
|
||||||
@ -36,10 +37,6 @@ interface Variable {
|
|||||||
value: any;
|
value: any;
|
||||||
}
|
}
|
||||||
|
|
||||||
function isVariable(obj: any): obj is Variable {
|
|
||||||
return obj && obj.type === 'variable';
|
|
||||||
}
|
|
||||||
|
|
||||||
function upgradePropsReducer(props: any) {
|
function upgradePropsReducer(props: any) {
|
||||||
if (!props || !isPlainObject(props)) {
|
if (!props || !isPlainObject(props)) {
|
||||||
return props;
|
return props;
|
||||||
@ -123,9 +120,11 @@ designer.addPropsReducer((props, node) => {
|
|||||||
if (ov === undefined && v !== undefined) {
|
if (ov === undefined && v !== undefined) {
|
||||||
newProps[item.name] = v;
|
newProps[item.name] = v;
|
||||||
}
|
}
|
||||||
// 兼容 props 中的属性为 i18n 类型,但是仅提供了一个值
|
// 兼容 props 中的属性为 i18n 类型,但是仅提供了一个字符串值,非变量绑定
|
||||||
if (isUseI18NSetter(node.componentMeta.prototype, item.name) &&
|
if (isUseI18NSetter(node.componentMeta.prototype, item.name) &&
|
||||||
!isI18NObject(ov) && !isVariable(ov)) {
|
!isI18NObject(ov) &&
|
||||||
|
!isJSExpression(ov) &&
|
||||||
|
!isVariable(ov)) {
|
||||||
newProps[item.name] = v;
|
newProps[item.name] = v;
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
|||||||
@ -207,8 +207,14 @@ export default class MixedSetter extends Component<{
|
|||||||
const { setter, props } = currentSetter;
|
const { setter, props } = currentSetter;
|
||||||
let setterProps: any = {};
|
let setterProps: any = {};
|
||||||
let setterType: any;
|
let setterType: any;
|
||||||
|
let dynamicProps: any = {};
|
||||||
if (isDynamicSetter(setter)) {
|
if (isDynamicSetter(setter)) {
|
||||||
setterType = setter.call(field, field);
|
setterType = setter.call(field, field);
|
||||||
|
// { componentName: string; props: object }
|
||||||
|
if (typeof setterType === 'object' && typeof setterType.componentName === 'string') {
|
||||||
|
dynamicProps = setterType.props || {};
|
||||||
|
setterType = setterType.componentName;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
setterType = setter;
|
setterType = setter;
|
||||||
}
|
}
|
||||||
@ -224,6 +230,7 @@ export default class MixedSetter extends Component<{
|
|||||||
field,
|
field,
|
||||||
...restProps,
|
...restProps,
|
||||||
...extraProps,
|
...extraProps,
|
||||||
|
...dynamicProps,
|
||||||
onInitial: () => {
|
onInitial: () => {
|
||||||
this.handleInitial(currentSetter);
|
this.handleInitial(currentSetter);
|
||||||
},
|
},
|
||||||
|
|||||||
@ -517,8 +517,7 @@ class ComponentCreator extends React.Component<{ schema: any; propsMap: any, com
|
|||||||
if (this.isModal) {
|
if (this.isModal) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
const { schema, propsMap } = this.props;
|
const { schema, propsMap, componentsMap } = this.props;
|
||||||
const componentsMap = this.props.componentsMap;
|
|
||||||
const ComponentClass = componentsMap[schema.componentName];
|
const ComponentClass = componentsMap[schema.componentName];
|
||||||
if (!ComponentClass) {
|
if (!ComponentClass) {
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user