mirror of
https://github.com/alibaba/lowcode-engine.git
synced 2026-01-13 01:21:58 +00:00
Merge branch 'feat/optional-register-defaults' into 'release/0.9.8'
feat: register-defaults 改为可选项 register-defaults 改为可选项 See merge request !931153
This commit is contained in:
commit
4642f2dd99
@ -1,6 +1,6 @@
|
||||
import { render } from 'react-dom';
|
||||
import { createElement } from 'react';
|
||||
import { Workbench, Skeleton, SettingsPrimaryPane } from '@ali/lowcode-editor-skeleton';
|
||||
import { Workbench, Skeleton, SettingsPrimaryPane, registerDefaults } from '@ali/lowcode-editor-skeleton';
|
||||
import { globalContext, Editor } from '@ali/lowcode-editor-core';
|
||||
import { Designer } from '@ali/lowcode-designer';
|
||||
import Outline, { OutlineBackupPane, getTreeMaster } from '@ali/lowcode-plugin-outline-pane';
|
||||
@ -19,6 +19,7 @@ globalContext.register(editor, Editor);
|
||||
export const skeleton = new Skeleton(editor);
|
||||
editor.set(Skeleton, skeleton);
|
||||
editor.set('skeleton', skeleton);
|
||||
registerDefaults();
|
||||
|
||||
export const designer = new Designer({ editor: editor });
|
||||
editor.set(Designer, designer);
|
||||
|
||||
@ -9,7 +9,7 @@ import bus from './bus';
|
||||
import { VE_EVENTS } from './base/const';
|
||||
|
||||
import DesignerPlugin from '@ali/lowcode-plugin-designer';
|
||||
import { Skeleton, SettingsPrimaryPane } from '@ali/lowcode-editor-skeleton';
|
||||
import { Skeleton, SettingsPrimaryPane, registerDefaults } from '@ali/lowcode-editor-skeleton';
|
||||
|
||||
import { deepValueParser } from './deep-value-parser';
|
||||
import { liveEditingRule, liveEditingSaveHander } from './vc-live-editing';
|
||||
@ -20,6 +20,7 @@ globalContext.register(editor, Editor);
|
||||
export const skeleton = new Skeleton(editor);
|
||||
editor.set(Skeleton, skeleton);
|
||||
editor.set('skeleton', skeleton);
|
||||
registerDefaults();
|
||||
|
||||
export const designer = new Designer({ editor: editor });
|
||||
editor.set(Designer, designer);
|
||||
|
||||
@ -4,5 +4,4 @@ export * from './types';
|
||||
export * from './components/settings';
|
||||
export * from './components/field';
|
||||
export * from './context';
|
||||
|
||||
import './register-defaults';
|
||||
export * from './register-defaults';
|
||||
|
||||
@ -9,54 +9,56 @@ import addonCombine from './transducers/addon-combine';
|
||||
import SlotSetter from './components/slot-setter';
|
||||
import { isJSSlot } from '@ali/lowcode-types';
|
||||
|
||||
registerSetter('ArraySetter', {
|
||||
component: ArraySetter,
|
||||
defaultProps: {},
|
||||
title: 'ArraySetter', // TODO
|
||||
condition: (field: any) => {
|
||||
const v = field.getValue();
|
||||
return v == null || Array.isArray(v);
|
||||
},
|
||||
initialValue: [],
|
||||
recommend: true,
|
||||
});
|
||||
registerSetter('ObjectSetter', {
|
||||
component: ObjectSetter,
|
||||
// todo: defaultProps
|
||||
defaultProps: {},
|
||||
title: 'ObjectSetter', // TODO
|
||||
condition: (field: any) => {
|
||||
const v = field.getValue();
|
||||
return v == null || isPlainObject(v);
|
||||
},
|
||||
initialValue: {},
|
||||
recommend: true,
|
||||
});
|
||||
registerSetter('SlotSetter', {
|
||||
component: SlotSetter,
|
||||
title: {
|
||||
type: 'i18n',
|
||||
'zh-CN': '插槽输入',
|
||||
'en-US': 'Slot Setter'
|
||||
},
|
||||
condition: (field: any) => {
|
||||
return isJSSlot(field.getValue());
|
||||
},
|
||||
initialValue: (field: any, value: any) => {
|
||||
if (isJSSlot(value)) {
|
||||
return value;
|
||||
}
|
||||
return {
|
||||
type: 'JSSlot',
|
||||
value: value
|
||||
};
|
||||
},
|
||||
recommend: true,
|
||||
});
|
||||
registerSetter('MixedSetter', MixedSetter);
|
||||
export const registerDefaults = () => {
|
||||
registerSetter('ArraySetter', {
|
||||
component: ArraySetter,
|
||||
defaultProps: {},
|
||||
title: 'ArraySetter', // TODO
|
||||
condition: (field: any) => {
|
||||
const v = field.getValue();
|
||||
return v == null || Array.isArray(v);
|
||||
},
|
||||
initialValue: [],
|
||||
recommend: true,
|
||||
});
|
||||
registerSetter('ObjectSetter', {
|
||||
component: ObjectSetter,
|
||||
// todo: defaultProps
|
||||
defaultProps: {},
|
||||
title: 'ObjectSetter', // TODO
|
||||
condition: (field: any) => {
|
||||
const v = field.getValue();
|
||||
return v == null || isPlainObject(v);
|
||||
},
|
||||
initialValue: {},
|
||||
recommend: true,
|
||||
});
|
||||
registerSetter('SlotSetter', {
|
||||
component: SlotSetter,
|
||||
title: {
|
||||
type: 'i18n',
|
||||
'zh-CN': '插槽输入',
|
||||
'en-US': 'Slot Setter',
|
||||
},
|
||||
condition: (field: any) => {
|
||||
return isJSSlot(field.getValue());
|
||||
},
|
||||
initialValue: (field: any, value: any) => {
|
||||
if (isJSSlot(value)) {
|
||||
return value;
|
||||
}
|
||||
return {
|
||||
type: 'JSSlot',
|
||||
value: value,
|
||||
};
|
||||
},
|
||||
recommend: true,
|
||||
});
|
||||
registerSetter('MixedSetter', MixedSetter);
|
||||
|
||||
// parseProps
|
||||
registerMetadataTransducer(parseProps, 10, 'parse-props');
|
||||
// parseProps
|
||||
registerMetadataTransducer(parseProps, 10, 'parse-props');
|
||||
|
||||
// addon/platform custom
|
||||
registerMetadataTransducer(addonCombine, 11, 'combine-props');
|
||||
// addon/platform custom
|
||||
registerMetadataTransducer(addonCombine, 11, 'combine-props');
|
||||
};
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user