Merge branch 'master' into release/1.0.0

This commit is contained in:
荣彬 2020-08-20 18:00:56 +08:00
commit 174a59e222
42 changed files with 815 additions and 143 deletions

View File

@ -3,6 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
<<<<<<< HEAD
<<<<<<< HEAD
<a name="1.0.0"></a>
# [1.0.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-designer@0.14.0...@ali/lowcode-designer@1.0.0) (2020-08-17)
@ -22,10 +23,31 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
<a name="0.13.0"></a>
# [0.13.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-designer@0.11.0...@ali/lowcode-designer@0.13.0) (2020-08-17)
=======
<a name="0.9.47"></a>
## [0.9.47](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-designer@0.9.46...@ali/lowcode-designer@0.9.47) (2020-08-19)
### Bug Fixes
* 修复获取 currentPage 的逻辑 ([d8221db](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/d8221db))
<a name="0.9.46"></a>
## [0.9.46](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-designer@0.9.45...@ali/lowcode-designer@0.9.46) (2020-08-19)
### Bug Fixes
* support dropObject is data ([809fda7](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/809fda7))
>>>>>>> master
<<<<<<< HEAD
**Note:** Version bump only for package @ali/lowcode-designer
<a name="0.12.0"></a>
@ -47,6 +69,36 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
<a name="0.10.0"></a>
# [0.10.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-designer@0.9.37...@ali/lowcode-designer@0.10.0) (2020-08-14)
=======
=======
<a name="0.9.45"></a>
## [0.9.45](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-designer@0.9.44...@ali/lowcode-designer@0.9.45) (2020-08-19)
### Bug Fixes
* **designer/node.ts:** fix hasLoop logic ([99a7288](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/99a7288))
* currentPage.id 返回 formUuid ([775725d](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/775725d))
* 优化画布中点击事件屏蔽,增加富文本组件的部分屏蔽 ([ec08c6c](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/ec08c6c))
* 优化画布中点击事件屏蔽,增加富文本组件的部分屏蔽 ([a5b6557](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/a5b6557))
* 区块组件无法删除 ([d936d2b](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/d936d2b))
<a name="0.9.44"></a>
## [0.9.44](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-designer@0.9.43...@ali/lowcode-designer@0.9.44) (2020-08-17)
### Bug Fixes
* fieldId 重复 ([5d64312](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/5d64312))
* 去掉根据 componentName 判断 isModal 的逻辑 ([28f0213](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/28f0213))
* 页面加载之后就被标记位 isModified ([2840d27](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/2840d27))
>>>>>>> master
<a name="0.9.43"></a>
## [0.9.43](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-designer@0.9.42...@ali/lowcode-designer@0.9.43) (2020-08-14)

View File

@ -75,7 +75,7 @@ export function createSimulator(
.join('');
doc.open();
doc.write(`<!doctype html><html><head><meta charset="utf-8"/>
doc.write(`<!doctype html><html class="engine-design-mode"><head><meta charset="utf-8"/>
${styleFrags}
</head><body>${scriptFrags}</body></html>`);
doc.close();

View File

@ -375,12 +375,31 @@ export class BuiltinSimulatorHost implements ISimulatorHost<BuiltinSimulatorProp
x.initEvent('click', true);
this._iframe?.dispatchEvent(x);
const target = e.target as HTMLElement;
if (
isFormEvent(e) ||
target?.closest(
'.next-input-group,.next-checkbox-group,.next-date-picker,.next-input,.next-month-picker,.next-number-picker,.next-radio-group,.next-range,.next-range-picker,.next-rating,.next-select,.next-switch,.next-time-picker,.next-upload,.next-year-picker,.next-breadcrumb-item,.next-calendar-header,.next-calendar-table',
)
) {
// TODO: need more elegant solution to ignore click events of compoents in designer
const ignoreSelectors: any = [
'.next-input-group',
'.next-checkbox-group',
'.next-date-picker',
'.next-input',
'.next-month-picker',
'.next-number-picker',
'.next-radio-group',
'.next-range',
'.next-range-picker',
'.next-rating',
'.next-select',
'.next-switch',
'.next-time-picker',
'.next-upload',
'.next-year-picker',
'.next-breadcrumb-item',
'.next-calendar-header',
'.next-calendar-table',
'.editor-container', // 富文本组件
];
const ignoreSelectorsString = ignoreSelectors.join(',');
if (isFormEvent(e) || target?.closest(ignoreSelectorsString)) {
e.preventDefault();
e.stopPropagation();
}
@ -856,9 +875,10 @@ export class BuiltinSimulatorHost implements ISimulatorHost<BuiltinSimulatorProp
return canMove;
});
if (!operationalNodes || operationalNodes.length === 0) {
if (nodes && (!operationalNodes || operationalNodes.length === 0)) {
return;
}
this.sensing = true;
this.scroller.scrolling(e);
const dropContainer = this.getDropContainer(e);
@ -868,7 +888,7 @@ export class BuiltinSimulatorHost implements ISimulatorHost<BuiltinSimulatorProp
!dropContainer ||
canDropIn === false ||
// too dirty
(typeof canDropIn === 'function' && !canDropIn(operationalNodes[0]))
(nodes && typeof canDropIn === 'function' && !canDropIn(operationalNodes[0]))
) {
return null;
}

View File

@ -208,13 +208,13 @@ export class ComponentMeta {
return result as any;
}
isRootComponent() {
return this.componentName === 'Page' || this.componentName === 'Block' || this.componentName === 'Component';
isRootComponent(includeBlock: boolean = true) {
return this.componentName === 'Page' || this.componentName === 'Component' || (includeBlock && this.componentName === 'Block');
}
@computed get availableActions() {
let { disableBehaviors, actions } = this._transformedMetadata?.configure.component || {};
const disabled = ensureAList(disableBehaviors) || (this.isRootComponent() ? ['copy', 'remove'] : null);
const disabled = ensureAList(disableBehaviors) || (this.isRootComponent(false) ? ['copy', 'remove'] : null);
actions = builtinComponentActions.concat(this.designer.getGlobalComponentActions() || [], actions || []);
if (disabled) {
@ -335,9 +335,9 @@ registerMetadataTransducer((metadata) => {
};
}
}
if (component.isModal == null && /Dialog/.test(componentName)) {
component.isModal = true;
}
// if (component.isModal == null && /Dialog/.test(componentName)) {
// component.isModal = true;
// }
return {
...metadata,
configure: {

View File

@ -8,6 +8,7 @@ import {
IEditor,
CompositeObject,
PropsList,
isNodeSchema,
} from '@ali/lowcode-types';
import { Project } from '../project';
import { Node, DocumentModel, insertChildren, isRootNode, ParentalNode, TransformStage } from '../document';
@ -111,10 +112,14 @@ export class Designer {
if (isLocationChildrenDetail(loc.detail) && loc.detail.valid !== false) {
let nodes: Node[] | undefined;
if (isDragNodeObject(dragObject)) {
nodes = insertChildren(loc.target, dragObject.nodes, loc.detail.index, copy);
nodes = insertChildren(loc.target, [...dragObject.nodes], loc.detail.index, copy);
} else if (isDragNodeDataObject(dragObject)) {
// process nodeData
const nodeData = Array.isArray(dragObject.data) ? dragObject.data : [dragObject.data];
const isNotNodeSchema = nodeData.find(item => !isNodeSchema(item));
if (isNotNodeSchema) {
return;
}
nodes = insertChildren(loc.target, nodeData, loc.detail.index);
}
if (nodes) {

View File

@ -149,4 +149,29 @@ export class DropLocation {
event,
});
}
/**
* @deprecated
* vision
*/
getContainer() {
return this.target;
}
/**
* @deprecated
* vision
*/
getInsertion() {
if (!this.detail) {
return null;
}
if (this.detail.type === 'Children') {
if (this.detail.index <= 0) {
return null;
}
return this.target.children.get(this.detail.index - 1);
}
return (this.detail as any)?.near?.node;
}
}

View File

@ -51,7 +51,7 @@ export class DocumentModel {
*/
readonly modalNodesManager: ModalNodesManager;
private nodesMap = new Map<string, Node>();
private _nodesMap = new Map<string, Node>();
@obx.val private nodes = new Set<Node>();
private seqId = 0;
private _simulator?: ISimulatorHost;
@ -70,6 +70,10 @@ export class DocumentModel {
return this._simulator || null;
}
get nodesMap(): Map<string, Node> {
return this._nodesMap;
}
get fileName(): string {
return this.rootNode.getExtraProp('fileName')?.getAsString() || this.id;
}
@ -103,6 +107,9 @@ export class DocumentModel {
this._blank = true;
}
// 兼容 vision
this.id = project.getSchema()?.id || this.id;
this.rootNode = this.createNode<RootNode>(
schema || {
componentName: 'Page',
@ -141,14 +148,14 @@ export class DocumentModel {
* id
*/
nextId() {
return this.id + (++this.seqId).toString(36).toLocaleLowerCase();
return (this.id.slice(-10) + (++this.seqId).toString(36)).toLocaleLowerCase();
}
/**
* id
*/
getNode(id: string): Node | null {
return this.nodesMap.get(id) || null;
return this._nodesMap.get(id) || null;
}
/**
@ -202,13 +209,13 @@ export class DocumentModel {
// todo: this.activeNodes?.push(node);
}
const origin = this.nodesMap.get(node.id);
const origin = this._nodesMap.get(node.id);
if (origin && origin !== node) {
// almost will not go here, ensure the id is unique
origin.internalSetWillPurge();
}
this.nodesMap.set(node.id, node);
this._nodesMap.set(node.id, node);
this.nodes.add(node);
this.emitter.emit('nodecreate', node);
@ -259,7 +266,7 @@ export class DocumentModel {
if (!this.nodes.has(node)) {
return;
}
this.nodesMap.delete(node.id);
this._nodesMap.delete(node.id);
this.nodes.delete(node);
this.selection.remove(node.id);
node.remove();
@ -584,7 +591,7 @@ export class DocumentModel {
const componentsMap: ComponentMap[] = [];
// 组件去重
const map: any = {};
for (let node of this.nodesMap.values()) {
for (let node of this._nodesMap.values()) {
const { componentName } = node || {};
if (!map[componentName] && node?.componentMeta?.npm?.package) {
map[componentName] = true;

View File

@ -6,7 +6,6 @@ import {
PropsMap,
PropsList,
NodeData,
TitleContent,
I18nData,
SlotSchema,
PageSchema,
@ -396,9 +395,23 @@ export class Node<Schema extends NodeSchema = NodeSchema> {
return v != null && v !== '' && v !== true;
}
/**
* has loop when 1. loop is validArray with length > 1 ; OR 2. loop is variable object
* @return boolean, has loop config or not
*/
@computed hasLoop() {
const v = this.getExtraProp('loop', false)?.getValue();
return v != null && v !== '';
const value = this.getExtraProp('loop', false)?.getValue();
if (value === undefined || value === null) {
return false;
}
if (Array.isArray(value) && value.length > 0) {
return true;
}
if (isJSExpression(value)) {
return true;
}
return false;
}
wrapWith(schema: Schema) {
@ -721,6 +734,12 @@ export class Node<Schema extends NodeSchema = NodeSchema> {
return this.componentName;
}
/**
* @deprecated
*/
insert(node: Node, ref?: Node, useMutator = true) {
this.insertAfter(node, ref, useMutator);
}
insertBefore(node: Node, ref?: Node, useMutator = true) {
this.children?.insert(node, ref ? ref.index : null, useMutator);
}

View File

@ -3,14 +3,20 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
<<<<<<< HEAD
<a name="1.0.0"></a>
# [1.0.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-core@0.13.0...@ali/lowcode-editor-core@1.0.0) (2020-08-17)
=======
<a name="0.8.30"></a>
## [0.8.30](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-core@0.8.29...@ali/lowcode-editor-core@0.8.30) (2020-08-19)
>>>>>>> master
**Note:** Version bump only for package @ali/lowcode-editor-core
<<<<<<< HEAD
<a name="0.13.0"></a>
# [0.13.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-core@0.12.0...@ali/lowcode-editor-core@0.13.0) (2020-08-17)
@ -45,6 +51,10 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
<a name="0.9.0"></a>
# [0.9.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-core@0.8.28...@ali/lowcode-editor-core@0.9.0) (2020-08-14)
=======
<a name="0.8.29"></a>
## [0.8.29](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-core@0.8.28...@ali/lowcode-editor-core@0.8.29) (2020-08-17)
>>>>>>> master

View File

@ -3,10 +3,48 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
<<<<<<< HEAD
<<<<<<< HEAD
<a name="1.0.0"></a>
# [1.0.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-preset-general-beta@0.14.0...@ali/lowcode-editor-preset-general-beta@1.0.0) (2020-08-17)
=======
=======
<a name="0.9.32"></a>
## [0.9.32](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-preset-general@0.9.31...@ali/lowcode-editor-preset-general@0.9.32) (2020-08-19)
### Features
* register-defaults 改为可选项 ([2195797](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/2195797))
<a name="0.9.31"></a>
## [0.9.31](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-preset-general@0.9.30...@ali/lowcode-editor-preset-general@0.9.31) (2020-08-19)
**Note:** Version bump only for package @ali/lowcode-editor-preset-general
<a name="0.9.30"></a>
## [0.9.30](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-preset-general@0.9.29...@ali/lowcode-editor-preset-general@0.9.30) (2020-08-19)
**Note:** Version bump only for package @ali/lowcode-editor-preset-general
<a name="0.9.29"></a>
## [0.9.29](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-preset-general@0.9.28...@ali/lowcode-editor-preset-general@0.9.29) (2020-08-17)
**Note:** Version bump only for package @ali/lowcode-editor-preset-general
>>>>>>> master
<a name="0.9.28"></a>
## [0.9.28](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-preset-general@0.9.27...@ali/lowcode-editor-preset-general@0.9.28) (2020-08-14)
>>>>>>> master

View File

@ -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, LiveEditing, TransformStage, Node } from '@ali/lowcode-designer';
import Outline, { OutlineBackupPane, getTreeMaster } from '@ali/lowcode-plugin-outline-pane';
@ -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);

View File

@ -3,6 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
<<<<<<< HEAD
<<<<<<< HEAD
<a name="1.0.0"></a>
# [1.0.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-preset-vision@0.13.0...@ali/lowcode-editor-preset-vision@1.0.0) (2020-08-17)
@ -15,6 +16,60 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
<a name="0.13.0"></a>
# [0.13.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-preset-vision@0.12.0...@ali/lowcode-editor-preset-vision@0.13.0) (2020-08-17)
=======
=======
<a name="0.8.49"></a>
## [0.8.49](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-preset-vision@0.8.48...@ali/lowcode-editor-preset-vision@0.8.49) (2020-08-19)
### Bug Fixes
* 修复获取 currentPage 的逻辑 ([d8221db](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/d8221db))
### Features
* register-defaults 改为可选项 ([2195797](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/2195797))
<a name="0.8.48"></a>
## [0.8.48](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-preset-vision@0.8.47...@ali/lowcode-editor-preset-vision@0.8.48) (2020-08-19)
### Bug Fixes
* compatiableReducer 递归 ([e905928](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/e905928))
<a name="0.8.47"></a>
## [0.8.47](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-preset-vision@0.8.46...@ali/lowcode-editor-preset-vision@0.8.47) (2020-08-19)
### Bug Fixes
* currentPage.id 返回 formUuid ([775725d](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/775725d))
* formUuid 可能不在 url 中 ([8657ab8](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/8657ab8))
* 区块组件无法删除 ([d936d2b](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/d936d2b))
<a name="0.8.46"></a>
## [0.8.46](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-preset-vision@0.8.45...@ali/lowcode-editor-preset-vision@0.8.46) (2020-08-17)
### Bug Fixes
* fieldId 重复 ([5d64312](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/5d64312))
* 页面加载之后就被标记位 isModified ([2840d27](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/2840d27))
>>>>>>> master
<a name="0.8.45"></a>
## [0.8.45](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-preset-vision@0.8.44...@ali/lowcode-editor-preset-vision@0.8.45) (2020-08-14)

View File

@ -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);
@ -27,6 +28,9 @@ editor.set('designer', designer);
const nodeCache: any = {};
designer.project.onCurrentDocumentChange((doc) => {
doc.nodesMap.forEach((node) => {
nodeCache[node.id] = node;
});
doc.onRendererReady(() => {
bus.emit(VE_EVENTS.VE_PAGE_PAGE_READY);
});
@ -171,33 +175,33 @@ designer.addPropsReducer(filterReducer, TransformStage.Save);
designer.addPropsReducer(filterReducer, TransformStage.Render);
function compatiableReducer(props: any) {
if (!isPlainObject(props)) {
if (!props || !isPlainObject(props)) {
return props;
}
if (isJSSlot(props)) {
return {
type: 'JSBlock',
value: {
componentName: 'Slot',
children: props.value,
props: {
slotTitle: props.title,
slotName: props.name,
},
},
};
}
// 为了能降级到老版本,建议在后期版本去掉以下代码
if (isJSExpression(props) && !props.events) {
return {
type: 'variable',
value: props.mock,
variable: props.value,
}
}
const newProps: any = {};
Object.entries<any>(props).forEach(([key, val]) => {
if (isJSSlot(val)) {
val = {
type: 'JSBlock',
value: {
componentName: 'Slot',
children: val.value,
props: {
slotTitle: val.title,
slotName: val.name,
},
},
};
}
// 为了能降级到老版本,建议在后期版本去掉以下代码
if (isJSExpression(val) && !val.events) {
val = {
type: 'variable',
value: val.mock,
variable: val.value,
}
}
newProps[key] = val;
newProps[key] = compatiableReducer(val);
});
return newProps;
}

View File

@ -16,7 +16,7 @@ export class Flags {
constructor() {
this.emitter = new EventEmitter();
this.flags = ['design-mode'];
this.flags = [];
domReady(() => {
this.ready = true;

View File

@ -30,11 +30,6 @@ import Symbols from './symbols';
import './vision.less';
function init(container?: Element) {
//TODO: dirty fix
// 之前的组件库依赖了这个样式临时fix一下。
// 取决于预览模式是否保留。
document.documentElement.classList.add('engine-design-mode');
if (!container) {
container = document.createElement('div');
document.body.appendChild(container);

View File

@ -1,6 +1,6 @@
import { designer } from './editor';
import { RootSchema } from '@ali/lowcode-types';
import { DocumentModel } from '@ali/lowcode-designer';
import { designer } from './editor';
import NodeCacheVisitor from './rootNodeVisitor';
const { project } = designer;
@ -52,6 +52,7 @@ const pages = Object.assign(project, {
version: '1.0.0',
componentsMap: [],
componentsTree,
id: pages[0].id,
},
true,
);

View File

@ -3,22 +3,33 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
<<<<<<< HEAD
<a name="1.0.0"></a>
# [1.0.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-setters@0.14.0...@ali/lowcode-editor-setters@1.0.0) (2020-08-17)
=======
<a name="0.9.16"></a>
## [0.9.16](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-setters@0.9.15...@ali/lowcode-editor-setters@0.9.16) (2020-08-19)
>>>>>>> master
**Note:** Version bump only for package @ali/lowcode-editor-setters
<<<<<<< HEAD
<a name="0.14.0"></a>
# [0.14.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-setters@0.13.0...@ali/lowcode-editor-setters@0.14.0) (2020-08-17)
=======
<a name="0.9.15"></a>
## [0.9.15](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-setters@0.9.14...@ali/lowcode-editor-setters@0.9.15) (2020-08-17)
>>>>>>> master
**Note:** Version bump only for package @ali/lowcode-editor-setters
<<<<<<< HEAD
<a name="0.13.0"></a>
# [0.13.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-setters@0.11.0...@ali/lowcode-editor-setters@0.13.0) (2020-08-17)
@ -54,6 +65,8 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
=======
>>>>>>> master
<a name="0.9.14"></a>
## [0.9.14](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-setters@0.9.13...@ali/lowcode-editor-setters@0.9.14) (2020-08-04)

View File

@ -3,10 +3,52 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
<<<<<<< HEAD
<<<<<<< HEAD
<a name="1.0.0"></a>
# [1.0.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-skeleton@0.13.0...@ali/lowcode-editor-skeleton@1.0.0) (2020-08-17)
=======
=======
<a name="0.8.53"></a>
## [0.8.53](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-skeleton@0.8.52...@ali/lowcode-editor-skeleton@0.8.53) (2020-08-19)
### Features
* register-defaults 改为可选项 ([2195797](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/2195797))
<a name="0.8.52"></a>
## [0.8.52](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-skeleton@0.8.51...@ali/lowcode-editor-skeleton@0.8.52) (2020-08-19)
**Note:** Version bump only for package @ali/lowcode-editor-skeleton
<a name="0.8.51"></a>
## [0.8.51](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-skeleton@0.8.50...@ali/lowcode-editor-skeleton@0.8.51) (2020-08-19)
### Bug Fixes
* 🐛 添加 loop 和 condition 的判断 ([b521ebe](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/b521ebe))
* 兼容小程序面板的特殊情况 ([3c686ab](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/3c686ab))
<a name="0.8.50"></a>
## [0.8.50](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-skeleton@0.8.49...@ali/lowcode-editor-skeleton@0.8.50) (2020-08-17)
**Note:** Version bump only for package @ali/lowcode-editor-skeleton
>>>>>>> master
<a name="0.8.49"></a>
## [0.8.49](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-skeleton@0.8.48...@ali/lowcode-editor-skeleton@0.8.49) (2020-08-14)
>>>>>>> master

View File

@ -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';

View File

@ -81,7 +81,7 @@ body {
bottom: 0;
left: 0;
right: 0;
overflow: auto;
overflow: visible;
/*
.my-tabs {
width: 100%;

View File

@ -9,54 +9,56 @@ import addonCombine from './transducers/addon-combine';
import SlotSetter from './components/slot-setter';
import { isJSSlot, isJSExpression } 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) && !isJSExpression(v) && !isJSSlot(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');
};

View File

@ -207,11 +207,11 @@ export default function(metadata: TransformedComponentMetadata): TransformedComp
},
setValue(field: SettingTarget, eventData) {
const {eventDataList,eventList} = eventData;
eventList.map((item)=>{
const { eventDataList, eventList } = eventData;
eventList.map((item) => {
field.parent.clearPropValue(item.name);
return item;
})
});
eventDataList.map((item) => {
field.parent.setPropValue(item.name, {
type: 'JSFunction',
@ -304,25 +304,28 @@ export default function(metadata: TransformedComponentMetadata): TransformedComp
},
});
}
advanceGroup.push({
name: 'key',
title: {
label: '渲染唯一标识key',
tip: '搭配「条件渲染」或「循环渲染」时使用,和 react 组件中的 key 原理相同,点击查看帮助',
docUrl: 'https://yuque.antfin-inc.com/legao/help3.0/ca5in7',
},
setter: [
{
componentName: 'StringSetter',
if (supports.condition !== false || supports.loop !== false) {
advanceGroup.push({
name: 'key',
title: {
label: '渲染唯一标识key',
tip: '搭配「条件渲染」或「循环渲染」时使用,和 react 组件中的 key 原理相同,点击查看帮助',
docUrl: 'https://yuque.antfin-inc.com/legao/help3.0/ca5in7',
},
{
componentName: 'VariableSetter',
setter: [
{
componentName: 'StringSetter',
},
{
componentName: 'VariableSetter',
},
],
extraProps: {
display: 'block',
},
],
extraProps: {
display: 'block',
},
});
});
}
}
if (advanceGroup.length > 0) {
combined.push({

View File

@ -3,10 +3,45 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
<<<<<<< HEAD
<<<<<<< HEAD
<a name="1.0.0"></a>
# [1.0.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-components-pane@0.13.0...@ali/lowcode-plugin-components-pane@1.0.0) (2020-08-17)
=======
=======
<a name="0.8.49"></a>
## [0.8.49](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-components-pane@0.8.48...@ali/lowcode-plugin-components-pane@0.8.49) (2020-08-19)
**Note:** Version bump only for package @ali/lowcode-plugin-components-pane
<a name="0.8.48"></a>
## [0.8.48](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-components-pane@0.8.47...@ali/lowcode-plugin-components-pane@0.8.48) (2020-08-19)
**Note:** Version bump only for package @ali/lowcode-plugin-components-pane
<a name="0.8.47"></a>
## [0.8.47](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-components-pane@0.8.46...@ali/lowcode-plugin-components-pane@0.8.47) (2020-08-19)
**Note:** Version bump only for package @ali/lowcode-plugin-components-pane
<a name="0.8.46"></a>
## [0.8.46](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-components-pane@0.8.45...@ali/lowcode-plugin-components-pane@0.8.46) (2020-08-17)
**Note:** Version bump only for package @ali/lowcode-plugin-components-pane
>>>>>>> master
<a name="0.8.45"></a>
## [0.8.45](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-components-pane@0.8.44...@ali/lowcode-plugin-components-pane@0.8.45) (2020-08-14)
>>>>>>> master

View File

@ -3,10 +3,45 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
<<<<<<< HEAD
<<<<<<< HEAD
<a name="1.0.0"></a>
# [1.0.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-designer@0.14.0...@ali/lowcode-plugin-designer@1.0.0) (2020-08-17)
=======
=======
<a name="0.9.47"></a>
## [0.9.47](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-designer@0.9.46...@ali/lowcode-plugin-designer@0.9.47) (2020-08-19)
**Note:** Version bump only for package @ali/lowcode-plugin-designer
<a name="0.9.46"></a>
## [0.9.46](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-designer@0.9.45...@ali/lowcode-plugin-designer@0.9.46) (2020-08-19)
**Note:** Version bump only for package @ali/lowcode-plugin-designer
<a name="0.9.45"></a>
## [0.9.45](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-designer@0.9.44...@ali/lowcode-plugin-designer@0.9.45) (2020-08-19)
**Note:** Version bump only for package @ali/lowcode-plugin-designer
<a name="0.9.44"></a>
## [0.9.44](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-designer@0.9.43...@ali/lowcode-plugin-designer@0.9.44) (2020-08-17)
**Note:** Version bump only for package @ali/lowcode-plugin-designer
>>>>>>> master
<a name="0.9.43"></a>
## [0.9.43](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-designer@0.9.42...@ali/lowcode-plugin-designer@0.9.43) (2020-08-14)
>>>>>>> master

View File

@ -3,14 +3,20 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
<<<<<<< HEAD
<a name="1.0.0"></a>
# [1.0.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-event-bind-dialog@0.13.0...@ali/lowcode-plugin-event-bind-dialog@1.0.0) (2020-08-17)
=======
<a name="0.8.29"></a>
## [0.8.29](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-event-bind-dialog@0.8.28...@ali/lowcode-plugin-event-bind-dialog@0.8.29) (2020-08-19)
>>>>>>> master
**Note:** Version bump only for package @ali/lowcode-plugin-event-bind-dialog
<<<<<<< HEAD
<a name="0.13.0"></a>
# [0.13.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-event-bind-dialog@0.12.0...@ali/lowcode-plugin-event-bind-dialog@0.13.0) (2020-08-17)
@ -45,6 +51,10 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
<a name="0.9.0"></a>
# [0.9.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-event-bind-dialog@0.8.27...@ali/lowcode-plugin-event-bind-dialog@0.9.0) (2020-08-14)
=======
<a name="0.8.28"></a>
## [0.8.28](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-event-bind-dialog@0.8.27...@ali/lowcode-plugin-event-bind-dialog@0.8.28) (2020-08-17)
>>>>>>> master

View File

@ -3,10 +3,45 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
<<<<<<< HEAD
<<<<<<< HEAD
<a name="1.0.0"></a>
# [1.0.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-outline-pane@0.13.0...@ali/lowcode-plugin-outline-pane@1.0.0) (2020-08-17)
=======
=======
<a name="0.8.53"></a>
## [0.8.53](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-outline-pane@0.8.52...@ali/lowcode-plugin-outline-pane@0.8.53) (2020-08-19)
**Note:** Version bump only for package @ali/lowcode-plugin-outline-pane
<a name="0.8.52"></a>
## [0.8.52](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-outline-pane@0.8.51...@ali/lowcode-plugin-outline-pane@0.8.52) (2020-08-19)
**Note:** Version bump only for package @ali/lowcode-plugin-outline-pane
<a name="0.8.51"></a>
## [0.8.51](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-outline-pane@0.8.50...@ali/lowcode-plugin-outline-pane@0.8.51) (2020-08-19)
**Note:** Version bump only for package @ali/lowcode-plugin-outline-pane
<a name="0.8.50"></a>
## [0.8.50](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-outline-pane@0.8.49...@ali/lowcode-plugin-outline-pane@0.8.50) (2020-08-17)
**Note:** Version bump only for package @ali/lowcode-plugin-outline-pane
>>>>>>> master
<a name="0.8.49"></a>
## [0.8.49](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-outline-pane@0.8.48...@ali/lowcode-plugin-outline-pane@0.8.49) (2020-08-14)
>>>>>>> master

View File

@ -3,14 +3,20 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
<<<<<<< HEAD
<a name="1.0.0"></a>
# [1.0.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-sample-logo@0.13.0...@ali/lowcode-plugin-sample-logo@1.0.0) (2020-08-17)
=======
<a name="0.8.28"></a>
## [0.8.28](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-sample-logo@0.8.27...@ali/lowcode-plugin-sample-logo@0.8.28) (2020-08-19)
>>>>>>> master
**Note:** Version bump only for package @ali/lowcode-plugin-sample-logo
<<<<<<< HEAD
<a name="0.13.0"></a>
# [0.13.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-sample-logo@0.12.0...@ali/lowcode-plugin-sample-logo@0.13.0) (2020-08-17)
@ -45,6 +51,10 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
<a name="0.9.0"></a>
# [0.9.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-sample-logo@0.8.26...@ali/lowcode-plugin-sample-logo@0.9.0) (2020-08-14)
=======
<a name="0.8.27"></a>
## [0.8.27](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-sample-logo@0.8.26...@ali/lowcode-plugin-sample-logo@0.8.27) (2020-08-17)
>>>>>>> master

View File

@ -3,10 +3,45 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
<<<<<<< HEAD
<<<<<<< HEAD
<a name="1.0.0"></a>
# [1.0.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-sample-preview@0.15.0...@ali/lowcode-plugin-sample-preview@1.0.0) (2020-08-17)
=======
=======
<a name="0.8.51"></a>
## [0.8.51](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-sample-preview@0.8.50...@ali/lowcode-plugin-sample-preview@0.8.51) (2020-08-19)
**Note:** Version bump only for package @ali/lowcode-plugin-sample-preview
<a name="0.8.50"></a>
## [0.8.50](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-sample-preview@0.8.49...@ali/lowcode-plugin-sample-preview@0.8.50) (2020-08-19)
**Note:** Version bump only for package @ali/lowcode-plugin-sample-preview
<a name="0.8.49"></a>
## [0.8.49](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-sample-preview@0.8.48...@ali/lowcode-plugin-sample-preview@0.8.49) (2020-08-19)
**Note:** Version bump only for package @ali/lowcode-plugin-sample-preview
<a name="0.8.48"></a>
## [0.8.48](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-sample-preview@0.8.47...@ali/lowcode-plugin-sample-preview@0.8.48) (2020-08-17)
**Note:** Version bump only for package @ali/lowcode-plugin-sample-preview
>>>>>>> master
<a name="0.8.47"></a>
## [0.8.47](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-sample-preview@0.8.46...@ali/lowcode-plugin-sample-preview@0.8.47) (2020-08-14)
>>>>>>> master

View File

@ -3,22 +3,33 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
<<<<<<< HEAD
<a name="1.0.0"></a>
# [1.0.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-source-editor@0.13.0...@ali/lowcode-plugin-source-editor@1.0.0) (2020-08-17)
=======
<a name="0.8.26"></a>
## [0.8.26](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-source-editor@0.8.25...@ali/lowcode-plugin-source-editor@0.8.26) (2020-08-19)
>>>>>>> master
**Note:** Version bump only for package @ali/lowcode-plugin-source-editor
<<<<<<< HEAD
<a name="0.13.0"></a>
# [0.13.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-source-editor@0.12.0...@ali/lowcode-plugin-source-editor@0.13.0) (2020-08-17)
=======
<a name="0.8.25"></a>
## [0.8.25](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-source-editor@0.8.24...@ali/lowcode-plugin-source-editor@0.8.25) (2020-08-17)
>>>>>>> master
**Note:** Version bump only for package @ali/lowcode-plugin-source-editor
<<<<<<< HEAD
<a name="0.12.0"></a>
# [0.12.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-source-editor@0.10.0...@ali/lowcode-plugin-source-editor@0.12.0) (2020-08-17)
@ -54,6 +65,8 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
=======
>>>>>>> master
<a name="0.8.24"></a>
## [0.8.24](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-source-editor@0.8.23...@ali/lowcode-plugin-source-editor@0.8.24) (2020-08-04)

View File

@ -3,10 +3,45 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
<<<<<<< HEAD
<<<<<<< HEAD
<a name="1.0.0"></a>
# [1.0.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-undo-redo@0.13.0...@ali/lowcode-plugin-undo-redo@1.0.0) (2020-08-17)
=======
=======
<a name="0.8.51"></a>
## [0.8.51](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-undo-redo@0.8.50...@ali/lowcode-plugin-undo-redo@0.8.51) (2020-08-19)
**Note:** Version bump only for package @ali/lowcode-plugin-undo-redo
<a name="0.8.50"></a>
## [0.8.50](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-undo-redo@0.8.49...@ali/lowcode-plugin-undo-redo@0.8.50) (2020-08-19)
**Note:** Version bump only for package @ali/lowcode-plugin-undo-redo
<a name="0.8.49"></a>
## [0.8.49](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-undo-redo@0.8.48...@ali/lowcode-plugin-undo-redo@0.8.49) (2020-08-19)
**Note:** Version bump only for package @ali/lowcode-plugin-undo-redo
<a name="0.8.48"></a>
## [0.8.48](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-undo-redo@0.8.47...@ali/lowcode-plugin-undo-redo@0.8.48) (2020-08-17)
**Note:** Version bump only for package @ali/lowcode-plugin-undo-redo
>>>>>>> master
<a name="0.8.47"></a>
## [0.8.47](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-undo-redo@0.8.46...@ali/lowcode-plugin-undo-redo@0.8.47) (2020-08-14)
>>>>>>> master

View File

@ -3,14 +3,20 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
<<<<<<< HEAD
<a name="1.0.0"></a>
# [1.0.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-variable-bind-dialog@0.13.0...@ali/lowcode-plugin-variable-bind-dialog@1.0.0) (2020-08-17)
=======
<a name="0.8.27"></a>
## [0.8.27](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-variable-bind-dialog@0.8.26...@ali/lowcode-plugin-variable-bind-dialog@0.8.27) (2020-08-19)
>>>>>>> master
**Note:** Version bump only for package @ali/lowcode-plugin-variable-bind-dialog
<<<<<<< HEAD
<a name="0.13.0"></a>
# [0.13.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-variable-bind-dialog@0.12.0...@ali/lowcode-plugin-variable-bind-dialog@0.13.0) (2020-08-17)
@ -45,6 +51,10 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
<a name="0.9.0"></a>
# [0.9.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-variable-bind-dialog@0.8.25...@ali/lowcode-plugin-variable-bind-dialog@0.9.0) (2020-08-14)
=======
<a name="0.8.26"></a>
## [0.8.26](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-variable-bind-dialog@0.8.25...@ali/lowcode-plugin-variable-bind-dialog@0.8.26) (2020-08-17)
>>>>>>> master

View File

@ -3,14 +3,20 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
<<<<<<< HEAD
<a name="1.0.0"></a>
# [1.0.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-zh-en@0.13.0...@ali/lowcode-plugin-zh-en@1.0.0) (2020-08-17)
=======
<a name="0.8.31"></a>
## [0.8.31](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-zh-en@0.8.30...@ali/lowcode-plugin-zh-en@0.8.31) (2020-08-19)
>>>>>>> master
**Note:** Version bump only for package @ali/lowcode-plugin-zh-en
<<<<<<< HEAD
<a name="0.13.0"></a>
# [0.13.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-zh-en@0.12.0...@ali/lowcode-plugin-zh-en@0.13.0) (2020-08-17)
@ -45,6 +51,10 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
<a name="0.9.0"></a>
# [0.9.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-zh-en@0.8.29...@ali/lowcode-plugin-zh-en@0.9.0) (2020-08-14)
=======
<a name="0.8.30"></a>
## [0.8.30](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-zh-en@0.8.29...@ali/lowcode-plugin-zh-en@0.8.30) (2020-08-17)
>>>>>>> master

View File

@ -3,10 +3,48 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
<<<<<<< HEAD
<<<<<<< HEAD
<a name="1.0.0"></a>
# [1.0.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-rax-simulator-renderer@0.15.0...@ali/lowcode-rax-simulator-renderer@1.0.0) (2020-08-17)
=======
=======
<a name="0.8.51"></a>
## [0.8.51](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-rax-simulator-renderer@0.8.50...@ali/lowcode-rax-simulator-renderer@0.8.51) (2020-08-19)
### Bug Fixes
* rax finddom 方法重写 ([1d90928](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/1d90928))
<a name="0.8.50"></a>
## [0.8.50](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-rax-simulator-renderer@0.8.49...@ali/lowcode-rax-simulator-renderer@0.8.50) (2020-08-19)
**Note:** Version bump only for package @ali/lowcode-rax-simulator-renderer
<a name="0.8.49"></a>
## [0.8.49](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-rax-simulator-renderer@0.8.48...@ali/lowcode-rax-simulator-renderer@0.8.49) (2020-08-19)
**Note:** Version bump only for package @ali/lowcode-rax-simulator-renderer
<a name="0.8.48"></a>
## [0.8.48](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-rax-simulator-renderer@0.8.47...@ali/lowcode-rax-simulator-renderer@0.8.48) (2020-08-17)
**Note:** Version bump only for package @ali/lowcode-rax-simulator-renderer
>>>>>>> master
<a name="0.8.47"></a>
## [0.8.47](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-rax-simulator-renderer@0.8.46...@ali/lowcode-rax-simulator-renderer@0.8.47) (2020-08-14)
>>>>>>> master

View File

@ -188,8 +188,23 @@ export class SimulatorRenderer implements BuiltinSimulatorRenderer {
cursor.release();
}
findDOMNodes(instance: any): Array<Element | Text> | null {
return [raxFindDOMNodes(instance)];
findDOMNodes(instance: any, selector?: string): Array<Element | Text> | null {
let el = instance;
if (selector) {
el = document.querySelector(selector);
}
try {
return raxFindDOMNodes(el);
} catch (e) {
// ignore
}
if (el && el.type && el.props && el.props.componentId) {
el = document.querySelector(`${el.type}[componentid=${el.props.componentId}]`);
} else {
console.error(instance);
throw new Error('This instance may not a valid element');
}
return raxFindDOMNodes(el);
}
/**

View File

@ -9,5 +9,9 @@ export function raxFindDOMNodes(instance: any): Array<Element | Text> | null {
if (isElement(instance)) {
return [instance];
}
return findDOMNode(instance);
const result = findDOMNode(instance);
if (Array.isArray(result)) {
return result;
}
return [result];
}

View File

@ -3,6 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
<<<<<<< HEAD
<<<<<<< HEAD
<a name="1.0.0"></a>
# [1.0.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-react-renderer@0.15.0...@ali/lowcode-react-renderer@1.0.0) (2020-08-17)
@ -22,10 +23,31 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
<a name="0.14.0"></a>
# [0.14.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-react-renderer@0.12.0...@ali/lowcode-react-renderer@0.14.0) (2020-08-17)
=======
<a name="0.8.20"></a>
## [0.8.20](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-react-renderer@0.8.19...@ali/lowcode-react-renderer@0.8.20) (2020-08-19)
### Bug Fixes
* **react-renderer:** fix hasLoop logic ([577e0eb](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/577e0eb))
<a name="0.8.19"></a>
## [0.8.19](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-react-renderer@0.8.18...@ali/lowcode-react-renderer@0.8.19) (2020-08-17)
### Bug Fixes
* 修复判断动态 setter 的逻辑 ([d195d7f](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/d195d7f))
>>>>>>> master
<<<<<<< HEAD
**Note:** Version bump only for package @ali/lowcode-react-renderer
<a name="0.13.0"></a>
@ -63,6 +85,8 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
<a name="0.9.0"></a>
# [0.9.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-react-renderer@0.8.17...@ali/lowcode-react-renderer@0.9.0) (2020-08-14)
=======
=======
>>>>>>> master
<a name="0.8.18"></a>
## [0.8.18](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-react-renderer@0.8.17...@ali/lowcode-react-renderer@0.8.18) (2020-08-14)
>>>>>>> master

View File

@ -268,15 +268,18 @@ export default class BaseRender extends PureComponent {
}
if (schema.loop != null) {
return this.__createLoopVirtualDom(
{
...schema,
loop: parseData(schema.loop, self),
},
self,
parentInfo,
idx,
);
const loop = parseData(schema.loop, self);
if (Array.isArray(loop) && loop.length > 0 || isJSExpression(loop)) {
return this.__createLoopVirtualDom(
{
...schema,
loop,
},
self,
parentInfo,
idx,
);
}
}
const condition = schema.condition == null ? true : parseData(schema.condition, self);
if (!condition) return null;
@ -362,8 +365,12 @@ export default class BaseRender extends PureComponent {
return engine.createElement(
Comp,
props,
<<<<<<< HEAD:packages/react-renderer/src/renderer/base.jsx
(!isFileSchema(schema) &&
!!_children &&
=======
(!!schema.children &&
>>>>>>> master:packages/react-renderer/src/engine/base.jsx
this.__createVirtualDom(
isJSExpression(_children) ? parseExpression(_children, self) : _children,
self,

View File

@ -3,34 +3,64 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
<<<<<<< HEAD
<<<<<<< HEAD
<a name="1.0.0"></a>
# [1.0.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-react-simulator-renderer@0.15.0...@ali/lowcode-react-simulator-renderer@1.0.0) (2020-08-17)
=======
<a name="0.8.53"></a>
## [0.8.53](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-react-simulator-renderer@0.8.52...@ali/lowcode-react-simulator-renderer@0.8.53) (2020-08-19)
>>>>>>> master
**Note:** Version bump only for package @ali/lowcode-react-simulator-renderer
<<<<<<< HEAD
<a name="0.15.0"></a>
# [0.15.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-react-simulator-renderer@0.14.0...@ali/lowcode-react-simulator-renderer@0.15.0) (2020-08-17)
=======
<a name="0.8.52"></a>
## [0.8.52](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-react-simulator-renderer@0.8.51...@ali/lowcode-react-simulator-renderer@0.8.52) (2020-08-19)
>>>>>>> master
**Note:** Version bump only for package @ali/lowcode-react-simulator-renderer
<<<<<<< HEAD
<a name="0.14.0"></a>
# [0.14.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-react-simulator-renderer@0.12.0...@ali/lowcode-react-simulator-renderer@0.14.0) (2020-08-17)
=======
<a name="0.8.51"></a>
## [0.8.51](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-react-simulator-renderer@0.8.50...@ali/lowcode-react-simulator-renderer@0.8.51) (2020-08-19)
>>>>>>> master
**Note:** Version bump only for package @ali/lowcode-react-simulator-renderer
<<<<<<< HEAD
<a name="0.13.0"></a>
# [0.13.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-react-simulator-renderer@0.12.0...@ali/lowcode-react-simulator-renderer@0.13.0) (2020-08-17)
=======
=======
<a name="0.8.50"></a>
## [0.8.50](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-react-simulator-renderer@0.8.49...@ali/lowcode-react-simulator-renderer@0.8.50) (2020-08-17)
### Bug Fixes
* 临时解决 lowCodeComponent 性能问题 ([25b4ba2](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/25b4ba2))
* 修复低代码组件内部部分区域无法选中 ([f0adaa5](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/f0adaa5))
>>>>>>> master
<a name="0.8.49"></a>
## [0.8.49](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-react-simulator-renderer@0.8.48...@ali/lowcode-react-simulator-renderer@0.8.49) (2020-08-14)

View File

@ -3,6 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
<<<<<<< HEAD
<a name="1.0.0"></a>
# [1.0.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-types@0.13.0...@ali/lowcode-types@1.0.0) (2020-08-17)
@ -21,10 +22,31 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
<a name="0.12.0"></a>
# [0.12.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-types@0.10.0...@ali/lowcode-types@0.12.0) (2020-08-17)
=======
<a name="0.8.16"></a>
## [0.8.16](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-types@0.8.15...@ali/lowcode-types@0.8.16) (2020-08-19)
### Bug Fixes
* currentPage.id 返回 formUuid ([775725d](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/775725d))
<a name="0.8.15"></a>
## [0.8.15](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-types@0.8.14...@ali/lowcode-types@0.8.15) (2020-08-17)
### Bug Fixes
* 修复判断动态 setter 的逻辑 ([d195d7f](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/d195d7f))
>>>>>>> master
<<<<<<< HEAD
**Note:** Version bump only for package @ali/lowcode-types
<a name="0.11.0"></a>
@ -51,6 +73,8 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
**Note:** Version bump only for package @ali/lowcode-types
=======
>>>>>>> master
<a name="0.8.14"></a>
## [0.8.14](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-types@0.8.13...@ali/lowcode-types@0.8.14) (2020-08-04)

View File

@ -83,6 +83,7 @@ export interface ProjectSchema {
constants?: JSONObject;
css?: string;
dataSource?: DataSource;
id?: string;
}
export function isNodeSchema(data: any): data is NodeSchema {

View File

@ -47,5 +47,5 @@ export function isCustomView(obj: any): obj is CustomView {
}
export function isDynamicSetter(obj: any): obj is DynamicSetter {
return obj && typeof obj === 'function' && !obj.displayName;
return obj && typeof obj === 'function' && !isReactClass(obj);
}

View File

@ -3,14 +3,20 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
<<<<<<< HEAD
<a name="1.0.0"></a>
# [1.0.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-utils@0.13.0...@ali/lowcode-utils@1.0.0) (2020-08-17)
=======
<a name="0.8.18"></a>
## [0.8.18](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-utils@0.8.17...@ali/lowcode-utils@0.8.18) (2020-08-19)
>>>>>>> master
**Note:** Version bump only for package @ali/lowcode-utils
<<<<<<< HEAD
<a name="0.13.0"></a>
# [0.13.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-utils@0.12.0...@ali/lowcode-utils@0.13.0) (2020-08-17)
@ -48,6 +54,10 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
<a name="0.9.0"></a>
# [0.9.0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-utils@0.8.16...@ali/lowcode-utils@0.9.0) (2020-08-14)
=======
<a name="0.8.17"></a>
## [0.8.17](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-utils@0.8.16...@ali/lowcode-utils@0.8.17) (2020-08-17)
>>>>>>> master