From 17c6ed3e31831f79d10d56f383aced185cc6aa92 Mon Sep 17 00:00:00 2001 From: "shuaige.zsg" Date: Fri, 15 May 2020 10:27:31 +0800 Subject: [PATCH 01/70] feat: add filter reducer --- packages/types/src/metadata.ts | 5 ++ .../vision-preset/src/bundle/prototype.ts | 32 ++++++-- .../src/bundle/upgrade-metadata.ts | 73 +++++++++++++++---- packages/vision-preset/src/editor.ts | 19 ++++- 4 files changed, 107 insertions(+), 22 deletions(-) diff --git a/packages/types/src/metadata.ts b/packages/types/src/metadata.ts index b3b11aed0..ac3bee227 100644 --- a/packages/types/src/metadata.ts +++ b/packages/types/src/metadata.ts @@ -45,6 +45,10 @@ export interface InitialItem { name: string; initial: (target: SettingTarget, currentValue: any) => any; } +export interface FilterItem { + name: string; + filter: (target: SettingTarget, currentValue: any) => any; +} export interface Experimental { context?: { [contextInfoName: string]: any }; @@ -52,6 +56,7 @@ export interface Experimental { view?: ComponentType; transducers?: any; // ? should support initials?: InitialItem[]; + filters?: FilterItem[]; callbacks?: Callbacks; // TODO: thinkof function initialChildren?: NodeData[] | ((target: SettingTarget) => NodeData[]); diff --git a/packages/vision-preset/src/bundle/prototype.ts b/packages/vision-preset/src/bundle/prototype.ts index 4ea036ffc..815dab4bf 100644 --- a/packages/vision-preset/src/bundle/prototype.ts +++ b/packages/vision-preset/src/bundle/prototype.ts @@ -1,5 +1,5 @@ import { ComponentType, ReactElement } from 'react'; -import { ComponentMetadata, FieldConfig, InitialItem } from '@ali/lowcode-types'; +import { ComponentMetadata, FieldConfig, InitialItem, FilterItem } from '@ali/lowcode-types'; import { ComponentMeta, addBuiltinComponentAction, @@ -18,22 +18,35 @@ import { import { designer } from '../editor'; import { uniqueId } from '@ali/lowcode-utils'; -const GlobalPropsConfigure: Array<{ position: string; initials?: InitialItem[]; config: FieldConfig }> = []; +const GlobalPropsConfigure: Array<{ + position: string; + initials?: InitialItem[]; + filters?: FilterItem[]; + config: FieldConfig +}> = []; const Overrides: { [componentName: string]: { initials?: InitialItem[]; + filters?: FilterItem[]; override: any; }; } = {}; function addGlobalPropsConfigure(config: OldGlobalPropConfig) { const initials: InitialItem[] = []; + const filters: FilterItem[] = []; GlobalPropsConfigure.push({ position: config.position || 'bottom', initials, - config: upgradePropConfig(config, (item) => { - initials.push(item); - }), + filters, + config: upgradePropConfig(config, { + addInitial: (item) => { + initials.push(item); + }, + addFilter: (item) => { + filters.push(item); + }, + }) }); } function removeGlobalPropsConfigure(name: string) { @@ -46,20 +59,25 @@ function removeGlobalPropsConfigure(name: string) { } function overridePropsConfigure(componentName: string, config: { [name: string]: OldPropConfig } | OldPropConfig[]) { const initials: InitialItem[] = []; + const filters: FilterItem[] = []; const addInitial = (item: InitialItem) => { initials.push(item); }; + const addFilter = (item: FilterItem) => { + filters.push(item); + }; let override: any; if (Array.isArray(config)) { - override = upgradeConfigure(config, addInitial); + override = upgradeConfigure(config, { addInitial, addFilter }); } else { override = {}; Object.keys(config).forEach(key => { - override[key] = upgradePropConfig(config[key], addInitial); + override[key] = upgradePropConfig(config[key], { addInitial, addFilter }); }); } Overrides[componentName] = { initials, + filters, override, }; } diff --git a/packages/vision-preset/src/bundle/upgrade-metadata.ts b/packages/vision-preset/src/bundle/upgrade-metadata.ts index cf10a6cd5..3e1713e6d 100644 --- a/packages/vision-preset/src/bundle/upgrade-metadata.ts +++ b/packages/vision-preset/src/bundle/upgrade-metadata.ts @@ -1,6 +1,6 @@ import { ComponentType, ReactElement, isValidElement, ComponentClass } from 'react'; import { isPlainObject } from '@ali/lowcode-utils'; -import { isI18nData, SettingTarget, InitialItem, isJSSlot, isJSExpression } from '@ali/lowcode-types'; +import { isI18nData, SettingTarget, InitialItem, FilterItem, isJSSlot, isJSExpression } from '@ali/lowcode-types'; type Field = SettingTarget; @@ -178,7 +178,7 @@ type SetterGetter = (this: Field, value: any) => ComponentClass; type ReturnBooleanFunction = (this: Field, value: any) => boolean; -export function upgradePropConfig(config: OldPropConfig, addInitial: AddIntial) { +export function upgradePropConfig(config: OldPropConfig, collector: ConfigCollector) { const { type, name, @@ -276,7 +276,7 @@ export function upgradePropConfig(config: OldPropConfig, addInitial: AddIntial) } if (type === 'group') { - newConfig.items = items ? upgradeConfigure(items, addInitial) : []; + newConfig.items = items ? upgradeConfigure(items, collector) : []; return newConfig; } @@ -314,7 +314,7 @@ export function upgradePropConfig(config: OldPropConfig, addInitial: AddIntial) const setterInitial = getInitialFromSetter(setter); - addInitial({ + collector.addInitial({ name: slotName || name, initial: (field: Field, currentValue: any) => { // FIXME! read from prototype.defaultProps @@ -334,6 +334,28 @@ export function upgradePropConfig(config: OldPropConfig, addInitial: AddIntial) }, }); + if (ignore != null || disabled != null) { + collector.addFilter({ + name: slotName || name, + filter: (field: Field, currentValue: any) => { + let disabledValue: boolean; + if (typeof disabled === 'function') { + disabledValue = disabled.call(field, currentValue) === true; + } + else { + disabledValue = disabled === true; + } + if (disabledValue) { + return false; + } + if (typeof ignore === 'function') { + return ignore.call(field, currentValue) !== true; + } + return ignore !== true; + } + }); + } + if (sync) { extraProps.autorun = (field: Field) => { const value = sync.call(field, field.getValue()); @@ -385,10 +407,18 @@ export function upgradePropConfig(config: OldPropConfig, addInitial: AddIntial) let primarySetter: any; if (type === 'composite') { const initials: InitialItem[] = []; + const filters: FilterItem[] = []; const objItems = items - ? upgradeConfigure(items, (item) => { - initials.push(item); - }) + ? upgradeConfigure(items, + { + addInitial: (item) => { + initials.push(item); + }, + addFilter: (item) => { + filters.push(item); + } + } + ) : []; const initial = (target: SettingTarget, value?: any) => { // TODO: @@ -400,7 +430,7 @@ export function upgradePropConfig(config: OldPropConfig, addInitial: AddIntial) }); return data; }; - addInitial({ + collector.addInitial({ name, initial, }); @@ -460,7 +490,13 @@ export function upgradePropConfig(config: OldPropConfig, addInitial: AddIntial) return newConfig; } -type AddIntial = (initialItem: InitialItem) => void; +type AddInitial = (initialItem: InitialItem) => void; +type AddFilter = (filterItem: FilterItem) => void; + +type ConfigCollector = { + addInitial: AddInitial, + addFilter: AddFilter, +} function getInitialFromSetter(setter: any) { return setter && ( @@ -474,7 +510,7 @@ function defaultInitial(value: any, defaultValue: any) { } -export function upgradeConfigure(items: OldPropConfig[], addInitial: AddIntial) { +export function upgradeConfigure(items: OldPropConfig[], collector: ConfigCollector) { const configure: any[] = []; let ignoreSlotName: any = null; items.forEach((config) => { @@ -487,7 +523,7 @@ export function upgradeConfigure(items: OldPropConfig[], addInitial: AddIntial) } ignoreSlotName = null; } - configure.push(upgradePropConfig(config, addInitial)); + configure.push(upgradePropConfig(config, collector)); }); return configure; } @@ -724,10 +760,19 @@ export function upgradeMetadata(oldConfig: OldPrototypeConfig) { experimental.callbacks = callbacks; const initials: InitialItem[] = []; - const props = upgradeConfigure(configure || [], (item) => { - initials.push(item); - }); + const filters: FilterItem[] = []; + const props = upgradeConfigure(configure || [], + { + addInitial: (item) => { + initials.push(item); + }, + addFilter: (item) => { + filters.push(item); + }, + } + ); experimental.initials = initials; + experimental.filters = filters; const supports: any = {}; if (canUseCondition != null) { diff --git a/packages/vision-preset/src/editor.ts b/packages/vision-preset/src/editor.ts index 805537782..201be5e8a 100644 --- a/packages/vision-preset/src/editor.ts +++ b/packages/vision-preset/src/editor.ts @@ -1,7 +1,7 @@ import { isJSBlock, isJSExpression, isJSSlot } from '@ali/lowcode-types'; import { isPlainObject } from '@ali/lowcode-utils'; import { globalContext, Editor } from '@ali/lowcode-editor-core'; -import { Designer, LiveEditing, TransformStage, addBuiltinComponentAction } from '@ali/lowcode-designer'; +import { Designer, LiveEditing, TransformStage, addBuiltinComponentAction, Node } from '@ali/lowcode-designer'; import Outline, { OutlineBackupPane, getTreeMaster } from '@ali/lowcode-plugin-outline-pane'; import { toCss } from '@ali/vu-css-style'; @@ -44,6 +44,23 @@ designer.addPropsReducer((props, node) => { // 国际化渲染时处理 designer.addPropsReducer(i18nReducer, TransformStage.Render); +function filterReducer(props: any, node: Node): any { + const filters = node.componentMeta.getMetadata().experimental?.filters; + if (filters && filters.length) { + const newProps = { ...props }; + filters.forEach((item) => { + const v = item.filter(node as any, props[item.name]); + if (!v) { + delete newProps[item.name]; + } + }); + return newProps; + } + return props; +} +designer.addPropsReducer(filterReducer, TransformStage.Serilize); +designer.addPropsReducer(filterReducer, TransformStage.Render); + function upgradePropsReducer(props: any) { if (!isPlainObject(props)) { return props; From c2e83c7cdca4454b244a4b24616f694873bf64c6 Mon Sep 17 00:00:00 2001 From: "shuaige.zsg" Date: Fri, 15 May 2020 17:46:26 +0800 Subject: [PATCH 02/70] feat: change reducer stage --- packages/designer/src/designer/builtin-hotkey.ts | 2 ++ packages/designer/src/document/document-model.ts | 2 +- packages/designer/src/document/node/node.ts | 4 ++-- .../vision-preset/src/bundle/upgrade-metadata.ts | 13 ------------- packages/vision-preset/src/editor.ts | 2 +- 5 files changed, 6 insertions(+), 17 deletions(-) diff --git a/packages/designer/src/designer/builtin-hotkey.ts b/packages/designer/src/designer/builtin-hotkey.ts index 8e01bbfff..3f1fbc2c4 100644 --- a/packages/designer/src/designer/builtin-hotkey.ts +++ b/packages/designer/src/designer/builtin-hotkey.ts @@ -108,6 +108,8 @@ hotkey.bind(['command+c', 'ctrl+c', 'command+x', 'ctrl+x'], (e, action) => { const componentsMap = {}; const componentsTree = selected.map((item) => item.export(TransformStage.Save)); + // FIXME: clear node.id + const data = { type: 'nodeSchema', componentsMap, componentsTree }; clipboard.setData(data); diff --git a/packages/designer/src/document/document-model.ts b/packages/designer/src/document/document-model.ts index fe7908500..b1c72b44d 100644 --- a/packages/designer/src/document/document-model.ts +++ b/packages/designer/src/document/document-model.ts @@ -483,7 +483,7 @@ export class DocumentModel { // add toData toData() { - const node = this.project?.currentDocument?.export(TransformStage.Serilize); + const node = this.project?.currentDocument?.export(TransformStage.Save); return { componentsTree: [node] }; } diff --git a/packages/designer/src/document/node/node.ts b/packages/designer/src/document/node/node.ts index 63a75421d..b9dfc983a 100644 --- a/packages/designer/src/document/node/node.ts +++ b/packages/designer/src/document/node/node.ts @@ -486,9 +486,9 @@ export class Node { componentName: this.componentName, }; - if (stage !== TransformStage.Save) { + // if (stage !== TransformStage.Save) { baseSchema.id = this.id; - } + // } if (this.isLeaf()) { baseSchema.children = this.props.get('children')?.export(stage); diff --git a/packages/vision-preset/src/bundle/upgrade-metadata.ts b/packages/vision-preset/src/bundle/upgrade-metadata.ts index 3e1713e6d..cad503a57 100644 --- a/packages/vision-preset/src/bundle/upgrade-metadata.ts +++ b/packages/vision-preset/src/bundle/upgrade-metadata.ts @@ -261,19 +261,6 @@ export function upgradePropConfig(config: OldPropConfig, collector: ConfigCollec } else if (hidden != null || disabled != null) { extraProps.condition = (field: Field) => !(isHidden(field) || isDisabled(field)); } - if (ignore != null || disabled != null) { - // FIXME! addFilter - extraProps.virtual = (field: Field) => { - if (isDisabled(field)) { - return true; - } - - if (typeof ignore === 'function') { - return ignore.call(field, field.getValue()) === true; - } - return ignore === true; - }; - } if (type === 'group') { newConfig.items = items ? upgradeConfigure(items, collector) : []; diff --git a/packages/vision-preset/src/editor.ts b/packages/vision-preset/src/editor.ts index 201be5e8a..4f2cd4789 100644 --- a/packages/vision-preset/src/editor.ts +++ b/packages/vision-preset/src/editor.ts @@ -58,7 +58,7 @@ function filterReducer(props: any, node: Node): any { } return props; } -designer.addPropsReducer(filterReducer, TransformStage.Serilize); +designer.addPropsReducer(filterReducer, TransformStage.Save); designer.addPropsReducer(filterReducer, TransformStage.Render); function upgradePropsReducer(props: any) { From 7dcd61cc136e8ac048d38f50ccea693ff92c4b4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8A=9B=E7=9A=93?= Date: Fri, 15 May 2020 20:59:08 +0800 Subject: [PATCH 03/70] =?UTF-8?q?fix:=20=E8=A7=A3=E5=86=B3=E7=82=B9?= =?UTF-8?q?=E5=87=BB=E6=95=B0=E6=8D=AE=E6=BA=90=EF=BC=8C=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E9=9A=90=E8=97=8F=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../editor-skeleton/src/layouts/left-float-pane.tsx | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/packages/editor-skeleton/src/layouts/left-float-pane.tsx b/packages/editor-skeleton/src/layouts/left-float-pane.tsx index 44a8df171..6bdfb1570 100644 --- a/packages/editor-skeleton/src/layouts/left-float-pane.tsx +++ b/packages/editor-skeleton/src/layouts/left-float-pane.tsx @@ -31,6 +31,15 @@ export default class LeftFloatPane extends Component<{ area: Area }> if (this.shell?.contains(target)) { return true; } + // 点击了 iframe 内容,算失焦 + if (document.querySelector('.lc-simulator-content-frame') + .contentWindow.document.documentElement.contains(target)) { + return false; + } + // 防止点击 popup / dialog 等触发失焦 + if (!document.querySelector('.lc-workbench-center')?.contains(target)) { + return true; + } const docks = area.current?.getAssocDocks(); if (docks && docks?.length) { return docks.some(dock => dock.getDOMNode()?.contains(target)); @@ -41,6 +50,7 @@ export default class LeftFloatPane extends Component<{ area: Area }> this.props.area.setVisible(false); }, onBlur: () => { + // debugger this.props.area.setVisible(false); }, }); From 188f0067c5e419688ada3aa61c782408086cf3c2 Mon Sep 17 00:00:00 2001 From: kangwei Date: Sat, 16 May 2020 04:15:27 +0800 Subject: [PATCH 04/70] fix depends --- deploy-space/static/preview.html | 70 +++++++++++++++++-- .../react-simulator-renderer/package.json | 2 +- packages/vision-preset/package.json | 1 + 3 files changed, 67 insertions(+), 6 deletions(-) diff --git a/deploy-space/static/preview.html b/deploy-space/static/preview.html index e37a87391..1e79181e9 100644 --- a/deploy-space/static/preview.html +++ b/deploy-space/static/preview.html @@ -4,20 +4,80 @@ - LowCodeEngine Preview DEMO + LowCodeEngine Editor DEMO + - - + - + + + + + + + - +
+ + + + + + + + diff --git a/packages/react-simulator-renderer/package.json b/packages/react-simulator-renderer/package.json index ff2fe733e..38b3d39f4 100644 --- a/packages/react-simulator-renderer/package.json +++ b/packages/react-simulator-renderer/package.json @@ -14,7 +14,7 @@ }, "dependencies": { "@ali/lowcode-designer": "^0.9.11", - "@ali/lowcode-react-renderer": "^0.8.8", + "@ali/lowcode-react-renderer": "^0.8.0", "@ali/lowcode-types": "^0.8.3", "@ali/lowcode-utils": "^0.8.4", "@ali/vu-css-style": "^1.0.2", diff --git a/packages/vision-preset/package.json b/packages/vision-preset/package.json index b6724ed08..68f5575e9 100644 --- a/packages/vision-preset/package.json +++ b/packages/vision-preset/package.json @@ -17,6 +17,7 @@ "@ali/lowcode-editor-core": "^0.8.12", "@ali/lowcode-editor-skeleton": "^0.8.17", "@ali/lowcode-plugin-designer": "^0.9.11", + "@ali/lowcode-designer": "^0.9.0", "@ali/lowcode-plugin-outline-pane": "^0.8.17", "@ali/ve-i18n-util": "^2.0.2", "@ali/ve-icons": "^4.1.9", From 7552ca8a441a07676d93b88eea17ca437104d808 Mon Sep 17 00:00:00 2001 From: kangwei Date: Sat, 16 May 2020 04:21:12 +0800 Subject: [PATCH 05/70] Publish - @ali/lowcode-demo@0.8.21 - @ali/lowcode-designer@0.9.12 - @ali/lowcode-editor-core@0.8.13 - @ali/lowcode-editor-skeleton@0.8.18 - @ali/lowcode-plugin-components-pane@0.8.14 - @ali/lowcode-plugin-designer@0.9.12 - @ali/lowcode-plugin-event-bind-dialog@0.8.13 - @ali/lowcode-plugin-outline-pane@0.8.18 - @ali/lowcode-plugin-sample-logo@0.8.12 - @ali/lowcode-plugin-sample-preview@0.8.17 - @ali/lowcode-plugin-source-editor@0.8.10 - @ali/lowcode-plugin-undo-redo@0.8.17 - @ali/lowcode-plugin-variable-bind-dialog@0.8.11 - @ali/lowcode-plugin-zh-en@0.8.15 - @ali/lowcode-react-simulator-renderer@0.8.17 - @ali/lowcode-setters@0.8.15 - @ali/lowcode-types@0.8.4 - @ali/lowcode-utils@0.8.5 - @ali/lowcode-vision-preset@0.8.11 --- packages/demo/CHANGELOG.md | 8 ++++++ packages/demo/package.json | 26 +++++++++---------- packages/designer/CHANGELOG.md | 11 ++++++++ packages/designer/package.json | 8 +++--- packages/editor-core/CHANGELOG.md | 8 ++++++ packages/editor-core/package.json | 6 ++--- packages/editor-skeleton/CHANGELOG.md | 11 ++++++++ packages/editor-skeleton/package.json | 10 +++---- packages/plugin-components-pane/CHANGELOG.md | 8 ++++++ packages/plugin-components-pane/package.json | 8 +++--- packages/plugin-designer/CHANGELOG.md | 8 ++++++ packages/plugin-designer/package.json | 6 ++--- .../plugin-event-bind-dialog/CHANGELOG.md | 8 ++++++ .../plugin-event-bind-dialog/package.json | 6 ++--- packages/plugin-outline-pane/CHANGELOG.md | 8 ++++++ packages/plugin-outline-pane/package.json | 10 +++---- packages/plugin-sample-logo/CHANGELOG.md | 8 ++++++ packages/plugin-sample-logo/package.json | 4 +-- packages/plugin-sample-preview/CHANGELOG.md | 8 ++++++ packages/plugin-sample-preview/package.json | 6 ++--- packages/plugin-source-editor/CHANGELOG.md | 8 ++++++ packages/plugin-source-editor/package.json | 4 +-- packages/plugin-undo-redo/CHANGELOG.md | 8 ++++++ packages/plugin-undo-redo/package.json | 12 ++++----- .../plugin-variable-bind-dialog/CHANGELOG.md | 8 ++++++ .../plugin-variable-bind-dialog/package.json | 4 +-- packages/plugin-zh-en/CHANGELOG.md | 8 ++++++ packages/plugin-zh-en/package.json | 8 +++--- .../react-simulator-renderer/CHANGELOG.md | 8 ++++++ .../react-simulator-renderer/package.json | 8 +++--- packages/setters/CHANGELOG.md | 8 ++++++ packages/setters/package.json | 4 +-- packages/types/CHANGELOG.md | 11 ++++++++ packages/types/package.json | 2 +- packages/utils/CHANGELOG.md | 8 ++++++ packages/utils/package.json | 4 +-- packages/vision-preset/CHANGELOG.md | 12 +++++++++ packages/vision-preset/package.json | 12 ++++----- 38 files changed, 239 insertions(+), 74 deletions(-) diff --git a/packages/demo/CHANGELOG.md b/packages/demo/CHANGELOG.md index 11ff8ccc8..d2c8d936f 100644 --- a/packages/demo/CHANGELOG.md +++ b/packages/demo/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +## [0.8.21](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-demo@0.8.20...@ali/lowcode-demo@0.8.21) (2020-05-15) + + + + +**Note:** Version bump only for package @ali/lowcode-demo + ## [0.8.20](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-demo@0.8.19...@ali/lowcode-demo@0.8.20) (2020-05-15) diff --git a/packages/demo/package.json b/packages/demo/package.json index 12e672043..589c6a05a 100644 --- a/packages/demo/package.json +++ b/packages/demo/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-demo", - "version": "0.8.20", + "version": "0.8.21", "private": true, "description": "低代码引擎 DEMO", "scripts": { @@ -11,21 +11,21 @@ }, "config": {}, "dependencies": { - "@ali/lowcode-editor-core": "^0.8.12", - "@ali/lowcode-editor-skeleton": "^0.8.17", - "@ali/lowcode-plugin-components-pane": "^0.8.13", - "@ali/lowcode-plugin-designer": "^0.9.11", - "@ali/lowcode-plugin-event-bind-dialog": "^0.8.12", - "@ali/lowcode-plugin-outline-pane": "^0.8.17", - "@ali/lowcode-plugin-sample-logo": "^0.8.11", - "@ali/lowcode-plugin-sample-preview": "^0.8.16", + "@ali/lowcode-editor-core": "^0.8.13", + "@ali/lowcode-editor-skeleton": "^0.8.18", + "@ali/lowcode-plugin-components-pane": "^0.8.14", + "@ali/lowcode-plugin-designer": "^0.9.12", + "@ali/lowcode-plugin-event-bind-dialog": "^0.8.13", + "@ali/lowcode-plugin-outline-pane": "^0.8.18", + "@ali/lowcode-plugin-sample-logo": "^0.8.12", + "@ali/lowcode-plugin-sample-preview": "^0.8.17", "@ali/lowcode-plugin-settings-pane": "^0.8.8", - "@ali/lowcode-plugin-undo-redo": "^0.8.16", - "@ali/lowcode-plugin-variable-bind-dialog": "^0.8.10", - "@ali/lowcode-plugin-zh-en": "^0.8.14", + "@ali/lowcode-plugin-undo-redo": "^0.8.17", + "@ali/lowcode-plugin-variable-bind-dialog": "^0.8.11", + "@ali/lowcode-plugin-zh-en": "^0.8.15", "@ali/lowcode-react-renderer": "^0.8.8", "@ali/lowcode-runtime": "^0.8.13", - "@ali/lowcode-utils": "^0.8.4", + "@ali/lowcode-utils": "^0.8.5", "@ali/ve-action-pane": "^4.7.0-beta.0", "@ali/ve-datapool-pane": "^6.4.3", "@ali/ve-history-pane": "4.0.0", diff --git a/packages/designer/CHANGELOG.md b/packages/designer/CHANGELOG.md index d0ad33327..1f52f18c2 100644 --- a/packages/designer/CHANGELOG.md +++ b/packages/designer/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +## [0.9.12](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-designer@0.9.11...@ali/lowcode-designer@0.9.12) (2020-05-15) + + +### Features + +* change reducer stage ([c2e83c7](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/c2e83c7)) + + + + ## [0.9.11](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-designer@0.9.10...@ali/lowcode-designer@0.9.11) (2020-05-15) diff --git a/packages/designer/package.json b/packages/designer/package.json index ad1e0dce9..4f1d0b5ac 100644 --- a/packages/designer/package.json +++ b/packages/designer/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-designer", - "version": "0.9.11", + "version": "0.9.12", "description": "Designer for Ali LowCode Engine", "main": "lib/index.js", "module": "es/index.js", @@ -15,9 +15,9 @@ }, "license": "MIT", "dependencies": { - "@ali/lowcode-editor-core": "^0.8.12", - "@ali/lowcode-types": "^0.8.3", - "@ali/lowcode-utils": "^0.8.4", + "@ali/lowcode-editor-core": "^0.8.13", + "@ali/lowcode-types": "^0.8.4", + "@ali/lowcode-utils": "^0.8.5", "classnames": "^2.2.6", "event": "^1.0.0", "react": "^16", diff --git a/packages/editor-core/CHANGELOG.md b/packages/editor-core/CHANGELOG.md index fc3c2e52b..559809582 100644 --- a/packages/editor-core/CHANGELOG.md +++ b/packages/editor-core/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +## [0.8.13](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-core@0.8.12...@ali/lowcode-editor-core@0.8.13) (2020-05-15) + + + + +**Note:** Version bump only for package @ali/lowcode-editor-core + ## [0.8.12](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-core@0.8.11...@ali/lowcode-editor-core@0.8.12) (2020-05-13) diff --git a/packages/editor-core/package.json b/packages/editor-core/package.json index 5e1aa66be..ea4e0781c 100644 --- a/packages/editor-core/package.json +++ b/packages/editor-core/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-editor-core", - "version": "0.8.12", + "version": "0.8.13", "description": "Core Api for Ali lowCode engine", "license": "MIT", "main": "lib/index.js", @@ -15,8 +15,8 @@ "cloud-build": "build-scripts build --skip-demo" }, "dependencies": { - "@ali/lowcode-types": "^0.8.3", - "@ali/lowcode-utils": "^0.8.4", + "@ali/lowcode-types": "^0.8.4", + "@ali/lowcode-utils": "^0.8.5", "@alifd/next": "^1.19.16", "@recore/obx": "^1.0.9", "@recore/obx-react": "^1.0.8", diff --git a/packages/editor-skeleton/CHANGELOG.md b/packages/editor-skeleton/CHANGELOG.md index 34c16eb9c..4b707c5cd 100644 --- a/packages/editor-skeleton/CHANGELOG.md +++ b/packages/editor-skeleton/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +## [0.8.18](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-skeleton@0.8.17...@ali/lowcode-editor-skeleton@0.8.18) (2020-05-15) + + +### Bug Fixes + +* 解决点击数据源,自动隐藏的问题 ([7dcd61c](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/7dcd61c)) + + + + ## [0.8.17](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-skeleton@0.8.16...@ali/lowcode-editor-skeleton@0.8.17) (2020-05-15) diff --git a/packages/editor-skeleton/package.json b/packages/editor-skeleton/package.json index 55f224f02..b53c8778f 100644 --- a/packages/editor-skeleton/package.json +++ b/packages/editor-skeleton/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-editor-skeleton", - "version": "0.8.17", + "version": "0.8.18", "description": "alibaba lowcode editor skeleton", "main": "lib/index.js", "module": "es/index.js", @@ -19,10 +19,10 @@ "editor" ], "dependencies": { - "@ali/lowcode-designer": "^0.9.11", - "@ali/lowcode-editor-core": "^0.8.12", - "@ali/lowcode-types": "^0.8.3", - "@ali/lowcode-utils": "^0.8.4", + "@ali/lowcode-designer": "^0.9.12", + "@ali/lowcode-editor-core": "^0.8.13", + "@ali/lowcode-types": "^0.8.4", + "@ali/lowcode-utils": "^0.8.5", "@alifd/next": "^1.x", "classnames": "^2.2.6", "react": "^16.8.1", diff --git a/packages/plugin-components-pane/CHANGELOG.md b/packages/plugin-components-pane/CHANGELOG.md index 008953cdf..150fab7aa 100644 --- a/packages/plugin-components-pane/CHANGELOG.md +++ b/packages/plugin-components-pane/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +## [0.8.14](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-components-pane@0.8.13...@ali/lowcode-plugin-components-pane@0.8.14) (2020-05-15) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-components-pane + ## [0.8.13](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-components-pane@0.8.12...@ali/lowcode-plugin-components-pane@0.8.13) (2020-05-15) diff --git a/packages/plugin-components-pane/package.json b/packages/plugin-components-pane/package.json index fec2b0c1d..02964aab7 100644 --- a/packages/plugin-components-pane/package.json +++ b/packages/plugin-components-pane/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-components-pane", - "version": "0.8.13", + "version": "0.8.14", "description": "alibaba lowcode editor component-list plugin", "files": [ "es/", @@ -23,9 +23,9 @@ "@ali/iceluna-addon-component-list": "^1.0.11", "@ali/iceluna-comp-material-show": "^1.0.10", "@ali/iceluna-sdk": "^1.0.6-beta.6", - "@ali/lowcode-designer": "^0.9.11", - "@ali/lowcode-editor-core": "^0.8.12", - "@ali/lowcode-types": "^0.8.3", + "@ali/lowcode-designer": "^0.9.12", + "@ali/lowcode-editor-core": "^0.8.13", + "@ali/lowcode-types": "^0.8.4", "@alifd/next": "^1.19.19", "react": "^16.8.1" }, diff --git a/packages/plugin-designer/CHANGELOG.md b/packages/plugin-designer/CHANGELOG.md index 2e493a99c..022d382db 100644 --- a/packages/plugin-designer/CHANGELOG.md +++ b/packages/plugin-designer/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +## [0.9.12](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-designer@0.9.11...@ali/lowcode-plugin-designer@0.9.12) (2020-05-15) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-designer + ## [0.9.11](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-designer@0.9.10...@ali/lowcode-plugin-designer@0.9.11) (2020-05-15) diff --git a/packages/plugin-designer/package.json b/packages/plugin-designer/package.json index bde4e28f2..777c375be 100644 --- a/packages/plugin-designer/package.json +++ b/packages/plugin-designer/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-designer", - "version": "0.9.11", + "version": "0.9.12", "description": "alibaba lowcode editor designer plugin", "files": [ "es", @@ -20,8 +20,8 @@ ], "author": "xiayang.xy", "dependencies": { - "@ali/lowcode-designer": "^0.9.11", - "@ali/lowcode-editor-core": "^0.8.12", + "@ali/lowcode-designer": "^0.9.12", + "@ali/lowcode-editor-core": "^0.8.13", "react": "^16.8.1", "react-dom": "^16.8.1" }, diff --git a/packages/plugin-event-bind-dialog/CHANGELOG.md b/packages/plugin-event-bind-dialog/CHANGELOG.md index 00b293cc5..95d2c7e5f 100644 --- a/packages/plugin-event-bind-dialog/CHANGELOG.md +++ b/packages/plugin-event-bind-dialog/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +## [0.8.13](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-event-bind-dialog@0.8.12...@ali/lowcode-plugin-event-bind-dialog@0.8.13) (2020-05-15) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-event-bind-dialog + ## [0.8.12](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-event-bind-dialog@0.8.11...@ali/lowcode-plugin-event-bind-dialog@0.8.12) (2020-05-13) diff --git a/packages/plugin-event-bind-dialog/package.json b/packages/plugin-event-bind-dialog/package.json index b7c044896..e6b6ec277 100644 --- a/packages/plugin-event-bind-dialog/package.json +++ b/packages/plugin-event-bind-dialog/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-event-bind-dialog", - "version": "0.8.12", + "version": "0.8.13", "description": "alibaba lowcode editor event bind dialog plugin", "files": [ "es", @@ -19,8 +19,8 @@ ], "author": "zude.hzd", "dependencies": { - "@ali/lowcode-editor-core": "^0.8.12", - "@ali/lowcode-types": "^0.8.3", + "@ali/lowcode-editor-core": "^0.8.13", + "@ali/lowcode-types": "^0.8.4", "@alifd/next": "^1.19.16", "react": "^16.8.1", "react-dom": "^16.8.1" diff --git a/packages/plugin-outline-pane/CHANGELOG.md b/packages/plugin-outline-pane/CHANGELOG.md index 747908330..3c1e6b1a3 100644 --- a/packages/plugin-outline-pane/CHANGELOG.md +++ b/packages/plugin-outline-pane/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +## [0.8.18](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-outline-pane@0.8.17...@ali/lowcode-plugin-outline-pane@0.8.18) (2020-05-15) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-outline-pane + ## [0.8.17](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-outline-pane@0.8.16...@ali/lowcode-plugin-outline-pane@0.8.17) (2020-05-15) diff --git a/packages/plugin-outline-pane/package.json b/packages/plugin-outline-pane/package.json index 9f566d1c4..7d608124d 100644 --- a/packages/plugin-outline-pane/package.json +++ b/packages/plugin-outline-pane/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-outline-pane", - "version": "0.8.17", + "version": "0.8.18", "description": "Outline pane for Ali lowCode engine", "files": [ "es", @@ -14,10 +14,10 @@ "test:snapshot": "ava --update-snapshots" }, "dependencies": { - "@ali/lowcode-designer": "^0.9.11", - "@ali/lowcode-editor-core": "^0.8.12", - "@ali/lowcode-types": "^0.8.3", - "@ali/lowcode-utils": "^0.8.4", + "@ali/lowcode-designer": "^0.9.12", + "@ali/lowcode-editor-core": "^0.8.13", + "@ali/lowcode-types": "^0.8.4", + "@ali/lowcode-utils": "^0.8.5", "@alifd/next": "^1.19.16", "classnames": "^2.2.6", "react": "^16", diff --git a/packages/plugin-sample-logo/CHANGELOG.md b/packages/plugin-sample-logo/CHANGELOG.md index ca30c410e..ed9a7f0ad 100644 --- a/packages/plugin-sample-logo/CHANGELOG.md +++ b/packages/plugin-sample-logo/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +## [0.8.12](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-sample-logo@0.8.11...@ali/lowcode-plugin-sample-logo@0.8.12) (2020-05-15) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-sample-logo + ## [0.8.11](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-sample-logo@0.8.10...@ali/lowcode-plugin-sample-logo@0.8.11) (2020-05-13) diff --git a/packages/plugin-sample-logo/package.json b/packages/plugin-sample-logo/package.json index 2cb9f1eeb..b36f3f22e 100644 --- a/packages/plugin-sample-logo/package.json +++ b/packages/plugin-sample-logo/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-sample-logo", - "version": "0.8.11", + "version": "0.8.12", "description": "alibaba lowcode editor logo plugin", "files": [ "es/", @@ -20,7 +20,7 @@ ], "author": "xiayang.xy", "dependencies": { - "@ali/lowcode-editor-core": "^0.8.12", + "@ali/lowcode-editor-core": "^0.8.13", "react": "^16.8.1" }, "devDependencies": { diff --git a/packages/plugin-sample-preview/CHANGELOG.md b/packages/plugin-sample-preview/CHANGELOG.md index 0cc662a19..1f45ee659 100644 --- a/packages/plugin-sample-preview/CHANGELOG.md +++ b/packages/plugin-sample-preview/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +## [0.8.17](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-sample-preview@0.8.16...@ali/lowcode-plugin-sample-preview@0.8.17) (2020-05-15) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-sample-preview + ## [0.8.16](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-sample-preview@0.8.15...@ali/lowcode-plugin-sample-preview@0.8.16) (2020-05-15) diff --git a/packages/plugin-sample-preview/package.json b/packages/plugin-sample-preview/package.json index c0d4bfeae..a65e44a16 100644 --- a/packages/plugin-sample-preview/package.json +++ b/packages/plugin-sample-preview/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-sample-preview", - "version": "0.8.16", + "version": "0.8.17", "description": "alibaba lowcode editor sample preview plugin", "files": [ "es", @@ -18,8 +18,8 @@ "editor" ], "dependencies": { - "@ali/lowcode-designer": "^0.9.11", - "@ali/lowcode-editor-core": "^0.8.12", + "@ali/lowcode-designer": "^0.9.12", + "@ali/lowcode-editor-core": "^0.8.13", "@alifd/next": "^1.x", "react": "^16.8.1" }, diff --git a/packages/plugin-source-editor/CHANGELOG.md b/packages/plugin-source-editor/CHANGELOG.md index e401f19c3..221756e44 100644 --- a/packages/plugin-source-editor/CHANGELOG.md +++ b/packages/plugin-source-editor/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +## [0.8.10](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-source-editor@0.8.9...@ali/lowcode-plugin-source-editor@0.8.10) (2020-05-15) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-source-editor + ## [0.8.9](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-source-editor@0.8.8...@ali/lowcode-plugin-source-editor@0.8.9) (2020-05-15) diff --git a/packages/plugin-source-editor/package.json b/packages/plugin-source-editor/package.json index 6f2be4dbe..2439cf714 100644 --- a/packages/plugin-source-editor/package.json +++ b/packages/plugin-source-editor/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-source-editor", - "version": "0.8.9", + "version": "0.8.10", "description": "alibaba lowcode editor source-editor plugin", "files": [ "es", @@ -19,7 +19,7 @@ ], "author": "zude.hzd", "dependencies": { - "@ali/lowcode-editor-core": "^0.8.12", + "@ali/lowcode-editor-core": "^0.8.13", "@alifd/next": "^1.19.16", "js-beautify": "^1.10.1", "prettier": "^1.18.2", diff --git a/packages/plugin-undo-redo/CHANGELOG.md b/packages/plugin-undo-redo/CHANGELOG.md index 7e35b45bc..fba6f1a80 100644 --- a/packages/plugin-undo-redo/CHANGELOG.md +++ b/packages/plugin-undo-redo/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +## [0.8.17](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-undo-redo@0.8.16...@ali/lowcode-plugin-undo-redo@0.8.17) (2020-05-15) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-undo-redo + ## [0.8.16](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-undo-redo@0.8.15...@ali/lowcode-plugin-undo-redo@0.8.16) (2020-05-15) diff --git a/packages/plugin-undo-redo/package.json b/packages/plugin-undo-redo/package.json index 94f17770e..87f0107b0 100644 --- a/packages/plugin-undo-redo/package.json +++ b/packages/plugin-undo-redo/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-undo-redo", - "version": "0.8.16", + "version": "0.8.17", "description": "alibaba lowcode editor undo redo plugin", "files": [ "es", @@ -19,11 +19,11 @@ ], "author": "xiayang.xy", "dependencies": { - "@ali/lowcode-designer": "^0.9.11", - "@ali/lowcode-editor-core": "^0.8.12", - "@ali/lowcode-editor-skeleton": "^0.8.17", - "@ali/lowcode-types": "^0.8.3", - "@ali/lowcode-utils": "^0.8.4", + "@ali/lowcode-designer": "^0.9.12", + "@ali/lowcode-editor-core": "^0.8.13", + "@ali/lowcode-editor-skeleton": "^0.8.18", + "@ali/lowcode-types": "^0.8.4", + "@ali/lowcode-utils": "^0.8.5", "react": "^16.8.1", "react-dom": "^16.8.1" }, diff --git a/packages/plugin-variable-bind-dialog/CHANGELOG.md b/packages/plugin-variable-bind-dialog/CHANGELOG.md index 378f71b52..5e13ba031 100644 --- a/packages/plugin-variable-bind-dialog/CHANGELOG.md +++ b/packages/plugin-variable-bind-dialog/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +## [0.8.11](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-variable-bind-dialog@0.8.10...@ali/lowcode-plugin-variable-bind-dialog@0.8.11) (2020-05-15) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-variable-bind-dialog + ## [0.8.10](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-variable-bind-dialog@0.8.9...@ali/lowcode-plugin-variable-bind-dialog@0.8.10) (2020-05-13) diff --git a/packages/plugin-variable-bind-dialog/package.json b/packages/plugin-variable-bind-dialog/package.json index 324b9933b..d7c755c3a 100644 --- a/packages/plugin-variable-bind-dialog/package.json +++ b/packages/plugin-variable-bind-dialog/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-variable-bind-dialog", - "version": "0.8.10", + "version": "0.8.11", "description": "alibaba lowcode editor variable bind dialog plugin", "files": [ "es", @@ -19,7 +19,7 @@ ], "author": "zude.hzd", "dependencies": { - "@ali/lowcode-editor-core": "^0.8.12", + "@ali/lowcode-editor-core": "^0.8.13", "@alifd/next": "^1.19.16", "react": "^16.8.1", "react-dom": "^16.8.1" diff --git a/packages/plugin-zh-en/CHANGELOG.md b/packages/plugin-zh-en/CHANGELOG.md index d6fd1b773..e83760157 100644 --- a/packages/plugin-zh-en/CHANGELOG.md +++ b/packages/plugin-zh-en/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +## [0.8.15](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-zh-en@0.8.14...@ali/lowcode-plugin-zh-en@0.8.15) (2020-05-15) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-zh-en + ## [0.8.14](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-zh-en@0.8.13...@ali/lowcode-plugin-zh-en@0.8.14) (2020-05-13) diff --git a/packages/plugin-zh-en/package.json b/packages/plugin-zh-en/package.json index a45d5eb95..c0db261f3 100644 --- a/packages/plugin-zh-en/package.json +++ b/packages/plugin-zh-en/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-zh-en", - "version": "0.8.14", + "version": "0.8.15", "description": "alibaba lowcode editor zhong english plugin", "files": [ "es", @@ -14,9 +14,9 @@ "test:snapshot": "ava --update-snapshots" }, "dependencies": { - "@ali/lowcode-editor-core": "^0.8.12", - "@ali/lowcode-types": "^0.8.3", - "@ali/lowcode-utils": "^0.8.4", + "@ali/lowcode-editor-core": "^0.8.13", + "@ali/lowcode-types": "^0.8.4", + "@ali/lowcode-utils": "^0.8.5", "react": "^16.8.1", "react-dom": "^16.8.1" }, diff --git a/packages/react-simulator-renderer/CHANGELOG.md b/packages/react-simulator-renderer/CHANGELOG.md index fbc0420a2..420bafada 100644 --- a/packages/react-simulator-renderer/CHANGELOG.md +++ b/packages/react-simulator-renderer/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +## [0.8.17](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-react-simulator-renderer@0.8.16...@ali/lowcode-react-simulator-renderer@0.8.17) (2020-05-15) + + + + +**Note:** Version bump only for package @ali/lowcode-react-simulator-renderer + ## [0.8.16](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-react-simulator-renderer@0.8.15...@ali/lowcode-react-simulator-renderer@0.8.16) (2020-05-15) diff --git a/packages/react-simulator-renderer/package.json b/packages/react-simulator-renderer/package.json index 38b3d39f4..f2befb524 100644 --- a/packages/react-simulator-renderer/package.json +++ b/packages/react-simulator-renderer/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@ali/lowcode-react-simulator-renderer", - "version": "0.8.16", + "version": "0.8.17", "description": "react simulator renderer for alibaba lowcode designer", "main": "lib/index.js", "module": "es/index.js", @@ -13,10 +13,10 @@ "test:snapshot": "ava --update-snapshots" }, "dependencies": { - "@ali/lowcode-designer": "^0.9.11", + "@ali/lowcode-designer": "^0.9.12", "@ali/lowcode-react-renderer": "^0.8.0", - "@ali/lowcode-types": "^0.8.3", - "@ali/lowcode-utils": "^0.8.4", + "@ali/lowcode-types": "^0.8.4", + "@ali/lowcode-utils": "^0.8.5", "@ali/vu-css-style": "^1.0.2", "@recore/obx": "^1.0.8", "@recore/obx-react": "^1.0.7", diff --git a/packages/setters/CHANGELOG.md b/packages/setters/CHANGELOG.md index 943285574..b9c5f65f7 100644 --- a/packages/setters/CHANGELOG.md +++ b/packages/setters/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +## [0.8.15](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-setters@0.8.14...@ali/lowcode-setters@0.8.15) (2020-05-15) + + + + +**Note:** Version bump only for package @ali/lowcode-setters + ## [0.8.14](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-setters@0.8.13...@ali/lowcode-setters@0.8.14) (2020-05-13) diff --git a/packages/setters/package.json b/packages/setters/package.json index 0ebb32192..cecd6c200 100644 --- a/packages/setters/package.json +++ b/packages/setters/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-setters", - "version": "0.8.14", + "version": "0.8.15", "description": "Builtin setters for Ali lowCode engine", "files": [ "es", @@ -22,7 +22,7 @@ "@ali/iceluna-comp-react-node": "^1.0.5", "@ali/iceluna-sdk": "^1.0.5-beta.24", "@ali/lc-style-setter": "^0.0.1", - "@ali/lowcode-editor-core": "^0.8.12", + "@ali/lowcode-editor-core": "^0.8.13", "@alifd/next": "^1.19.16", "acorn": "^6.4.1", "classnames": "^2.2.6", diff --git a/packages/types/CHANGELOG.md b/packages/types/CHANGELOG.md index ecf357478..d3d732967 100644 --- a/packages/types/CHANGELOG.md +++ b/packages/types/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +## [0.8.4](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-types@0.8.3...@ali/lowcode-types@0.8.4) (2020-05-15) + + +### Features + +* add filter reducer ([17c6ed3](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/17c6ed3)) + + + + ## [0.8.3](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-types@0.8.2...@ali/lowcode-types@0.8.3) (2020-05-13) diff --git a/packages/types/package.json b/packages/types/package.json index 9ec880c2d..6323bb77b 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-types", - "version": "0.8.3", + "version": "0.8.4", "description": "Types for Ali lowCode engine", "files": [ "es", diff --git a/packages/utils/CHANGELOG.md b/packages/utils/CHANGELOG.md index 60c543810..41abdbd55 100644 --- a/packages/utils/CHANGELOG.md +++ b/packages/utils/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +## [0.8.5](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-utils@0.8.4...@ali/lowcode-utils@0.8.5) (2020-05-15) + + + + +**Note:** Version bump only for package @ali/lowcode-utils + ## [0.8.4](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-utils@0.8.3...@ali/lowcode-utils@0.8.4) (2020-05-13) diff --git a/packages/utils/package.json b/packages/utils/package.json index fdde7f0f8..d6179ae74 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-utils", - "version": "0.8.4", + "version": "0.8.5", "description": "Utils for Ali lowCode engine", "files": [ "es", @@ -14,7 +14,7 @@ "test:snapshot": "ava --update-snapshots" }, "dependencies": { - "@ali/lowcode-types": "^0.8.3", + "@ali/lowcode-types": "^0.8.4", "@alifd/next": "^1.19.16", "react": "^16" }, diff --git a/packages/vision-preset/CHANGELOG.md b/packages/vision-preset/CHANGELOG.md index e208100e3..2f33c0e37 100644 --- a/packages/vision-preset/CHANGELOG.md +++ b/packages/vision-preset/CHANGELOG.md @@ -3,6 +3,18 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +## [0.8.11](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-vision-preset@0.8.10...@ali/lowcode-vision-preset@0.8.11) (2020-05-15) + + +### Features + +* add filter reducer ([17c6ed3](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/17c6ed3)) +* change reducer stage ([c2e83c7](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/c2e83c7)) + + + + ## [0.8.10](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-vision-preset@0.8.9...@ali/lowcode-vision-preset@0.8.10) (2020-05-15) diff --git a/packages/vision-preset/package.json b/packages/vision-preset/package.json index 68f5575e9..b3be98b6a 100644 --- a/packages/vision-preset/package.json +++ b/packages/vision-preset/package.json @@ -1,7 +1,7 @@ { "name": "@ali/lowcode-vision-preset", "private": true, - "version": "0.8.10", + "version": "0.8.11", "description": "Vision Polyfill for Ali lowCode engine", "main": "lib/index.js", "files": [ @@ -14,11 +14,11 @@ }, "license": "MIT", "dependencies": { - "@ali/lowcode-editor-core": "^0.8.12", - "@ali/lowcode-editor-skeleton": "^0.8.17", - "@ali/lowcode-plugin-designer": "^0.9.11", - "@ali/lowcode-designer": "^0.9.0", - "@ali/lowcode-plugin-outline-pane": "^0.8.17", + "@ali/lowcode-designer": "^0.9.12", + "@ali/lowcode-editor-core": "^0.8.13", + "@ali/lowcode-editor-skeleton": "^0.8.18", + "@ali/lowcode-plugin-designer": "^0.9.12", + "@ali/lowcode-plugin-outline-pane": "^0.8.18", "@ali/ve-i18n-util": "^2.0.2", "@ali/ve-icons": "^4.1.9", "@ali/ve-less-variables": "2.0.3", From 0c81d96bf1c685f98ab7613b307ac911b0ad03fb Mon Sep 17 00:00:00 2001 From: kangwei Date: Sat, 16 May 2020 20:27:13 +0800 Subject: [PATCH 06/70] fix reducers --- .../bem-tools/drag-resize-engine.ts | 30 ++++++++++---- .../designer/src/builtin-simulator/host.ts | 3 ++ .../live-editing/live-editing.ts | 8 +++- packages/designer/src/component-meta.ts | 6 +-- .../designer/src/designer/builtin-hotkey.ts | 2 +- packages/designer/src/designer/dragon.ts | 5 --- .../designer/src/document/document-model.ts | 2 +- packages/designer/src/document/node/node.ts | 8 ++-- .../designer/src/document/node/props/prop.ts | 27 ++++++++++++- .../src/document/node/transform-stage.ts | 3 +- .../settings/settings-primary-pane.tsx | 40 ++++++++++++++----- .../plugin-outline-pane/src/views/tree.tsx | 5 ++- .../src/renderer.less | 9 +++++ .../src/bundle/upgrade-metadata.ts | 4 +- packages/vision-preset/src/editor.ts | 35 +++++++++++----- packages/vision-preset/src/i18n-reducer.ts | 9 ++++- packages/vision-preset/src/index.ts | 5 +-- packages/vision-preset/src/project.ts | 2 +- packages/vision-preset/src/vc-live-editing.ts | 11 ++++- 19 files changed, 158 insertions(+), 56 deletions(-) diff --git a/packages/designer/src/builtin-simulator/bem-tools/drag-resize-engine.ts b/packages/designer/src/builtin-simulator/bem-tools/drag-resize-engine.ts index 11308316e..895084878 100644 --- a/packages/designer/src/builtin-simulator/bem-tools/drag-resize-engine.ts +++ b/packages/designer/src/builtin-simulator/bem-tools/drag-resize-engine.ts @@ -1,6 +1,6 @@ -import * as EventEmitter from 'events'; -import { ISimulatorHost, isSimulatorHost } from '../../../../designer/src/simulator'; -import { Designer } from '../../../../designer/src/designer/designer'; +import { EventEmitter } from 'events'; +import { ISimulatorHost, isSimulatorHost } from '../../simulator'; +import { Designer, Point } from '../../designer'; import { setNativeSelection, cursor } from '@ali/lowcode-utils'; // import Cursor from './cursor'; // import Pages from './pages'; @@ -66,21 +66,37 @@ export default class DragResizeEngine { */ from(shell: Element, direction: string, boost: (e: MouseEvent) => any) { let node: any; - let startEvent: MouseEvent; + let startEvent: Point; if (!shell) { return () => {}; } const move = (e: MouseEvent) => { - const moveX = e.clientX - startEvent.clientX; - const moveY = e.clientY - startEvent.clientY; + const x = createResizeEvent(e); + const moveX = x.clientX - startEvent.clientX; + const moveY = x.clientY - startEvent.clientY; this.emitter.emit('resize', e, direction, node, moveX, moveY); }; const masterSensors = this.getMasterSensors(); + const createResizeEvent = (e: MouseEvent | DragEvent): Point => { + const evt: any = {}; + + const sourceDocument = e.view?.document; + + if (!sourceDocument || sourceDocument === document) { + return e; + } + const srcSim = masterSensors.find((sim) => sim.contentDocument === sourceDocument); + if (srcSim) { + return srcSim.viewport.toGlobalPoint(e); + } + return e; + }; + const over = (e: MouseEvent) => { const handleEvents = makeEventsHandler(e, masterSensors); handleEvents((doc) => { @@ -96,7 +112,7 @@ export default class DragResizeEngine { const mousedown = (e: MouseEvent) => { node = boost(e); - startEvent = e; + startEvent = createResizeEvent(e); const handleEvents = makeEventsHandler(e, masterSensors); handleEvents((doc) => { doc.addEventListener('mousemove', move, true); diff --git a/packages/designer/src/builtin-simulator/host.ts b/packages/designer/src/builtin-simulator/host.ts index 04aad80ad..e216a16e2 100644 --- a/packages/designer/src/builtin-simulator/host.ts +++ b/packages/designer/src/builtin-simulator/host.ts @@ -247,6 +247,9 @@ export class BuiltinSimulatorHost implements ISimulatorHost item.condition(prop))?.onSaveContent || defaultSaveContent; setterPropElement.setAttribute('contenteditable', matched?.mode && matched.mode !== 'plaintext' ? 'true' : 'plaintext-only'); - setterPropElement.removeAttribute('for'); setterPropElement.classList.add('engine-live-editing'); // be sure setterPropElement.focus(); @@ -110,6 +109,13 @@ export class LiveEditing { const keydown = (e: KeyboardEvent) => { console.info(e.code); + switch (e.code) { + case 'Enter': + // TODO: check is richtext? + case 'Escape': + case 'Tab': + setterPropElement?.blur(); + } // esc // enter // tab diff --git a/packages/designer/src/component-meta.ts b/packages/designer/src/component-meta.ts index 411a23ae3..71c418c9c 100644 --- a/packages/designer/src/component-meta.ts +++ b/packages/designer/src/component-meta.ts @@ -13,7 +13,7 @@ import { FieldConfig, } from '@ali/lowcode-types'; import { computed } from '@ali/lowcode-editor-core'; -import { Node, ParentalNode } from './document'; +import { Node, ParentalNode, TransformStage } from './document'; import { Designer } from './designer'; import { intlNode } from './locale'; import { IconContainer } from './icons/container'; @@ -379,8 +379,8 @@ const builtinComponentActions: ComponentAction[] = [ title: intlNode('copy'), action(node: Node) { // node.remove(); - const { document: doc, parent, schema, index } = node; - parent && doc.insertNode(parent, schema, index); + const { document: doc, parent, index } = node; + parent && doc.insertNode(parent, node, index, true); }, }, important: true, diff --git a/packages/designer/src/designer/builtin-hotkey.ts b/packages/designer/src/designer/builtin-hotkey.ts index 3f1fbc2c4..a30ee0ad4 100644 --- a/packages/designer/src/designer/builtin-hotkey.ts +++ b/packages/designer/src/designer/builtin-hotkey.ts @@ -106,7 +106,7 @@ hotkey.bind(['command+c', 'ctrl+c', 'command+x', 'ctrl+x'], (e, action) => { if (!selected || selected.length < 1) return; const componentsMap = {}; - const componentsTree = selected.map((item) => item.export(TransformStage.Save)); + const componentsTree = selected.map((item) => item.export(TransformStage.Clone)); // FIXME: clear node.id diff --git a/packages/designer/src/designer/dragon.ts b/packages/designer/src/designer/dragon.ts index feadee53e..8cb020ca4 100644 --- a/packages/designer/src/designer/dragon.ts +++ b/packages/designer/src/designer/dragon.ts @@ -159,20 +159,15 @@ function makeEventsHandler( const topDoc = window.top.document; const sourceDoc = boostEvent.view?.document || topDoc; // TODO: optimize this logic, reduce listener - // const boostPrevented = boostEvent.defaultPrevented; const docs = new Set(); - // if (boostPrevented || isDragEvent(boostEvent)) { docs.add(topDoc); - // } docs.add(sourceDoc); - // if (sourceDoc !== topDoc || isDragEvent(boostEvent)) { sensors.forEach((sim) => { const sdoc = sim.contentDocument; if (sdoc) { docs.add(sdoc); } }); - // } return (handle: (sdoc: Document) => void) => { docs.forEach((doc) => handle(doc)); diff --git a/packages/designer/src/document/document-model.ts b/packages/designer/src/document/document-model.ts index b1c72b44d..352cb681a 100644 --- a/packages/designer/src/document/document-model.ts +++ b/packages/designer/src/document/document-model.ts @@ -88,7 +88,7 @@ export class DocumentModel { ); this.history = new History( - () => this.schema, + () => this.export(TransformStage.Serilize), (schema) => this.import(schema as RootSchema, true), ); this.setupListenActiveNodes(); diff --git a/packages/designer/src/document/node/node.ts b/packages/designer/src/document/node/node.ts index d743b0bd1..eeded1e39 100644 --- a/packages/designer/src/document/node/node.ts +++ b/packages/designer/src/document/node/node.ts @@ -481,15 +481,13 @@ export class Node { * 导出 schema */ export(stage: TransformStage = TransformStage.Save): Schema { - // run transducers - // run const baseSchema: any = { componentName: this.componentName, }; - // if (stage !== TransformStage.Save) { + if (stage !== TransformStage.Clone) { baseSchema.id = this.id; - // } + } if (this.isLeaf()) { baseSchema.children = this.props.get('children')?.export(stage); @@ -827,7 +825,7 @@ export function comparePosition(node1: Node, node2: Node): PositionNO { export function insertChild(container: ParentalNode, thing: Node | NodeData, at?: number | null, copy?: boolean): Node { let node: Node; if (isNode(thing) && (copy || thing.isSlot())) { - thing = thing.export(TransformStage.Save); + thing = thing.export(TransformStage.Clone); } if (isNode(thing)) { node = thing; diff --git a/packages/designer/src/document/node/props/prop.ts b/packages/designer/src/document/node/props/prop.ts index 518f62d26..1777a6b89 100644 --- a/packages/designer/src/document/node/props/prop.ts +++ b/packages/designer/src/document/node/props/prop.ts @@ -20,6 +20,27 @@ export type ValueTypes = 'unset' | 'literal' | 'map' | 'list' | 'expression' | ' export class Prop implements IPropParent { readonly isProp = true; + /** + * @see SettingTarget + */ + getPropValue(propName: string | number): any { + return this.get(propName)!.getValue(); + } + + /** + * @see SettingTarget + */ + setPropValue(propName: string | number, value: any): void { + this.set(propName, value); + } + + /** + * @see SettingTarget + */ + clearPropValue(propName: string | number): void { + this.get(propName, false)?.unset(); + } + readonly id = uniqueId('prop$'); @obx.ref private _type: ValueTypes = 'unset'; @@ -341,7 +362,7 @@ export class Prop implements IPropParent { * 获取某个属性 * @param stash 如果不存在,临时获取一个待写入 */ - get(path: string | number, stash = true): Prop | null { + get(path: string | number, stash: boolean = true): Prop | null { const type = this._type; if (type !== 'map' && type !== 'list' && type !== 'unset' && !stash) { return null; @@ -588,6 +609,10 @@ export class Prop implements IPropParent { return isMap ? fn(item, item.key) : fn(item, index); }); } + + getProps() { + return this.parent; + } } export function isProp(obj: any): obj is Prop { diff --git a/packages/designer/src/document/node/transform-stage.ts b/packages/designer/src/document/node/transform-stage.ts index 5baec4675..e415d44ae 100644 --- a/packages/designer/src/document/node/transform-stage.ts +++ b/packages/designer/src/document/node/transform-stage.ts @@ -2,5 +2,6 @@ export enum TransformStage { Render = 1, Serilize = 2, Save = 3, - Init = 4, + Clone = 4, + Init = 5, } diff --git a/packages/editor-skeleton/src/components/settings/settings-primary-pane.tsx b/packages/editor-skeleton/src/components/settings/settings-primary-pane.tsx index 182a521b7..c146ffb5d 100644 --- a/packages/editor-skeleton/src/components/settings/settings-primary-pane.tsx +++ b/packages/editor-skeleton/src/components/settings/settings-primary-pane.tsx @@ -1,6 +1,6 @@ import React, { Component } from 'react'; import { Tab, Breadcrumb } from '@alifd/next'; -import { Title, observer, Editor } from '@ali/lowcode-editor-core'; +import { Title, observer, Editor, obx } from '@ali/lowcode-editor-core'; import { Node, isSettingField, SettingField } from '@ali/lowcode-designer'; import { SettingsMain } from './main'; import { SettingsPane } from './settings-pane'; @@ -10,6 +10,8 @@ import { createIcon } from '@ali/lowcode-utils'; export class SettingsPrimaryPane extends Component<{ editor: Editor }> { private main = new SettingsMain(this.props.editor); + @obx.ref private _activeKey?: any; + shouldComponentUpdate() { return false; } @@ -26,7 +28,7 @@ export class SettingsPrimaryPane extends Component<{ editor: Editor }> { if (settings.isMultiple) { return (
- {createIcon(settings.componentMeta?.icon, { className: 'lc-settings-navigator-icon'})} + {createIcon(settings.componentMeta?.icon, { className: 'lc-settings-navigator-icon' })} <span>x {settings.nodes.length}</span> </div> @@ -45,13 +47,17 @@ export class SettingsPrimaryPane extends Component<{ editor: Editor }> { onMouseOut: hoverNode.bind(null, node, false), onClick: selectNode.bind(null, node), }; - items.unshift(<Breadcrumb.Item {...props} key={node.id}><Title title={node.title} /></Breadcrumb.Item>); + items.unshift( + <Breadcrumb.Item {...props} key={node.id}> + <Title title={node.title} /> + </Breadcrumb.Item>, + ); node = node.parent; } return ( <div className="lc-settings-navigator"> - {createIcon(this.main.componentMeta?.icon, { className: 'lc-settings-navigator-icon'})} + {createIcon(this.main.componentMeta?.icon, { className: 'lc-settings-navigator-icon' })} <Breadcrumb className="lc-settings-node-breadcrumb">{items}</Breadcrumb> </div> ); @@ -82,7 +88,7 @@ export class SettingsPrimaryPane extends Component<{ editor: Editor }> { } const { items } = settings; - if (items.length > 5 || items.some(item => !isSettingField(item) || !item.isGroup)) { + if (items.length > 5 || items.some((item) => !isSettingField(item) || !item.isGroup)) { return ( <div className="lc-settings-main"> {this.renderBreadcrumb()} @@ -93,21 +99,33 @@ export class SettingsPrimaryPane extends Component<{ editor: Editor }> { ); } + let matched = false; + const tabs = (items as SettingField[]).map((field) => { + if (this._activeKey === field.name) { + matched = true; + } + return ( + <Tab.Item className="lc-settings-tab-item" title={<Title title={field.title} />} key={field.name}> + <SettingsPane target={field} key={field.id} /> + </Tab.Item> + ); + }); + const activeKey = matched ? this._activeKey : (items[0] as SettingField).name; + return ( <div className="lc-settings-main"> <Tab - key={settings.id} + activeKey={activeKey} + onChange={(tabKey) => { + this._activeKey = tabKey; + }} navClassName="lc-settings-tabs" animation={false} excessMode="dropdown" contentClassName="lc-settings-tabs-content" extra={this.renderBreadcrumb()} > - {(items as SettingField[]).map(field => ( - <Tab.Item className="lc-settings-tab-item" title={<Title title={field.title} />} key={field.name}> - <SettingsPane target={field} key={field.id} /> - </Tab.Item> - ))} + {tabs} </Tab> </div> ); diff --git a/packages/plugin-outline-pane/src/views/tree.tsx b/packages/plugin-outline-pane/src/views/tree.tsx index b629d6c44..8512825d6 100644 --- a/packages/plugin-outline-pane/src/views/tree.tsx +++ b/packages/plugin-outline-pane/src/views/tree.tsx @@ -52,7 +52,7 @@ export default class TreeView extends Component<{ tree: Tree }> { const doc = node.document; const selection = doc.selection; const id = node.id; - const isMulti = e.metaKey || e.ctrlKey; + const isMulti = e.metaKey || e.ctrlKey || e.shiftKey; designer.activeTracker.track(node); if (isMulti && !isRootNode(node) && selection.has(id)) { if (!isFormEvent(e.nativeEvent)) { @@ -96,7 +96,8 @@ export default class TreeView extends Component<{ tree: Tree }> { const doc = node.document; const selection = doc.selection; - const isMulti = e.metaKey || e.ctrlKey; + // TODO: shift selection + const isMulti = e.metaKey || e.ctrlKey || e.shiftKey; const isLeftButton = e.button === 0; if (isLeftButton && !isRootNode(node)) { diff --git a/packages/react-simulator-renderer/src/renderer.less b/packages/react-simulator-renderer/src/renderer.less index c4f1d352b..5a4caa1d8 100644 --- a/packages/react-simulator-renderer/src/renderer.less +++ b/packages/react-simulator-renderer/src/renderer.less @@ -83,6 +83,15 @@ body.engine-document { &:after { clear: both; } + + .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 { + pointer-events: none !important; + } } .engine-live-editing { diff --git a/packages/vision-preset/src/bundle/upgrade-metadata.ts b/packages/vision-preset/src/bundle/upgrade-metadata.ts index cad503a57..79adb6db3 100644 --- a/packages/vision-preset/src/bundle/upgrade-metadata.ts +++ b/packages/vision-preset/src/bundle/upgrade-metadata.ts @@ -302,6 +302,7 @@ export function upgradePropConfig(config: OldPropConfig, collector: ConfigCollec const setterInitial = getInitialFromSetter(setter); collector.addInitial({ + // FIXME! name should be "xxx.xxx" name: slotName || name, initial: (field: Field, currentValue: any) => { // FIXME! read from prototype.defaultProps @@ -323,6 +324,7 @@ export function upgradePropConfig(config: OldPropConfig, collector: ConfigCollec if (ignore != null || disabled != null) { collector.addFilter({ + // FIXME! name should be "xxx.xxx" name: slotName || name, filter: (field: Field, currentValue: any) => { let disabledValue: boolean; @@ -396,7 +398,7 @@ export function upgradePropConfig(config: OldPropConfig, collector: ConfigCollec const initials: InitialItem[] = []; const filters: FilterItem[] = []; const objItems = items - ? upgradeConfigure(items, + ? upgradeConfigure(items, { addInitial: (item) => { initials.push(item); diff --git a/packages/vision-preset/src/editor.ts b/packages/vision-preset/src/editor.ts index 5735a946b..e9b6f3d1e 100644 --- a/packages/vision-preset/src/editor.ts +++ b/packages/vision-preset/src/editor.ts @@ -1,9 +1,10 @@ -import { isJSBlock, isJSExpression, isJSSlot } from '@ali/lowcode-types'; -import { isPlainObject } from '@ali/lowcode-utils'; +import { isJSBlock, isJSExpression, isJSSlot, isI18nData } from '@ali/lowcode-types'; +import { isPlainObject, hasOwnProperty } from '@ali/lowcode-utils'; import { globalContext, Editor } from '@ali/lowcode-editor-core'; import { Designer, LiveEditing, TransformStage, addBuiltinComponentAction, Node } from '@ali/lowcode-designer'; import Outline, { OutlineBackupPane, getTreeMaster } from '@ali/lowcode-plugin-outline-pane'; import { toCss } from '@ali/vu-css-style'; +import logger from '@ali/vu-logger'; import DesignerPlugin from '@ali/lowcode-plugin-designer'; import { Skeleton, SettingsPrimaryPane } from '@ali/lowcode-editor-skeleton'; @@ -31,9 +32,16 @@ designer.addPropsReducer((props, node) => { const newProps: any = {}; initials.forEach((item) => { // FIXME! this implements SettingTarget - const v = item.initial(node as any, props[item.name]); - if (v !== undefined) { - newProps[item.name] = v; + try { + // FIXME! item.name could be 'xxx.xxx' + const v = item.initial(node as any, props[item.name]); + if (v !== undefined) { + newProps[item.name] = v; + } + } catch (e) { + if (hasOwnProperty(props, item.name)) { + newProps[item.name] = props[item.name]; + } } }); return newProps; @@ -49,9 +57,17 @@ function filterReducer(props: any, node: Node): any { if (filters && filters.length) { const newProps = { ...props }; filters.forEach((item) => { - const v = item.filter(node as any, props[item.name]); - if (!v) { - delete newProps[item.name]; + // FIXME! item.name could be 'xxx.xxx' + if (!hasOwnProperty(newProps, item.name)) { + return; + } + try { + if (item.filter(node.getProp(item.name) as any, props[item.name]) === false) { + delete newProps[item.name]; + } + } catch (e) { + console.warn(e); + logger.trace(e); } }); return newProps; @@ -138,6 +154,7 @@ designer.addPropsReducer(stylePropsReducer, TransformStage.Render); // FIXME: 表达式使用 mock 值,未来live 模式直接使用原始值 function expressionReducer(obj?: any): any { + // TODO: merge with i18nReducer for optimize if (!obj) { return obj; } @@ -148,7 +165,7 @@ function expressionReducer(obj?: any): any { if (isJSExpression(obj)) { return obj.mock; } - if (isJSSlot(obj)) { + if (isJSSlot(obj) || isI18nData(obj)) { return obj; } const out: any = {}; diff --git a/packages/vision-preset/src/i18n-reducer.ts b/packages/vision-preset/src/i18n-reducer.ts index a1a153932..fb792d810 100644 --- a/packages/vision-preset/src/i18n-reducer.ts +++ b/packages/vision-preset/src/i18n-reducer.ts @@ -1,4 +1,6 @@ import Env from './env'; +import { isJSSlot, isI18nData, isJSExpression } from '@ali/lowcode-types'; +import { isPlainObject } from '@ali/lowcode-utils'; const I18nUtil = require('@ali/ve-i18n-util'); interface I18nObject { @@ -15,8 +17,8 @@ export function i18nReducer(obj?: any): any { if (Array.isArray(obj)) { return obj.map((item) => i18nReducer(item)); } - if (typeof obj === 'object') { - if (obj.type === 'i18n') { + if (isPlainObject(obj)) { + if (isI18nData(obj)) { // FIXME! use editor.get let locale = Env.getLocale(); if (obj.key) { @@ -28,6 +30,9 @@ export function i18nReducer(obj?: any): any { } return obj[obj.use || locale] || obj.zh_CN; } + if (isJSSlot(obj) || isJSExpression(obj)) { + return obj; + } const out: I18nObject = {}; Object.keys(obj).forEach((key) => { out[key] = i18nReducer(obj[key]); diff --git a/packages/vision-preset/src/index.ts b/packages/vision-preset/src/index.ts index ed632b3ef..6ad999d25 100644 --- a/packages/vision-preset/src/index.ts +++ b/packages/vision-preset/src/index.ts @@ -161,11 +161,10 @@ export { Symbols, }; +const version = '6.0.0(LowcodeEngine 0.9.0-beta)'; -/* console.log( - `%cLowcodeEngine %cv${VERSION}`, + `%cVisionEngine %cv${version}`, "color:#000;font-weight:bold;", "color:green;font-weight:bold;" ); -*/ diff --git a/packages/vision-preset/src/project.ts b/packages/vision-preset/src/project.ts index ba5d2309b..9239a9497 100644 --- a/packages/vision-preset/src/project.ts +++ b/packages/vision-preset/src/project.ts @@ -1,4 +1,4 @@ -class Project { +export class Project { private schema: any; constructor() { diff --git a/packages/vision-preset/src/vc-live-editing.ts b/packages/vision-preset/src/vc-live-editing.ts index 9f1ec6410..810069a1e 100644 --- a/packages/vision-preset/src/vc-live-editing.ts +++ b/packages/vision-preset/src/vc-live-editing.ts @@ -53,8 +53,7 @@ export function liveEditingRule(target: EditingTarget) { const innerText = targetElement.innerText; const propTarget = ['title', 'label', 'text', 'content'].find(prop => { - // TODO: enhance compare text logic - return getText(node, prop) === innerText; + return equalText(getText(node, prop), innerText); }); if (propTarget) { @@ -66,6 +65,14 @@ export function liveEditingRule(target: EditingTarget) { return null; } +function equalText(v: any, innerText: string) { + // TODO: enhance compare text logic + if (typeof v !== 'string') { + return false; + } + return v.trim() === innerText +} + // TODO: export function liveEditingSaveHander() { From 512a61e84159d2ee3c218657b73770d6009da300 Mon Sep 17 00:00:00 2001 From: kangwei <bingbing.yb@alibaba-inc.com> Date: Sat, 16 May 2020 20:34:08 +0800 Subject: [PATCH 07/70] Publish - @ali/lowcode-demo@0.8.22 - @ali/lowcode-designer@0.9.13 - @ali/lowcode-editor-skeleton@0.8.19 - @ali/lowcode-plugin-components-pane@0.8.15 - @ali/lowcode-plugin-designer@0.9.13 - @ali/lowcode-plugin-outline-pane@0.8.19 - @ali/lowcode-plugin-sample-preview@0.8.18 - @ali/lowcode-plugin-undo-redo@0.8.18 - @ali/lowcode-react-simulator-renderer@0.8.18 - @ali/lowcode-vision-preset@0.8.12 --- packages/demo/CHANGELOG.md | 8 ++++++++ packages/demo/package.json | 14 +++++++------- packages/designer/CHANGELOG.md | 8 ++++++++ packages/designer/package.json | 2 +- packages/editor-skeleton/CHANGELOG.md | 8 ++++++++ packages/editor-skeleton/package.json | 4 ++-- packages/plugin-components-pane/CHANGELOG.md | 8 ++++++++ packages/plugin-components-pane/package.json | 4 ++-- packages/plugin-designer/CHANGELOG.md | 8 ++++++++ packages/plugin-designer/package.json | 4 ++-- packages/plugin-outline-pane/CHANGELOG.md | 8 ++++++++ packages/plugin-outline-pane/package.json | 4 ++-- packages/plugin-sample-preview/CHANGELOG.md | 8 ++++++++ packages/plugin-sample-preview/package.json | 4 ++-- packages/plugin-undo-redo/CHANGELOG.md | 8 ++++++++ packages/plugin-undo-redo/package.json | 6 +++--- packages/react-simulator-renderer/CHANGELOG.md | 8 ++++++++ packages/react-simulator-renderer/package.json | 4 ++-- packages/vision-preset/CHANGELOG.md | 8 ++++++++ packages/vision-preset/package.json | 10 +++++----- 20 files changed, 108 insertions(+), 28 deletions(-) diff --git a/packages/demo/CHANGELOG.md b/packages/demo/CHANGELOG.md index d2c8d936f..ddda0ca0b 100644 --- a/packages/demo/CHANGELOG.md +++ b/packages/demo/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.22"></a> +## [0.8.22](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-demo@0.8.21...@ali/lowcode-demo@0.8.22) (2020-05-16) + + + + +**Note:** Version bump only for package @ali/lowcode-demo + <a name="0.8.21"></a> ## [0.8.21](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-demo@0.8.20...@ali/lowcode-demo@0.8.21) (2020-05-15) diff --git a/packages/demo/package.json b/packages/demo/package.json index 589c6a05a..5abe0963d 100644 --- a/packages/demo/package.json +++ b/packages/demo/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-demo", - "version": "0.8.21", + "version": "0.8.22", "private": true, "description": "低代码引擎 DEMO", "scripts": { @@ -12,15 +12,15 @@ "config": {}, "dependencies": { "@ali/lowcode-editor-core": "^0.8.13", - "@ali/lowcode-editor-skeleton": "^0.8.18", - "@ali/lowcode-plugin-components-pane": "^0.8.14", - "@ali/lowcode-plugin-designer": "^0.9.12", + "@ali/lowcode-editor-skeleton": "^0.8.19", + "@ali/lowcode-plugin-components-pane": "^0.8.15", + "@ali/lowcode-plugin-designer": "^0.9.13", "@ali/lowcode-plugin-event-bind-dialog": "^0.8.13", - "@ali/lowcode-plugin-outline-pane": "^0.8.18", + "@ali/lowcode-plugin-outline-pane": "^0.8.19", "@ali/lowcode-plugin-sample-logo": "^0.8.12", - "@ali/lowcode-plugin-sample-preview": "^0.8.17", + "@ali/lowcode-plugin-sample-preview": "^0.8.18", "@ali/lowcode-plugin-settings-pane": "^0.8.8", - "@ali/lowcode-plugin-undo-redo": "^0.8.17", + "@ali/lowcode-plugin-undo-redo": "^0.8.18", "@ali/lowcode-plugin-variable-bind-dialog": "^0.8.11", "@ali/lowcode-plugin-zh-en": "^0.8.15", "@ali/lowcode-react-renderer": "^0.8.8", diff --git a/packages/designer/CHANGELOG.md b/packages/designer/CHANGELOG.md index 1f52f18c2..726d5172e 100644 --- a/packages/designer/CHANGELOG.md +++ b/packages/designer/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.9.13"></a> +## [0.9.13](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-designer@0.9.12...@ali/lowcode-designer@0.9.13) (2020-05-16) + + + + +**Note:** Version bump only for package @ali/lowcode-designer + <a name="0.9.12"></a> ## [0.9.12](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-designer@0.9.11...@ali/lowcode-designer@0.9.12) (2020-05-15) diff --git a/packages/designer/package.json b/packages/designer/package.json index 4f1d0b5ac..dca41052a 100644 --- a/packages/designer/package.json +++ b/packages/designer/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-designer", - "version": "0.9.12", + "version": "0.9.13", "description": "Designer for Ali LowCode Engine", "main": "lib/index.js", "module": "es/index.js", diff --git a/packages/editor-skeleton/CHANGELOG.md b/packages/editor-skeleton/CHANGELOG.md index 4b707c5cd..16319f844 100644 --- a/packages/editor-skeleton/CHANGELOG.md +++ b/packages/editor-skeleton/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.19"></a> +## [0.8.19](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-skeleton@0.8.18...@ali/lowcode-editor-skeleton@0.8.19) (2020-05-16) + + + + +**Note:** Version bump only for package @ali/lowcode-editor-skeleton + <a name="0.8.18"></a> ## [0.8.18](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-skeleton@0.8.17...@ali/lowcode-editor-skeleton@0.8.18) (2020-05-15) diff --git a/packages/editor-skeleton/package.json b/packages/editor-skeleton/package.json index b53c8778f..548205548 100644 --- a/packages/editor-skeleton/package.json +++ b/packages/editor-skeleton/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-editor-skeleton", - "version": "0.8.18", + "version": "0.8.19", "description": "alibaba lowcode editor skeleton", "main": "lib/index.js", "module": "es/index.js", @@ -19,7 +19,7 @@ "editor" ], "dependencies": { - "@ali/lowcode-designer": "^0.9.12", + "@ali/lowcode-designer": "^0.9.13", "@ali/lowcode-editor-core": "^0.8.13", "@ali/lowcode-types": "^0.8.4", "@ali/lowcode-utils": "^0.8.5", diff --git a/packages/plugin-components-pane/CHANGELOG.md b/packages/plugin-components-pane/CHANGELOG.md index 150fab7aa..c72c16202 100644 --- a/packages/plugin-components-pane/CHANGELOG.md +++ b/packages/plugin-components-pane/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.15"></a> +## [0.8.15](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-components-pane@0.8.14...@ali/lowcode-plugin-components-pane@0.8.15) (2020-05-16) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-components-pane + <a name="0.8.14"></a> ## [0.8.14](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-components-pane@0.8.13...@ali/lowcode-plugin-components-pane@0.8.14) (2020-05-15) diff --git a/packages/plugin-components-pane/package.json b/packages/plugin-components-pane/package.json index 02964aab7..cb1f9918c 100644 --- a/packages/plugin-components-pane/package.json +++ b/packages/plugin-components-pane/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-components-pane", - "version": "0.8.14", + "version": "0.8.15", "description": "alibaba lowcode editor component-list plugin", "files": [ "es/", @@ -23,7 +23,7 @@ "@ali/iceluna-addon-component-list": "^1.0.11", "@ali/iceluna-comp-material-show": "^1.0.10", "@ali/iceluna-sdk": "^1.0.6-beta.6", - "@ali/lowcode-designer": "^0.9.12", + "@ali/lowcode-designer": "^0.9.13", "@ali/lowcode-editor-core": "^0.8.13", "@ali/lowcode-types": "^0.8.4", "@alifd/next": "^1.19.19", diff --git a/packages/plugin-designer/CHANGELOG.md b/packages/plugin-designer/CHANGELOG.md index 022d382db..8daabe680 100644 --- a/packages/plugin-designer/CHANGELOG.md +++ b/packages/plugin-designer/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.9.13"></a> +## [0.9.13](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-designer@0.9.12...@ali/lowcode-plugin-designer@0.9.13) (2020-05-16) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-designer + <a name="0.9.12"></a> ## [0.9.12](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-designer@0.9.11...@ali/lowcode-plugin-designer@0.9.12) (2020-05-15) diff --git a/packages/plugin-designer/package.json b/packages/plugin-designer/package.json index 777c375be..f5338a356 100644 --- a/packages/plugin-designer/package.json +++ b/packages/plugin-designer/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-designer", - "version": "0.9.12", + "version": "0.9.13", "description": "alibaba lowcode editor designer plugin", "files": [ "es", @@ -20,7 +20,7 @@ ], "author": "xiayang.xy", "dependencies": { - "@ali/lowcode-designer": "^0.9.12", + "@ali/lowcode-designer": "^0.9.13", "@ali/lowcode-editor-core": "^0.8.13", "react": "^16.8.1", "react-dom": "^16.8.1" diff --git a/packages/plugin-outline-pane/CHANGELOG.md b/packages/plugin-outline-pane/CHANGELOG.md index 3c1e6b1a3..14643a630 100644 --- a/packages/plugin-outline-pane/CHANGELOG.md +++ b/packages/plugin-outline-pane/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.19"></a> +## [0.8.19](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-outline-pane@0.8.18...@ali/lowcode-plugin-outline-pane@0.8.19) (2020-05-16) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-outline-pane + <a name="0.8.18"></a> ## [0.8.18](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-outline-pane@0.8.17...@ali/lowcode-plugin-outline-pane@0.8.18) (2020-05-15) diff --git a/packages/plugin-outline-pane/package.json b/packages/plugin-outline-pane/package.json index 7d608124d..ab2055d3c 100644 --- a/packages/plugin-outline-pane/package.json +++ b/packages/plugin-outline-pane/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-outline-pane", - "version": "0.8.18", + "version": "0.8.19", "description": "Outline pane for Ali lowCode engine", "files": [ "es", @@ -14,7 +14,7 @@ "test:snapshot": "ava --update-snapshots" }, "dependencies": { - "@ali/lowcode-designer": "^0.9.12", + "@ali/lowcode-designer": "^0.9.13", "@ali/lowcode-editor-core": "^0.8.13", "@ali/lowcode-types": "^0.8.4", "@ali/lowcode-utils": "^0.8.5", diff --git a/packages/plugin-sample-preview/CHANGELOG.md b/packages/plugin-sample-preview/CHANGELOG.md index 1f45ee659..22aa647c0 100644 --- a/packages/plugin-sample-preview/CHANGELOG.md +++ b/packages/plugin-sample-preview/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.18"></a> +## [0.8.18](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-sample-preview@0.8.17...@ali/lowcode-plugin-sample-preview@0.8.18) (2020-05-16) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-sample-preview + <a name="0.8.17"></a> ## [0.8.17](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-sample-preview@0.8.16...@ali/lowcode-plugin-sample-preview@0.8.17) (2020-05-15) diff --git a/packages/plugin-sample-preview/package.json b/packages/plugin-sample-preview/package.json index a65e44a16..2e1638aee 100644 --- a/packages/plugin-sample-preview/package.json +++ b/packages/plugin-sample-preview/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-sample-preview", - "version": "0.8.17", + "version": "0.8.18", "description": "alibaba lowcode editor sample preview plugin", "files": [ "es", @@ -18,7 +18,7 @@ "editor" ], "dependencies": { - "@ali/lowcode-designer": "^0.9.12", + "@ali/lowcode-designer": "^0.9.13", "@ali/lowcode-editor-core": "^0.8.13", "@alifd/next": "^1.x", "react": "^16.8.1" diff --git a/packages/plugin-undo-redo/CHANGELOG.md b/packages/plugin-undo-redo/CHANGELOG.md index fba6f1a80..308f34d01 100644 --- a/packages/plugin-undo-redo/CHANGELOG.md +++ b/packages/plugin-undo-redo/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.18"></a> +## [0.8.18](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-undo-redo@0.8.17...@ali/lowcode-plugin-undo-redo@0.8.18) (2020-05-16) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-undo-redo + <a name="0.8.17"></a> ## [0.8.17](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-undo-redo@0.8.16...@ali/lowcode-plugin-undo-redo@0.8.17) (2020-05-15) diff --git a/packages/plugin-undo-redo/package.json b/packages/plugin-undo-redo/package.json index 87f0107b0..03a6f1e3a 100644 --- a/packages/plugin-undo-redo/package.json +++ b/packages/plugin-undo-redo/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-undo-redo", - "version": "0.8.17", + "version": "0.8.18", "description": "alibaba lowcode editor undo redo plugin", "files": [ "es", @@ -19,9 +19,9 @@ ], "author": "xiayang.xy", "dependencies": { - "@ali/lowcode-designer": "^0.9.12", + "@ali/lowcode-designer": "^0.9.13", "@ali/lowcode-editor-core": "^0.8.13", - "@ali/lowcode-editor-skeleton": "^0.8.18", + "@ali/lowcode-editor-skeleton": "^0.8.19", "@ali/lowcode-types": "^0.8.4", "@ali/lowcode-utils": "^0.8.5", "react": "^16.8.1", diff --git a/packages/react-simulator-renderer/CHANGELOG.md b/packages/react-simulator-renderer/CHANGELOG.md index 420bafada..437bde4ce 100644 --- a/packages/react-simulator-renderer/CHANGELOG.md +++ b/packages/react-simulator-renderer/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.18"></a> +## [0.8.18](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-react-simulator-renderer@0.8.17...@ali/lowcode-react-simulator-renderer@0.8.18) (2020-05-16) + + + + +**Note:** Version bump only for package @ali/lowcode-react-simulator-renderer + <a name="0.8.17"></a> ## [0.8.17](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-react-simulator-renderer@0.8.16...@ali/lowcode-react-simulator-renderer@0.8.17) (2020-05-15) diff --git a/packages/react-simulator-renderer/package.json b/packages/react-simulator-renderer/package.json index f2befb524..1ded5a2ed 100644 --- a/packages/react-simulator-renderer/package.json +++ b/packages/react-simulator-renderer/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@ali/lowcode-react-simulator-renderer", - "version": "0.8.17", + "version": "0.8.18", "description": "react simulator renderer for alibaba lowcode designer", "main": "lib/index.js", "module": "es/index.js", @@ -13,7 +13,7 @@ "test:snapshot": "ava --update-snapshots" }, "dependencies": { - "@ali/lowcode-designer": "^0.9.12", + "@ali/lowcode-designer": "^0.9.13", "@ali/lowcode-react-renderer": "^0.8.0", "@ali/lowcode-types": "^0.8.4", "@ali/lowcode-utils": "^0.8.5", diff --git a/packages/vision-preset/CHANGELOG.md b/packages/vision-preset/CHANGELOG.md index 2f33c0e37..40b6b01a3 100644 --- a/packages/vision-preset/CHANGELOG.md +++ b/packages/vision-preset/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.12"></a> +## [0.8.12](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-vision-preset@0.8.11...@ali/lowcode-vision-preset@0.8.12) (2020-05-16) + + + + +**Note:** Version bump only for package @ali/lowcode-vision-preset + <a name="0.8.11"></a> ## [0.8.11](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-vision-preset@0.8.10...@ali/lowcode-vision-preset@0.8.11) (2020-05-15) diff --git a/packages/vision-preset/package.json b/packages/vision-preset/package.json index b3be98b6a..693e0faaf 100644 --- a/packages/vision-preset/package.json +++ b/packages/vision-preset/package.json @@ -1,7 +1,7 @@ { "name": "@ali/lowcode-vision-preset", "private": true, - "version": "0.8.11", + "version": "0.8.12", "description": "Vision Polyfill for Ali lowCode engine", "main": "lib/index.js", "files": [ @@ -14,11 +14,11 @@ }, "license": "MIT", "dependencies": { - "@ali/lowcode-designer": "^0.9.12", + "@ali/lowcode-designer": "^0.9.13", "@ali/lowcode-editor-core": "^0.8.13", - "@ali/lowcode-editor-skeleton": "^0.8.18", - "@ali/lowcode-plugin-designer": "^0.9.12", - "@ali/lowcode-plugin-outline-pane": "^0.8.18", + "@ali/lowcode-editor-skeleton": "^0.8.19", + "@ali/lowcode-plugin-designer": "^0.9.13", + "@ali/lowcode-plugin-outline-pane": "^0.8.19", "@ali/ve-i18n-util": "^2.0.2", "@ali/ve-icons": "^4.1.9", "@ali/ve-less-variables": "2.0.3", From 239a8e40de073cfa6416e437c8568ce8bb3efe38 Mon Sep 17 00:00:00 2001 From: kangwei <bingbing.yb@alibaba-inc.com> Date: Sat, 16 May 2020 22:49:46 +0800 Subject: [PATCH 08/70] fix stage --- .../designer/src/document/node/props/prop.ts | 2 +- .../src/components/popup/index.tsx | 7 +-- .../src/components/popup/style.less | 12 +++-- .../src/components/settings/settings-pane.tsx | 47 +++++++++++++++++-- packages/editor-skeleton/src/context.ts | 4 ++ packages/editor-skeleton/src/index.ts | 1 + .../editor-skeleton/src/layouts/workbench.tsx | 27 ++++++----- packages/editor-skeleton/src/types.ts | 1 + packages/editor-skeleton/src/widget/widget.ts | 4 ++ packages/vision-preset/src/panes.ts | 13 ++++- 10 files changed, 94 insertions(+), 24 deletions(-) create mode 100644 packages/editor-skeleton/src/context.ts diff --git a/packages/designer/src/document/node/props/prop.ts b/packages/designer/src/document/node/props/prop.ts index 1777a6b89..a96b45b03 100644 --- a/packages/designer/src/document/node/props/prop.ts +++ b/packages/designer/src/document/node/props/prop.ts @@ -95,7 +95,7 @@ export class Prop implements IPropParent { this.items!.forEach((prop, key) => { const v = prop.export(stage); if (v !== UNSET) { - maps[key] = v; + maps[prop.key == null ? key : prop.key] = v; } }); return maps; diff --git a/packages/editor-skeleton/src/components/popup/index.tsx b/packages/editor-skeleton/src/components/popup/index.tsx index 9018531cb..f52b7904d 100644 --- a/packages/editor-skeleton/src/components/popup/index.tsx +++ b/packages/editor-skeleton/src/components/popup/index.tsx @@ -59,8 +59,8 @@ export class PopupPipe { } } -export default class PopupService extends Component<{ actionKey?: string; safeId?: string }> { - private popupPipe = new PopupPipe(); +export default class PopupService extends Component<{ popupPipe?: PopupPipe; actionKey?: string; safeId?: string }> { + private popupPipe = this.props.popupPipe || new PopupPipe(); componentWillUnmount() { this.popupPipe.purge(); @@ -121,6 +121,7 @@ export class PopupContent extends PureComponent<{ safeId?: string }> { className="lc-ballon" align="l" id={this.props.safeId} + alignEdge safeNode={id} visible={visible} style={{ width }} @@ -135,7 +136,7 @@ export class PopupContent extends PureComponent<{ safeId?: string }> { trigger={<div className="lc-popup-placeholder" style={pos} />} triggerType="click" animation={false} - // needAdjust + needAdjust shouldUpdatePosition > <div className="lc-ballon-title">{title}</div> diff --git a/packages/editor-skeleton/src/components/popup/style.less b/packages/editor-skeleton/src/components/popup/style.less index b115fd371..720a5d9c3 100644 --- a/packages/editor-skeleton/src/components/popup/style.less +++ b/packages/editor-skeleton/src/components/popup/style.less @@ -13,10 +13,16 @@ } .lc-ballon-content { margin-top: 10px; - // width: 300px; + // FIXME: popup position is bad + max-height: calc(60vh); + overflow-x: hidden; + overflow-y: auto; + } + &.next-balloon-closable { + padding: 10px !important; } .next-balloon-close { - top: 4px; - right: 4px; + top: 4px !important; + right: 4px !important; } } diff --git a/packages/editor-skeleton/src/components/settings/settings-pane.tsx b/packages/editor-skeleton/src/components/settings/settings-pane.tsx index cb6ed7ec9..03db41889 100644 --- a/packages/editor-skeleton/src/components/settings/settings-pane.tsx +++ b/packages/editor-skeleton/src/components/settings/settings-pane.tsx @@ -1,11 +1,13 @@ -import { Component } from 'react'; +import { Component, MouseEvent } from 'react'; import { shallowIntl, createSetterContent, observer } from '@ali/lowcode-editor-core'; import { createContent } from '@ali/lowcode-utils'; import { Field, createField } from '../field'; -import PopupService from '../popup'; +import PopupService, { PopupPipe } from '../popup'; +import { SkeletonContext } from '../../context'; import { SettingField, isSettingField, SettingTopEntry, SettingEntry } from '@ali/lowcode-designer'; import { isSetterConfig, CustomView } from '@ali/lowcode-types'; import { intl } from '../../locale'; +import { Skeleton } from 'editor-skeleton/src/skeleton'; @observer class SettingFieldView extends Component<{ field: SettingField }> { @@ -145,17 +147,54 @@ export function createSettingFieldView(item: SettingField | CustomView, field: S @observer export class SettingsPane extends Component<{ target: SettingTopEntry | SettingField }> { + static contextType = SkeletonContext; shouldComponentUpdate() { return false; } + private popupPipe = new PopupPipe(); + private pipe = this.popupPipe.create(); + + private handleClick = (e: MouseEvent) => { + // compatiable vision stageBox + // TODO: optimize these codes + const pane = e.currentTarget as HTMLDivElement; + let entry: any; + function getTarget(node: any): any { + if (!pane.contains(node) || (node.nodeName === 'A' && node.getAttribute('href'))) { + return null; + } + + const target = node.dataset ? node.dataset.stageTarget : null; + if (target) { + entry = node; + return target; + } + return getTarget(node.parentNode); + } + const target = getTarget(e.target); + if (!target) { + return; + } + + const skeleton = this.context as Skeleton; + if (!skeleton || !skeleton.stages) { + return; + } + const stage = skeleton.stages.container.get(target); + if (stage) { + this.pipe.send(stage.content, stage.title); + this.pipe.show(entry); + } + }; + render() { const { target } = this.props; const items = target.items; return ( - <div className="lc-settings-pane"> + <div className="lc-settings-pane" onClick={this.handleClick}> {/* todo: add head for single use */} - <PopupService> + <PopupService popupPipe={this.popupPipe}> <div className="lc-settings-content"> {items.map((item, index) => createSettingFieldView(item, target, index))} </div> diff --git a/packages/editor-skeleton/src/context.ts b/packages/editor-skeleton/src/context.ts new file mode 100644 index 000000000..ee213e886 --- /dev/null +++ b/packages/editor-skeleton/src/context.ts @@ -0,0 +1,4 @@ +import { createContext } from 'react'; +import { Skeleton } from './skeleton'; + +export const SkeletonContext = createContext<Skeleton>({} as any); diff --git a/packages/editor-skeleton/src/index.ts b/packages/editor-skeleton/src/index.ts index 2a8dcdbf8..05c35594d 100644 --- a/packages/editor-skeleton/src/index.ts +++ b/packages/editor-skeleton/src/index.ts @@ -3,5 +3,6 @@ export * from './skeleton'; export * from './types'; export * from './components/settings'; export * from './components/field'; +export * from './context'; import './register-defaults'; diff --git a/packages/editor-skeleton/src/layouts/workbench.tsx b/packages/editor-skeleton/src/layouts/workbench.tsx index 06f0b5055..3e3b8235b 100644 --- a/packages/editor-skeleton/src/layouts/workbench.tsx +++ b/packages/editor-skeleton/src/layouts/workbench.tsx @@ -11,6 +11,7 @@ import MainArea from './main-area'; import BottomArea from './bottom-area'; import RightArea from './right-area'; import './workbench.less'; +import { SkeletonContext } from '../context'; @observer export class Workbench extends Component<{ skeleton: Skeleton, className?: string, topAreaItemClassName?: string }> { @@ -22,19 +23,21 @@ export class Workbench extends Component<{ skeleton: Skeleton, className?: strin const { skeleton, className, topAreaItemClassName } = this.props; return ( <div className={classNames('lc-workbench', className)}> - <TopArea area={skeleton.topArea} itemClassName={topAreaItemClassName} /> - <div className="lc-workbench-body"> - <LeftArea area={skeleton.leftArea} /> - <LeftFloatPane area={skeleton.leftFloatArea} /> - <LeftFixedPane area={skeleton.leftFixedArea} /> - <div className="lc-workbench-center"> - <Toolbar area={skeleton.toolbar} /> - <MainArea area={skeleton.mainArea} /> - <BottomArea area={skeleton.bottomArea} /> + <SkeletonContext.Provider value={this.props.skeleton}> + <TopArea area={skeleton.topArea} itemClassName={topAreaItemClassName} /> + <div className="lc-workbench-body"> + <LeftArea area={skeleton.leftArea} /> + <LeftFloatPane area={skeleton.leftFloatArea} /> + <LeftFixedPane area={skeleton.leftFixedArea} /> + <div className="lc-workbench-center"> + <Toolbar area={skeleton.toolbar} /> + <MainArea area={skeleton.mainArea} /> + <BottomArea area={skeleton.bottomArea} /> + </div> + <RightArea area={skeleton.rightArea} /> </div> - <RightArea area={skeleton.rightArea} /> - </div> - <TipContainer /> + <TipContainer /> + </SkeletonContext.Provider> </div> ); } diff --git a/packages/editor-skeleton/src/types.ts b/packages/editor-skeleton/src/types.ts index 43896fee2..a33e7776d 100644 --- a/packages/editor-skeleton/src/types.ts +++ b/packages/editor-skeleton/src/types.ts @@ -18,6 +18,7 @@ export interface WidgetConfig extends IWidgetBaseConfig { props?: { align?: "left" | "right" | "bottom" | "center" | "top"; onInit?: (widget: IWidget) => void; + title?: TitleContent; }; content?: string | ReactElement | ComponentType<any>; // children } diff --git a/packages/editor-skeleton/src/widget/widget.ts b/packages/editor-skeleton/src/widget/widget.ts index 92bd7ae0f..a7edb3ff9 100644 --- a/packages/editor-skeleton/src/widget/widget.ts +++ b/packages/editor-skeleton/src/widget/widget.ts @@ -4,6 +4,7 @@ import { createContent, uniqueId } from '@ali/lowcode-utils'; import { WidgetConfig, IWidgetBaseConfig } from '../types'; import { Skeleton } from '../skeleton'; import { WidgetView } from '../components/widget-views'; +import { TitleContent } from '@ali/lowcode-types'; export interface IWidget { readonly name: string; @@ -56,10 +57,13 @@ export default class Widget implements IWidget { }); } + readonly title: TitleContent; + constructor(readonly skeleton: Skeleton, readonly config: WidgetConfig) { const { props = {}, name } = config; this.name = name; this.align = props.align; + this.title = props.title || name; if (props.onInit) { props.onInit.call(this, this); } diff --git a/packages/vision-preset/src/panes.ts b/packages/vision-preset/src/panes.ts index fdbd75fc9..77c5947c6 100644 --- a/packages/vision-preset/src/panes.ts +++ b/packages/vision-preset/src/panes.ts @@ -132,7 +132,18 @@ function add(config: (() => OldPaneConfig) | OldPaneConfig, extraConfig?: any) { config = { ...config, ...extraConfig }; } - skeleton.add(upgradeConfig(config)); + const upgraded = upgradeConfig(config); + if (upgraded.area === 'stages') { + if (upgraded.id) { + upgraded.name = upgraded.id; + } else if (!upgraded.name) { + upgraded.name = uniqueId('stage'); + } + const stage = skeleton.add(upgraded); + return stage?.getName(); + } else { + return skeleton.add(upgraded); + } } const actionPane = Object.assign(skeleton.topArea, { From 4e187dc966b1eeab5c0722c39cdb52d98f861266 Mon Sep 17 00:00:00 2001 From: kangwei <bingbing.yb@alibaba-inc.com> Date: Sat, 16 May 2020 23:27:23 +0800 Subject: [PATCH 09/70] Publish - @ali/lowcode-demo@0.8.23 - @ali/lowcode-designer@0.9.14 - @ali/lowcode-editor-skeleton@0.8.20 - @ali/lowcode-plugin-components-pane@0.8.16 - @ali/lowcode-plugin-designer@0.9.14 - @ali/lowcode-plugin-outline-pane@0.8.20 - @ali/lowcode-plugin-sample-preview@0.8.19 - @ali/lowcode-plugin-undo-redo@0.8.19 - @ali/lowcode-react-simulator-renderer@0.8.19 - @ali/lowcode-vision-preset@0.8.13 --- packages/demo/CHANGELOG.md | 8 ++++++++ packages/demo/package.json | 14 +++++++------- packages/designer/CHANGELOG.md | 8 ++++++++ packages/designer/package.json | 2 +- packages/editor-skeleton/CHANGELOG.md | 8 ++++++++ packages/editor-skeleton/package.json | 4 ++-- packages/plugin-components-pane/CHANGELOG.md | 8 ++++++++ packages/plugin-components-pane/package.json | 4 ++-- packages/plugin-designer/CHANGELOG.md | 8 ++++++++ packages/plugin-designer/package.json | 4 ++-- packages/plugin-outline-pane/CHANGELOG.md | 8 ++++++++ packages/plugin-outline-pane/package.json | 4 ++-- packages/plugin-sample-preview/CHANGELOG.md | 8 ++++++++ packages/plugin-sample-preview/package.json | 4 ++-- packages/plugin-undo-redo/CHANGELOG.md | 8 ++++++++ packages/plugin-undo-redo/package.json | 6 +++--- packages/react-simulator-renderer/CHANGELOG.md | 8 ++++++++ packages/react-simulator-renderer/package.json | 4 ++-- packages/vision-preset/CHANGELOG.md | 8 ++++++++ packages/vision-preset/package.json | 10 +++++----- 20 files changed, 108 insertions(+), 28 deletions(-) diff --git a/packages/demo/CHANGELOG.md b/packages/demo/CHANGELOG.md index ddda0ca0b..48aadee65 100644 --- a/packages/demo/CHANGELOG.md +++ b/packages/demo/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.23"></a> +## [0.8.23](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-demo@0.8.22...@ali/lowcode-demo@0.8.23) (2020-05-16) + + + + +**Note:** Version bump only for package @ali/lowcode-demo + <a name="0.8.22"></a> ## [0.8.22](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-demo@0.8.21...@ali/lowcode-demo@0.8.22) (2020-05-16) diff --git a/packages/demo/package.json b/packages/demo/package.json index 5abe0963d..ba20b42fa 100644 --- a/packages/demo/package.json +++ b/packages/demo/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-demo", - "version": "0.8.22", + "version": "0.8.23", "private": true, "description": "低代码引擎 DEMO", "scripts": { @@ -12,15 +12,15 @@ "config": {}, "dependencies": { "@ali/lowcode-editor-core": "^0.8.13", - "@ali/lowcode-editor-skeleton": "^0.8.19", - "@ali/lowcode-plugin-components-pane": "^0.8.15", - "@ali/lowcode-plugin-designer": "^0.9.13", + "@ali/lowcode-editor-skeleton": "^0.8.20", + "@ali/lowcode-plugin-components-pane": "^0.8.16", + "@ali/lowcode-plugin-designer": "^0.9.14", "@ali/lowcode-plugin-event-bind-dialog": "^0.8.13", - "@ali/lowcode-plugin-outline-pane": "^0.8.19", + "@ali/lowcode-plugin-outline-pane": "^0.8.20", "@ali/lowcode-plugin-sample-logo": "^0.8.12", - "@ali/lowcode-plugin-sample-preview": "^0.8.18", + "@ali/lowcode-plugin-sample-preview": "^0.8.19", "@ali/lowcode-plugin-settings-pane": "^0.8.8", - "@ali/lowcode-plugin-undo-redo": "^0.8.18", + "@ali/lowcode-plugin-undo-redo": "^0.8.19", "@ali/lowcode-plugin-variable-bind-dialog": "^0.8.11", "@ali/lowcode-plugin-zh-en": "^0.8.15", "@ali/lowcode-react-renderer": "^0.8.8", diff --git a/packages/designer/CHANGELOG.md b/packages/designer/CHANGELOG.md index 726d5172e..cd0f99aaf 100644 --- a/packages/designer/CHANGELOG.md +++ b/packages/designer/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.9.14"></a> +## [0.9.14](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-designer@0.9.13...@ali/lowcode-designer@0.9.14) (2020-05-16) + + + + +**Note:** Version bump only for package @ali/lowcode-designer + <a name="0.9.13"></a> ## [0.9.13](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-designer@0.9.12...@ali/lowcode-designer@0.9.13) (2020-05-16) diff --git a/packages/designer/package.json b/packages/designer/package.json index dca41052a..43ab73feb 100644 --- a/packages/designer/package.json +++ b/packages/designer/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-designer", - "version": "0.9.13", + "version": "0.9.14", "description": "Designer for Ali LowCode Engine", "main": "lib/index.js", "module": "es/index.js", diff --git a/packages/editor-skeleton/CHANGELOG.md b/packages/editor-skeleton/CHANGELOG.md index 16319f844..5c73b0bd8 100644 --- a/packages/editor-skeleton/CHANGELOG.md +++ b/packages/editor-skeleton/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.20"></a> +## [0.8.20](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-skeleton@0.8.19...@ali/lowcode-editor-skeleton@0.8.20) (2020-05-16) + + + + +**Note:** Version bump only for package @ali/lowcode-editor-skeleton + <a name="0.8.19"></a> ## [0.8.19](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-skeleton@0.8.18...@ali/lowcode-editor-skeleton@0.8.19) (2020-05-16) diff --git a/packages/editor-skeleton/package.json b/packages/editor-skeleton/package.json index 548205548..8fbafa0fd 100644 --- a/packages/editor-skeleton/package.json +++ b/packages/editor-skeleton/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-editor-skeleton", - "version": "0.8.19", + "version": "0.8.20", "description": "alibaba lowcode editor skeleton", "main": "lib/index.js", "module": "es/index.js", @@ -19,7 +19,7 @@ "editor" ], "dependencies": { - "@ali/lowcode-designer": "^0.9.13", + "@ali/lowcode-designer": "^0.9.14", "@ali/lowcode-editor-core": "^0.8.13", "@ali/lowcode-types": "^0.8.4", "@ali/lowcode-utils": "^0.8.5", diff --git a/packages/plugin-components-pane/CHANGELOG.md b/packages/plugin-components-pane/CHANGELOG.md index c72c16202..9059d1d98 100644 --- a/packages/plugin-components-pane/CHANGELOG.md +++ b/packages/plugin-components-pane/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.16"></a> +## [0.8.16](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-components-pane@0.8.15...@ali/lowcode-plugin-components-pane@0.8.16) (2020-05-16) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-components-pane + <a name="0.8.15"></a> ## [0.8.15](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-components-pane@0.8.14...@ali/lowcode-plugin-components-pane@0.8.15) (2020-05-16) diff --git a/packages/plugin-components-pane/package.json b/packages/plugin-components-pane/package.json index cb1f9918c..8a7d099c7 100644 --- a/packages/plugin-components-pane/package.json +++ b/packages/plugin-components-pane/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-components-pane", - "version": "0.8.15", + "version": "0.8.16", "description": "alibaba lowcode editor component-list plugin", "files": [ "es/", @@ -23,7 +23,7 @@ "@ali/iceluna-addon-component-list": "^1.0.11", "@ali/iceluna-comp-material-show": "^1.0.10", "@ali/iceluna-sdk": "^1.0.6-beta.6", - "@ali/lowcode-designer": "^0.9.13", + "@ali/lowcode-designer": "^0.9.14", "@ali/lowcode-editor-core": "^0.8.13", "@ali/lowcode-types": "^0.8.4", "@alifd/next": "^1.19.19", diff --git a/packages/plugin-designer/CHANGELOG.md b/packages/plugin-designer/CHANGELOG.md index 8daabe680..564d2e975 100644 --- a/packages/plugin-designer/CHANGELOG.md +++ b/packages/plugin-designer/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.9.14"></a> +## [0.9.14](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-designer@0.9.13...@ali/lowcode-plugin-designer@0.9.14) (2020-05-16) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-designer + <a name="0.9.13"></a> ## [0.9.13](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-designer@0.9.12...@ali/lowcode-plugin-designer@0.9.13) (2020-05-16) diff --git a/packages/plugin-designer/package.json b/packages/plugin-designer/package.json index f5338a356..d4d63533c 100644 --- a/packages/plugin-designer/package.json +++ b/packages/plugin-designer/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-designer", - "version": "0.9.13", + "version": "0.9.14", "description": "alibaba lowcode editor designer plugin", "files": [ "es", @@ -20,7 +20,7 @@ ], "author": "xiayang.xy", "dependencies": { - "@ali/lowcode-designer": "^0.9.13", + "@ali/lowcode-designer": "^0.9.14", "@ali/lowcode-editor-core": "^0.8.13", "react": "^16.8.1", "react-dom": "^16.8.1" diff --git a/packages/plugin-outline-pane/CHANGELOG.md b/packages/plugin-outline-pane/CHANGELOG.md index 14643a630..ba9a6c119 100644 --- a/packages/plugin-outline-pane/CHANGELOG.md +++ b/packages/plugin-outline-pane/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.20"></a> +## [0.8.20](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-outline-pane@0.8.19...@ali/lowcode-plugin-outline-pane@0.8.20) (2020-05-16) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-outline-pane + <a name="0.8.19"></a> ## [0.8.19](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-outline-pane@0.8.18...@ali/lowcode-plugin-outline-pane@0.8.19) (2020-05-16) diff --git a/packages/plugin-outline-pane/package.json b/packages/plugin-outline-pane/package.json index ab2055d3c..d16d1bb33 100644 --- a/packages/plugin-outline-pane/package.json +++ b/packages/plugin-outline-pane/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-outline-pane", - "version": "0.8.19", + "version": "0.8.20", "description": "Outline pane for Ali lowCode engine", "files": [ "es", @@ -14,7 +14,7 @@ "test:snapshot": "ava --update-snapshots" }, "dependencies": { - "@ali/lowcode-designer": "^0.9.13", + "@ali/lowcode-designer": "^0.9.14", "@ali/lowcode-editor-core": "^0.8.13", "@ali/lowcode-types": "^0.8.4", "@ali/lowcode-utils": "^0.8.5", diff --git a/packages/plugin-sample-preview/CHANGELOG.md b/packages/plugin-sample-preview/CHANGELOG.md index 22aa647c0..3a45539ec 100644 --- a/packages/plugin-sample-preview/CHANGELOG.md +++ b/packages/plugin-sample-preview/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.19"></a> +## [0.8.19](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-sample-preview@0.8.18...@ali/lowcode-plugin-sample-preview@0.8.19) (2020-05-16) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-sample-preview + <a name="0.8.18"></a> ## [0.8.18](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-sample-preview@0.8.17...@ali/lowcode-plugin-sample-preview@0.8.18) (2020-05-16) diff --git a/packages/plugin-sample-preview/package.json b/packages/plugin-sample-preview/package.json index 2e1638aee..7c0fbd1ef 100644 --- a/packages/plugin-sample-preview/package.json +++ b/packages/plugin-sample-preview/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-sample-preview", - "version": "0.8.18", + "version": "0.8.19", "description": "alibaba lowcode editor sample preview plugin", "files": [ "es", @@ -18,7 +18,7 @@ "editor" ], "dependencies": { - "@ali/lowcode-designer": "^0.9.13", + "@ali/lowcode-designer": "^0.9.14", "@ali/lowcode-editor-core": "^0.8.13", "@alifd/next": "^1.x", "react": "^16.8.1" diff --git a/packages/plugin-undo-redo/CHANGELOG.md b/packages/plugin-undo-redo/CHANGELOG.md index 308f34d01..60456186a 100644 --- a/packages/plugin-undo-redo/CHANGELOG.md +++ b/packages/plugin-undo-redo/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.19"></a> +## [0.8.19](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-undo-redo@0.8.18...@ali/lowcode-plugin-undo-redo@0.8.19) (2020-05-16) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-undo-redo + <a name="0.8.18"></a> ## [0.8.18](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-undo-redo@0.8.17...@ali/lowcode-plugin-undo-redo@0.8.18) (2020-05-16) diff --git a/packages/plugin-undo-redo/package.json b/packages/plugin-undo-redo/package.json index 03a6f1e3a..2e2709833 100644 --- a/packages/plugin-undo-redo/package.json +++ b/packages/plugin-undo-redo/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-undo-redo", - "version": "0.8.18", + "version": "0.8.19", "description": "alibaba lowcode editor undo redo plugin", "files": [ "es", @@ -19,9 +19,9 @@ ], "author": "xiayang.xy", "dependencies": { - "@ali/lowcode-designer": "^0.9.13", + "@ali/lowcode-designer": "^0.9.14", "@ali/lowcode-editor-core": "^0.8.13", - "@ali/lowcode-editor-skeleton": "^0.8.19", + "@ali/lowcode-editor-skeleton": "^0.8.20", "@ali/lowcode-types": "^0.8.4", "@ali/lowcode-utils": "^0.8.5", "react": "^16.8.1", diff --git a/packages/react-simulator-renderer/CHANGELOG.md b/packages/react-simulator-renderer/CHANGELOG.md index 437bde4ce..e42ef60c4 100644 --- a/packages/react-simulator-renderer/CHANGELOG.md +++ b/packages/react-simulator-renderer/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.19"></a> +## [0.8.19](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-react-simulator-renderer@0.8.18...@ali/lowcode-react-simulator-renderer@0.8.19) (2020-05-16) + + + + +**Note:** Version bump only for package @ali/lowcode-react-simulator-renderer + <a name="0.8.18"></a> ## [0.8.18](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-react-simulator-renderer@0.8.17...@ali/lowcode-react-simulator-renderer@0.8.18) (2020-05-16) diff --git a/packages/react-simulator-renderer/package.json b/packages/react-simulator-renderer/package.json index 1ded5a2ed..5a7c62225 100644 --- a/packages/react-simulator-renderer/package.json +++ b/packages/react-simulator-renderer/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@ali/lowcode-react-simulator-renderer", - "version": "0.8.18", + "version": "0.8.19", "description": "react simulator renderer for alibaba lowcode designer", "main": "lib/index.js", "module": "es/index.js", @@ -13,7 +13,7 @@ "test:snapshot": "ava --update-snapshots" }, "dependencies": { - "@ali/lowcode-designer": "^0.9.13", + "@ali/lowcode-designer": "^0.9.14", "@ali/lowcode-react-renderer": "^0.8.0", "@ali/lowcode-types": "^0.8.4", "@ali/lowcode-utils": "^0.8.5", diff --git a/packages/vision-preset/CHANGELOG.md b/packages/vision-preset/CHANGELOG.md index 40b6b01a3..42f414685 100644 --- a/packages/vision-preset/CHANGELOG.md +++ b/packages/vision-preset/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.13"></a> +## [0.8.13](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-vision-preset@0.8.12...@ali/lowcode-vision-preset@0.8.13) (2020-05-16) + + + + +**Note:** Version bump only for package @ali/lowcode-vision-preset + <a name="0.8.12"></a> ## [0.8.12](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-vision-preset@0.8.11...@ali/lowcode-vision-preset@0.8.12) (2020-05-16) diff --git a/packages/vision-preset/package.json b/packages/vision-preset/package.json index 693e0faaf..9175a1124 100644 --- a/packages/vision-preset/package.json +++ b/packages/vision-preset/package.json @@ -1,7 +1,7 @@ { "name": "@ali/lowcode-vision-preset", "private": true, - "version": "0.8.12", + "version": "0.8.13", "description": "Vision Polyfill for Ali lowCode engine", "main": "lib/index.js", "files": [ @@ -14,11 +14,11 @@ }, "license": "MIT", "dependencies": { - "@ali/lowcode-designer": "^0.9.13", + "@ali/lowcode-designer": "^0.9.14", "@ali/lowcode-editor-core": "^0.8.13", - "@ali/lowcode-editor-skeleton": "^0.8.19", - "@ali/lowcode-plugin-designer": "^0.9.13", - "@ali/lowcode-plugin-outline-pane": "^0.8.19", + "@ali/lowcode-editor-skeleton": "^0.8.20", + "@ali/lowcode-plugin-designer": "^0.9.14", + "@ali/lowcode-plugin-outline-pane": "^0.8.20", "@ali/ve-i18n-util": "^2.0.2", "@ali/ve-icons": "^4.1.9", "@ali/ve-less-variables": "2.0.3", From 8cf0010441e9172bbc9aa8a51de1f9913552ea61 Mon Sep 17 00:00:00 2001 From: kangwei <bingbing.yb@alibaba-inc.com> Date: Sun, 17 May 2020 01:19:19 +0800 Subject: [PATCH 10/70] Publish - @ali/lowcode-demo@0.8.24 - @ali/lowcode-designer@0.9.15 - @ali/lowcode-editor-skeleton@0.8.21 - @ali/lowcode-plugin-components-pane@0.8.17 - @ali/lowcode-plugin-designer@0.9.15 - @ali/lowcode-plugin-outline-pane@0.8.21 - @ali/lowcode-plugin-sample-preview@0.8.20 - @ali/lowcode-plugin-undo-redo@0.8.20 - @ali/lowcode-react-simulator-renderer@0.8.20 - @ali/lowcode-vision-preset@0.8.14 --- packages/demo/CHANGELOG.md | 8 ++++++++ packages/demo/package.json | 14 +++++++------- packages/designer/CHANGELOG.md | 8 ++++++++ packages/designer/package.json | 2 +- packages/editor-skeleton/CHANGELOG.md | 8 ++++++++ packages/editor-skeleton/package.json | 4 ++-- packages/plugin-components-pane/CHANGELOG.md | 8 ++++++++ packages/plugin-components-pane/package.json | 4 ++-- packages/plugin-designer/CHANGELOG.md | 8 ++++++++ packages/plugin-designer/package.json | 4 ++-- packages/plugin-outline-pane/CHANGELOG.md | 8 ++++++++ packages/plugin-outline-pane/package.json | 4 ++-- packages/plugin-sample-preview/CHANGELOG.md | 8 ++++++++ packages/plugin-sample-preview/package.json | 4 ++-- packages/plugin-undo-redo/CHANGELOG.md | 8 ++++++++ packages/plugin-undo-redo/package.json | 6 +++--- packages/react-simulator-renderer/CHANGELOG.md | 8 ++++++++ packages/react-simulator-renderer/package.json | 4 ++-- packages/vision-preset/CHANGELOG.md | 8 ++++++++ packages/vision-preset/package.json | 10 +++++----- 20 files changed, 108 insertions(+), 28 deletions(-) diff --git a/packages/demo/CHANGELOG.md b/packages/demo/CHANGELOG.md index 48aadee65..199a0e851 100644 --- a/packages/demo/CHANGELOG.md +++ b/packages/demo/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.24"></a> +## [0.8.24](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-demo@0.8.23...@ali/lowcode-demo@0.8.24) (2020-05-16) + + + + +**Note:** Version bump only for package @ali/lowcode-demo + <a name="0.8.23"></a> ## [0.8.23](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-demo@0.8.22...@ali/lowcode-demo@0.8.23) (2020-05-16) diff --git a/packages/demo/package.json b/packages/demo/package.json index ba20b42fa..8c040ba1d 100644 --- a/packages/demo/package.json +++ b/packages/demo/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-demo", - "version": "0.8.23", + "version": "0.8.24", "private": true, "description": "低代码引擎 DEMO", "scripts": { @@ -12,15 +12,15 @@ "config": {}, "dependencies": { "@ali/lowcode-editor-core": "^0.8.13", - "@ali/lowcode-editor-skeleton": "^0.8.20", - "@ali/lowcode-plugin-components-pane": "^0.8.16", - "@ali/lowcode-plugin-designer": "^0.9.14", + "@ali/lowcode-editor-skeleton": "^0.8.21", + "@ali/lowcode-plugin-components-pane": "^0.8.17", + "@ali/lowcode-plugin-designer": "^0.9.15", "@ali/lowcode-plugin-event-bind-dialog": "^0.8.13", - "@ali/lowcode-plugin-outline-pane": "^0.8.20", + "@ali/lowcode-plugin-outline-pane": "^0.8.21", "@ali/lowcode-plugin-sample-logo": "^0.8.12", - "@ali/lowcode-plugin-sample-preview": "^0.8.19", + "@ali/lowcode-plugin-sample-preview": "^0.8.20", "@ali/lowcode-plugin-settings-pane": "^0.8.8", - "@ali/lowcode-plugin-undo-redo": "^0.8.19", + "@ali/lowcode-plugin-undo-redo": "^0.8.20", "@ali/lowcode-plugin-variable-bind-dialog": "^0.8.11", "@ali/lowcode-plugin-zh-en": "^0.8.15", "@ali/lowcode-react-renderer": "^0.8.8", diff --git a/packages/designer/CHANGELOG.md b/packages/designer/CHANGELOG.md index cd0f99aaf..dd0f896f4 100644 --- a/packages/designer/CHANGELOG.md +++ b/packages/designer/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.9.15"></a> +## [0.9.15](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-designer@0.9.14...@ali/lowcode-designer@0.9.15) (2020-05-16) + + + + +**Note:** Version bump only for package @ali/lowcode-designer + <a name="0.9.14"></a> ## [0.9.14](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-designer@0.9.13...@ali/lowcode-designer@0.9.14) (2020-05-16) diff --git a/packages/designer/package.json b/packages/designer/package.json index 43ab73feb..769de02e5 100644 --- a/packages/designer/package.json +++ b/packages/designer/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-designer", - "version": "0.9.14", + "version": "0.9.15", "description": "Designer for Ali LowCode Engine", "main": "lib/index.js", "module": "es/index.js", diff --git a/packages/editor-skeleton/CHANGELOG.md b/packages/editor-skeleton/CHANGELOG.md index 5c73b0bd8..3e22309f4 100644 --- a/packages/editor-skeleton/CHANGELOG.md +++ b/packages/editor-skeleton/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.21"></a> +## [0.8.21](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-skeleton@0.8.20...@ali/lowcode-editor-skeleton@0.8.21) (2020-05-16) + + + + +**Note:** Version bump only for package @ali/lowcode-editor-skeleton + <a name="0.8.20"></a> ## [0.8.20](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-skeleton@0.8.19...@ali/lowcode-editor-skeleton@0.8.20) (2020-05-16) diff --git a/packages/editor-skeleton/package.json b/packages/editor-skeleton/package.json index 8fbafa0fd..745bb6c51 100644 --- a/packages/editor-skeleton/package.json +++ b/packages/editor-skeleton/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-editor-skeleton", - "version": "0.8.20", + "version": "0.8.21", "description": "alibaba lowcode editor skeleton", "main": "lib/index.js", "module": "es/index.js", @@ -19,7 +19,7 @@ "editor" ], "dependencies": { - "@ali/lowcode-designer": "^0.9.14", + "@ali/lowcode-designer": "^0.9.15", "@ali/lowcode-editor-core": "^0.8.13", "@ali/lowcode-types": "^0.8.4", "@ali/lowcode-utils": "^0.8.5", diff --git a/packages/plugin-components-pane/CHANGELOG.md b/packages/plugin-components-pane/CHANGELOG.md index 9059d1d98..b00e4288d 100644 --- a/packages/plugin-components-pane/CHANGELOG.md +++ b/packages/plugin-components-pane/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.17"></a> +## [0.8.17](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-components-pane@0.8.16...@ali/lowcode-plugin-components-pane@0.8.17) (2020-05-16) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-components-pane + <a name="0.8.16"></a> ## [0.8.16](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-components-pane@0.8.15...@ali/lowcode-plugin-components-pane@0.8.16) (2020-05-16) diff --git a/packages/plugin-components-pane/package.json b/packages/plugin-components-pane/package.json index 8a7d099c7..19ccc4bc1 100644 --- a/packages/plugin-components-pane/package.json +++ b/packages/plugin-components-pane/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-components-pane", - "version": "0.8.16", + "version": "0.8.17", "description": "alibaba lowcode editor component-list plugin", "files": [ "es/", @@ -23,7 +23,7 @@ "@ali/iceluna-addon-component-list": "^1.0.11", "@ali/iceluna-comp-material-show": "^1.0.10", "@ali/iceluna-sdk": "^1.0.6-beta.6", - "@ali/lowcode-designer": "^0.9.14", + "@ali/lowcode-designer": "^0.9.15", "@ali/lowcode-editor-core": "^0.8.13", "@ali/lowcode-types": "^0.8.4", "@alifd/next": "^1.19.19", diff --git a/packages/plugin-designer/CHANGELOG.md b/packages/plugin-designer/CHANGELOG.md index 564d2e975..13c91e82a 100644 --- a/packages/plugin-designer/CHANGELOG.md +++ b/packages/plugin-designer/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.9.15"></a> +## [0.9.15](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-designer@0.9.14...@ali/lowcode-plugin-designer@0.9.15) (2020-05-16) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-designer + <a name="0.9.14"></a> ## [0.9.14](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-designer@0.9.13...@ali/lowcode-plugin-designer@0.9.14) (2020-05-16) diff --git a/packages/plugin-designer/package.json b/packages/plugin-designer/package.json index d4d63533c..2ee69ae74 100644 --- a/packages/plugin-designer/package.json +++ b/packages/plugin-designer/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-designer", - "version": "0.9.14", + "version": "0.9.15", "description": "alibaba lowcode editor designer plugin", "files": [ "es", @@ -20,7 +20,7 @@ ], "author": "xiayang.xy", "dependencies": { - "@ali/lowcode-designer": "^0.9.14", + "@ali/lowcode-designer": "^0.9.15", "@ali/lowcode-editor-core": "^0.8.13", "react": "^16.8.1", "react-dom": "^16.8.1" diff --git a/packages/plugin-outline-pane/CHANGELOG.md b/packages/plugin-outline-pane/CHANGELOG.md index ba9a6c119..259f903ff 100644 --- a/packages/plugin-outline-pane/CHANGELOG.md +++ b/packages/plugin-outline-pane/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.21"></a> +## [0.8.21](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-outline-pane@0.8.20...@ali/lowcode-plugin-outline-pane@0.8.21) (2020-05-16) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-outline-pane + <a name="0.8.20"></a> ## [0.8.20](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-outline-pane@0.8.19...@ali/lowcode-plugin-outline-pane@0.8.20) (2020-05-16) diff --git a/packages/plugin-outline-pane/package.json b/packages/plugin-outline-pane/package.json index d16d1bb33..919cad790 100644 --- a/packages/plugin-outline-pane/package.json +++ b/packages/plugin-outline-pane/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-outline-pane", - "version": "0.8.20", + "version": "0.8.21", "description": "Outline pane for Ali lowCode engine", "files": [ "es", @@ -14,7 +14,7 @@ "test:snapshot": "ava --update-snapshots" }, "dependencies": { - "@ali/lowcode-designer": "^0.9.14", + "@ali/lowcode-designer": "^0.9.15", "@ali/lowcode-editor-core": "^0.8.13", "@ali/lowcode-types": "^0.8.4", "@ali/lowcode-utils": "^0.8.5", diff --git a/packages/plugin-sample-preview/CHANGELOG.md b/packages/plugin-sample-preview/CHANGELOG.md index 3a45539ec..0a82c2c37 100644 --- a/packages/plugin-sample-preview/CHANGELOG.md +++ b/packages/plugin-sample-preview/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.20"></a> +## [0.8.20](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-sample-preview@0.8.19...@ali/lowcode-plugin-sample-preview@0.8.20) (2020-05-16) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-sample-preview + <a name="0.8.19"></a> ## [0.8.19](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-sample-preview@0.8.18...@ali/lowcode-plugin-sample-preview@0.8.19) (2020-05-16) diff --git a/packages/plugin-sample-preview/package.json b/packages/plugin-sample-preview/package.json index 7c0fbd1ef..c7fa6252d 100644 --- a/packages/plugin-sample-preview/package.json +++ b/packages/plugin-sample-preview/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-sample-preview", - "version": "0.8.19", + "version": "0.8.20", "description": "alibaba lowcode editor sample preview plugin", "files": [ "es", @@ -18,7 +18,7 @@ "editor" ], "dependencies": { - "@ali/lowcode-designer": "^0.9.14", + "@ali/lowcode-designer": "^0.9.15", "@ali/lowcode-editor-core": "^0.8.13", "@alifd/next": "^1.x", "react": "^16.8.1" diff --git a/packages/plugin-undo-redo/CHANGELOG.md b/packages/plugin-undo-redo/CHANGELOG.md index 60456186a..45b050a56 100644 --- a/packages/plugin-undo-redo/CHANGELOG.md +++ b/packages/plugin-undo-redo/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.20"></a> +## [0.8.20](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-undo-redo@0.8.19...@ali/lowcode-plugin-undo-redo@0.8.20) (2020-05-16) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-undo-redo + <a name="0.8.19"></a> ## [0.8.19](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-undo-redo@0.8.18...@ali/lowcode-plugin-undo-redo@0.8.19) (2020-05-16) diff --git a/packages/plugin-undo-redo/package.json b/packages/plugin-undo-redo/package.json index 2e2709833..98a5fc921 100644 --- a/packages/plugin-undo-redo/package.json +++ b/packages/plugin-undo-redo/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-undo-redo", - "version": "0.8.19", + "version": "0.8.20", "description": "alibaba lowcode editor undo redo plugin", "files": [ "es", @@ -19,9 +19,9 @@ ], "author": "xiayang.xy", "dependencies": { - "@ali/lowcode-designer": "^0.9.14", + "@ali/lowcode-designer": "^0.9.15", "@ali/lowcode-editor-core": "^0.8.13", - "@ali/lowcode-editor-skeleton": "^0.8.20", + "@ali/lowcode-editor-skeleton": "^0.8.21", "@ali/lowcode-types": "^0.8.4", "@ali/lowcode-utils": "^0.8.5", "react": "^16.8.1", diff --git a/packages/react-simulator-renderer/CHANGELOG.md b/packages/react-simulator-renderer/CHANGELOG.md index e42ef60c4..9efb52e7d 100644 --- a/packages/react-simulator-renderer/CHANGELOG.md +++ b/packages/react-simulator-renderer/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.20"></a> +## [0.8.20](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-react-simulator-renderer@0.8.19...@ali/lowcode-react-simulator-renderer@0.8.20) (2020-05-16) + + + + +**Note:** Version bump only for package @ali/lowcode-react-simulator-renderer + <a name="0.8.19"></a> ## [0.8.19](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-react-simulator-renderer@0.8.18...@ali/lowcode-react-simulator-renderer@0.8.19) (2020-05-16) diff --git a/packages/react-simulator-renderer/package.json b/packages/react-simulator-renderer/package.json index 5a7c62225..0664a9110 100644 --- a/packages/react-simulator-renderer/package.json +++ b/packages/react-simulator-renderer/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@ali/lowcode-react-simulator-renderer", - "version": "0.8.19", + "version": "0.8.20", "description": "react simulator renderer for alibaba lowcode designer", "main": "lib/index.js", "module": "es/index.js", @@ -13,7 +13,7 @@ "test:snapshot": "ava --update-snapshots" }, "dependencies": { - "@ali/lowcode-designer": "^0.9.14", + "@ali/lowcode-designer": "^0.9.15", "@ali/lowcode-react-renderer": "^0.8.0", "@ali/lowcode-types": "^0.8.4", "@ali/lowcode-utils": "^0.8.5", diff --git a/packages/vision-preset/CHANGELOG.md b/packages/vision-preset/CHANGELOG.md index 42f414685..af0843dd6 100644 --- a/packages/vision-preset/CHANGELOG.md +++ b/packages/vision-preset/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.14"></a> +## [0.8.14](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-vision-preset@0.8.13...@ali/lowcode-vision-preset@0.8.14) (2020-05-16) + + + + +**Note:** Version bump only for package @ali/lowcode-vision-preset + <a name="0.8.13"></a> ## [0.8.13](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-vision-preset@0.8.12...@ali/lowcode-vision-preset@0.8.13) (2020-05-16) diff --git a/packages/vision-preset/package.json b/packages/vision-preset/package.json index 9175a1124..2288ab553 100644 --- a/packages/vision-preset/package.json +++ b/packages/vision-preset/package.json @@ -1,7 +1,7 @@ { "name": "@ali/lowcode-vision-preset", "private": true, - "version": "0.8.13", + "version": "0.8.14", "description": "Vision Polyfill for Ali lowCode engine", "main": "lib/index.js", "files": [ @@ -14,11 +14,11 @@ }, "license": "MIT", "dependencies": { - "@ali/lowcode-designer": "^0.9.14", + "@ali/lowcode-designer": "^0.9.15", "@ali/lowcode-editor-core": "^0.8.13", - "@ali/lowcode-editor-skeleton": "^0.8.20", - "@ali/lowcode-plugin-designer": "^0.9.14", - "@ali/lowcode-plugin-outline-pane": "^0.8.20", + "@ali/lowcode-editor-skeleton": "^0.8.21", + "@ali/lowcode-plugin-designer": "^0.9.15", + "@ali/lowcode-plugin-outline-pane": "^0.8.21", "@ali/ve-i18n-util": "^2.0.2", "@ali/ve-icons": "^4.1.9", "@ali/ve-less-variables": "2.0.3", From 8db52f0f5841ce6aacff940cbbd91b5d36e77173 Mon Sep 17 00:00:00 2001 From: kangwei <bingbing.yb@alibaba-inc.com> Date: Sun, 17 May 2020 01:20:19 +0800 Subject: [PATCH 11/70] fix: uniqueid --- packages/designer/src/document/document-model.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/designer/src/document/document-model.ts b/packages/designer/src/document/document-model.ts index 352cb681a..3f4805e83 100644 --- a/packages/designer/src/document/document-model.ts +++ b/packages/designer/src/document/document-model.ts @@ -66,6 +66,7 @@ export class DocumentModel { return this.modalNode || this.rootNode; } + private inited = false; constructor(readonly project: Project, schema?: RootSchema) { /* // TODO @@ -92,6 +93,7 @@ export class DocumentModel { (schema) => this.import(schema as RootSchema, true), ); this.setupListenActiveNodes(); + this.inited = true; } @obx.val private willPurgeSpace: Node[] = []; @@ -161,6 +163,9 @@ export class DocumentModel { } let node: Node | null = null; + if (!this.inited) { + schema.id = null; + } if (schema.id) { node = this.getNode(schema.id); if (node && node.componentName === schema.componentName) { From 80546958c4f891f4f8566d658cb415c07d3c57ee Mon Sep 17 00:00:00 2001 From: kangwei <bingbing.yb@alibaba-inc.com> Date: Mon, 18 May 2020 15:23:58 +0800 Subject: [PATCH 12/70] Publish - @ali/lowcode-demo@0.8.25 - @ali/lowcode-designer@0.9.16 - @ali/lowcode-editor-core@0.8.14 - @ali/lowcode-editor-preset-general@0.9.1 - @ali/lowcode-editor-preset-vision@0.8.15 - @ali/lowcode-editor-setters@0.9.1 - @ali/lowcode-editor-skeleton@0.8.22 - @ali/lowcode-plugin-components-pane@0.8.18 - @ali/lowcode-plugin-designer@0.9.16 - @ali/lowcode-plugin-event-bind-dialog@0.8.14 - @ali/lowcode-plugin-outline-pane@0.8.22 - @ali/lowcode-plugin-sample-logo@0.8.13 - @ali/lowcode-plugin-sample-preview@0.8.21 - @ali/lowcode-plugin-source-editor@0.8.11 - @ali/lowcode-plugin-undo-redo@0.8.21 - @ali/lowcode-plugin-variable-bind-dialog@0.8.12 - @ali/lowcode-plugin-zh-en@0.8.16 - @ali/lowcode-react-simulator-renderer@0.8.21 - @ali/lowcode-types@0.8.5 - @ali/lowcode-utils@0.8.6 --- packages/demo/CHANGELOG.md | 8 ++++++ packages/demo/package.json | 26 +++++++++---------- packages/designer/CHANGELOG.md | 11 ++++++++ packages/designer/package.json | 8 +++--- packages/editor-core/CHANGELOG.md | 8 ++++++ packages/editor-core/package.json | 6 ++--- packages/editor-preset-general/CHANGELOG.md | 12 +++++++++ packages/editor-preset-general/package.json | 16 ++++++------ packages/editor-preset-vision/CHANGELOG.md | 8 ++++++ packages/editor-preset-vision/package.json | 12 ++++----- packages/editor-setters/CHANGELOG.md | 8 ++++++ packages/editor-setters/package.json | 4 +-- packages/editor-skeleton/CHANGELOG.md | 8 ++++++ packages/editor-skeleton/package.json | 10 +++---- packages/plugin-components-pane/CHANGELOG.md | 8 ++++++ packages/plugin-components-pane/package.json | 8 +++--- packages/plugin-designer/CHANGELOG.md | 8 ++++++ packages/plugin-designer/package.json | 6 ++--- .../plugin-event-bind-dialog/CHANGELOG.md | 8 ++++++ .../plugin-event-bind-dialog/package.json | 6 ++--- packages/plugin-outline-pane/CHANGELOG.md | 8 ++++++ packages/plugin-outline-pane/package.json | 10 +++---- packages/plugin-sample-logo/CHANGELOG.md | 8 ++++++ packages/plugin-sample-logo/package.json | 4 +-- packages/plugin-sample-preview/CHANGELOG.md | 8 ++++++ packages/plugin-sample-preview/package.json | 6 ++--- packages/plugin-source-editor/CHANGELOG.md | 8 ++++++ packages/plugin-source-editor/package.json | 4 +-- packages/plugin-undo-redo/CHANGELOG.md | 8 ++++++ packages/plugin-undo-redo/package.json | 12 ++++----- .../plugin-variable-bind-dialog/CHANGELOG.md | 8 ++++++ .../plugin-variable-bind-dialog/package.json | 4 +-- packages/plugin-zh-en/CHANGELOG.md | 8 ++++++ packages/plugin-zh-en/package.json | 8 +++--- .../react-simulator-renderer/CHANGELOG.md | 8 ++++++ .../react-simulator-renderer/package.json | 8 +++--- packages/types/CHANGELOG.md | 8 ++++++ packages/types/package.json | 2 +- packages/utils/CHANGELOG.md | 8 ++++++ packages/utils/package.json | 4 +-- 40 files changed, 249 insertions(+), 82 deletions(-) create mode 100644 packages/editor-preset-general/CHANGELOG.md diff --git a/packages/demo/CHANGELOG.md b/packages/demo/CHANGELOG.md index 199a0e851..457f628e1 100644 --- a/packages/demo/CHANGELOG.md +++ b/packages/demo/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.25"></a> +## [0.8.25](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-demo@0.8.24...@ali/lowcode-demo@0.8.25) (2020-05-18) + + + + +**Note:** Version bump only for package @ali/lowcode-demo + <a name="0.8.24"></a> ## [0.8.24](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-demo@0.8.23...@ali/lowcode-demo@0.8.24) (2020-05-16) diff --git a/packages/demo/package.json b/packages/demo/package.json index 3c832fb68..b0071b538 100644 --- a/packages/demo/package.json +++ b/packages/demo/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-demo", - "version": "0.8.24", + "version": "0.8.25", "private": true, "description": "低代码引擎 DEMO", "scripts": { @@ -9,21 +9,21 @@ }, "config": {}, "dependencies": { - "@ali/lowcode-editor-core": "^0.8.13", - "@ali/lowcode-editor-skeleton": "^0.8.21", - "@ali/lowcode-plugin-components-pane": "^0.8.17", - "@ali/lowcode-plugin-designer": "^0.9.15", - "@ali/lowcode-plugin-event-bind-dialog": "^0.8.13", - "@ali/lowcode-plugin-outline-pane": "^0.8.21", - "@ali/lowcode-plugin-sample-logo": "^0.8.12", - "@ali/lowcode-plugin-sample-preview": "^0.8.20", + "@ali/lowcode-editor-core": "^0.8.14", + "@ali/lowcode-editor-skeleton": "^0.8.22", + "@ali/lowcode-plugin-components-pane": "^0.8.18", + "@ali/lowcode-plugin-designer": "^0.9.16", + "@ali/lowcode-plugin-event-bind-dialog": "^0.8.14", + "@ali/lowcode-plugin-outline-pane": "^0.8.22", + "@ali/lowcode-plugin-sample-logo": "^0.8.13", + "@ali/lowcode-plugin-sample-preview": "^0.8.21", "@ali/lowcode-plugin-settings-pane": "^0.8.8", - "@ali/lowcode-plugin-undo-redo": "^0.8.20", - "@ali/lowcode-plugin-variable-bind-dialog": "^0.8.11", - "@ali/lowcode-plugin-zh-en": "^0.8.15", + "@ali/lowcode-plugin-undo-redo": "^0.8.21", + "@ali/lowcode-plugin-variable-bind-dialog": "^0.8.12", + "@ali/lowcode-plugin-zh-en": "^0.8.16", "@ali/lowcode-react-renderer": "^0.8.8", "@ali/lowcode-runtime": "^0.8.13", - "@ali/lowcode-utils": "^0.8.5", + "@ali/lowcode-utils": "^0.8.6", "@ali/ve-action-pane": "^4.7.0-beta.0", "@ali/ve-datapool-pane": "^6.4.3", "@ali/ve-history-pane": "4.0.0", diff --git a/packages/designer/CHANGELOG.md b/packages/designer/CHANGELOG.md index dd0f896f4..0916e7564 100644 --- a/packages/designer/CHANGELOG.md +++ b/packages/designer/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.9.16"></a> +## [0.9.16](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-designer@0.9.15...@ali/lowcode-designer@0.9.16) (2020-05-18) + + +### Bug Fixes + +* uniqueid ([8db52f0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/8db52f0)) + + + + <a name="0.9.15"></a> ## [0.9.15](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-designer@0.9.14...@ali/lowcode-designer@0.9.15) (2020-05-16) diff --git a/packages/designer/package.json b/packages/designer/package.json index 769de02e5..1885f5724 100644 --- a/packages/designer/package.json +++ b/packages/designer/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-designer", - "version": "0.9.15", + "version": "0.9.16", "description": "Designer for Ali LowCode Engine", "main": "lib/index.js", "module": "es/index.js", @@ -15,9 +15,9 @@ }, "license": "MIT", "dependencies": { - "@ali/lowcode-editor-core": "^0.8.13", - "@ali/lowcode-types": "^0.8.4", - "@ali/lowcode-utils": "^0.8.5", + "@ali/lowcode-editor-core": "^0.8.14", + "@ali/lowcode-types": "^0.8.5", + "@ali/lowcode-utils": "^0.8.6", "classnames": "^2.2.6", "event": "^1.0.0", "react": "^16", diff --git a/packages/editor-core/CHANGELOG.md b/packages/editor-core/CHANGELOG.md index 559809582..7e663637d 100644 --- a/packages/editor-core/CHANGELOG.md +++ b/packages/editor-core/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.14"></a> +## [0.8.14](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-core@0.8.13...@ali/lowcode-editor-core@0.8.14) (2020-05-18) + + + + +**Note:** Version bump only for package @ali/lowcode-editor-core + <a name="0.8.13"></a> ## [0.8.13](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-core@0.8.12...@ali/lowcode-editor-core@0.8.13) (2020-05-15) diff --git a/packages/editor-core/package.json b/packages/editor-core/package.json index ea4e0781c..f84fe032c 100644 --- a/packages/editor-core/package.json +++ b/packages/editor-core/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-editor-core", - "version": "0.8.13", + "version": "0.8.14", "description": "Core Api for Ali lowCode engine", "license": "MIT", "main": "lib/index.js", @@ -15,8 +15,8 @@ "cloud-build": "build-scripts build --skip-demo" }, "dependencies": { - "@ali/lowcode-types": "^0.8.4", - "@ali/lowcode-utils": "^0.8.5", + "@ali/lowcode-types": "^0.8.5", + "@ali/lowcode-utils": "^0.8.6", "@alifd/next": "^1.19.16", "@recore/obx": "^1.0.9", "@recore/obx-react": "^1.0.8", diff --git a/packages/editor-preset-general/CHANGELOG.md b/packages/editor-preset-general/CHANGELOG.md new file mode 100644 index 000000000..4d6ec4594 --- /dev/null +++ b/packages/editor-preset-general/CHANGELOG.md @@ -0,0 +1,12 @@ +# Change Log + +All notable changes to this project will be documented in this file. +See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +<a name="0.9.1"></a> +## 0.9.1 (2020-05-18) + + + + +**Note:** Version bump only for package @ali/lowcode-editor-preset-general diff --git a/packages/editor-preset-general/package.json b/packages/editor-preset-general/package.json index e86042047..05b7833cb 100644 --- a/packages/editor-preset-general/package.json +++ b/packages/editor-preset-general/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-editor-preset-general", - "version": "0.9.0", + "version": "0.9.1", "description": "Ali General Editor Preset", "main": "lib/index.js", "files": [ @@ -14,12 +14,12 @@ }, "license": "MIT", "dependencies": { - "@ali/lowcode-utils": "^0.8.0", - "@ali/lowcode-types": "^0.8.0", - "@ali/lowcode-editor-core": "^0.8.12", - "@ali/lowcode-editor-skeleton": "^0.8.17", - "@ali/lowcode-plugin-designer": "^0.9.11", - "@ali/lowcode-plugin-outline-pane": "^0.8.17", + "@ali/lowcode-editor-core": "^0.8.14", + "@ali/lowcode-editor-skeleton": "^0.8.22", + "@ali/lowcode-plugin-designer": "^0.9.16", + "@ali/lowcode-plugin-outline-pane": "^0.8.22", + "@ali/lowcode-types": "^0.8.5", + "@ali/lowcode-utils": "^0.8.6", "@alifd/next": "^1.19.12", "@alife/theme-lowcode-dark": "^0.1.0", "@alife/theme-lowcode-light": "^0.1.0", @@ -29,7 +29,7 @@ "react-dom": "^16.8.1" }, "devDependencies": { - "@ali/lowcode-editor-setters": "^0.9.0", + "@ali/lowcode-editor-setters": "^0.9.1", "@alib/build-scripts": "^0.1.18", "@types/domready": "^1.0.0", "@types/events": "^3.0.0", diff --git a/packages/editor-preset-vision/CHANGELOG.md b/packages/editor-preset-vision/CHANGELOG.md index af0843dd6..63223c6d2 100644 --- a/packages/editor-preset-vision/CHANGELOG.md +++ b/packages/editor-preset-vision/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.15"></a> +## 0.8.15 (2020-05-18) + + + + +**Note:** Version bump only for package @ali/lowcode-editor-preset-vision + <a name="0.8.14"></a> ## [0.8.14](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-vision-preset@0.8.13...@ali/lowcode-vision-preset@0.8.14) (2020-05-16) diff --git a/packages/editor-preset-vision/package.json b/packages/editor-preset-vision/package.json index 877ab12f4..ec2cf7e64 100644 --- a/packages/editor-preset-vision/package.json +++ b/packages/editor-preset-vision/package.json @@ -1,7 +1,7 @@ { "name": "@ali/lowcode-editor-preset-vision", "private": true, - "version": "0.8.14", + "version": "0.8.15", "description": "Vision Polyfill for Ali lowCode engine", "main": "lib/index.js", "files": [ @@ -15,11 +15,11 @@ }, "license": "MIT", "dependencies": { - "@ali/lowcode-designer": "^0.9.15", - "@ali/lowcode-editor-core": "^0.8.13", - "@ali/lowcode-editor-skeleton": "^0.8.21", - "@ali/lowcode-plugin-designer": "^0.9.15", - "@ali/lowcode-plugin-outline-pane": "^0.8.21", + "@ali/lowcode-designer": "^0.9.16", + "@ali/lowcode-editor-core": "^0.8.14", + "@ali/lowcode-editor-skeleton": "^0.8.22", + "@ali/lowcode-plugin-designer": "^0.9.16", + "@ali/lowcode-plugin-outline-pane": "^0.8.22", "@ali/ve-i18n-util": "^2.0.2", "@ali/ve-icons": "^4.1.9", "@ali/ve-less-variables": "2.0.3", diff --git a/packages/editor-setters/CHANGELOG.md b/packages/editor-setters/CHANGELOG.md index b9c5f65f7..249712886 100644 --- a/packages/editor-setters/CHANGELOG.md +++ b/packages/editor-setters/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.9.1"></a> +## 0.9.1 (2020-05-18) + + + + +**Note:** Version bump only for package @ali/lowcode-editor-setters + <a name="0.8.15"></a> ## [0.8.15](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-setters@0.8.14...@ali/lowcode-setters@0.8.15) (2020-05-15) diff --git a/packages/editor-setters/package.json b/packages/editor-setters/package.json index 39c3b040b..7e3a227e9 100644 --- a/packages/editor-setters/package.json +++ b/packages/editor-setters/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-editor-setters", - "version": "0.9.0", + "version": "0.9.1", "description": "Builtin setters for Ali lowCode engine", "files": [ "es", @@ -22,7 +22,7 @@ "@ali/iceluna-comp-react-node": "^1.0.5", "@ali/iceluna-sdk": "^1.0.5-beta.24", "@ali/lc-style-setter": "^0.0.1", - "@ali/lowcode-editor-core": "^0.8.13", + "@ali/lowcode-editor-core": "^0.8.14", "@alifd/next": "^1.19.16", "acorn": "^6.4.1", "classnames": "^2.2.6", diff --git a/packages/editor-skeleton/CHANGELOG.md b/packages/editor-skeleton/CHANGELOG.md index 3e22309f4..2e247de59 100644 --- a/packages/editor-skeleton/CHANGELOG.md +++ b/packages/editor-skeleton/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.22"></a> +## [0.8.22](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-skeleton@0.8.21...@ali/lowcode-editor-skeleton@0.8.22) (2020-05-18) + + + + +**Note:** Version bump only for package @ali/lowcode-editor-skeleton + <a name="0.8.21"></a> ## [0.8.21](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-skeleton@0.8.20...@ali/lowcode-editor-skeleton@0.8.21) (2020-05-16) diff --git a/packages/editor-skeleton/package.json b/packages/editor-skeleton/package.json index 745bb6c51..d0a93cafc 100644 --- a/packages/editor-skeleton/package.json +++ b/packages/editor-skeleton/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-editor-skeleton", - "version": "0.8.21", + "version": "0.8.22", "description": "alibaba lowcode editor skeleton", "main": "lib/index.js", "module": "es/index.js", @@ -19,10 +19,10 @@ "editor" ], "dependencies": { - "@ali/lowcode-designer": "^0.9.15", - "@ali/lowcode-editor-core": "^0.8.13", - "@ali/lowcode-types": "^0.8.4", - "@ali/lowcode-utils": "^0.8.5", + "@ali/lowcode-designer": "^0.9.16", + "@ali/lowcode-editor-core": "^0.8.14", + "@ali/lowcode-types": "^0.8.5", + "@ali/lowcode-utils": "^0.8.6", "@alifd/next": "^1.x", "classnames": "^2.2.6", "react": "^16.8.1", diff --git a/packages/plugin-components-pane/CHANGELOG.md b/packages/plugin-components-pane/CHANGELOG.md index b00e4288d..5d16424c5 100644 --- a/packages/plugin-components-pane/CHANGELOG.md +++ b/packages/plugin-components-pane/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.18"></a> +## [0.8.18](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-components-pane@0.8.17...@ali/lowcode-plugin-components-pane@0.8.18) (2020-05-18) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-components-pane + <a name="0.8.17"></a> ## [0.8.17](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-components-pane@0.8.16...@ali/lowcode-plugin-components-pane@0.8.17) (2020-05-16) diff --git a/packages/plugin-components-pane/package.json b/packages/plugin-components-pane/package.json index 19ccc4bc1..1f91fea1c 100644 --- a/packages/plugin-components-pane/package.json +++ b/packages/plugin-components-pane/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-components-pane", - "version": "0.8.17", + "version": "0.8.18", "description": "alibaba lowcode editor component-list plugin", "files": [ "es/", @@ -23,9 +23,9 @@ "@ali/iceluna-addon-component-list": "^1.0.11", "@ali/iceluna-comp-material-show": "^1.0.10", "@ali/iceluna-sdk": "^1.0.6-beta.6", - "@ali/lowcode-designer": "^0.9.15", - "@ali/lowcode-editor-core": "^0.8.13", - "@ali/lowcode-types": "^0.8.4", + "@ali/lowcode-designer": "^0.9.16", + "@ali/lowcode-editor-core": "^0.8.14", + "@ali/lowcode-types": "^0.8.5", "@alifd/next": "^1.19.19", "react": "^16.8.1" }, diff --git a/packages/plugin-designer/CHANGELOG.md b/packages/plugin-designer/CHANGELOG.md index 13c91e82a..01ff718c2 100644 --- a/packages/plugin-designer/CHANGELOG.md +++ b/packages/plugin-designer/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.9.16"></a> +## [0.9.16](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-designer@0.9.15...@ali/lowcode-plugin-designer@0.9.16) (2020-05-18) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-designer + <a name="0.9.15"></a> ## [0.9.15](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-designer@0.9.14...@ali/lowcode-plugin-designer@0.9.15) (2020-05-16) diff --git a/packages/plugin-designer/package.json b/packages/plugin-designer/package.json index 2ee69ae74..6869b7f1c 100644 --- a/packages/plugin-designer/package.json +++ b/packages/plugin-designer/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-designer", - "version": "0.9.15", + "version": "0.9.16", "description": "alibaba lowcode editor designer plugin", "files": [ "es", @@ -20,8 +20,8 @@ ], "author": "xiayang.xy", "dependencies": { - "@ali/lowcode-designer": "^0.9.15", - "@ali/lowcode-editor-core": "^0.8.13", + "@ali/lowcode-designer": "^0.9.16", + "@ali/lowcode-editor-core": "^0.8.14", "react": "^16.8.1", "react-dom": "^16.8.1" }, diff --git a/packages/plugin-event-bind-dialog/CHANGELOG.md b/packages/plugin-event-bind-dialog/CHANGELOG.md index 95d2c7e5f..405e240fe 100644 --- a/packages/plugin-event-bind-dialog/CHANGELOG.md +++ b/packages/plugin-event-bind-dialog/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.14"></a> +## [0.8.14](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-event-bind-dialog@0.8.13...@ali/lowcode-plugin-event-bind-dialog@0.8.14) (2020-05-18) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-event-bind-dialog + <a name="0.8.13"></a> ## [0.8.13](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-event-bind-dialog@0.8.12...@ali/lowcode-plugin-event-bind-dialog@0.8.13) (2020-05-15) diff --git a/packages/plugin-event-bind-dialog/package.json b/packages/plugin-event-bind-dialog/package.json index e6b6ec277..743392991 100644 --- a/packages/plugin-event-bind-dialog/package.json +++ b/packages/plugin-event-bind-dialog/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-event-bind-dialog", - "version": "0.8.13", + "version": "0.8.14", "description": "alibaba lowcode editor event bind dialog plugin", "files": [ "es", @@ -19,8 +19,8 @@ ], "author": "zude.hzd", "dependencies": { - "@ali/lowcode-editor-core": "^0.8.13", - "@ali/lowcode-types": "^0.8.4", + "@ali/lowcode-editor-core": "^0.8.14", + "@ali/lowcode-types": "^0.8.5", "@alifd/next": "^1.19.16", "react": "^16.8.1", "react-dom": "^16.8.1" diff --git a/packages/plugin-outline-pane/CHANGELOG.md b/packages/plugin-outline-pane/CHANGELOG.md index 259f903ff..b6e9d51b3 100644 --- a/packages/plugin-outline-pane/CHANGELOG.md +++ b/packages/plugin-outline-pane/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.22"></a> +## [0.8.22](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-outline-pane@0.8.21...@ali/lowcode-plugin-outline-pane@0.8.22) (2020-05-18) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-outline-pane + <a name="0.8.21"></a> ## [0.8.21](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-outline-pane@0.8.20...@ali/lowcode-plugin-outline-pane@0.8.21) (2020-05-16) diff --git a/packages/plugin-outline-pane/package.json b/packages/plugin-outline-pane/package.json index 919cad790..4189ef3df 100644 --- a/packages/plugin-outline-pane/package.json +++ b/packages/plugin-outline-pane/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-outline-pane", - "version": "0.8.21", + "version": "0.8.22", "description": "Outline pane for Ali lowCode engine", "files": [ "es", @@ -14,10 +14,10 @@ "test:snapshot": "ava --update-snapshots" }, "dependencies": { - "@ali/lowcode-designer": "^0.9.15", - "@ali/lowcode-editor-core": "^0.8.13", - "@ali/lowcode-types": "^0.8.4", - "@ali/lowcode-utils": "^0.8.5", + "@ali/lowcode-designer": "^0.9.16", + "@ali/lowcode-editor-core": "^0.8.14", + "@ali/lowcode-types": "^0.8.5", + "@ali/lowcode-utils": "^0.8.6", "@alifd/next": "^1.19.16", "classnames": "^2.2.6", "react": "^16", diff --git a/packages/plugin-sample-logo/CHANGELOG.md b/packages/plugin-sample-logo/CHANGELOG.md index ed9a7f0ad..7bba6eb30 100644 --- a/packages/plugin-sample-logo/CHANGELOG.md +++ b/packages/plugin-sample-logo/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.13"></a> +## [0.8.13](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-sample-logo@0.8.12...@ali/lowcode-plugin-sample-logo@0.8.13) (2020-05-18) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-sample-logo + <a name="0.8.12"></a> ## [0.8.12](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-sample-logo@0.8.11...@ali/lowcode-plugin-sample-logo@0.8.12) (2020-05-15) diff --git a/packages/plugin-sample-logo/package.json b/packages/plugin-sample-logo/package.json index b36f3f22e..3b02b1931 100644 --- a/packages/plugin-sample-logo/package.json +++ b/packages/plugin-sample-logo/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-sample-logo", - "version": "0.8.12", + "version": "0.8.13", "description": "alibaba lowcode editor logo plugin", "files": [ "es/", @@ -20,7 +20,7 @@ ], "author": "xiayang.xy", "dependencies": { - "@ali/lowcode-editor-core": "^0.8.13", + "@ali/lowcode-editor-core": "^0.8.14", "react": "^16.8.1" }, "devDependencies": { diff --git a/packages/plugin-sample-preview/CHANGELOG.md b/packages/plugin-sample-preview/CHANGELOG.md index 0a82c2c37..9c3ce4bd8 100644 --- a/packages/plugin-sample-preview/CHANGELOG.md +++ b/packages/plugin-sample-preview/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.21"></a> +## [0.8.21](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-sample-preview@0.8.20...@ali/lowcode-plugin-sample-preview@0.8.21) (2020-05-18) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-sample-preview + <a name="0.8.20"></a> ## [0.8.20](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-sample-preview@0.8.19...@ali/lowcode-plugin-sample-preview@0.8.20) (2020-05-16) diff --git a/packages/plugin-sample-preview/package.json b/packages/plugin-sample-preview/package.json index c7fa6252d..db0cf1099 100644 --- a/packages/plugin-sample-preview/package.json +++ b/packages/plugin-sample-preview/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-sample-preview", - "version": "0.8.20", + "version": "0.8.21", "description": "alibaba lowcode editor sample preview plugin", "files": [ "es", @@ -18,8 +18,8 @@ "editor" ], "dependencies": { - "@ali/lowcode-designer": "^0.9.15", - "@ali/lowcode-editor-core": "^0.8.13", + "@ali/lowcode-designer": "^0.9.16", + "@ali/lowcode-editor-core": "^0.8.14", "@alifd/next": "^1.x", "react": "^16.8.1" }, diff --git a/packages/plugin-source-editor/CHANGELOG.md b/packages/plugin-source-editor/CHANGELOG.md index 221756e44..837e9d98e 100644 --- a/packages/plugin-source-editor/CHANGELOG.md +++ b/packages/plugin-source-editor/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.11"></a> +## [0.8.11](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-source-editor@0.8.10...@ali/lowcode-plugin-source-editor@0.8.11) (2020-05-18) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-source-editor + <a name="0.8.10"></a> ## [0.8.10](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-source-editor@0.8.9...@ali/lowcode-plugin-source-editor@0.8.10) (2020-05-15) diff --git a/packages/plugin-source-editor/package.json b/packages/plugin-source-editor/package.json index 2439cf714..20fa67661 100644 --- a/packages/plugin-source-editor/package.json +++ b/packages/plugin-source-editor/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-source-editor", - "version": "0.8.10", + "version": "0.8.11", "description": "alibaba lowcode editor source-editor plugin", "files": [ "es", @@ -19,7 +19,7 @@ ], "author": "zude.hzd", "dependencies": { - "@ali/lowcode-editor-core": "^0.8.13", + "@ali/lowcode-editor-core": "^0.8.14", "@alifd/next": "^1.19.16", "js-beautify": "^1.10.1", "prettier": "^1.18.2", diff --git a/packages/plugin-undo-redo/CHANGELOG.md b/packages/plugin-undo-redo/CHANGELOG.md index 45b050a56..be4099766 100644 --- a/packages/plugin-undo-redo/CHANGELOG.md +++ b/packages/plugin-undo-redo/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.21"></a> +## [0.8.21](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-undo-redo@0.8.20...@ali/lowcode-plugin-undo-redo@0.8.21) (2020-05-18) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-undo-redo + <a name="0.8.20"></a> ## [0.8.20](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-undo-redo@0.8.19...@ali/lowcode-plugin-undo-redo@0.8.20) (2020-05-16) diff --git a/packages/plugin-undo-redo/package.json b/packages/plugin-undo-redo/package.json index 98a5fc921..f479e132c 100644 --- a/packages/plugin-undo-redo/package.json +++ b/packages/plugin-undo-redo/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-undo-redo", - "version": "0.8.20", + "version": "0.8.21", "description": "alibaba lowcode editor undo redo plugin", "files": [ "es", @@ -19,11 +19,11 @@ ], "author": "xiayang.xy", "dependencies": { - "@ali/lowcode-designer": "^0.9.15", - "@ali/lowcode-editor-core": "^0.8.13", - "@ali/lowcode-editor-skeleton": "^0.8.21", - "@ali/lowcode-types": "^0.8.4", - "@ali/lowcode-utils": "^0.8.5", + "@ali/lowcode-designer": "^0.9.16", + "@ali/lowcode-editor-core": "^0.8.14", + "@ali/lowcode-editor-skeleton": "^0.8.22", + "@ali/lowcode-types": "^0.8.5", + "@ali/lowcode-utils": "^0.8.6", "react": "^16.8.1", "react-dom": "^16.8.1" }, diff --git a/packages/plugin-variable-bind-dialog/CHANGELOG.md b/packages/plugin-variable-bind-dialog/CHANGELOG.md index 5e13ba031..e7a0d3636 100644 --- a/packages/plugin-variable-bind-dialog/CHANGELOG.md +++ b/packages/plugin-variable-bind-dialog/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.12"></a> +## [0.8.12](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-variable-bind-dialog@0.8.11...@ali/lowcode-plugin-variable-bind-dialog@0.8.12) (2020-05-18) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-variable-bind-dialog + <a name="0.8.11"></a> ## [0.8.11](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-variable-bind-dialog@0.8.10...@ali/lowcode-plugin-variable-bind-dialog@0.8.11) (2020-05-15) diff --git a/packages/plugin-variable-bind-dialog/package.json b/packages/plugin-variable-bind-dialog/package.json index d7c755c3a..a0f798ff2 100644 --- a/packages/plugin-variable-bind-dialog/package.json +++ b/packages/plugin-variable-bind-dialog/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-variable-bind-dialog", - "version": "0.8.11", + "version": "0.8.12", "description": "alibaba lowcode editor variable bind dialog plugin", "files": [ "es", @@ -19,7 +19,7 @@ ], "author": "zude.hzd", "dependencies": { - "@ali/lowcode-editor-core": "^0.8.13", + "@ali/lowcode-editor-core": "^0.8.14", "@alifd/next": "^1.19.16", "react": "^16.8.1", "react-dom": "^16.8.1" diff --git a/packages/plugin-zh-en/CHANGELOG.md b/packages/plugin-zh-en/CHANGELOG.md index e83760157..0f61ca687 100644 --- a/packages/plugin-zh-en/CHANGELOG.md +++ b/packages/plugin-zh-en/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.16"></a> +## [0.8.16](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-zh-en@0.8.15...@ali/lowcode-plugin-zh-en@0.8.16) (2020-05-18) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-zh-en + <a name="0.8.15"></a> ## [0.8.15](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-zh-en@0.8.14...@ali/lowcode-plugin-zh-en@0.8.15) (2020-05-15) diff --git a/packages/plugin-zh-en/package.json b/packages/plugin-zh-en/package.json index c0db261f3..0e78a76f7 100644 --- a/packages/plugin-zh-en/package.json +++ b/packages/plugin-zh-en/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-zh-en", - "version": "0.8.15", + "version": "0.8.16", "description": "alibaba lowcode editor zhong english plugin", "files": [ "es", @@ -14,9 +14,9 @@ "test:snapshot": "ava --update-snapshots" }, "dependencies": { - "@ali/lowcode-editor-core": "^0.8.13", - "@ali/lowcode-types": "^0.8.4", - "@ali/lowcode-utils": "^0.8.5", + "@ali/lowcode-editor-core": "^0.8.14", + "@ali/lowcode-types": "^0.8.5", + "@ali/lowcode-utils": "^0.8.6", "react": "^16.8.1", "react-dom": "^16.8.1" }, diff --git a/packages/react-simulator-renderer/CHANGELOG.md b/packages/react-simulator-renderer/CHANGELOG.md index 9efb52e7d..9b5cebb77 100644 --- a/packages/react-simulator-renderer/CHANGELOG.md +++ b/packages/react-simulator-renderer/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.21"></a> +## [0.8.21](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-react-simulator-renderer@0.8.20...@ali/lowcode-react-simulator-renderer@0.8.21) (2020-05-18) + + + + +**Note:** Version bump only for package @ali/lowcode-react-simulator-renderer + <a name="0.8.20"></a> ## [0.8.20](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-react-simulator-renderer@0.8.19...@ali/lowcode-react-simulator-renderer@0.8.20) (2020-05-16) diff --git a/packages/react-simulator-renderer/package.json b/packages/react-simulator-renderer/package.json index 0664a9110..394516460 100644 --- a/packages/react-simulator-renderer/package.json +++ b/packages/react-simulator-renderer/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@ali/lowcode-react-simulator-renderer", - "version": "0.8.20", + "version": "0.8.21", "description": "react simulator renderer for alibaba lowcode designer", "main": "lib/index.js", "module": "es/index.js", @@ -13,10 +13,10 @@ "test:snapshot": "ava --update-snapshots" }, "dependencies": { - "@ali/lowcode-designer": "^0.9.15", + "@ali/lowcode-designer": "^0.9.16", "@ali/lowcode-react-renderer": "^0.8.0", - "@ali/lowcode-types": "^0.8.4", - "@ali/lowcode-utils": "^0.8.5", + "@ali/lowcode-types": "^0.8.5", + "@ali/lowcode-utils": "^0.8.6", "@ali/vu-css-style": "^1.0.2", "@recore/obx": "^1.0.8", "@recore/obx-react": "^1.0.7", diff --git a/packages/types/CHANGELOG.md b/packages/types/CHANGELOG.md index d3d732967..31720400b 100644 --- a/packages/types/CHANGELOG.md +++ b/packages/types/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.5"></a> +## [0.8.5](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-types@0.8.4...@ali/lowcode-types@0.8.5) (2020-05-18) + + + + +**Note:** Version bump only for package @ali/lowcode-types + <a name="0.8.4"></a> ## [0.8.4](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-types@0.8.3...@ali/lowcode-types@0.8.4) (2020-05-15) diff --git a/packages/types/package.json b/packages/types/package.json index 6323bb77b..148ae8c7b 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-types", - "version": "0.8.4", + "version": "0.8.5", "description": "Types for Ali lowCode engine", "files": [ "es", diff --git a/packages/utils/CHANGELOG.md b/packages/utils/CHANGELOG.md index 41abdbd55..e222db69c 100644 --- a/packages/utils/CHANGELOG.md +++ b/packages/utils/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.6"></a> +## [0.8.6](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-utils@0.8.5...@ali/lowcode-utils@0.8.6) (2020-05-18) + + + + +**Note:** Version bump only for package @ali/lowcode-utils + <a name="0.8.5"></a> ## [0.8.5](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-utils@0.8.4...@ali/lowcode-utils@0.8.5) (2020-05-15) diff --git a/packages/utils/package.json b/packages/utils/package.json index d6179ae74..ce0a06fea 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-utils", - "version": "0.8.5", + "version": "0.8.6", "description": "Utils for Ali lowCode engine", "files": [ "es", @@ -14,7 +14,7 @@ "test:snapshot": "ava --update-snapshots" }, "dependencies": { - "@ali/lowcode-types": "^0.8.4", + "@ali/lowcode-types": "^0.8.5", "@alifd/next": "^1.19.16", "react": "^16" }, From b7ce90e4ba70a5dab4fd82d594fc0862b89074d0 Mon Sep 17 00:00:00 2001 From: kangwei <bingbing.yb@alibaba-inc.com> Date: Mon, 18 May 2020 16:20:33 +0800 Subject: [PATCH 13/70] chore: build --- packages/demo/package.json | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/demo/package.json b/packages/demo/package.json index b0071b538..31b0436b4 100644 --- a/packages/demo/package.json +++ b/packages/demo/package.json @@ -21,8 +21,6 @@ "@ali/lowcode-plugin-undo-redo": "^0.8.21", "@ali/lowcode-plugin-variable-bind-dialog": "^0.8.12", "@ali/lowcode-plugin-zh-en": "^0.8.16", - "@ali/lowcode-react-renderer": "^0.8.8", - "@ali/lowcode-runtime": "^0.8.13", "@ali/lowcode-utils": "^0.8.6", "@ali/ve-action-pane": "^4.7.0-beta.0", "@ali/ve-datapool-pane": "^6.4.3", From eb4849f571f276adae7692d8d4fb284bc510235e Mon Sep 17 00:00:00 2001 From: kangwei <bingbing.yb@alibaba-inc.com> Date: Mon, 18 May 2020 17:17:53 +0800 Subject: [PATCH 14/70] chore: build --- package.json | 2 +- packages/demo/package.json | 2 + packages/demo/public/schema.json | 48 +++++++++++++++++-- packages/editor-preset-general/package.json | 2 +- .../src/renderer.less | 3 +- 5 files changed, 50 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index c02fc675c..df31b646d 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ ] }, "scripts": { - "build": "lerna run build --stream", + "build": "./scripts/build.sh", "clean": "rm -rf ./packages/*/lib ./packages/*/es ./packages/*/dist ./packages/*/build", "commit": "git-cz", "pub": "lerna publish --cd-version patch", diff --git a/packages/demo/package.json b/packages/demo/package.json index 31b0436b4..1fbd407b7 100644 --- a/packages/demo/package.json +++ b/packages/demo/package.json @@ -21,6 +21,8 @@ "@ali/lowcode-plugin-undo-redo": "^0.8.21", "@ali/lowcode-plugin-variable-bind-dialog": "^0.8.12", "@ali/lowcode-plugin-zh-en": "^0.8.16", + "@ali/lowcode-react-renderer": "^0.8.0", + "@ali/lowcode-runtime": "^0.8.13", "@ali/lowcode-utils": "^0.8.6", "@ali/ve-action-pane": "^4.7.0-beta.0", "@ali/ve-datapool-pane": "^6.4.3", diff --git a/packages/demo/public/schema.json b/packages/demo/public/schema.json index 591992766..b8c642940 100644 --- a/packages/demo/public/schema.json +++ b/packages/demo/public/schema.json @@ -2,11 +2,11 @@ "componentName": "Page", "fileName": "test", "dataSource": { - "list": [], - "online": [] + "list": [] }, "state": { - "text": "outter" + "text": "outter", + "abc": [1,2,3] }, "props": { "ref": "outterView", @@ -15,5 +15,45 @@ "padding": 20 } }, - "children": [] + "children": [{ + "componentName": "Form", + "props": { + "labelCol": 3, + "style": {}, + "ref": "testForm" + }, + "children": [{ + "componentName": "Div", + "props": { + "style": { + "textAlign": "center" + } + }, + "children": [{ + "componentName": "Button.Group", + "props": {}, + "children": [{ + "componentName": "Button", + "props": { + "type": "primary", + "style": { + "margin": "0 5px 0 5px" + }, + "htmlType": "submit" + }, + "children": "提交" + }, { + "componentName": "Button", + "props": { + "type": "normal", + "style": { + "margin": "0 5px 0 5px" + }, + "htmlType": "reset" + }, + "children": "重置" + }] + }] + }] + }] } diff --git a/packages/editor-preset-general/package.json b/packages/editor-preset-general/package.json index 05b7833cb..881707469 100644 --- a/packages/editor-preset-general/package.json +++ b/packages/editor-preset-general/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-editor-preset-general", - "version": "0.9.1", + "version": "0.9.2-beta.0", "description": "Ali General Editor Preset", "main": "lib/index.js", "files": [ diff --git a/packages/react-simulator-renderer/src/renderer.less b/packages/react-simulator-renderer/src/renderer.less index 5a4caa1d8..76d83aacf 100644 --- a/packages/react-simulator-renderer/src/renderer.less +++ b/packages/react-simulator-renderer/src/renderer.less @@ -84,6 +84,7 @@ body.engine-document { clear: both; } + /* .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, @@ -91,7 +92,7 @@ body.engine-document { .next-year-picker, .next-breadcrumb-item,.next-calendar-header,.next-calendar-table { pointer-events: none !important; - } + }*/ } .engine-live-editing { From d316f918a62f8b7b7900ef932b6feb9aeb31f4dd Mon Sep 17 00:00:00 2001 From: kangwei <bingbing.yb@alibaba-inc.com> Date: Mon, 18 May 2020 17:18:34 +0800 Subject: [PATCH 15/70] Publish - @ali/lowcode-demo@0.8.26 - @ali/lowcode-editor-preset-general@0.9.2 - @ali/lowcode-editor-preset-vision@0.8.16 - @ali/lowcode-plugin-components-pane@0.8.19 - @ali/lowcode-react-simulator-renderer@0.8.22 --- packages/demo/CHANGELOG.md | 8 ++++++++ packages/demo/package.json | 4 ++-- packages/editor-preset-general/CHANGELOG.md | 8 ++++++++ packages/editor-preset-general/package.json | 2 +- packages/editor-preset-vision/CHANGELOG.md | 8 ++++++++ packages/editor-preset-vision/package.json | 2 +- packages/plugin-components-pane/CHANGELOG.md | 11 +++++++++++ packages/plugin-components-pane/package.json | 4 ++-- packages/react-simulator-renderer/CHANGELOG.md | 8 ++++++++ packages/react-simulator-renderer/package.json | 2 +- 10 files changed, 50 insertions(+), 7 deletions(-) diff --git a/packages/demo/CHANGELOG.md b/packages/demo/CHANGELOG.md index 457f628e1..306d36fc8 100644 --- a/packages/demo/CHANGELOG.md +++ b/packages/demo/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.26"></a> +## [0.8.26](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-demo@0.8.25...@ali/lowcode-demo@0.8.26) (2020-05-18) + + + + +**Note:** Version bump only for package @ali/lowcode-demo + <a name="0.8.25"></a> ## [0.8.25](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-demo@0.8.24...@ali/lowcode-demo@0.8.25) (2020-05-18) diff --git a/packages/demo/package.json b/packages/demo/package.json index 1fbd407b7..71ad9640d 100644 --- a/packages/demo/package.json +++ b/packages/demo/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-demo", - "version": "0.8.25", + "version": "0.8.26", "private": true, "description": "低代码引擎 DEMO", "scripts": { @@ -11,7 +11,7 @@ "dependencies": { "@ali/lowcode-editor-core": "^0.8.14", "@ali/lowcode-editor-skeleton": "^0.8.22", - "@ali/lowcode-plugin-components-pane": "^0.8.18", + "@ali/lowcode-plugin-components-pane": "^0.8.19", "@ali/lowcode-plugin-designer": "^0.9.16", "@ali/lowcode-plugin-event-bind-dialog": "^0.8.14", "@ali/lowcode-plugin-outline-pane": "^0.8.22", diff --git a/packages/editor-preset-general/CHANGELOG.md b/packages/editor-preset-general/CHANGELOG.md index 4d6ec4594..e468ed443 100644 --- a/packages/editor-preset-general/CHANGELOG.md +++ b/packages/editor-preset-general/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.9.2"></a> +## [0.9.2](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-preset-general@0.9.1...@ali/lowcode-editor-preset-general@0.9.2) (2020-05-18) + + + + +**Note:** Version bump only for package @ali/lowcode-editor-preset-general + <a name="0.9.1"></a> ## 0.9.1 (2020-05-18) diff --git a/packages/editor-preset-general/package.json b/packages/editor-preset-general/package.json index 881707469..290a7df24 100644 --- a/packages/editor-preset-general/package.json +++ b/packages/editor-preset-general/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-editor-preset-general", - "version": "0.9.2-beta.0", + "version": "0.9.2", "description": "Ali General Editor Preset", "main": "lib/index.js", "files": [ diff --git a/packages/editor-preset-vision/CHANGELOG.md b/packages/editor-preset-vision/CHANGELOG.md index 63223c6d2..01221e741 100644 --- a/packages/editor-preset-vision/CHANGELOG.md +++ b/packages/editor-preset-vision/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.16"></a> +## [0.8.16](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-preset-vision@0.8.15...@ali/lowcode-editor-preset-vision@0.8.16) (2020-05-18) + + + + +**Note:** Version bump only for package @ali/lowcode-editor-preset-vision + <a name="0.8.15"></a> ## 0.8.15 (2020-05-18) diff --git a/packages/editor-preset-vision/package.json b/packages/editor-preset-vision/package.json index a7a5ff2ad..5bf672eb9 100644 --- a/packages/editor-preset-vision/package.json +++ b/packages/editor-preset-vision/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-editor-preset-vision", - "version": "0.8.15", + "version": "0.8.16", "description": "Vision Polyfill for Ali lowCode engine", "main": "lib/index.js", "files": [ diff --git a/packages/plugin-components-pane/CHANGELOG.md b/packages/plugin-components-pane/CHANGELOG.md index 5d16424c5..9988c5b3d 100644 --- a/packages/plugin-components-pane/CHANGELOG.md +++ b/packages/plugin-components-pane/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.19"></a> +## [0.8.19](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-components-pane@0.8.18...@ali/lowcode-plugin-components-pane@0.8.19) (2020-05-18) + + +### Features + +* use new ComponentPane ([56ae5ad](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/56ae5ad)) + + + + <a name="0.8.18"></a> ## [0.8.18](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-components-pane@0.8.17...@ali/lowcode-plugin-components-pane@0.8.18) (2020-05-18) diff --git a/packages/plugin-components-pane/package.json b/packages/plugin-components-pane/package.json index 2524b1695..812a25acc 100644 --- a/packages/plugin-components-pane/package.json +++ b/packages/plugin-components-pane/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-components-pane", - "version": "0.8.18", + "version": "0.8.19", "description": "alibaba lowcode editor component-list plugin", "files": [ "es/", @@ -23,8 +23,8 @@ "@ali/lowcode-designer": "^0.9.11", "@ali/lowcode-editor-core": "^0.8.12", "@ali/lowcode-types": "^0.8.3", - "@alifd/next": "^1.19.19", "@ali/ve-component-list": "^1.1.1", + "@alifd/next": "^1.19.19", "react": "^16.8.1" }, "devDependencies": { diff --git a/packages/react-simulator-renderer/CHANGELOG.md b/packages/react-simulator-renderer/CHANGELOG.md index 9b5cebb77..4270db87f 100644 --- a/packages/react-simulator-renderer/CHANGELOG.md +++ b/packages/react-simulator-renderer/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.22"></a> +## [0.8.22](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-react-simulator-renderer@0.8.21...@ali/lowcode-react-simulator-renderer@0.8.22) (2020-05-18) + + + + +**Note:** Version bump only for package @ali/lowcode-react-simulator-renderer + <a name="0.8.21"></a> ## [0.8.21](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-react-simulator-renderer@0.8.20...@ali/lowcode-react-simulator-renderer@0.8.21) (2020-05-18) diff --git a/packages/react-simulator-renderer/package.json b/packages/react-simulator-renderer/package.json index 394516460..046d4e709 100644 --- a/packages/react-simulator-renderer/package.json +++ b/packages/react-simulator-renderer/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@ali/lowcode-react-simulator-renderer", - "version": "0.8.21", + "version": "0.8.22", "description": "react simulator renderer for alibaba lowcode designer", "main": "lib/index.js", "module": "es/index.js", From d6096a43711d320054738d61ae0efbacb3b1f22e Mon Sep 17 00:00:00 2001 From: kangwei <bingbing.yb@alibaba-inc.com> Date: Mon, 18 May 2020 17:19:20 +0800 Subject: [PATCH 16/70] Publish - @ali/lowcode-editor-preset-vision@0.8.17 --- packages/editor-preset-vision/CHANGELOG.md | 8 ++++++++ packages/editor-preset-vision/package.json | 5 ++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/editor-preset-vision/CHANGELOG.md b/packages/editor-preset-vision/CHANGELOG.md index 01221e741..947ef15db 100644 --- a/packages/editor-preset-vision/CHANGELOG.md +++ b/packages/editor-preset-vision/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.17"></a> +## [0.8.17](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-preset-vision@0.8.16...@ali/lowcode-editor-preset-vision@0.8.17) (2020-05-18) + + + + +**Note:** Version bump only for package @ali/lowcode-editor-preset-vision + <a name="0.8.16"></a> ## [0.8.16](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-preset-vision@0.8.15...@ali/lowcode-editor-preset-vision@0.8.16) (2020-05-18) diff --git a/packages/editor-preset-vision/package.json b/packages/editor-preset-vision/package.json index 5bf672eb9..b6933f1bb 100644 --- a/packages/editor-preset-vision/package.json +++ b/packages/editor-preset-vision/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-editor-preset-vision", - "version": "0.8.16", + "version": "0.8.17", "description": "Vision Polyfill for Ali lowCode engine", "main": "lib/index.js", "files": [ @@ -45,5 +45,8 @@ "build-plugin-moment-locales": "^0.1.0", "build-plugin-react-app": "^1.1.2", "tsconfig-paths-webpack-plugin": "^3.2.0" + }, + "publishConfig": { + "registry": "https://registry.npm.alibaba-inc.com" } } From 515042c2e093882725e054a2f29057a6a6b73c67 Mon Sep 17 00:00:00 2001 From: kangwei <bingbing.yb@alibaba-inc.com> Date: Tue, 19 May 2020 16:03:54 +0800 Subject: [PATCH 17/70] fix demo schema --- packages/demo/public/schema.json | 918 +++++++++++++++++- .../designer/src/designer/setting/utils.js | 2 +- scripts/build.sh | 5 + 3 files changed, 881 insertions(+), 44 deletions(-) create mode 100755 scripts/build.sh diff --git a/packages/demo/public/schema.json b/packages/demo/public/schema.json index b8c642940..e3de976e0 100644 --- a/packages/demo/public/schema.json +++ b/packages/demo/public/schema.json @@ -1,13 +1,6 @@ { "componentName": "Page", - "fileName": "test", - "dataSource": { - "list": [] - }, - "state": { - "text": "outter", - "abc": [1,2,3] - }, + "id": "node$1", "props": { "ref": "outterView", "autoLoading": true, @@ -15,45 +8,884 @@ "padding": 20 } }, - "children": [{ - "componentName": "Form", - "props": { - "labelCol": 3, - "style": {}, - "ref": "testForm" - }, - "children": [{ - "componentName": "Div", + "fileName": "test", + "dataSource": { + "list": [] + }, + "state": { + "text": "outter", + "abc": [ + 1, + 2, + 3 + ] + }, + "children": [ + { + "componentName": "Steps", + "id": "node$1i", "props": { - "style": { - "textAlign": "center" - } + "dataSource": [ + { + "title": { + "type": "i18n", + "use": "zh_CN", + "en_US": null, + "zh_CN": "报名" + }, + "status": "", + "content": { + "type": "i18n", + "use": "zh_CN", + "en_US": null, + "zh_CN": "Open the refrigerator door" + }, + "customSwitcher": false + }, + { + "title": { + "type": "i18n", + "use": "zh_CN", + "en_US": null, + "zh_CN": "信息收集" + }, + "status": "", + "content": { + "type": "i18n", + "use": "zh_CN", + "en_US": null, + "zh_CN": "Put the elephant in the refrigerator" + }, + "customSwitcher": false + }, + { + "title": { + "type": "i18n", + "use": "zh_CN", + "en_US": null, + "zh_CN": "审核" + }, + "status": "", + "content": { + "type": "i18n", + "use": "zh_CN", + "en_US": null, + "zh_CN": "Close the refrigerator door" + }, + "customSwitcher": false + } + ], + "current": 1, + "shape": "circle", + "direction": "horizontal", + "labelPlacement": "vertical", + "readOnly": false, + "animation": true, + "__style__": {}, + "fieldId": "steps_kadcb0ov" + } + }, + { + "componentName": "Title", + "id": "node$b", + "props": { + "text": "请填写以下人员信息表单", + "type": "primary", + "noDecoration": false, + "__style__": {}, + "fieldId": "title_kadcb0nw" + } + }, + { + "componentName": "Paragraph", + "id": "node$e", + "props": { + "content": "人最宝贵的是生命。它给予我们只有一次。人的一生应当这样度过:当他回首往事时不因虚度年华而悔恨,也不因碌碌无为而羞耻。这样在他临死的时侯就能够说:我已把我整个的生命和全部精力都献给最壮丽的事业——为人类的解放而斗争。", + "size": "medium", + "type": "long", + "__style__": {}, + "fieldId": "paragraph_kadcb0nz" + } + }, + { + "componentName": "ColumnsLayout", + "id": "node$r", + "props": { + "layout": "6:6", + "columnGap": "16px", + "rowGap": "16px", + "__style__": { + "marginTop": "24px" + }, + "fieldId": "columnsLayout_kadcb0ob" }, - "children": [{ - "componentName": "Button.Group", - "props": {}, - "children": [{ - "componentName": "Button", + "children": [ + { + "componentName": "Column", + "id": "node$s", "props": { - "type": "primary", - "style": { - "margin": "0 5px 0 5px" - }, - "htmlType": "submit" + "fieldId": "column_kadcb0o9", + "__style__": {} }, - "children": "提交" - }, { - "componentName": "Button", + "children": [ + { + "componentName": "Card", + "id": "node$n", + "props": { + "title": "基本信息", + "subTitle": { + "type": "i18n", + "zh_CN": "", + "en_US": "" + }, + "extra": { + "type": "JSSlot", + "params": null, + "value": [ + { + "componentName": "Icon", + "id": "node$q", + "props": { + "type": { + "useType": true, + "baseType": "smile", + "otherType": "smile" + }, + "size": "medium", + "__style__": {}, + "fieldId": "icon_kadcb0o8" + } + } + ] + }, + "showTitleBullet": true, + "showHeadDivider": true, + "dividerNoInset": false, + "contentHeight": "", + "__style__": {}, + "fieldId": "card_kadcb0o7" + }, + "children": [ + { + "componentName": "CardContent", + "id": "node$o", + "props": {}, + "children": [ + { + "componentName": "Form", + "id": "node$f", + "props": { + "labelAlign": "top", + "size": "medium", + "behavior": "NORMAL", + "autoValidate": true, + "scrollToFirstError": true, + "autoUnmount": true, + "fieldOptions": {}, + "__style__": { + "marginTop": "24px" + }, + "fieldId": "form_kadcb0o5" + }, + "children": [ + { + "componentName": "TextField", + "id": "node$g", + "props": { + "__category__": "form", + "__useMediator": "value", + "label": "姓名", + "value": { + "type": "i18n", + "use": "zh_CN", + "en_US": null, + "zh_CN": "" + }, + "labelAlign": "top", + "labelColSpan": 4, + "labelColOffset": 0, + "wrapperColSpan": 0, + "wrapperColOffset": 0, + "labelTextAlign": "right", + "placeholder": { + "type": "i18n", + "use": "zh_CN", + "en_US": "Please enter", + "zh_CN": "请输入" + }, + "tips": { + "zh_CN": "", + "en_US": "", + "type": "i18n" + }, + "size": "medium", + "behavior": "NORMAL", + "labelTipsTypes": "none", + "labelTipsIcon": "", + "labelTipsText": { + "type": "i18n", + "use": "zh_CN", + "en_US": null, + "zh_CN": "" + }, + "htmlType": "input", + "state": "", + "rows": 4, + "autoHeight": false, + "hasClear": false, + "trim": false, + "autoFocus": false, + "addonBefore": { + "type": "i18n", + "use": "zh_CN", + "en_US": null, + "zh_CN": "" + }, + "addonAfter": { + "type": "i18n", + "use": "zh_CN", + "en_US": null, + "zh_CN": "" + }, + "validation": [], + "hasLimitHint": false, + "cutString": false, + "__style__": {}, + "fieldId": "textField_kadcb0o0" + } + }, + { + "componentName": "RadioField", + "id": "node$14", + "props": { + "__category__": "form", + "__useMediator": "value", + "label": "性别", + "value": "", + "labelAlign": "top", + "labelColSpan": 4, + "labelColOffset": 0, + "wrapperColSpan": 0, + "wrapperColOffset": 0, + "labelTextAlign": "right", + "tips": { + "zh_CN": "", + "en_US": "", + "type": "i18n" + }, + "size": "medium", + "behavior": "NORMAL", + "labelTipsTypes": "none", + "labelTipsIcon": "", + "labelTipsText": { + "type": "i18n", + "use": "zh_CN", + "en_US": null, + "zh_CN": "" + }, + "shape": "default", + "itemDirection": "hoz", + "dataSource": [ + { + "text": { + "zh_CN": "选项一", + "en_US": "Option 1", + "type": "i18n", + "use": "zh_CN" + }, + "value": "1", + "disable": false + }, + { + "text": { + "zh_CN": "选项二", + "en_US": "Option 2", + "type": "i18n", + "use": "zh_CN" + }, + "value": "2", + "disable": false + }, + { + "text": { + "zh_CN": "选项三", + "en_US": "Option 3", + "type": "i18n", + "use": "zh_CN" + }, + "value": "3", + "disable": true + } + ], + "validation": [], + "__style__": {}, + "fieldId": "radioField_kadcb0ok" + } + }, + { + "componentName": "SelectField", + "id": "node$h", + "props": { + "__category__": "form", + "__useMediator": "value", + "label": "学校", + "value": "", + "labelAlign": "top", + "labelColSpan": 4, + "labelColOffset": 0, + "wrapperColSpan": 0, + "wrapperColOffset": 0, + "labelTextAlign": "right", + "placeholder": { + "type": "i18n", + "use": "zh_CN", + "en_US": "please select", + "zh_CN": "请选择" + }, + "tips": { + "zh_CN": "", + "en_US": "", + "type": "i18n" + }, + "size": "medium", + "behavior": "NORMAL", + "labelTipsTypes": "none", + "labelTipsIcon": "", + "labelTipsText": { + "type": "i18n", + "use": "zh_CN", + "en_US": null, + "zh_CN": "" + }, + "mode": "single", + "hasClear": false, + "hasSelectAll": false, + "showSearch": false, + "filterLocal": true, + "dataSource": [ + { + "text": { + "zh_CN": "选项一", + "en_US": "Option 1", + "type": "i18n" + }, + "value": "1" + }, + { + "text": { + "zh_CN": "选项二", + "en_US": "Option 2", + "type": "i18n" + }, + "value": "2" + }, + { + "text": { + "zh_CN": "选项三", + "en_US": "Option 3", + "type": "i18n" + }, + "value": "3" + } + ], + "validation": [], + "notFoundContent": { + "type": "i18n", + "use": "zh_CN", + "en_US": null + }, + "hasArrow": true, + "hasBorder": true, + "autoWidth": true, + "searchDelay": 300, + "__style__": {}, + "fieldId": "select_kadcb0o1" + } + }, + { + "componentName": "Div", + "id": "node$i", + "props": { + "behavior": "NORMAL", + "__style__": {}, + "fieldId": "div_kadcb0o4" + }, + "children": [ + { + "componentName": "Button", + "id": "node$j", + "props": { + "content": { + "type": "i18n", + "en_US": "Ok", + "zh_CN": "提交" + }, + "type": "primary", + "size": "medium", + "behavior": "NORMAL", + "baseIcon": "", + "otherIcon": "", + "loading": false, + "triggerEventsWhenLoading": false, + "__style__": ":root {\n margin-right: 15px;\n}", + "fieldId": "button_kadcb0o2", + "onClick": { + "type": "JSExpression", + "value": "function onSubmit(){\n // 请将 fieldId 替换为表单容器的 fieldId\n this.$('fieldId').submit(function(data, error) {\n if (data) {\n console.log(data);\n // 往后端提交数据,一般写法如下\n // this.dataSourceMap['xxx'].load(data).then(() => {\n // this.utils.toast({\n // type: 'success',\n // title: '提交成功'\n // });\n // });\n }\n });\n}", + "extType": "function", + "events": [ + { + "name": "onClick", + "params": {}, + "func": { + "type": "js", + "source": "function onSubmit(){\n // 请将 fieldId 替换为表单容器的 fieldId\n this.$('fieldId').submit(function(data, error) {\n if (data) {\n console.log(data);\n // 往后端提交数据,一般写法如下\n // this.dataSourceMap['xxx'].load(data).then(() => {\n // this.utils.toast({\n // type: 'success',\n // title: '提交成功'\n // });\n // });\n }\n });\n}", + "compiled": "function onSubmit(){\n // 请将 fieldId 替换为表单容器的 fieldId\n this.$('fieldId').submit(function(data, error) {\n if (data) {\n console.log(data);\n // 往后端提交数据,一般写法如下\n // this.dataSourceMap['xxx'].load(data).then(() => {\n // this.utils.toast({\n // type: 'success',\n // title: '提交成功'\n // });\n // });\n }\n });\n}" + } + } + ] + } + } + }, + { + "componentName": "Button", + "id": "node$k", + "props": { + "content": { + "type": "i18n", + "en_US": "Reset", + "zh_CN": "重置" + }, + "type": "secondary", + "size": "medium", + "behavior": "NORMAL", + "baseIcon": "", + "otherIcon": "", + "loading": false, + "triggerEventsWhenLoading": false, + "__style__": {}, + "fieldId": "button_kadcb0o3", + "onClick": { + "type": "JSExpression", + "value": "function onReset(){\n // 请将 fieldId 替换为表单容器的 fieldId\n this.$('fieldId').reset();\n}", + "extType": "function", + "events": [ + { + "name": "onClick", + "params": {}, + "func": { + "type": "js", + "source": "function onReset(){\n // 请将 fieldId 替换为表单容器的 fieldId\n this.$('fieldId').reset();\n}", + "compiled": "function onReset(){\n // 请将 fieldId 替换为表单容器的 fieldId\n this.$('fieldId').reset();\n}" + } + } + ] + } + } + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "componentName": "Column", + "id": "node$t", "props": { - "type": "normal", - "style": { - "margin": "0 5px 0 5px" - }, - "htmlType": "reset" + "fieldId": "column_kadcb0oa", + "__style__": {} }, - "children": "重置" - }] - }] - }] - }] + "children": [ + { + "componentName": "Card", + "id": "node$u", + "props": { + "title": { + "type": "JSSlot", + "params": null, + "value": [ + { + "componentName": "Icon", + "id": "node$18", + "props": { + "type": { + "useType": true, + "baseType": "smile", + "otherType": "smile" + }, + "size": "medium", + "__style__": {}, + "fieldId": "icon_kadcb0on" + } + }, + { + "componentName": "Link", + "id": "node$19", + "props": { + "content": { + "type": "i18n", + "use": "zh_CN", + "en_US": "link text", + "zh_CN": "扩展信息" + }, + "textOverflow": false, + "link": { + "type": "page", + "page": null, + "router": { + "type": "JSExpression", + "value": "this.utils.router" + } + }, + "__style__": {}, + "fieldId": "link_kadcb0oo" + } + } + ] + }, + "subTitle": { + "type": "i18n", + "zh_CN": "", + "en_US": "" + }, + "extra": { + "type": "JSSlot", + "params": null, + "value": [ + { + "componentName": "Icon", + "id": "node$1a", + "props": { + "type": { + "useType": true, + "baseType": "smile", + "otherType": "smile" + }, + "size": "xl", + "__style__": {}, + "fieldId": "icon_kadcb0op" + } + } + ] + }, + "showTitleBullet": true, + "showHeadDivider": true, + "dividerNoInset": false, + "contentHeight": "", + "__style__": {}, + "fieldId": "card_kadcb0oc" + }, + "children": [ + { + "componentName": "CardContent", + "id": "node$v", + "props": {}, + "children": [ + { + "componentName": "Form", + "id": "node$x", + "props": { + "labelAlign": "top", + "size": "medium", + "behavior": "NORMAL", + "autoValidate": true, + "scrollToFirstError": true, + "autoUnmount": true, + "fieldOptions": {}, + "__style__": { + "marginTop": "24px" + }, + "fieldId": "form_kadcb0oi" + }, + "children": [ + { + "componentName": "TextField", + "id": "node$y", + "props": { + "__category__": "form", + "__useMediator": "value", + "label": "职位", + "value": { + "type": "i18n", + "use": "zh_CN", + "en_US": null, + "zh_CN": "" + }, + "labelAlign": "top", + "labelColSpan": 4, + "labelColOffset": 0, + "wrapperColSpan": 0, + "wrapperColOffset": 0, + "labelTextAlign": "right", + "placeholder": { + "type": "i18n", + "use": "zh_CN", + "en_US": "Please enter", + "zh_CN": "请输入" + }, + "tips": { + "zh_CN": "", + "en_US": "", + "type": "i18n" + }, + "size": "medium", + "behavior": "NORMAL", + "labelTipsTypes": "none", + "labelTipsIcon": "", + "labelTipsText": { + "type": "i18n", + "use": "zh_CN", + "en_US": null, + "zh_CN": "" + }, + "htmlType": "input", + "state": "", + "rows": 4, + "autoHeight": false, + "hasClear": false, + "trim": false, + "autoFocus": false, + "addonBefore": { + "type": "i18n", + "use": "zh_CN", + "en_US": null, + "zh_CN": "" + }, + "addonAfter": { + "type": "i18n", + "use": "zh_CN", + "en_US": null, + "zh_CN": "" + }, + "validation": [], + "hasLimitHint": false, + "cutString": false, + "__style__": {}, + "fieldId": "textField_kadcb0od" + } + }, + { + "componentName": "DateField", + "id": "node$15", + "props": { + "__category__": "form", + "__useMediator": "value", + "label": "入职时间", + "value": "", + "labelAlign": "top", + "labelColSpan": 4, + "labelColOffset": 0, + "wrapperColSpan": 0, + "wrapperColOffset": 0, + "labelTextAlign": "right", + "placeholder": { + "type": "i18n", + "use": "zh_CN", + "en_US": "please select", + "zh_CN": "请选择" + }, + "tips": { + "zh_CN": "", + "en_US": "", + "type": "i18n" + }, + "size": "medium", + "behavior": "NORMAL", + "format": "YYYY-MM-DD", + "returnType": "timestamp", + "labelTipsTypes": "none", + "labelTipsIcon": "", + "labelTipsText": { + "type": "i18n", + "use": "zh_CN", + "en_US": null, + "zh_CN": "" + }, + "hasClear": true, + "resetTime": false, + "disabledDate": false, + "validation": [], + "__style__": {}, + "fieldId": "dateField_kadcb0ol" + } + }, + { + "componentName": "SelectField", + "id": "node$z", + "props": { + "__category__": "form", + "__useMediator": "value", + "label": "下拉选择", + "value": "", + "labelAlign": "top", + "labelColSpan": 4, + "labelColOffset": 0, + "wrapperColSpan": 0, + "wrapperColOffset": 0, + "labelTextAlign": "right", + "placeholder": { + "type": "i18n", + "use": "zh_CN", + "en_US": "please select", + "zh_CN": "请选择" + }, + "tips": { + "zh_CN": "", + "en_US": "", + "type": "i18n" + }, + "size": "medium", + "behavior": "NORMAL", + "labelTipsTypes": "none", + "labelTipsIcon": "", + "labelTipsText": { + "type": "i18n", + "use": "zh_CN", + "en_US": null, + "zh_CN": "" + }, + "mode": "single", + "hasClear": false, + "hasSelectAll": false, + "showSearch": false, + "filterLocal": true, + "dataSource": [ + { + "text": { + "zh_CN": "选项一", + "en_US": "Option 1", + "type": "i18n" + }, + "value": "1" + }, + { + "text": { + "zh_CN": "选项二", + "en_US": "Option 2", + "type": "i18n" + }, + "value": "2" + }, + { + "text": { + "zh_CN": "选项三", + "en_US": "Option 3", + "type": "i18n" + }, + "value": "3" + } + ], + "validation": [], + "notFoundContent": { + "type": "i18n", + "use": "zh_CN", + "en_US": null + }, + "hasArrow": true, + "hasBorder": true, + "autoWidth": true, + "searchDelay": 300, + "__style__": {}, + "fieldId": "select_kadcb0oe" + } + }, + { + "componentName": "Div", + "id": "node$10", + "props": { + "behavior": "NORMAL", + "__style__": {}, + "fieldId": "div_kadcb0oh" + }, + "children": [ + { + "componentName": "Button", + "id": "node$11", + "props": { + "content": { + "type": "i18n", + "en_US": "Ok", + "zh_CN": "提交" + }, + "type": "primary", + "size": "medium", + "behavior": "NORMAL", + "baseIcon": "", + "otherIcon": "", + "loading": false, + "triggerEventsWhenLoading": false, + "__style__": ":root {\n margin-right: 15px;\n}", + "fieldId": "button_kadcb0of", + "onClick": { + "type": "JSExpression", + "value": "function onSubmit(){\n // 请将 fieldId 替换为表单容器的 fieldId\n this.$('fieldId').submit(function(data, error) {\n if (data) {\n console.log(data);\n // 往后端提交数据,一般写法如下\n // this.dataSourceMap['xxx'].load(data).then(() => {\n // this.utils.toast({\n // type: 'success',\n // title: '提交成功'\n // });\n // });\n }\n });\n}", + "extType": "function", + "events": [ + { + "name": "onClick", + "params": {}, + "func": { + "type": "js", + "source": "function onSubmit(){\n // 请将 fieldId 替换为表单容器的 fieldId\n this.$('fieldId').submit(function(data, error) {\n if (data) {\n console.log(data);\n // 往后端提交数据,一般写法如下\n // this.dataSourceMap['xxx'].load(data).then(() => {\n // this.utils.toast({\n // type: 'success',\n // title: '提交成功'\n // });\n // });\n }\n });\n}", + "compiled": "function onSubmit(){\n // 请将 fieldId 替换为表单容器的 fieldId\n this.$('fieldId').submit(function(data, error) {\n if (data) {\n console.log(data);\n // 往后端提交数据,一般写法如下\n // this.dataSourceMap['xxx'].load(data).then(() => {\n // this.utils.toast({\n // type: 'success',\n // title: '提交成功'\n // });\n // });\n }\n });\n}" + } + } + ] + } + } + }, + { + "componentName": "Button", + "id": "node$12", + "props": { + "content": { + "type": "i18n", + "en_US": "Reset", + "zh_CN": "重置" + }, + "type": "secondary", + "size": "medium", + "behavior": "NORMAL", + "baseIcon": "", + "otherIcon": "", + "loading": false, + "triggerEventsWhenLoading": false, + "__style__": {}, + "fieldId": "button_kadcb0og", + "onClick": { + "type": "JSExpression", + "value": "function onReset(){\n // 请将 fieldId 替换为表单容器的 fieldId\n this.$('fieldId').reset();\n}", + "extType": "function", + "events": [ + { + "name": "onClick", + "params": {}, + "func": { + "type": "js", + "source": "function onReset(){\n // 请将 fieldId 替换为表单容器的 fieldId\n this.$('fieldId').reset();\n}", + "compiled": "function onReset(){\n // 请将 fieldId 替换为表单容器的 fieldId\n this.$('fieldId').reset();\n}" + } + } + ] + } + } + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] } diff --git a/packages/designer/src/designer/setting/utils.js b/packages/designer/src/designer/setting/utils.js index 64f063da3..991918c54 100644 --- a/packages/designer/src/designer/setting/utils.js +++ b/packages/designer/src/designer/setting/utils.js @@ -39,7 +39,7 @@ export class Transducer { } else if (isValidElement(setter) && setter.type.displayName === 'MixedSetter') { setter = setter.props.setters[0]; } else if (typeof setter === 'object' && setter.componentName === 'MixedSetter') { - setter = setter.props.setters[0]; + setter = setter.props.setters?.[0]; } if (isSetterConfig(setter)) { diff --git a/scripts/build.sh b/scripts/build.sh new file mode 100755 index 000000000..ecba63baf --- /dev/null +++ b/scripts/build.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +#lerna run build --stream +cp -R ./packages/react-simulator-renderer/dist/* ./packages/editor-preset-general/dist +cp -R ./packages/react-simulator-renderer/dist/* ./packages/editor-preset-vision/dist From 5b0d0303674327d439e3302cbc9340f76a538e08 Mon Sep 17 00:00:00 2001 From: kangwei <bingbing.yb@alibaba-inc.com> Date: Tue, 19 May 2020 16:15:16 +0800 Subject: [PATCH 18/70] Publish - @ali/lowcode-demo@0.8.27 - @ali/lowcode-designer@0.9.17 - @ali/lowcode-editor-preset-general@0.9.3 - @ali/lowcode-editor-preset-vision@0.8.18 - @ali/lowcode-editor-skeleton@0.8.23 - @ali/lowcode-plugin-components-pane@0.8.20 - @ali/lowcode-plugin-designer@0.9.17 - @ali/lowcode-plugin-outline-pane@0.8.23 - @ali/lowcode-plugin-sample-preview@0.8.22 - @ali/lowcode-plugin-undo-redo@0.8.22 - @ali/lowcode-react-simulator-renderer@0.8.23 --- packages/demo/CHANGELOG.md | 8 ++++++++ packages/demo/package.json | 14 +++++++------- packages/designer/CHANGELOG.md | 8 ++++++++ packages/designer/package.json | 2 +- packages/editor-preset-general/CHANGELOG.md | 8 ++++++++ packages/editor-preset-general/package.json | 8 ++++---- packages/editor-preset-vision/CHANGELOG.md | 8 ++++++++ packages/editor-preset-vision/package.json | 10 +++++----- packages/editor-skeleton/CHANGELOG.md | 8 ++++++++ packages/editor-skeleton/package.json | 4 ++-- packages/plugin-components-pane/CHANGELOG.md | 8 ++++++++ packages/plugin-components-pane/package.json | 4 ++-- packages/plugin-designer/CHANGELOG.md | 8 ++++++++ packages/plugin-designer/package.json | 4 ++-- packages/plugin-outline-pane/CHANGELOG.md | 8 ++++++++ packages/plugin-outline-pane/package.json | 4 ++-- packages/plugin-sample-preview/CHANGELOG.md | 8 ++++++++ packages/plugin-sample-preview/package.json | 4 ++-- packages/plugin-undo-redo/CHANGELOG.md | 8 ++++++++ packages/plugin-undo-redo/package.json | 6 +++--- packages/react-simulator-renderer/CHANGELOG.md | 8 ++++++++ packages/react-simulator-renderer/package.json | 4 ++-- 22 files changed, 120 insertions(+), 32 deletions(-) diff --git a/packages/demo/CHANGELOG.md b/packages/demo/CHANGELOG.md index 306d36fc8..fe50cce62 100644 --- a/packages/demo/CHANGELOG.md +++ b/packages/demo/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.27"></a> +## [0.8.27](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-demo@0.8.26...@ali/lowcode-demo@0.8.27) (2020-05-19) + + + + +**Note:** Version bump only for package @ali/lowcode-demo + <a name="0.8.26"></a> ## [0.8.26](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-demo@0.8.25...@ali/lowcode-demo@0.8.26) (2020-05-18) diff --git a/packages/demo/package.json b/packages/demo/package.json index 71ad9640d..4915579c1 100644 --- a/packages/demo/package.json +++ b/packages/demo/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-demo", - "version": "0.8.26", + "version": "0.8.27", "private": true, "description": "低代码引擎 DEMO", "scripts": { @@ -10,15 +10,15 @@ "config": {}, "dependencies": { "@ali/lowcode-editor-core": "^0.8.14", - "@ali/lowcode-editor-skeleton": "^0.8.22", - "@ali/lowcode-plugin-components-pane": "^0.8.19", - "@ali/lowcode-plugin-designer": "^0.9.16", + "@ali/lowcode-editor-skeleton": "^0.8.23", + "@ali/lowcode-plugin-components-pane": "^0.8.20", + "@ali/lowcode-plugin-designer": "^0.9.17", "@ali/lowcode-plugin-event-bind-dialog": "^0.8.14", - "@ali/lowcode-plugin-outline-pane": "^0.8.22", + "@ali/lowcode-plugin-outline-pane": "^0.8.23", "@ali/lowcode-plugin-sample-logo": "^0.8.13", - "@ali/lowcode-plugin-sample-preview": "^0.8.21", + "@ali/lowcode-plugin-sample-preview": "^0.8.22", "@ali/lowcode-plugin-settings-pane": "^0.8.8", - "@ali/lowcode-plugin-undo-redo": "^0.8.21", + "@ali/lowcode-plugin-undo-redo": "^0.8.22", "@ali/lowcode-plugin-variable-bind-dialog": "^0.8.12", "@ali/lowcode-plugin-zh-en": "^0.8.16", "@ali/lowcode-react-renderer": "^0.8.0", diff --git a/packages/designer/CHANGELOG.md b/packages/designer/CHANGELOG.md index 0916e7564..1edc0d5f1 100644 --- a/packages/designer/CHANGELOG.md +++ b/packages/designer/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.9.17"></a> +## [0.9.17](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-designer@0.9.16...@ali/lowcode-designer@0.9.17) (2020-05-19) + + + + +**Note:** Version bump only for package @ali/lowcode-designer + <a name="0.9.16"></a> ## [0.9.16](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-designer@0.9.15...@ali/lowcode-designer@0.9.16) (2020-05-18) diff --git a/packages/designer/package.json b/packages/designer/package.json index 1885f5724..11337ff17 100644 --- a/packages/designer/package.json +++ b/packages/designer/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-designer", - "version": "0.9.16", + "version": "0.9.17", "description": "Designer for Ali LowCode Engine", "main": "lib/index.js", "module": "es/index.js", diff --git a/packages/editor-preset-general/CHANGELOG.md b/packages/editor-preset-general/CHANGELOG.md index e468ed443..b09a5b664 100644 --- a/packages/editor-preset-general/CHANGELOG.md +++ b/packages/editor-preset-general/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.9.3"></a> +## [0.9.3](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-preset-general@0.9.2...@ali/lowcode-editor-preset-general@0.9.3) (2020-05-19) + + + + +**Note:** Version bump only for package @ali/lowcode-editor-preset-general + <a name="0.9.2"></a> ## [0.9.2](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-preset-general@0.9.1...@ali/lowcode-editor-preset-general@0.9.2) (2020-05-18) diff --git a/packages/editor-preset-general/package.json b/packages/editor-preset-general/package.json index 290a7df24..dc4252c18 100644 --- a/packages/editor-preset-general/package.json +++ b/packages/editor-preset-general/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-editor-preset-general", - "version": "0.9.2", + "version": "0.9.3", "description": "Ali General Editor Preset", "main": "lib/index.js", "files": [ @@ -15,9 +15,9 @@ "license": "MIT", "dependencies": { "@ali/lowcode-editor-core": "^0.8.14", - "@ali/lowcode-editor-skeleton": "^0.8.22", - "@ali/lowcode-plugin-designer": "^0.9.16", - "@ali/lowcode-plugin-outline-pane": "^0.8.22", + "@ali/lowcode-editor-skeleton": "^0.8.23", + "@ali/lowcode-plugin-designer": "^0.9.17", + "@ali/lowcode-plugin-outline-pane": "^0.8.23", "@ali/lowcode-types": "^0.8.5", "@ali/lowcode-utils": "^0.8.6", "@alifd/next": "^1.19.12", diff --git a/packages/editor-preset-vision/CHANGELOG.md b/packages/editor-preset-vision/CHANGELOG.md index 947ef15db..d0f82de32 100644 --- a/packages/editor-preset-vision/CHANGELOG.md +++ b/packages/editor-preset-vision/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.18"></a> +## [0.8.18](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-preset-vision@0.8.17...@ali/lowcode-editor-preset-vision@0.8.18) (2020-05-19) + + + + +**Note:** Version bump only for package @ali/lowcode-editor-preset-vision + <a name="0.8.17"></a> ## [0.8.17](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-preset-vision@0.8.16...@ali/lowcode-editor-preset-vision@0.8.17) (2020-05-18) diff --git a/packages/editor-preset-vision/package.json b/packages/editor-preset-vision/package.json index b6933f1bb..fa89cac7f 100644 --- a/packages/editor-preset-vision/package.json +++ b/packages/editor-preset-vision/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-editor-preset-vision", - "version": "0.8.17", + "version": "0.8.18", "description": "Vision Polyfill for Ali lowCode engine", "main": "lib/index.js", "files": [ @@ -14,11 +14,11 @@ }, "license": "MIT", "dependencies": { - "@ali/lowcode-designer": "^0.9.16", + "@ali/lowcode-designer": "^0.9.17", "@ali/lowcode-editor-core": "^0.8.14", - "@ali/lowcode-editor-skeleton": "^0.8.22", - "@ali/lowcode-plugin-designer": "^0.9.16", - "@ali/lowcode-plugin-outline-pane": "^0.8.22", + "@ali/lowcode-editor-skeleton": "^0.8.23", + "@ali/lowcode-plugin-designer": "^0.9.17", + "@ali/lowcode-plugin-outline-pane": "^0.8.23", "@ali/ve-i18n-util": "^2.0.2", "@ali/ve-icons": "^4.1.9", "@ali/ve-less-variables": "2.0.3", diff --git a/packages/editor-skeleton/CHANGELOG.md b/packages/editor-skeleton/CHANGELOG.md index 2e247de59..ad780c916 100644 --- a/packages/editor-skeleton/CHANGELOG.md +++ b/packages/editor-skeleton/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.23"></a> +## [0.8.23](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-skeleton@0.8.22...@ali/lowcode-editor-skeleton@0.8.23) (2020-05-19) + + + + +**Note:** Version bump only for package @ali/lowcode-editor-skeleton + <a name="0.8.22"></a> ## [0.8.22](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-skeleton@0.8.21...@ali/lowcode-editor-skeleton@0.8.22) (2020-05-18) diff --git a/packages/editor-skeleton/package.json b/packages/editor-skeleton/package.json index d0a93cafc..9a3399c07 100644 --- a/packages/editor-skeleton/package.json +++ b/packages/editor-skeleton/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-editor-skeleton", - "version": "0.8.22", + "version": "0.8.23", "description": "alibaba lowcode editor skeleton", "main": "lib/index.js", "module": "es/index.js", @@ -19,7 +19,7 @@ "editor" ], "dependencies": { - "@ali/lowcode-designer": "^0.9.16", + "@ali/lowcode-designer": "^0.9.17", "@ali/lowcode-editor-core": "^0.8.14", "@ali/lowcode-types": "^0.8.5", "@ali/lowcode-utils": "^0.8.6", diff --git a/packages/plugin-components-pane/CHANGELOG.md b/packages/plugin-components-pane/CHANGELOG.md index 9988c5b3d..7e3dacf06 100644 --- a/packages/plugin-components-pane/CHANGELOG.md +++ b/packages/plugin-components-pane/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.20"></a> +## [0.8.20](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-components-pane@0.8.19...@ali/lowcode-plugin-components-pane@0.8.20) (2020-05-19) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-components-pane + <a name="0.8.19"></a> ## [0.8.19](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-components-pane@0.8.18...@ali/lowcode-plugin-components-pane@0.8.19) (2020-05-18) diff --git a/packages/plugin-components-pane/package.json b/packages/plugin-components-pane/package.json index 812a25acc..518fd0dfa 100644 --- a/packages/plugin-components-pane/package.json +++ b/packages/plugin-components-pane/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-components-pane", - "version": "0.8.19", + "version": "0.8.20", "description": "alibaba lowcode editor component-list plugin", "files": [ "es/", @@ -20,7 +20,7 @@ ], "author": "xiayang.xy", "dependencies": { - "@ali/lowcode-designer": "^0.9.11", + "@ali/lowcode-designer": "^0.9.17", "@ali/lowcode-editor-core": "^0.8.12", "@ali/lowcode-types": "^0.8.3", "@ali/ve-component-list": "^1.1.1", diff --git a/packages/plugin-designer/CHANGELOG.md b/packages/plugin-designer/CHANGELOG.md index 01ff718c2..efd619c25 100644 --- a/packages/plugin-designer/CHANGELOG.md +++ b/packages/plugin-designer/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.9.17"></a> +## [0.9.17](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-designer@0.9.16...@ali/lowcode-plugin-designer@0.9.17) (2020-05-19) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-designer + <a name="0.9.16"></a> ## [0.9.16](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-designer@0.9.15...@ali/lowcode-plugin-designer@0.9.16) (2020-05-18) diff --git a/packages/plugin-designer/package.json b/packages/plugin-designer/package.json index 6869b7f1c..c1956d9ae 100644 --- a/packages/plugin-designer/package.json +++ b/packages/plugin-designer/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-designer", - "version": "0.9.16", + "version": "0.9.17", "description": "alibaba lowcode editor designer plugin", "files": [ "es", @@ -20,7 +20,7 @@ ], "author": "xiayang.xy", "dependencies": { - "@ali/lowcode-designer": "^0.9.16", + "@ali/lowcode-designer": "^0.9.17", "@ali/lowcode-editor-core": "^0.8.14", "react": "^16.8.1", "react-dom": "^16.8.1" diff --git a/packages/plugin-outline-pane/CHANGELOG.md b/packages/plugin-outline-pane/CHANGELOG.md index b6e9d51b3..4f406cd32 100644 --- a/packages/plugin-outline-pane/CHANGELOG.md +++ b/packages/plugin-outline-pane/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.23"></a> +## [0.8.23](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-outline-pane@0.8.22...@ali/lowcode-plugin-outline-pane@0.8.23) (2020-05-19) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-outline-pane + <a name="0.8.22"></a> ## [0.8.22](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-outline-pane@0.8.21...@ali/lowcode-plugin-outline-pane@0.8.22) (2020-05-18) diff --git a/packages/plugin-outline-pane/package.json b/packages/plugin-outline-pane/package.json index 4189ef3df..edbf5b5cf 100644 --- a/packages/plugin-outline-pane/package.json +++ b/packages/plugin-outline-pane/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-outline-pane", - "version": "0.8.22", + "version": "0.8.23", "description": "Outline pane for Ali lowCode engine", "files": [ "es", @@ -14,7 +14,7 @@ "test:snapshot": "ava --update-snapshots" }, "dependencies": { - "@ali/lowcode-designer": "^0.9.16", + "@ali/lowcode-designer": "^0.9.17", "@ali/lowcode-editor-core": "^0.8.14", "@ali/lowcode-types": "^0.8.5", "@ali/lowcode-utils": "^0.8.6", diff --git a/packages/plugin-sample-preview/CHANGELOG.md b/packages/plugin-sample-preview/CHANGELOG.md index 9c3ce4bd8..afe911ecb 100644 --- a/packages/plugin-sample-preview/CHANGELOG.md +++ b/packages/plugin-sample-preview/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.22"></a> +## [0.8.22](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-sample-preview@0.8.21...@ali/lowcode-plugin-sample-preview@0.8.22) (2020-05-19) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-sample-preview + <a name="0.8.21"></a> ## [0.8.21](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-sample-preview@0.8.20...@ali/lowcode-plugin-sample-preview@0.8.21) (2020-05-18) diff --git a/packages/plugin-sample-preview/package.json b/packages/plugin-sample-preview/package.json index db0cf1099..a4c7dd7e6 100644 --- a/packages/plugin-sample-preview/package.json +++ b/packages/plugin-sample-preview/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-sample-preview", - "version": "0.8.21", + "version": "0.8.22", "description": "alibaba lowcode editor sample preview plugin", "files": [ "es", @@ -18,7 +18,7 @@ "editor" ], "dependencies": { - "@ali/lowcode-designer": "^0.9.16", + "@ali/lowcode-designer": "^0.9.17", "@ali/lowcode-editor-core": "^0.8.14", "@alifd/next": "^1.x", "react": "^16.8.1" diff --git a/packages/plugin-undo-redo/CHANGELOG.md b/packages/plugin-undo-redo/CHANGELOG.md index be4099766..d4a532da1 100644 --- a/packages/plugin-undo-redo/CHANGELOG.md +++ b/packages/plugin-undo-redo/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.22"></a> +## [0.8.22](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-undo-redo@0.8.21...@ali/lowcode-plugin-undo-redo@0.8.22) (2020-05-19) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-undo-redo + <a name="0.8.21"></a> ## [0.8.21](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-undo-redo@0.8.20...@ali/lowcode-plugin-undo-redo@0.8.21) (2020-05-18) diff --git a/packages/plugin-undo-redo/package.json b/packages/plugin-undo-redo/package.json index f479e132c..21243dacf 100644 --- a/packages/plugin-undo-redo/package.json +++ b/packages/plugin-undo-redo/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-undo-redo", - "version": "0.8.21", + "version": "0.8.22", "description": "alibaba lowcode editor undo redo plugin", "files": [ "es", @@ -19,9 +19,9 @@ ], "author": "xiayang.xy", "dependencies": { - "@ali/lowcode-designer": "^0.9.16", + "@ali/lowcode-designer": "^0.9.17", "@ali/lowcode-editor-core": "^0.8.14", - "@ali/lowcode-editor-skeleton": "^0.8.22", + "@ali/lowcode-editor-skeleton": "^0.8.23", "@ali/lowcode-types": "^0.8.5", "@ali/lowcode-utils": "^0.8.6", "react": "^16.8.1", diff --git a/packages/react-simulator-renderer/CHANGELOG.md b/packages/react-simulator-renderer/CHANGELOG.md index 4270db87f..156ef06f6 100644 --- a/packages/react-simulator-renderer/CHANGELOG.md +++ b/packages/react-simulator-renderer/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.23"></a> +## [0.8.23](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-react-simulator-renderer@0.8.22...@ali/lowcode-react-simulator-renderer@0.8.23) (2020-05-19) + + + + +**Note:** Version bump only for package @ali/lowcode-react-simulator-renderer + <a name="0.8.22"></a> ## [0.8.22](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-react-simulator-renderer@0.8.21...@ali/lowcode-react-simulator-renderer@0.8.22) (2020-05-18) diff --git a/packages/react-simulator-renderer/package.json b/packages/react-simulator-renderer/package.json index 046d4e709..647bea06b 100644 --- a/packages/react-simulator-renderer/package.json +++ b/packages/react-simulator-renderer/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@ali/lowcode-react-simulator-renderer", - "version": "0.8.22", + "version": "0.8.23", "description": "react simulator renderer for alibaba lowcode designer", "main": "lib/index.js", "module": "es/index.js", @@ -13,7 +13,7 @@ "test:snapshot": "ava --update-snapshots" }, "dependencies": { - "@ali/lowcode-designer": "^0.9.16", + "@ali/lowcode-designer": "^0.9.17", "@ali/lowcode-react-renderer": "^0.8.0", "@ali/lowcode-types": "^0.8.5", "@ali/lowcode-utils": "^0.8.6", From 31ac73238e8f680d9c91c4f1c12e77b7c0e5971c Mon Sep 17 00:00:00 2001 From: kangwei <bingbing.yb@alibaba-inc.com> Date: Tue, 19 May 2020 23:45:34 +0800 Subject: [PATCH 19/70] fix --- package.json | 4 +++ packages/demo/build.json | 1 - .../editor-core/src/widgets/title/index.tsx | 3 ++ .../editor-preset-vision/src/bundle/trunk.ts | 28 +++++++++++++++++++ packages/editor-preset-vision/src/pages.ts | 1 + scripts/build.sh | 2 +- 6 files changed, 37 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index df31b646d..b3c803aea 100644 --- a/package.json +++ b/package.json @@ -48,5 +48,9 @@ }, "engines": { "node": ">=10.0.0" + }, + "tnpm": { + "mode": "yarn", + "lockfile": "enable" } } diff --git a/packages/demo/build.json b/packages/demo/build.json index 8d51c3cd9..83467201a 100644 --- a/packages/demo/build.json +++ b/packages/demo/build.json @@ -1,6 +1,5 @@ { "entry": { - "index": "src/index.ts", "editor-preset-vision": "../editor-preset-vision/src/index.ts", "react-simulator-renderer": "../react-simulator-renderer/src/index.ts" }, diff --git a/packages/editor-core/src/widgets/title/index.tsx b/packages/editor-core/src/widgets/title/index.tsx index daeba7df4..76e341c80 100644 --- a/packages/editor-core/src/widgets/title/index.tsx +++ b/packages/editor-core/src/widgets/title/index.tsx @@ -9,6 +9,9 @@ import './title.less'; export class Title extends Component<{ title: TitleContent; className?: string; onClick?: () => void }> { render() { let { title, className, onClick } = this.props; + if (title == null) { + return null; + } if (isValidElement(title)) { return title; } diff --git a/packages/editor-preset-vision/src/bundle/trunk.ts b/packages/editor-preset-vision/src/bundle/trunk.ts index 04efc2f10..1f9b568ce 100644 --- a/packages/editor-preset-vision/src/bundle/trunk.ts +++ b/packages/editor-preset-vision/src/bundle/trunk.ts @@ -41,6 +41,34 @@ export class Trunk { return this.metaBundle.getFromMeta(name); } + listByCategory() { + const categories: any[] = []; + const categoryMap: any = {}; + const categoryItems: any[] = []; + const defaultCategory = { + items: categoryItems, + name: '*', + }; + categories.push(defaultCategory); + categoryMap['*'] = defaultCategory; + this.getList().forEach((prototype) => { + const cat = prototype.getCategory(); + if (!cat) { + return; + } + if (!categoryMap.hasOwnProperty(cat)) { + const categoryMapItems: any[] = []; + categoryMap[cat] = { + items: categoryMapItems, + name: cat, + }; + categories.push(categoryMap[cat]); + } + categoryMap[cat].items.push(prototype); + }); + return categories; + } + getPrototypeView(componentName: string) { return this.getPrototype(componentName)?.getView(); } diff --git a/packages/editor-preset-vision/src/pages.ts b/packages/editor-preset-vision/src/pages.ts index ada3dfc97..71b24300f 100644 --- a/packages/editor-preset-vision/src/pages.ts +++ b/packages/editor-preset-vision/src/pages.ts @@ -29,6 +29,7 @@ const pages = Object.assign(project, { componentsTree: pages[0].componentsTree, }, true); }, + // FIXME: addPage(data: OldPageData) { return project.open(data.layout); }, diff --git a/scripts/build.sh b/scripts/build.sh index ecba63baf..2db229212 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -#lerna run build --stream +lerna run build --stream cp -R ./packages/react-simulator-renderer/dist/* ./packages/editor-preset-general/dist cp -R ./packages/react-simulator-renderer/dist/* ./packages/editor-preset-vision/dist From 078bad27ee4b75780a8c821900dbc0d0de2b05ea Mon Sep 17 00:00:00 2001 From: kangwei <bingbing.yb@alibaba-inc.com> Date: Wed, 20 May 2020 12:28:19 +0800 Subject: [PATCH 20/70] Publish - @ali/lowcode-demo@0.8.28 - @ali/lowcode-designer@0.9.18 - @ali/lowcode-editor-core@0.8.15 - @ali/lowcode-editor-preset-general@0.9.4 - @ali/lowcode-editor-preset-vision@0.8.19 - @ali/lowcode-editor-setters@0.9.2 - @ali/lowcode-editor-skeleton@0.8.24 - @ali/lowcode-plugin-components-pane@0.8.21 - @ali/lowcode-plugin-designer@0.9.18 - @ali/lowcode-plugin-event-bind-dialog@0.8.15 - @ali/lowcode-plugin-outline-pane@0.8.24 - @ali/lowcode-plugin-sample-logo@0.8.14 - @ali/lowcode-plugin-sample-preview@0.8.23 - @ali/lowcode-plugin-source-editor@0.8.12 - @ali/lowcode-plugin-undo-redo@0.8.23 - @ali/lowcode-plugin-variable-bind-dialog@0.8.13 - @ali/lowcode-plugin-zh-en@0.8.17 - @ali/lowcode-react-simulator-renderer@0.8.24 --- packages/demo/CHANGELOG.md | 8 +++++++ packages/demo/package.json | 24 +++++++++---------- packages/designer/CHANGELOG.md | 8 +++++++ packages/designer/package.json | 4 ++-- packages/editor-core/CHANGELOG.md | 8 +++++++ packages/editor-core/package.json | 2 +- packages/editor-preset-general/CHANGELOG.md | 8 +++++++ packages/editor-preset-general/package.json | 12 +++++----- packages/editor-preset-vision/CHANGELOG.md | 8 +++++++ packages/editor-preset-vision/package.json | 12 +++++----- packages/editor-setters/CHANGELOG.md | 8 +++++++ packages/editor-setters/package.json | 4 ++-- packages/editor-skeleton/CHANGELOG.md | 8 +++++++ packages/editor-skeleton/package.json | 6 ++--- packages/plugin-components-pane/CHANGELOG.md | 8 +++++++ packages/plugin-components-pane/package.json | 6 ++--- packages/plugin-designer/CHANGELOG.md | 8 +++++++ packages/plugin-designer/package.json | 6 ++--- .../plugin-event-bind-dialog/CHANGELOG.md | 8 +++++++ .../plugin-event-bind-dialog/package.json | 4 ++-- packages/plugin-outline-pane/CHANGELOG.md | 8 +++++++ packages/plugin-outline-pane/package.json | 6 ++--- packages/plugin-sample-logo/CHANGELOG.md | 8 +++++++ packages/plugin-sample-logo/package.json | 4 ++-- packages/plugin-sample-preview/CHANGELOG.md | 8 +++++++ packages/plugin-sample-preview/package.json | 6 ++--- packages/plugin-source-editor/CHANGELOG.md | 8 +++++++ packages/plugin-source-editor/package.json | 4 ++-- packages/plugin-undo-redo/CHANGELOG.md | 8 +++++++ packages/plugin-undo-redo/package.json | 8 +++---- .../plugin-variable-bind-dialog/CHANGELOG.md | 8 +++++++ .../plugin-variable-bind-dialog/package.json | 4 ++-- packages/plugin-zh-en/CHANGELOG.md | 8 +++++++ packages/plugin-zh-en/package.json | 4 ++-- .../react-simulator-renderer/CHANGELOG.md | 8 +++++++ .../react-simulator-renderer/package.json | 4 ++-- 36 files changed, 204 insertions(+), 60 deletions(-) diff --git a/packages/demo/CHANGELOG.md b/packages/demo/CHANGELOG.md index fe50cce62..161843b7c 100644 --- a/packages/demo/CHANGELOG.md +++ b/packages/demo/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.28"></a> +## [0.8.28](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-demo@0.8.27...@ali/lowcode-demo@0.8.28) (2020-05-20) + + + + +**Note:** Version bump only for package @ali/lowcode-demo + <a name="0.8.27"></a> ## [0.8.27](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-demo@0.8.26...@ali/lowcode-demo@0.8.27) (2020-05-19) diff --git a/packages/demo/package.json b/packages/demo/package.json index 4915579c1..4087cad76 100644 --- a/packages/demo/package.json +++ b/packages/demo/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-demo", - "version": "0.8.27", + "version": "0.8.28", "private": true, "description": "低代码引擎 DEMO", "scripts": { @@ -9,18 +9,18 @@ }, "config": {}, "dependencies": { - "@ali/lowcode-editor-core": "^0.8.14", - "@ali/lowcode-editor-skeleton": "^0.8.23", - "@ali/lowcode-plugin-components-pane": "^0.8.20", - "@ali/lowcode-plugin-designer": "^0.9.17", - "@ali/lowcode-plugin-event-bind-dialog": "^0.8.14", - "@ali/lowcode-plugin-outline-pane": "^0.8.23", - "@ali/lowcode-plugin-sample-logo": "^0.8.13", - "@ali/lowcode-plugin-sample-preview": "^0.8.22", + "@ali/lowcode-editor-core": "^0.8.15", + "@ali/lowcode-editor-skeleton": "^0.8.24", + "@ali/lowcode-plugin-components-pane": "^0.8.21", + "@ali/lowcode-plugin-designer": "^0.9.18", + "@ali/lowcode-plugin-event-bind-dialog": "^0.8.15", + "@ali/lowcode-plugin-outline-pane": "^0.8.24", + "@ali/lowcode-plugin-sample-logo": "^0.8.14", + "@ali/lowcode-plugin-sample-preview": "^0.8.23", "@ali/lowcode-plugin-settings-pane": "^0.8.8", - "@ali/lowcode-plugin-undo-redo": "^0.8.22", - "@ali/lowcode-plugin-variable-bind-dialog": "^0.8.12", - "@ali/lowcode-plugin-zh-en": "^0.8.16", + "@ali/lowcode-plugin-undo-redo": "^0.8.23", + "@ali/lowcode-plugin-variable-bind-dialog": "^0.8.13", + "@ali/lowcode-plugin-zh-en": "^0.8.17", "@ali/lowcode-react-renderer": "^0.8.0", "@ali/lowcode-runtime": "^0.8.13", "@ali/lowcode-utils": "^0.8.6", diff --git a/packages/designer/CHANGELOG.md b/packages/designer/CHANGELOG.md index 1edc0d5f1..9f6389e6f 100644 --- a/packages/designer/CHANGELOG.md +++ b/packages/designer/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.9.18"></a> +## [0.9.18](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-designer@0.9.17...@ali/lowcode-designer@0.9.18) (2020-05-20) + + + + +**Note:** Version bump only for package @ali/lowcode-designer + <a name="0.9.17"></a> ## [0.9.17](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-designer@0.9.16...@ali/lowcode-designer@0.9.17) (2020-05-19) diff --git a/packages/designer/package.json b/packages/designer/package.json index 11337ff17..c9ea8d181 100644 --- a/packages/designer/package.json +++ b/packages/designer/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-designer", - "version": "0.9.17", + "version": "0.9.18", "description": "Designer for Ali LowCode Engine", "main": "lib/index.js", "module": "es/index.js", @@ -15,7 +15,7 @@ }, "license": "MIT", "dependencies": { - "@ali/lowcode-editor-core": "^0.8.14", + "@ali/lowcode-editor-core": "^0.8.15", "@ali/lowcode-types": "^0.8.5", "@ali/lowcode-utils": "^0.8.6", "classnames": "^2.2.6", diff --git a/packages/editor-core/CHANGELOG.md b/packages/editor-core/CHANGELOG.md index 7e663637d..2b3872505 100644 --- a/packages/editor-core/CHANGELOG.md +++ b/packages/editor-core/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.15"></a> +## [0.8.15](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-core@0.8.14...@ali/lowcode-editor-core@0.8.15) (2020-05-20) + + + + +**Note:** Version bump only for package @ali/lowcode-editor-core + <a name="0.8.14"></a> ## [0.8.14](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-core@0.8.13...@ali/lowcode-editor-core@0.8.14) (2020-05-18) diff --git a/packages/editor-core/package.json b/packages/editor-core/package.json index f84fe032c..ce872928d 100644 --- a/packages/editor-core/package.json +++ b/packages/editor-core/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-editor-core", - "version": "0.8.14", + "version": "0.8.15", "description": "Core Api for Ali lowCode engine", "license": "MIT", "main": "lib/index.js", diff --git a/packages/editor-preset-general/CHANGELOG.md b/packages/editor-preset-general/CHANGELOG.md index b09a5b664..0faf7fcf2 100644 --- a/packages/editor-preset-general/CHANGELOG.md +++ b/packages/editor-preset-general/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.9.4"></a> +## [0.9.4](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-preset-general@0.9.3...@ali/lowcode-editor-preset-general@0.9.4) (2020-05-20) + + + + +**Note:** Version bump only for package @ali/lowcode-editor-preset-general + <a name="0.9.3"></a> ## [0.9.3](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-preset-general@0.9.2...@ali/lowcode-editor-preset-general@0.9.3) (2020-05-19) diff --git a/packages/editor-preset-general/package.json b/packages/editor-preset-general/package.json index dc4252c18..fd0f15688 100644 --- a/packages/editor-preset-general/package.json +++ b/packages/editor-preset-general/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-editor-preset-general", - "version": "0.9.3", + "version": "0.9.4", "description": "Ali General Editor Preset", "main": "lib/index.js", "files": [ @@ -14,10 +14,10 @@ }, "license": "MIT", "dependencies": { - "@ali/lowcode-editor-core": "^0.8.14", - "@ali/lowcode-editor-skeleton": "^0.8.23", - "@ali/lowcode-plugin-designer": "^0.9.17", - "@ali/lowcode-plugin-outline-pane": "^0.8.23", + "@ali/lowcode-editor-core": "^0.8.15", + "@ali/lowcode-editor-skeleton": "^0.8.24", + "@ali/lowcode-plugin-designer": "^0.9.18", + "@ali/lowcode-plugin-outline-pane": "^0.8.24", "@ali/lowcode-types": "^0.8.5", "@ali/lowcode-utils": "^0.8.6", "@alifd/next": "^1.19.12", @@ -29,7 +29,7 @@ "react-dom": "^16.8.1" }, "devDependencies": { - "@ali/lowcode-editor-setters": "^0.9.1", + "@ali/lowcode-editor-setters": "^0.9.2", "@alib/build-scripts": "^0.1.18", "@types/domready": "^1.0.0", "@types/events": "^3.0.0", diff --git a/packages/editor-preset-vision/CHANGELOG.md b/packages/editor-preset-vision/CHANGELOG.md index d0f82de32..f173eaf8b 100644 --- a/packages/editor-preset-vision/CHANGELOG.md +++ b/packages/editor-preset-vision/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.19"></a> +## [0.8.19](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-preset-vision@0.8.18...@ali/lowcode-editor-preset-vision@0.8.19) (2020-05-20) + + + + +**Note:** Version bump only for package @ali/lowcode-editor-preset-vision + <a name="0.8.18"></a> ## [0.8.18](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-preset-vision@0.8.17...@ali/lowcode-editor-preset-vision@0.8.18) (2020-05-19) diff --git a/packages/editor-preset-vision/package.json b/packages/editor-preset-vision/package.json index fa89cac7f..f83c33a89 100644 --- a/packages/editor-preset-vision/package.json +++ b/packages/editor-preset-vision/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-editor-preset-vision", - "version": "0.8.18", + "version": "0.8.19", "description": "Vision Polyfill for Ali lowCode engine", "main": "lib/index.js", "files": [ @@ -14,11 +14,11 @@ }, "license": "MIT", "dependencies": { - "@ali/lowcode-designer": "^0.9.17", - "@ali/lowcode-editor-core": "^0.8.14", - "@ali/lowcode-editor-skeleton": "^0.8.23", - "@ali/lowcode-plugin-designer": "^0.9.17", - "@ali/lowcode-plugin-outline-pane": "^0.8.23", + "@ali/lowcode-designer": "^0.9.18", + "@ali/lowcode-editor-core": "^0.8.15", + "@ali/lowcode-editor-skeleton": "^0.8.24", + "@ali/lowcode-plugin-designer": "^0.9.18", + "@ali/lowcode-plugin-outline-pane": "^0.8.24", "@ali/ve-i18n-util": "^2.0.2", "@ali/ve-icons": "^4.1.9", "@ali/ve-less-variables": "2.0.3", diff --git a/packages/editor-setters/CHANGELOG.md b/packages/editor-setters/CHANGELOG.md index 249712886..af4a54e67 100644 --- a/packages/editor-setters/CHANGELOG.md +++ b/packages/editor-setters/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.9.2"></a> +## [0.9.2](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-setters@0.9.1...@ali/lowcode-editor-setters@0.9.2) (2020-05-20) + + + + +**Note:** Version bump only for package @ali/lowcode-editor-setters + <a name="0.9.1"></a> ## 0.9.1 (2020-05-18) diff --git a/packages/editor-setters/package.json b/packages/editor-setters/package.json index 7e3a227e9..388f45de8 100644 --- a/packages/editor-setters/package.json +++ b/packages/editor-setters/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-editor-setters", - "version": "0.9.1", + "version": "0.9.2", "description": "Builtin setters for Ali lowCode engine", "files": [ "es", @@ -22,7 +22,7 @@ "@ali/iceluna-comp-react-node": "^1.0.5", "@ali/iceluna-sdk": "^1.0.5-beta.24", "@ali/lc-style-setter": "^0.0.1", - "@ali/lowcode-editor-core": "^0.8.14", + "@ali/lowcode-editor-core": "^0.8.15", "@alifd/next": "^1.19.16", "acorn": "^6.4.1", "classnames": "^2.2.6", diff --git a/packages/editor-skeleton/CHANGELOG.md b/packages/editor-skeleton/CHANGELOG.md index ad780c916..3e415e50b 100644 --- a/packages/editor-skeleton/CHANGELOG.md +++ b/packages/editor-skeleton/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.24"></a> +## [0.8.24](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-skeleton@0.8.23...@ali/lowcode-editor-skeleton@0.8.24) (2020-05-20) + + + + +**Note:** Version bump only for package @ali/lowcode-editor-skeleton + <a name="0.8.23"></a> ## [0.8.23](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-skeleton@0.8.22...@ali/lowcode-editor-skeleton@0.8.23) (2020-05-19) diff --git a/packages/editor-skeleton/package.json b/packages/editor-skeleton/package.json index 9a3399c07..013703f02 100644 --- a/packages/editor-skeleton/package.json +++ b/packages/editor-skeleton/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-editor-skeleton", - "version": "0.8.23", + "version": "0.8.24", "description": "alibaba lowcode editor skeleton", "main": "lib/index.js", "module": "es/index.js", @@ -19,8 +19,8 @@ "editor" ], "dependencies": { - "@ali/lowcode-designer": "^0.9.17", - "@ali/lowcode-editor-core": "^0.8.14", + "@ali/lowcode-designer": "^0.9.18", + "@ali/lowcode-editor-core": "^0.8.15", "@ali/lowcode-types": "^0.8.5", "@ali/lowcode-utils": "^0.8.6", "@alifd/next": "^1.x", diff --git a/packages/plugin-components-pane/CHANGELOG.md b/packages/plugin-components-pane/CHANGELOG.md index 7e3dacf06..a07ccce7f 100644 --- a/packages/plugin-components-pane/CHANGELOG.md +++ b/packages/plugin-components-pane/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.21"></a> +## [0.8.21](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-components-pane@0.8.20...@ali/lowcode-plugin-components-pane@0.8.21) (2020-05-20) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-components-pane + <a name="0.8.20"></a> ## [0.8.20](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-components-pane@0.8.19...@ali/lowcode-plugin-components-pane@0.8.20) (2020-05-19) diff --git a/packages/plugin-components-pane/package.json b/packages/plugin-components-pane/package.json index 518fd0dfa..d8d0530a3 100644 --- a/packages/plugin-components-pane/package.json +++ b/packages/plugin-components-pane/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-components-pane", - "version": "0.8.20", + "version": "0.8.21", "description": "alibaba lowcode editor component-list plugin", "files": [ "es/", @@ -20,8 +20,8 @@ ], "author": "xiayang.xy", "dependencies": { - "@ali/lowcode-designer": "^0.9.17", - "@ali/lowcode-editor-core": "^0.8.12", + "@ali/lowcode-designer": "^0.9.18", + "@ali/lowcode-editor-core": "^0.8.15", "@ali/lowcode-types": "^0.8.3", "@ali/ve-component-list": "^1.1.1", "@alifd/next": "^1.19.19", diff --git a/packages/plugin-designer/CHANGELOG.md b/packages/plugin-designer/CHANGELOG.md index efd619c25..01ff8a7fc 100644 --- a/packages/plugin-designer/CHANGELOG.md +++ b/packages/plugin-designer/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.9.18"></a> +## [0.9.18](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-designer@0.9.17...@ali/lowcode-plugin-designer@0.9.18) (2020-05-20) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-designer + <a name="0.9.17"></a> ## [0.9.17](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-designer@0.9.16...@ali/lowcode-plugin-designer@0.9.17) (2020-05-19) diff --git a/packages/plugin-designer/package.json b/packages/plugin-designer/package.json index c1956d9ae..4f699b49d 100644 --- a/packages/plugin-designer/package.json +++ b/packages/plugin-designer/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-designer", - "version": "0.9.17", + "version": "0.9.18", "description": "alibaba lowcode editor designer plugin", "files": [ "es", @@ -20,8 +20,8 @@ ], "author": "xiayang.xy", "dependencies": { - "@ali/lowcode-designer": "^0.9.17", - "@ali/lowcode-editor-core": "^0.8.14", + "@ali/lowcode-designer": "^0.9.18", + "@ali/lowcode-editor-core": "^0.8.15", "react": "^16.8.1", "react-dom": "^16.8.1" }, diff --git a/packages/plugin-event-bind-dialog/CHANGELOG.md b/packages/plugin-event-bind-dialog/CHANGELOG.md index 405e240fe..02d1ae19c 100644 --- a/packages/plugin-event-bind-dialog/CHANGELOG.md +++ b/packages/plugin-event-bind-dialog/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.15"></a> +## [0.8.15](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-event-bind-dialog@0.8.14...@ali/lowcode-plugin-event-bind-dialog@0.8.15) (2020-05-20) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-event-bind-dialog + <a name="0.8.14"></a> ## [0.8.14](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-event-bind-dialog@0.8.13...@ali/lowcode-plugin-event-bind-dialog@0.8.14) (2020-05-18) diff --git a/packages/plugin-event-bind-dialog/package.json b/packages/plugin-event-bind-dialog/package.json index 743392991..58bdcde31 100644 --- a/packages/plugin-event-bind-dialog/package.json +++ b/packages/plugin-event-bind-dialog/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-event-bind-dialog", - "version": "0.8.14", + "version": "0.8.15", "description": "alibaba lowcode editor event bind dialog plugin", "files": [ "es", @@ -19,7 +19,7 @@ ], "author": "zude.hzd", "dependencies": { - "@ali/lowcode-editor-core": "^0.8.14", + "@ali/lowcode-editor-core": "^0.8.15", "@ali/lowcode-types": "^0.8.5", "@alifd/next": "^1.19.16", "react": "^16.8.1", diff --git a/packages/plugin-outline-pane/CHANGELOG.md b/packages/plugin-outline-pane/CHANGELOG.md index 4f406cd32..4f6069de7 100644 --- a/packages/plugin-outline-pane/CHANGELOG.md +++ b/packages/plugin-outline-pane/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.24"></a> +## [0.8.24](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-outline-pane@0.8.23...@ali/lowcode-plugin-outline-pane@0.8.24) (2020-05-20) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-outline-pane + <a name="0.8.23"></a> ## [0.8.23](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-outline-pane@0.8.22...@ali/lowcode-plugin-outline-pane@0.8.23) (2020-05-19) diff --git a/packages/plugin-outline-pane/package.json b/packages/plugin-outline-pane/package.json index edbf5b5cf..a53b327b6 100644 --- a/packages/plugin-outline-pane/package.json +++ b/packages/plugin-outline-pane/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-outline-pane", - "version": "0.8.23", + "version": "0.8.24", "description": "Outline pane for Ali lowCode engine", "files": [ "es", @@ -14,8 +14,8 @@ "test:snapshot": "ava --update-snapshots" }, "dependencies": { - "@ali/lowcode-designer": "^0.9.17", - "@ali/lowcode-editor-core": "^0.8.14", + "@ali/lowcode-designer": "^0.9.18", + "@ali/lowcode-editor-core": "^0.8.15", "@ali/lowcode-types": "^0.8.5", "@ali/lowcode-utils": "^0.8.6", "@alifd/next": "^1.19.16", diff --git a/packages/plugin-sample-logo/CHANGELOG.md b/packages/plugin-sample-logo/CHANGELOG.md index 7bba6eb30..f0f975168 100644 --- a/packages/plugin-sample-logo/CHANGELOG.md +++ b/packages/plugin-sample-logo/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.14"></a> +## [0.8.14](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-sample-logo@0.8.13...@ali/lowcode-plugin-sample-logo@0.8.14) (2020-05-20) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-sample-logo + <a name="0.8.13"></a> ## [0.8.13](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-sample-logo@0.8.12...@ali/lowcode-plugin-sample-logo@0.8.13) (2020-05-18) diff --git a/packages/plugin-sample-logo/package.json b/packages/plugin-sample-logo/package.json index 3b02b1931..d638b3f50 100644 --- a/packages/plugin-sample-logo/package.json +++ b/packages/plugin-sample-logo/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-sample-logo", - "version": "0.8.13", + "version": "0.8.14", "description": "alibaba lowcode editor logo plugin", "files": [ "es/", @@ -20,7 +20,7 @@ ], "author": "xiayang.xy", "dependencies": { - "@ali/lowcode-editor-core": "^0.8.14", + "@ali/lowcode-editor-core": "^0.8.15", "react": "^16.8.1" }, "devDependencies": { diff --git a/packages/plugin-sample-preview/CHANGELOG.md b/packages/plugin-sample-preview/CHANGELOG.md index afe911ecb..d008ef2a4 100644 --- a/packages/plugin-sample-preview/CHANGELOG.md +++ b/packages/plugin-sample-preview/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.23"></a> +## [0.8.23](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-sample-preview@0.8.22...@ali/lowcode-plugin-sample-preview@0.8.23) (2020-05-20) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-sample-preview + <a name="0.8.22"></a> ## [0.8.22](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-sample-preview@0.8.21...@ali/lowcode-plugin-sample-preview@0.8.22) (2020-05-19) diff --git a/packages/plugin-sample-preview/package.json b/packages/plugin-sample-preview/package.json index a4c7dd7e6..b916aaec2 100644 --- a/packages/plugin-sample-preview/package.json +++ b/packages/plugin-sample-preview/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-sample-preview", - "version": "0.8.22", + "version": "0.8.23", "description": "alibaba lowcode editor sample preview plugin", "files": [ "es", @@ -18,8 +18,8 @@ "editor" ], "dependencies": { - "@ali/lowcode-designer": "^0.9.17", - "@ali/lowcode-editor-core": "^0.8.14", + "@ali/lowcode-designer": "^0.9.18", + "@ali/lowcode-editor-core": "^0.8.15", "@alifd/next": "^1.x", "react": "^16.8.1" }, diff --git a/packages/plugin-source-editor/CHANGELOG.md b/packages/plugin-source-editor/CHANGELOG.md index 837e9d98e..64697f5b2 100644 --- a/packages/plugin-source-editor/CHANGELOG.md +++ b/packages/plugin-source-editor/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.12"></a> +## [0.8.12](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-source-editor@0.8.11...@ali/lowcode-plugin-source-editor@0.8.12) (2020-05-20) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-source-editor + <a name="0.8.11"></a> ## [0.8.11](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-source-editor@0.8.10...@ali/lowcode-plugin-source-editor@0.8.11) (2020-05-18) diff --git a/packages/plugin-source-editor/package.json b/packages/plugin-source-editor/package.json index 20fa67661..4423829c0 100644 --- a/packages/plugin-source-editor/package.json +++ b/packages/plugin-source-editor/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-source-editor", - "version": "0.8.11", + "version": "0.8.12", "description": "alibaba lowcode editor source-editor plugin", "files": [ "es", @@ -19,7 +19,7 @@ ], "author": "zude.hzd", "dependencies": { - "@ali/lowcode-editor-core": "^0.8.14", + "@ali/lowcode-editor-core": "^0.8.15", "@alifd/next": "^1.19.16", "js-beautify": "^1.10.1", "prettier": "^1.18.2", diff --git a/packages/plugin-undo-redo/CHANGELOG.md b/packages/plugin-undo-redo/CHANGELOG.md index d4a532da1..7c612b68d 100644 --- a/packages/plugin-undo-redo/CHANGELOG.md +++ b/packages/plugin-undo-redo/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.23"></a> +## [0.8.23](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-undo-redo@0.8.22...@ali/lowcode-plugin-undo-redo@0.8.23) (2020-05-20) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-undo-redo + <a name="0.8.22"></a> ## [0.8.22](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-undo-redo@0.8.21...@ali/lowcode-plugin-undo-redo@0.8.22) (2020-05-19) diff --git a/packages/plugin-undo-redo/package.json b/packages/plugin-undo-redo/package.json index 21243dacf..6d75fd297 100644 --- a/packages/plugin-undo-redo/package.json +++ b/packages/plugin-undo-redo/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-undo-redo", - "version": "0.8.22", + "version": "0.8.23", "description": "alibaba lowcode editor undo redo plugin", "files": [ "es", @@ -19,9 +19,9 @@ ], "author": "xiayang.xy", "dependencies": { - "@ali/lowcode-designer": "^0.9.17", - "@ali/lowcode-editor-core": "^0.8.14", - "@ali/lowcode-editor-skeleton": "^0.8.23", + "@ali/lowcode-designer": "^0.9.18", + "@ali/lowcode-editor-core": "^0.8.15", + "@ali/lowcode-editor-skeleton": "^0.8.24", "@ali/lowcode-types": "^0.8.5", "@ali/lowcode-utils": "^0.8.6", "react": "^16.8.1", diff --git a/packages/plugin-variable-bind-dialog/CHANGELOG.md b/packages/plugin-variable-bind-dialog/CHANGELOG.md index e7a0d3636..dfe1c8994 100644 --- a/packages/plugin-variable-bind-dialog/CHANGELOG.md +++ b/packages/plugin-variable-bind-dialog/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.13"></a> +## [0.8.13](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-variable-bind-dialog@0.8.12...@ali/lowcode-plugin-variable-bind-dialog@0.8.13) (2020-05-20) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-variable-bind-dialog + <a name="0.8.12"></a> ## [0.8.12](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-variable-bind-dialog@0.8.11...@ali/lowcode-plugin-variable-bind-dialog@0.8.12) (2020-05-18) diff --git a/packages/plugin-variable-bind-dialog/package.json b/packages/plugin-variable-bind-dialog/package.json index a0f798ff2..52202d999 100644 --- a/packages/plugin-variable-bind-dialog/package.json +++ b/packages/plugin-variable-bind-dialog/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-variable-bind-dialog", - "version": "0.8.12", + "version": "0.8.13", "description": "alibaba lowcode editor variable bind dialog plugin", "files": [ "es", @@ -19,7 +19,7 @@ ], "author": "zude.hzd", "dependencies": { - "@ali/lowcode-editor-core": "^0.8.14", + "@ali/lowcode-editor-core": "^0.8.15", "@alifd/next": "^1.19.16", "react": "^16.8.1", "react-dom": "^16.8.1" diff --git a/packages/plugin-zh-en/CHANGELOG.md b/packages/plugin-zh-en/CHANGELOG.md index 0f61ca687..466faac94 100644 --- a/packages/plugin-zh-en/CHANGELOG.md +++ b/packages/plugin-zh-en/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.17"></a> +## [0.8.17](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-zh-en@0.8.16...@ali/lowcode-plugin-zh-en@0.8.17) (2020-05-20) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-zh-en + <a name="0.8.16"></a> ## [0.8.16](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-zh-en@0.8.15...@ali/lowcode-plugin-zh-en@0.8.16) (2020-05-18) diff --git a/packages/plugin-zh-en/package.json b/packages/plugin-zh-en/package.json index 0e78a76f7..10c5af483 100644 --- a/packages/plugin-zh-en/package.json +++ b/packages/plugin-zh-en/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-zh-en", - "version": "0.8.16", + "version": "0.8.17", "description": "alibaba lowcode editor zhong english plugin", "files": [ "es", @@ -14,7 +14,7 @@ "test:snapshot": "ava --update-snapshots" }, "dependencies": { - "@ali/lowcode-editor-core": "^0.8.14", + "@ali/lowcode-editor-core": "^0.8.15", "@ali/lowcode-types": "^0.8.5", "@ali/lowcode-utils": "^0.8.6", "react": "^16.8.1", diff --git a/packages/react-simulator-renderer/CHANGELOG.md b/packages/react-simulator-renderer/CHANGELOG.md index 156ef06f6..45c5358b4 100644 --- a/packages/react-simulator-renderer/CHANGELOG.md +++ b/packages/react-simulator-renderer/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.24"></a> +## [0.8.24](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-react-simulator-renderer@0.8.23...@ali/lowcode-react-simulator-renderer@0.8.24) (2020-05-20) + + + + +**Note:** Version bump only for package @ali/lowcode-react-simulator-renderer + <a name="0.8.23"></a> ## [0.8.23](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-react-simulator-renderer@0.8.22...@ali/lowcode-react-simulator-renderer@0.8.23) (2020-05-19) diff --git a/packages/react-simulator-renderer/package.json b/packages/react-simulator-renderer/package.json index 647bea06b..4ed5bce0d 100644 --- a/packages/react-simulator-renderer/package.json +++ b/packages/react-simulator-renderer/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@ali/lowcode-react-simulator-renderer", - "version": "0.8.23", + "version": "0.8.24", "description": "react simulator renderer for alibaba lowcode designer", "main": "lib/index.js", "module": "es/index.js", @@ -13,7 +13,7 @@ "test:snapshot": "ava --update-snapshots" }, "dependencies": { - "@ali/lowcode-designer": "^0.9.17", + "@ali/lowcode-designer": "^0.9.18", "@ali/lowcode-react-renderer": "^0.8.0", "@ali/lowcode-types": "^0.8.5", "@ali/lowcode-utils": "^0.8.6", From 700e5b06dd9d7f461a85d9ceaa419f7f76485b0c Mon Sep 17 00:00:00 2001 From: "wuyue.xht" <wuyue.xht@alibaba-inc.com> Date: Tue, 26 May 2020 23:07:34 +0800 Subject: [PATCH 21/70] =?UTF-8?q?feat:=20ve=E4=BA=8B=E4=BB=B6=E5=9F=8B?= =?UTF-8?q?=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/designer/src/document/history.ts | 12 +++++++++++- packages/editor-core/src/hotkey.ts | 13 +++++++++++++ packages/editor-preset-vision/src/bus.ts | 18 ++++++++++++++++-- packages/editor-preset-vision/src/panes.ts | 2 ++ 4 files changed, 42 insertions(+), 3 deletions(-) diff --git a/packages/designer/src/document/history.ts b/packages/designer/src/document/history.ts index 8a37f1032..44c9010c6 100644 --- a/packages/designer/src/document/history.ts +++ b/packages/designer/src/document/history.ts @@ -1,5 +1,5 @@ import { EventEmitter } from 'events'; -import { autorun, Reaction, untracked } from '@ali/lowcode-editor-core'; +import { autorun, Reaction, untracked, globalContext, Editor } from '@ali/lowcode-editor-core'; import { NodeSchema } from '@ali/lowcode-types'; // TODO: cache to localStorage @@ -114,6 +114,11 @@ export class History { } const cursor = this.session.cursor - 1; this.go(cursor); + const editor = globalContext.get(Editor); + if (!editor) { + return; + } + editor.emit('history.back', cursor); } forward() { @@ -122,6 +127,11 @@ export class History { } const cursor = this.session.cursor + 1; this.go(cursor); + const editor = globalContext.get(Editor); + if (!editor) { + return; + } + editor.emit('history.forward', cursor); } savePoint() { diff --git a/packages/editor-core/src/hotkey.ts b/packages/editor-core/src/hotkey.ts index 293d5179c..5bb6707a9 100644 --- a/packages/editor-core/src/hotkey.ts +++ b/packages/editor-core/src/hotkey.ts @@ -1,3 +1,6 @@ +import { globalContext } from './di'; +import { Editor } from './editor'; + interface KeyMap { [key: number]: string; } @@ -329,6 +332,16 @@ function fireCallback(callback: HotkeyCallback, e: KeyboardEvent, combo?: string e.preventDefault(); e.stopPropagation(); } + const editor = globalContext.get(Editor); + if (!editor) { + return; + } + editor.emit('hotkey.callback.call', { + callback, + e, + combo, + sequence, + }); } export class Hotkey { diff --git a/packages/editor-preset-vision/src/bus.ts b/packages/editor-preset-vision/src/bus.ts index c8554d99f..dd6b8386a 100644 --- a/packages/editor-preset-vision/src/bus.ts +++ b/packages/editor-preset-vision/src/bus.ts @@ -1,5 +1,6 @@ import logger from '@ali/vu-logger'; import { EventEmitter } from 'events'; +import { editor } from './editor'; /** * Bus class as an EventEmitter @@ -19,7 +20,6 @@ export class Bus { // alias to unsub off(event: string, func: (...args: any[]) => any) { this.unsub(event, func); - } // alias to pub @@ -62,4 +62,18 @@ export class Bus { } } -export default new Bus(); +const bus = new Bus(); + +editor.on('hotkey.callback.call', (data) => { + bus.emit('ve.hotkey.callback.call', data); +}); + +editor.on('history.back', (data) => { + bus.emit('ve.history.back', data); +}); + +editor.on('history.forward', (data) => { + bus.emit('ve.history.forward', data); +}); + +export default bus; diff --git a/packages/editor-preset-vision/src/panes.ts b/packages/editor-preset-vision/src/panes.ts index 77c5947c6..75e4ec38d 100644 --- a/packages/editor-preset-vision/src/panes.ts +++ b/packages/editor-preset-vision/src/panes.ts @@ -2,6 +2,7 @@ import { skeleton, editor } from './editor'; import { ReactElement } from 'react'; import { IWidgetBaseConfig, Skeleton } from '@ali/lowcode-editor-skeleton'; import { uniqueId } from '@ali/lowcode-utils'; +import bus from './bus'; export interface IContentItemConfig { title: string; @@ -175,6 +176,7 @@ const dockPane = Object.assign(skeleton.leftArea, { console.warn(`Could not find pane with name ${name}`); } pane?.active(); + bus.emit('ve.dock_pane.active_doc', pane); }, /** From 46784089638433b9bee69c30e8611ef87aba7a9c Mon Sep 17 00:00:00 2001 From: "shuaige.zsg" <shuaige.zsg@alibaba-inc.com> Date: Wed, 27 May 2020 15:29:12 +0800 Subject: [PATCH 22/70] feat: add URL link for setter titles --- .../editor-core/src/widgets/title/index.tsx | 19 +++++++++++++++++-- .../src/components/field/fields.tsx | 13 +++++++++++-- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/packages/editor-core/src/widgets/title/index.tsx b/packages/editor-core/src/widgets/title/index.tsx index 76e341c80..1006935ed 100644 --- a/packages/editor-core/src/widgets/title/index.tsx +++ b/packages/editor-core/src/widgets/title/index.tsx @@ -7,8 +7,23 @@ import { Tip } from '../tip'; import './title.less'; export class Title extends Component<{ title: TitleContent; className?: string; onClick?: () => void }> { + constructor(props: any) { + super(props); + this.handleClick = this.handleClick.bind(this); + } + handleClick(e: React.MouseEvent) { + const { title, onClick } = this.props as any; + const url = title && (title.docUrl || title.url); + if (url) { + window.open(url); + // 防止触发行操作(如折叠面板) + e.stopPropagation(); + } + // TODO: 操作交互冲突,目前 mixedSetter 仅有 2 个 setter 注册时用到了 onClick + onClick && onClick(e); + } render() { - let { title, className, onClick } = this.props; + let { title, className } = this.props; if (title == null) { return null; } @@ -40,7 +55,7 @@ export class Title extends Component<{ title: TitleContent; className?: string; 'has-tip': !!tip, 'only-icon': !title.label })} - onClick={onClick} + onClick={this.handleClick} > {icon ? <b className="lc-title-icon">{icon}</b> : null} {title.label ? intl(title.label) : null} diff --git a/packages/editor-skeleton/src/components/field/fields.tsx b/packages/editor-skeleton/src/components/field/fields.tsx index 51b7a2232..dcd1c78bb 100644 --- a/packages/editor-skeleton/src/components/field/fields.tsx +++ b/packages/editor-skeleton/src/components/field/fields.tsx @@ -28,6 +28,11 @@ export class Field extends Component<FieldProps> { display: this.props.defaultDisplay || 'inline', }; + constructor(props: any) { + super(props); + this.handleClear = this.handleClear.bind(this); + } + private toggleExpand = () => { const { onExpandChange } = this.props; const collapsed = !this.state.collapsed; @@ -68,6 +73,10 @@ export class Field extends Component<FieldProps> { }); this.dispose = () => observer.disconnect(); } + private handleClear(e: React.MouseEvent) { + e.stopPropagation(); + this.props.onClear && this.props.onClear(); + } componentDidMount() { const { defaultDisplay } = this.props; if (!defaultDisplay || defaultDisplay === 'inline') { @@ -118,7 +127,7 @@ export class Field extends Component<FieldProps> { > <div className="lc-field-head" onClick={isAccordion ? this.toggleExpand : undefined}> <div className="lc-field-title"> - {createValueState(valueState, onClear)} + {createValueState(valueState, this.handleClear)} <Title title={title || ''} /> <InlineTip position="top">{tipContent}</InlineTip> </div> @@ -143,7 +152,7 @@ export class Field extends Component<FieldProps> { * * TODO: turn number to enum */ -function createValueState(valueState?: number, onClear?: () => void) { +function createValueState(valueState?: number, onClear?: (e: React.MouseEvent) => void) { let tip: any = null; let className = 'lc-valuestate'; let icon: any = null; From 6dd1063148fa5dfdadd29006368060574abf8c56 Mon Sep 17 00:00:00 2001 From: "mario.gk" <mario.gk@alibaba-inc.com> Date: Thu, 28 May 2020 12:36:02 +0800 Subject: [PATCH 23/70] support lowcode component --- .../designer/src/builtin-simulator/host.ts | 6 ++- .../src/builtin-simulator/renderer.ts | 2 + packages/designer/src/designer/designer.ts | 17 +++++--- packages/designer/src/simulator.ts | 6 ++- .../src/bundle/upgrade-metadata.ts | 9 ++++- .../react-simulator-renderer/src/renderer.ts | 39 +++++++++++++++++-- packages/types/src/metadata.ts | 3 +- 7 files changed, 68 insertions(+), 14 deletions(-) diff --git a/packages/designer/src/builtin-simulator/host.ts b/packages/designer/src/builtin-simulator/host.ts index e216a16e2..cf0394314 100644 --- a/packages/designer/src/builtin-simulator/host.ts +++ b/packages/designer/src/builtin-simulator/host.ts @@ -22,7 +22,7 @@ import { CanvasPoint, } from '../designer'; import { parseMetadata } from './utils/parse-metadata'; -import { ComponentMetadata } from '@ali/lowcode-types'; +import { ComponentMetadata, ComponentSchema } from '@ali/lowcode-types'; import { BuiltinSimulatorRenderer } from './renderer'; import clipboard from '../designer/clipboard'; import { LiveEditing } from './live-editing/live-editing'; @@ -440,6 +440,10 @@ export class BuiltinSimulatorHost implements ISimulatorHost<BuiltinSimulatorProp return this.renderer?.getComponent(componentName) || null; } + createComponent(schema: ComponentSchema): Component | null { + return this.renderer?.createComponent(schema) || null; + } + @obx.val private instancesMap = new Map<string, ComponentInstance[]>(); setInstance(id: string, instances: ComponentInstance[] | null) { if (instances == null) { diff --git a/packages/designer/src/builtin-simulator/renderer.ts b/packages/designer/src/builtin-simulator/renderer.ts index 13db7bcd4..3994d67c4 100644 --- a/packages/designer/src/builtin-simulator/renderer.ts +++ b/packages/designer/src/builtin-simulator/renderer.ts @@ -1,7 +1,9 @@ import { ComponentInstance, NodeInstance, Component } from '../simulator'; +import { ComponentSchema } from '@ali/lowcode-types'; export interface BuiltinSimulatorRenderer { readonly isSimulatorRenderer: true; + createComponent(schema: ComponentSchema): Component | null; getComponent(componentName: string): Component; getComponentInstances(id: string): ComponentInstance[] | null; getClosestNodeInstance(from: ComponentInstance, nodeId?: string): NodeInstance<ComponentInstance> | null; diff --git a/packages/designer/src/designer/designer.ts b/packages/designer/src/designer/designer.ts index 066e2a481..4bb1a0d9f 100644 --- a/packages/designer/src/designer/designer.ts +++ b/packages/designer/src/designer/designer.ts @@ -228,7 +228,7 @@ export class Designer { touchOffsetObserver() { this.clearOobxList(true); - this.oobxList.forEach(item => item.compute()); + this.oobxList.forEach((item) => item.compute()); } createSettingEntry(editor: IEditor, nodes: Node[]) { @@ -392,11 +392,16 @@ export class Designer { @computed get componentsMap(): { [key: string]: NpmInfo | Component } { const maps: any = {}; this._componentMetasMap.forEach((config, key) => { - const view = config.getMetadata().experimental?.view; - if (view) { - maps[key] = view; - } else if (config.npm) { - maps[key] = config.npm; + const metaData = config.getMetadata(); + if (metaData.devMode === 'lowcode') { + maps[key] = this.currentDocument?.simulator?.createComponent(metaData.schema); + } else { + const view = metaData.experimental?.view; + if (view) { + maps[key] = view; + } else if (config.npm) { + maps[key] = config.npm; + } } }); return maps; diff --git a/packages/designer/src/simulator.ts b/packages/designer/src/simulator.ts index 0979ce40e..f051bc1f8 100644 --- a/packages/designer/src/simulator.ts +++ b/packages/designer/src/simulator.ts @@ -1,5 +1,5 @@ import { Component as ReactComponent, ComponentType } from 'react'; -import { ComponentMetadata } from '@ali/lowcode-types'; +import { ComponentMetadata, ComponentSchema } from '@ali/lowcode-types'; import { ISensor, Point, ScrollTarget, IScrollable } from './designer'; import { Node } from './document'; @@ -126,6 +126,10 @@ export interface ISimulatorHost<P = object> extends ISensor { * 根据节点获取节点的组件实例 */ getComponentInstances(node: Node): ComponentInstance[] | null; + /** + * 根据低代码组件 schema 创建组件类 + */ + createComponent(schema: ComponentSchema): Component | null; /** * 根据节点获取节点的组件运行上下文 */ diff --git a/packages/editor-preset-vision/src/bundle/upgrade-metadata.ts b/packages/editor-preset-vision/src/bundle/upgrade-metadata.ts index 79adb6db3..a718776d8 100644 --- a/packages/editor-preset-vision/src/bundle/upgrade-metadata.ts +++ b/packages/editor-preset-vision/src/bundle/upgrade-metadata.ts @@ -1,6 +1,6 @@ import { ComponentType, ReactElement, isValidElement, ComponentClass } from 'react'; import { isPlainObject } from '@ali/lowcode-utils'; -import { isI18nData, SettingTarget, InitialItem, FilterItem, isJSSlot, isJSExpression } from '@ali/lowcode-types'; +import { isI18nData, SettingTarget, InitialItem, FilterItem, isJSSlot, ProjectSchema } from '@ali/lowcode-types'; type Field = SettingTarget; @@ -166,6 +166,8 @@ export interface OldPrototypeConfig { onResizeStart?: (e: MouseEvent, triggerDirection: string, dragment: Node) => void; onResize?: (e: MouseEvent, triggerDirection: string, dragment: Node, moveX: number, moveY: number) => void; onResizeEnd?: (e: MouseEvent, triggerDirection: string, dragment: Node) => void; + devMode?: string; + schema?: ProjectSchema; } export interface ISetterConfig { @@ -585,6 +587,8 @@ export function upgradeMetadata(oldConfig: OldPrototypeConfig) { onResizeStart, // onResizeStart onResize, // onResize onResizeEnd, // onResizeEnd + devMode, + schema, } = oldConfig; const meta: any = { @@ -592,7 +596,8 @@ export function upgradeMetadata(oldConfig: OldPrototypeConfig) { title, icon, docUrl, - devMode: 'procode', + devMode: devMode || 'procode', + schema: schema?.componentsTree[0], }; if (category) { diff --git a/packages/react-simulator-renderer/src/renderer.ts b/packages/react-simulator-renderer/src/renderer.ts index a5bee9da7..29c07b69a 100644 --- a/packages/react-simulator-renderer/src/renderer.ts +++ b/packages/react-simulator-renderer/src/renderer.ts @@ -1,4 +1,4 @@ -import { createElement, ReactInstance, ComponentType } from 'react'; +import React, { createElement, ReactInstance, ComponentType, ReactElement } from 'react'; import { render as reactRender } from 'react-dom'; import { host } from './host'; import SimulatorRendererView from './renderer-view'; @@ -8,9 +8,9 @@ import { getClientRects } from './utils/get-client-rects'; import loader from './utils/loader'; import { reactFindDOMNodes, FIBER_KEY } from './utils/react-find-dom-nodes'; import { isESModule, isElement, cursor, setNativeSelection } from '@ali/lowcode-utils'; -import { RootSchema, NpmInfo } from '@ali/lowcode-types'; +import { RootSchema, NpmInfo, ComponentSchema } from '@ali/lowcode-types'; // just use types -import { BuiltinSimulatorRenderer, NodeInstance } from '@ali/lowcode-designer'; +import { BuiltinSimulatorRenderer, NodeInstance, Component, TransformStage } from '@ali/lowcode-designer'; import Slot from './builtin-components/slot'; import Leaf from './builtin-components/leaf'; @@ -210,6 +210,39 @@ export class SimulatorRenderer implements BuiltinSimulatorRenderer { return this.instancesMap.get(id) || null; } + createComponent(schema: ComponentSchema): Component | null { + const _schema = { + ...schema, + }; + _schema.methods = {}; + _schema.lifeCycles = {}; + + const getElement = (componentsMap: any, schema: any): ReactElement => { + const Com = componentsMap[schema.componentName]; + let children = null; + if (schema.children && schema.children.length > 0) { + children = schema.children.map((item: any) => getElement(componentsMap, item)); + } + const _leaf = host.document.designer.currentDocument?.createNode(schema); + const props = host.document.designer.transformProps(schema.props || {}, host.document.createNode(schema), TransformStage.Render); + return createElement(Com, {...props, _leaf}, children); + } + + const renderer = this; + class Com extends React.Component { + render() { + const componentsMap = renderer.componentsMap; + let children = null; + if (_schema.children && Array.isArray(_schema.children)) { + children = _schema.children?.map((item:any) => getElement(componentsMap, item)); + } + return createElement(React.Fragment, {}, children); + } + } + + return Com; + } + getClosestNodeInstance(from: ReactInstance, nodeId?: string): NodeInstance<ReactInstance> | null { return getClosestNodeInstance(from, nodeId); } diff --git a/packages/types/src/metadata.ts b/packages/types/src/metadata.ts index ac3bee227..95323fa04 100644 --- a/packages/types/src/metadata.ts +++ b/packages/types/src/metadata.ts @@ -5,7 +5,7 @@ import { TitleContent } from './title'; import { PropConfig } from './prop-config'; import { NpmInfo } from './npm'; import { FieldConfig } from './field-config'; -import { NodeSchema, NodeData } from './schema'; +import { NodeSchema, NodeData, ComponentSchema } from './schema'; import { SettingTarget } from './setting-target'; export type NestingFilter = (testNode: any, currentNode: any) => boolean; @@ -158,6 +158,7 @@ export interface ComponentMetadata { props?: PropConfig[]; configure?: FieldConfig[] | Configure; experimental?: Experimental; + schema?: ComponentSchema; } export interface TransformedComponentMetadata extends ComponentMetadata { From 8f1a9de33b0465405c1c245c4ae42553d97fb2fc Mon Sep 17 00:00:00 2001 From: kangwei <bingbing.yb@alibaba-inc.com> Date: Thu, 28 May 2020 17:34:01 +0800 Subject: [PATCH 24/70] propagation frame event out --- packages/designer/src/builtin-simulator/host.ts | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/designer/src/builtin-simulator/host.ts b/packages/designer/src/builtin-simulator/host.ts index e216a16e2..65bbb0f45 100644 --- a/packages/designer/src/builtin-simulator/host.ts +++ b/packages/designer/src/builtin-simulator/host.ts @@ -4,7 +4,7 @@ import Viewport from './viewport'; import { createSimulator } from './create-simulator'; import { Node, ParentalNode, DocumentModel, isNode, contains, isRootNode } from '../document'; import ResourceConsumer from './resource-consumer'; -import { AssetLevel, Asset, AssetList, assetBundle, assetItem, AssetType, isElement } from '@ali/lowcode-utils'; +import { AssetLevel, Asset, AssetList, assetBundle, assetItem, AssetType, isElement, isFormEvent } from '@ali/lowcode-utils'; import { DragObjectType, isShaken, @@ -240,6 +240,8 @@ export class BuiltinSimulatorHost implements ISimulatorHost<BuiltinSimulatorProp doc.addEventListener( 'mousedown', (downEvent: MouseEvent) => { + // fix for popups close logic + document.dispatchEvent(new Event('mousedown')); if (this.liveEditing.editing) { return; } @@ -306,9 +308,14 @@ export class BuiltinSimulatorHost implements ISimulatorHost<BuiltinSimulatorProp doc.addEventListener( 'click', (e) => { + // fix for popups close logic + document.dispatchEvent(new Event('click')); + 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')) { + e.preventDefault(); + e.stopPropagation(); + } // stop response document click event - // e.preventDefault(); - // e.stopPropagation(); // todo: catch link redirect }, true, From c0a523584ec26c2aedc8b24f2d1cf78a185eb56b Mon Sep 17 00:00:00 2001 From: kangwei <bingbing.yb@alibaba-inc.com> Date: Thu, 28 May 2020 17:35:17 +0800 Subject: [PATCH 25/70] feat: support prop.autorun --- packages/designer/src/document/node/node.ts | 33 ++++++-- .../src/document/node/props/prop-stash.ts | 3 + .../designer/src/document/node/props/prop.ts | 9 ++- .../src/bundle/upgrade-metadata.ts | 81 ++++++++++++------- packages/types/src/metadata.ts | 9 ++- 5 files changed, 100 insertions(+), 35 deletions(-) diff --git a/packages/designer/src/document/node/node.ts b/packages/designer/src/document/node/node.ts index eeded1e39..1e4740b80 100644 --- a/packages/designer/src/document/node/node.ts +++ b/packages/designer/src/document/node/node.ts @@ -1,4 +1,4 @@ -import { obx, computed } from '@ali/lowcode-editor-core'; +import { obx, computed, autorun } from '@ali/lowcode-editor-core'; import { isDOMText, isJSExpression, @@ -155,17 +155,29 @@ export class Node<Schema extends NodeSchema = NodeSchema> { this._children = new NodeChildren(this as ParentalNode, this.initialChildren(children)); this._children.interalInitParent(); this.props.import(this.transformProps(props || {}), extras); + this.setupAutoruns(); } } private transformProps(props: any): any { // FIXME! support PropsList - const x = this.document.designer.transformProps(props, this, TransformStage.Init); - - return x; + return this.document.designer.transformProps(props, this, TransformStage.Init); // TODO: run transducers in metadata.experimental } + private autoruns?: Array<() => void>; + private setupAutoruns() { + const autoruns = this.componentMeta.getMetadata().experimental?.autoruns; + if (!autoruns || autoruns.length < 1) { + return; + } + this.autoruns = autoruns.map(item => { + return autorun(() => { + item.autorun(this.props.get(item.name, true) as any) + }, true); + }); + } + private initialChildren(children: any): NodeData[] { // FIXME! this is dirty code if (children == null) { @@ -591,6 +603,7 @@ export class Node<Schema extends NodeSchema = NodeSchema> { if (this.isParental()) { this.children.purge(); } + this.autoruns?.forEach(dispose => dispose()); this.props.purge(); this.document.internalRemoveAndPurgeNode(this); } @@ -608,7 +621,16 @@ export class Node<Schema extends NodeSchema = NodeSchema> { insertBefore(node: Node, ref?: Node) { this.children?.insert(node, ref ? ref.index : null); } - insertAfter(node: Node, ref?: Node) { + insertAfter(node: any, ref?: Node) { + if (!isNode(node)) { + if (node.getComponentName) { + node = this.document.createNode({ + componentName: node.getComponentName(), + }); + } else { + node = this.document.createNode(node); + } + } this.children?.insert(node, ref ? ref.index + 1 : null); } getParent() { @@ -687,6 +709,7 @@ export class Node<Schema extends NodeSchema = NodeSchema> { * @deprecated */ getSuitablePlace(node: Node, ref: any): any { + // TODO: if (this.isRoot()) { return { container: this, ref }; } diff --git a/packages/designer/src/document/node/props/prop-stash.ts b/packages/designer/src/document/node/props/prop-stash.ts index 0cf754f92..1c62617ef 100644 --- a/packages/designer/src/document/node/props/prop-stash.ts +++ b/packages/designer/src/document/node/props/prop-stash.ts @@ -1,6 +1,7 @@ import { obx, autorun, untracked, computed } from '@ali/lowcode-editor-core'; import { Prop, IPropParent, UNSET } from './prop'; import { Props } from './props'; +import { Node } from '../node'; export type PendingItem = Prop[]; export class PropStash implements IPropParent { @@ -15,8 +16,10 @@ export class PropStash implements IPropParent { return maps; } private willPurge: () => void; + readonly owner: Node; constructor(readonly props: Props, write: (item: Prop) => void) { + this.owner = props.owner; this.willPurge = autorun(() => { if (this.space.size < 1) { return; diff --git a/packages/designer/src/document/node/props/prop.ts b/packages/designer/src/document/node/props/prop.ts index a96b45b03..fadbdbf8b 100644 --- a/packages/designer/src/document/node/props/prop.ts +++ b/packages/designer/src/document/node/props/prop.ts @@ -4,7 +4,7 @@ import { uniqueId, isPlainObject, hasOwnProperty } from '@ali/lowcode-utils'; import { PropStash } from './prop-stash'; import { valueToSource } from './value-to-source'; import { Props } from './props'; -import { SlotNode } from '../node'; +import { SlotNode, Node } from '../node'; import { TransformStage } from '../transform-stage'; export const UNSET = Symbol.for('unset'); @@ -13,12 +13,14 @@ export type UNSET = typeof UNSET; export interface IPropParent { delete(prop: Prop): void; readonly props: Props; + readonly owner: Node; } export type ValueTypes = 'unset' | 'literal' | 'map' | 'list' | 'expression' | 'slot'; export class Prop implements IPropParent { readonly isProp = true; + readonly owner: Node; /** * @see SettingTarget @@ -350,6 +352,7 @@ export class Prop implements IPropParent { key?: string | number, spread = false, ) { + this.owner = parent.owner; this.props = parent.props; if (value !== UNSET) { this.setValue(value); @@ -613,6 +616,10 @@ export class Prop implements IPropParent { getProps() { return this.parent; } + + getNode() { + return this.owner; + } } export function isProp(obj: any): obj is Prop { diff --git a/packages/editor-preset-vision/src/bundle/upgrade-metadata.ts b/packages/editor-preset-vision/src/bundle/upgrade-metadata.ts index 79adb6db3..8931b7514 100644 --- a/packages/editor-preset-vision/src/bundle/upgrade-metadata.ts +++ b/packages/editor-preset-vision/src/bundle/upgrade-metadata.ts @@ -1,6 +1,7 @@ import { ComponentType, ReactElement, isValidElement, ComponentClass } from 'react'; import { isPlainObject } from '@ali/lowcode-utils'; -import { isI18nData, SettingTarget, InitialItem, FilterItem, isJSSlot, isJSExpression } from '@ali/lowcode-types'; +import { isI18nData, SettingTarget, InitialItem, FilterItem, isJSSlot, isJSExpression, AutorunItem } from '@ali/lowcode-types'; +import { untracked } from '@ali/lowcode-editor-core'; type Field = SettingTarget; @@ -290,19 +291,44 @@ export function upgradePropConfig(config: OldPropConfig, collector: ConfigCollec }; } - if (accessor && !slotName) { - extraProps.getValue = (field: Field, fieldValue: any) => { - return accessor.call(field, fieldValue); - }; - if (!initialFn) { - initialFn = accessor; + if (!slotName) { + if (accessor) { + extraProps.getValue = (field: Field, fieldValue: any) => { + return accessor.call(field, fieldValue); + }; + } + + if (sync || accessor) { + collector.addAutorun({ + name, + autorun: (field: Field) => { + let fieldValue = untracked(() => field.getValue()); + if (accessor) { + fieldValue = accessor.call(field, fieldValue) + } + if (sync) { + fieldValue = sync.call(field, fieldValue); + if (fieldValue !== undefined) { + field.setValue(fieldValue); + } + } else { + field.setValue(fieldValue); + } + } + }); + } + + if (mutator) { + extraProps.setValue = (field: Field, value: any) => { + mutator.call(field, value, value); + }; } } const setterInitial = getInitialFromSetter(setter); collector.addInitial({ - // FIXME! name should be "xxx.xxx" + // FIXME! name could be "xxx.xxx" name: slotName || name, initial: (field: Field, currentValue: any) => { // FIXME! read from prototype.defaultProps @@ -345,20 +371,6 @@ export function upgradePropConfig(config: OldPropConfig, collector: ConfigCollec }); } - if (sync) { - extraProps.autorun = (field: Field) => { - const value = sync.call(field, field.getValue()); - if (value !== undefined) { - field.setValue(value); - } - }; - } - if (mutator && !slotName) { - extraProps.setValue = (field: Field, value: any) => { - mutator.call(field, value, value); - }; - } - if (slotName) { newConfig.name = slotName; if (!newConfig.title && slotTitle) { @@ -396,7 +408,6 @@ export function upgradePropConfig(config: OldPropConfig, collector: ConfigCollec let primarySetter: any; if (type === 'composite') { const initials: InitialItem[] = []; - const filters: FilterItem[] = []; const objItems = items ? upgradeConfigure(items, { @@ -404,8 +415,17 @@ export function upgradePropConfig(config: OldPropConfig, collector: ConfigCollec initials.push(item); }, addFilter: (item) => { - filters.push(item); - } + collector.addFilter({ + name: `${name}.${item.name}`, + filter: item.filter, + }); + }, + addAutorun: (item) => { + collector.addAutorun({ + name: `${name}.${item.name}`, + autorun: item.autorun, + }); + }, } ) : []; @@ -481,10 +501,12 @@ export function upgradePropConfig(config: OldPropConfig, collector: ConfigCollec type AddInitial = (initialItem: InitialItem) => void; type AddFilter = (filterItem: FilterItem) => void; +type AddAutorun = (autorunItem: AutorunItem) => void; type ConfigCollector = { - addInitial: AddInitial, - addFilter: AddFilter, + addInitial: AddInitial; + addFilter: AddFilter; + addAutorun: AddAutorun; } function getInitialFromSetter(setter: any) { @@ -750,6 +772,7 @@ export function upgradeMetadata(oldConfig: OldPrototypeConfig) { const initials: InitialItem[] = []; const filters: FilterItem[] = []; + const autoruns: AutorunItem[] = []; const props = upgradeConfigure(configure || [], { addInitial: (item) => { @@ -758,10 +781,14 @@ export function upgradeMetadata(oldConfig: OldPrototypeConfig) { addFilter: (item) => { filters.push(item); }, + addAutorun: (item) => { + autoruns.push(item); + } } ); experimental.initials = initials; experimental.filters = filters; + experimental.autoruns = autoruns; const supports: any = {}; if (canUseCondition != null) { diff --git a/packages/types/src/metadata.ts b/packages/types/src/metadata.ts index ac3bee227..6603686b5 100644 --- a/packages/types/src/metadata.ts +++ b/packages/types/src/metadata.ts @@ -49,6 +49,11 @@ export interface FilterItem { name: string; filter: (target: SettingTarget, currentValue: any) => any; } +export interface AutorunItem { + name: string; + autorun: (target: SettingTarget) => any; +} + export interface Experimental { context?: { [contextInfoName: string]: any }; @@ -57,8 +62,8 @@ export interface Experimental { transducers?: any; // ? should support initials?: InitialItem[]; filters?: FilterItem[]; + autoruns?: AutorunItem[]; callbacks?: Callbacks; - // TODO: thinkof function initialChildren?: NodeData[] | ((target: SettingTarget) => NodeData[]); // 样式 及 位置,handle上必须有明确的标识以便事件路由判断,或者主动设置事件独占模式 @@ -85,7 +90,7 @@ export interface Experimental { liveTextEditing?: LiveTextEditingConfig[]; } -// thinkof Array +// thinkof Array export interface LiveTextEditingConfig { propTarget: string; selector?: string; From 45af1c53ded27f6fc5e73966e36c5492b689c832 Mon Sep 17 00:00:00 2001 From: kangwei <bingbing.yb@alibaba-inc.com> Date: Thu, 28 May 2020 17:35:42 +0800 Subject: [PATCH 26/70] fix: compatiable old VE api --- .../src/bundle/prototype.ts | 29 +++++++++--- .../editor-preset-vision/src/bundle/trunk.ts | 4 ++ .../editor-preset-vision/src/drag-engine.ts | 10 +++- packages/editor-preset-vision/src/index.ts | 6 +-- packages/editor-preset-vision/src/pages.ts | 46 +++++++++++++++---- 5 files changed, 75 insertions(+), 20 deletions(-) diff --git a/packages/editor-preset-vision/src/bundle/prototype.ts b/packages/editor-preset-vision/src/bundle/prototype.ts index 815dab4bf..a309c7b16 100644 --- a/packages/editor-preset-vision/src/bundle/prototype.ts +++ b/packages/editor-preset-vision/src/bundle/prototype.ts @@ -1,5 +1,5 @@ import { ComponentType, ReactElement } from 'react'; -import { ComponentMetadata, FieldConfig, InitialItem, FilterItem } from '@ali/lowcode-types'; +import { ComponentMetadata, FieldConfig, InitialItem, FilterItem, AutorunItem } from '@ali/lowcode-types'; import { ComponentMeta, addBuiltinComponentAction, @@ -22,12 +22,14 @@ const GlobalPropsConfigure: Array<{ position: string; initials?: InitialItem[]; filters?: FilterItem[]; + autoruns?: AutorunItem[]; config: FieldConfig }> = []; const Overrides: { [componentName: string]: { initials?: InitialItem[]; filters?: FilterItem[]; + autoruns?: AutorunItem[]; override: any; }; } = {}; @@ -35,10 +37,12 @@ const Overrides: { function addGlobalPropsConfigure(config: OldGlobalPropConfig) { const initials: InitialItem[] = []; const filters: FilterItem[] = []; + const autoruns: AutorunItem[] = []; GlobalPropsConfigure.push({ position: config.position || 'bottom', initials, filters, + autoruns, config: upgradePropConfig(config, { addInitial: (item) => { initials.push(item); @@ -46,6 +50,9 @@ function addGlobalPropsConfigure(config: OldGlobalPropConfig) { addFilter: (item) => { filters.push(item); }, + addAutorun: (item) => { + autoruns.push(item); + }, }) }); } @@ -60,24 +67,29 @@ function removeGlobalPropsConfigure(name: string) { function overridePropsConfigure(componentName: string, config: { [name: string]: OldPropConfig } | OldPropConfig[]) { const initials: InitialItem[] = []; const filters: FilterItem[] = []; + const autoruns: AutorunItem[] = []; const addInitial = (item: InitialItem) => { initials.push(item); }; const addFilter = (item: FilterItem) => { filters.push(item); }; + const addAutorun = (item: AutorunItem) => { + autoruns.push(item); + }; let override: any; if (Array.isArray(config)) { - override = upgradeConfigure(config, { addInitial, addFilter }); + override = upgradeConfigure(config, { addInitial, addFilter, addAutorun }); } else { override = {}; Object.keys(config).forEach(key => { - override[key] = upgradePropConfig(config[key], { addInitial, addFilter }); + override[key] = upgradePropConfig(config[key], { addInitial, addFilter, addAutorun }); }); } Overrides[componentName] = { initials, filters, + autoruns, override, }; } @@ -107,6 +119,7 @@ registerMetadataTransducer( } else if (position === 'bottom') { bottom.push(item.config); } + // TODO: replace autoruns,initials,filters }); const override = Overrides[componentName]?.override; @@ -127,6 +140,7 @@ registerMetadataTransducer( } } } + // TODO: replace autoruns,initials,filters } return metadata; @@ -202,7 +216,7 @@ class Prototype { return new Prototype(config); } - private id: string; + readonly isPrototype = true; private meta: ComponentMeta; readonly options: OldPrototypeConfig | ComponentMetadata; @@ -215,11 +229,10 @@ class Prototype { const metadata = isNewSpec(input) ? input : upgradeMetadata(input); this.meta = designer.createComponentMeta(metadata); } - this.id = uniqueId('prototype'); } getId() { - return this.id; + return this.getComponentName(); } getConfig(configName?: keyof (OldPrototypeConfig | ComponentMetadata)) { @@ -316,4 +329,8 @@ class Prototype { } } +export function isPrototype(obj: any): obj is Prototype { + return obj && obj.isPrototype; +} + export default Prototype; diff --git a/packages/editor-preset-vision/src/bundle/trunk.ts b/packages/editor-preset-vision/src/bundle/trunk.ts index 1f9b568ce..a37f0bc75 100644 --- a/packages/editor-preset-vision/src/bundle/trunk.ts +++ b/packages/editor-preset-vision/src/bundle/trunk.ts @@ -41,6 +41,10 @@ export class Trunk { return this.metaBundle.getFromMeta(name); } + getPrototypeById(id: string) { + return this.getPrototype(id); + } + listByCategory() { const categories: any[] = []; const categoryMap: any = {}; diff --git a/packages/editor-preset-vision/src/drag-engine.ts b/packages/editor-preset-vision/src/drag-engine.ts index a4ecaaa1f..c1844c38a 100644 --- a/packages/editor-preset-vision/src/drag-engine.ts +++ b/packages/editor-preset-vision/src/drag-engine.ts @@ -1,5 +1,6 @@ import { designer } from './editor'; import { DragObjectType, isNode, isDragNodeDataObject } from '@ali/lowcode-designer'; +import { isPrototype } from './bundle/prototype'; const dragon = designer.dragon; const DragEngine = { @@ -9,7 +10,14 @@ const DragEngine = { if (!r) { return null; } - if (isNode(r)) { + if (isPrototype(r)) { + return { + type: DragObjectType.NodeData, + data: { + componentName: r.getComponentName(), + }, + }; + } else if (isNode(r)) { return { type: DragObjectType.Node, nodes: [r], diff --git a/packages/editor-preset-vision/src/index.ts b/packages/editor-preset-vision/src/index.ts index 6ad999d25..42643cb31 100644 --- a/packages/editor-preset-vision/src/index.ts +++ b/packages/editor-preset-vision/src/index.ts @@ -164,7 +164,7 @@ export { const version = '6.0.0(LowcodeEngine 0.9.0-beta)'; console.log( - `%cVisionEngine %cv${version}`, - "color:#000;font-weight:bold;", - "color:green;font-weight:bold;" + `%c VisionEngine %c v${version} `, + "padding: 2px 1px; border-radius: 3px 0 0 3px; color: #fff; background: #606060;font-weight:bold;", + "padding: 2px 1px; border-radius: 0 3px 3px 0; color: #fff; background: #42c02e;font-weight:bold;" ); diff --git a/packages/editor-preset-vision/src/pages.ts b/packages/editor-preset-vision/src/pages.ts index 71b24300f..23ad9fe23 100644 --- a/packages/editor-preset-vision/src/pages.ts +++ b/packages/editor-preset-vision/src/pages.ts @@ -4,34 +4,60 @@ import { DocumentModel } from '@ali/lowcode-designer'; const { project } = designer; -export interface OldPageData { +export interface PageDataV1 { + id: string; + componentsTree: RootSchema[]; + layout: RootSchema; + [dataAddon: string]: any; +} + +export interface PageDataV2 { id: string; componentsTree: RootSchema[]; [dataAddon: string]: any; } +function isPageDataV1(obj: any): obj is PageDataV1 { + return obj && obj.layout; +} +function isPageDataV2(obj: any): obj is PageDataV2 { + return obj && obj.componentsTree && Array.isArray(obj.componentsTree); +} + +type OldPageData = PageDataV1 | PageDataV2; + const pages = Object.assign(project, { setPages(pages: OldPageData[]) { if (!pages || !Array.isArray(pages) || pages.length === 0) { throw new Error('pages schema 不合法'); } - if (pages[0].componentsTree[0]) { - pages[0].componentsTree[0].componentName = 'Page'; - // FIXME - pages[0].componentsTree[0].lifeCycles = {}; - pages[0].componentsTree[0].methods = {}; + let componentsTree: any; + if (isPageDataV1(pages[0])) { + componentsTree = [pages[0].layout]; + } else { + componentsTree = pages[0].componentsTree; + if (componentsTree[0]) { + componentsTree[0].componentName = 'Page'; + // FIXME + componentsTree[0].lifeCycles = {}; + componentsTree[0].methods = {}; + } } project.load({ version: '1.0.0', componentsMap: [], - componentsTree: pages[0].componentsTree, + componentsTree, }, true); }, - // FIXME: - addPage(data: OldPageData) { - return project.open(data.layout); + addPage(data: OldPageData | RootSchema) { + if (isPageDataV1(data)) { + data = data.layout; + } else if (isPageDataV2(data)) { + data = data.componentsTree[0]; + } + return project.open(data); }, getPage(fnOrIndex: ((page: DocumentModel) => boolean) | number) { if (typeof fnOrIndex === 'number') { From 469433181395c27914905bd4c5f190109d9f1035 Mon Sep 17 00:00:00 2001 From: kangwei <bingbing.yb@alibaba-inc.com> Date: Thu, 28 May 2020 17:35:59 +0800 Subject: [PATCH 27/70] fix: style --- packages/demo/build.json | 1 + packages/editor-preset-vision/src/vision.less | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/packages/demo/build.json b/packages/demo/build.json index 83467201a..83cf581dd 100644 --- a/packages/demo/build.json +++ b/packages/demo/build.json @@ -1,5 +1,6 @@ { "entry": { + "index": "src/index", "editor-preset-vision": "../editor-preset-vision/src/index.ts", "react-simulator-renderer": "../react-simulator-renderer/src/index.ts" }, diff --git a/packages/editor-preset-vision/src/vision.less b/packages/editor-preset-vision/src/vision.less index d188878a5..3b1320e57 100644 --- a/packages/editor-preset-vision/src/vision.less +++ b/packages/editor-preset-vision/src/vision.less @@ -98,6 +98,11 @@ html.engine-blur #engine { } } +.vs-icon .vs-icon-del, .vs-icon .vs-icon-entry { + width: 16px!important; + height: 16px!important; +} + .lc-left-float-pane { font-size: 14px; } From 0c73fe40dc364c24a77b08e9f097d46687e2a91b Mon Sep 17 00:00:00 2001 From: "mario.gk" <mario.gk@alibaba-inc.com> Date: Thu, 28 May 2020 18:08:17 +0800 Subject: [PATCH 28/70] =?UTF-8?q?EXTRA=5FKEY=5FPREFIX=20=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=92=8C=E6=94=B6=E6=95=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/designer/src/document/node/node.ts | 4 ++-- .../designer/src/document/node/props/props.ts | 21 +++++++++++++++---- .../src/transducers/addon-combine.ts | 11 +++++----- 3 files changed, 25 insertions(+), 11 deletions(-) diff --git a/packages/designer/src/document/node/node.ts b/packages/designer/src/document/node/node.ts index eeded1e39..ff51d43b1 100644 --- a/packages/designer/src/document/node/node.ts +++ b/packages/designer/src/document/node/node.ts @@ -13,7 +13,7 @@ import { ComponentSchema, NodeStatus, } from '@ali/lowcode-types'; -import { Props, EXTRA_KEY_PREFIX } from './props/props'; +import { Props, getConvertedExtraKey } from './props/props'; import { DocumentModel } from '../document-model'; import { NodeChildren } from './node-children'; import { Prop } from './props/prop'; @@ -378,7 +378,7 @@ export class Node<Schema extends NodeSchema = NodeSchema> { } getExtraProp(key: string, stash = true): Prop | null { - return this.props.get(EXTRA_KEY_PREFIX + key, stash) || null; + return this.props.get(getConvertedExtraKey(key), stash) || null; } /** diff --git a/packages/designer/src/document/node/props/props.ts b/packages/designer/src/document/node/props/props.ts index 98ac7a765..3e7cabbce 100644 --- a/packages/designer/src/document/node/props/props.ts +++ b/packages/designer/src/document/node/props/props.ts @@ -7,6 +7,19 @@ import { Node } from '../node'; import { TransformStage } from '../transform-stage'; export const EXTRA_KEY_PREFIX = '___'; +export function getConvertedExtraKey(key: string): string { + if (!key) { + return ''; + } + let _key = key; + if (key.indexOf('.') > 0) { + _key = key.split('.')[0]; + } + return EXTRA_KEY_PREFIX + _key + EXTRA_KEY_PREFIX + key.substr(_key.length); +} +export function getOriginalExtraKey(key: string): string { + return key.replace(new RegExp(`${EXTRA_KEY_PREFIX}`, 'g'), ''); +} export class Props implements IPropParent { readonly id = uniqueId('props'); @@ -50,7 +63,7 @@ export class Props implements IPropParent { } if (extras) { Object.keys(extras).forEach(key => { - this.items.push(new Prop(this, (extras as any)[key], EXTRA_KEY_PREFIX + key)); + this.items.push(new Prop(this, (extras as any)[key], getConvertedExtraKey(key))); }); } } @@ -70,7 +83,7 @@ export class Props implements IPropParent { } if (extras) { Object.keys(extras).forEach(key => { - this.items.push(new Prop(this, (extras as any)[key], EXTRA_KEY_PREFIX + key)); + this.items.push(new Prop(this, (extras as any)[key], getConvertedExtraKey(key))); }); } originItems.forEach(item => item.purge()); @@ -97,7 +110,7 @@ export class Props implements IPropParent { } let name = item.key as string; if (name && typeof name === 'string' && name.startsWith(EXTRA_KEY_PREFIX)) { - name = name.substr(EXTRA_KEY_PREFIX.length); + name = getOriginalExtraKey(name); extras[name] = value; } else { props.push({ @@ -119,7 +132,7 @@ export class Props implements IPropParent { value = null; } if (typeof name === 'string' && name.startsWith(EXTRA_KEY_PREFIX)) { - name = name.substr(EXTRA_KEY_PREFIX.length); + name = getOriginalExtraKey(name); extras[name] = value; } else { props[name] = value; diff --git a/packages/editor-skeleton/src/transducers/addon-combine.ts b/packages/editor-skeleton/src/transducers/addon-combine.ts index 8c2f55639..35844ab29 100644 --- a/packages/editor-skeleton/src/transducers/addon-combine.ts +++ b/packages/editor-skeleton/src/transducers/addon-combine.ts @@ -1,5 +1,6 @@ import { TransformedComponentMetadata, FieldConfig, SettingTarget } from '@ali/lowcode-types'; import { IconSlot } from '../icons/slot'; +import { getConvertedExtraKey } from '@ali/lowcode-designer'; export default function(metadata: TransformedComponentMetadata): TransformedComponentMetadata { const { componentName, configure = {} } = metadata; @@ -86,7 +87,7 @@ export default function(metadata: TransformedComponentMetadata): TransformedComp if (componentName === 'Slot') { basicInfo.icon = IconSlot; propsGroup = [{ - name: '___title', + name: getConvertedExtraKey('title'), title: { type: 'i18n', 'en-US': 'Slot Title', @@ -203,7 +204,7 @@ export default function(metadata: TransformedComponentMetadata): TransformedComp if (!isRoot) { if (supports.condition !== false) { advanceGroup.push({ - name: '___condition', + name: getConvertedExtraKey('condition'), title: { type: 'i18n', 'zh-CN': '是否渲染', 'en-US': 'Condition' }, defaultValue: true, setter: [{ @@ -219,7 +220,7 @@ export default function(metadata: TransformedComponentMetadata): TransformedComp title: { type: 'i18n', 'zh-CN': '循环', 'en-US': 'Loop' }, items: [ { - name: '___loop', + name: getConvertedExtraKey('loop'), title: { type: 'i18n', 'zh-CN': '循环数据', 'en-US': 'Loop Data' }, defaultValue: [], setter: [{ @@ -232,7 +233,7 @@ export default function(metadata: TransformedComponentMetadata): TransformedComp }], }, { - name: '___loopArgs.0', + name: getConvertedExtraKey('loopArgs.0'), title: { type: 'i18n', 'zh-CN': '迭代变量名', 'en-US': 'Loop Item' }, setter: { componentName: 'StringSetter', @@ -242,7 +243,7 @@ export default function(metadata: TransformedComponentMetadata): TransformedComp }, }, { - name: '___loopArgs.1', + name: getConvertedExtraKey('loopArgs.1'), title: { type: 'i18n', 'zh-CN': '索引变量名', 'en-US': 'Loop Index' }, setter: { componentName: 'StringSetter', From 3ac08ba779c957ea67b8ba323b70925f22442767 Mon Sep 17 00:00:00 2001 From: kangwei <bingbing.yb@alibaba-inc.com> Date: Fri, 29 May 2020 01:56:14 +0800 Subject: [PATCH 29/70] feat: complete live-editing expr & i18n --- .../live-editing/live-editing.ts | 4 +- packages/editor-preset-vision/src/editor.ts | 45 ++------------ .../src/vc-live-editing.ts | 59 +++++++++++++++---- 3 files changed, 55 insertions(+), 53 deletions(-) diff --git a/packages/designer/src/builtin-simulator/live-editing/live-editing.ts b/packages/designer/src/builtin-simulator/live-editing/live-editing.ts index cb57be60d..7c2df687e 100644 --- a/packages/designer/src/builtin-simulator/live-editing/live-editing.ts +++ b/packages/designer/src/builtin-simulator/live-editing/live-editing.ts @@ -140,9 +140,7 @@ export class LiveEditing { // TODO: upward testing for b/i/a html elements - // 非文本编辑 - // 国际化数据,改变当前 - // JSExpression, 改变 mock 或 弹出绑定变量 + } get editing() { diff --git a/packages/editor-preset-vision/src/editor.ts b/packages/editor-preset-vision/src/editor.ts index e9b6f3d1e..fa475d292 100644 --- a/packages/editor-preset-vision/src/editor.ts +++ b/packages/editor-preset-vision/src/editor.ts @@ -1,7 +1,7 @@ import { isJSBlock, isJSExpression, isJSSlot, isI18nData } from '@ali/lowcode-types'; import { isPlainObject, hasOwnProperty } from '@ali/lowcode-utils'; import { globalContext, Editor } from '@ali/lowcode-editor-core'; -import { Designer, LiveEditing, TransformStage, addBuiltinComponentAction, Node } from '@ali/lowcode-designer'; +import { Designer, LiveEditing, TransformStage, Node } from '@ali/lowcode-designer'; import Outline, { OutlineBackupPane, getTreeMaster } from '@ali/lowcode-plugin-outline-pane'; import { toCss } from '@ali/vu-css-style'; import logger from '@ali/vu-logger'; @@ -9,9 +9,8 @@ import logger from '@ali/vu-logger'; import DesignerPlugin from '@ali/lowcode-plugin-designer'; import { Skeleton, SettingsPrimaryPane } from '@ali/lowcode-editor-skeleton'; -import { i18nReducer } from './i18n-reducer'; -import { InstanceNodeSelector } from './components'; -import { liveEditingRule } from './vc-live-editing'; +import { deepValueParser } from './deep-value-parser'; +import { liveEditingRule, liveEditingSaveHander } from './vc-live-editing'; export const editor = new Editor(); globalContext.register(editor, Editor); @@ -49,8 +48,6 @@ designer.addPropsReducer((props, node) => { return props; }, TransformStage.Init); -// 国际化渲染时处理 -designer.addPropsReducer(i18nReducer, TransformStage.Render); function filterReducer(props: any, node: Node): any { const filters = node.componentMeta.getMetadata().experimental?.filters; @@ -152,31 +149,8 @@ function appendStyleNode(props: any, styleProp: any, cssClass: string, cssId: st } designer.addPropsReducer(stylePropsReducer, TransformStage.Render); -// FIXME: 表达式使用 mock 值,未来live 模式直接使用原始值 -function expressionReducer(obj?: any): any { - // TODO: merge with i18nReducer for optimize - if (!obj) { - return obj; - } - if (Array.isArray(obj)) { - return obj.map((item) => expressionReducer(item)); - } - if (isPlainObject(obj)) { - if (isJSExpression(obj)) { - return obj.mock; - } - if (isJSSlot(obj) || isI18nData(obj)) { - return obj; - } - const out: any = {}; - Object.keys(obj).forEach((key) => { - out[key] = expressionReducer(obj[key]); - }); - return out; - } - return obj; -} -designer.addPropsReducer(expressionReducer, TransformStage.Render); +// 国际化 & Expression 渲染时处理 +designer.addPropsReducer(deepValueParser, TransformStage.Render); skeleton.add({ area: 'mainArea', @@ -212,11 +186,4 @@ skeleton.add({ }); LiveEditing.addLiveEditingSpecificRule(liveEditingRule); - -// 实例节点选择器,线框高亮 -// addBuiltinComponentAction({ -// name: 'instance-node-selector', -// content: InstanceNodeSelector, -// important: true, -// condition: 'always' -// }); +LiveEditing.addLiveEditingSaveHandler(liveEditingSaveHander); diff --git a/packages/editor-preset-vision/src/vc-live-editing.ts b/packages/editor-preset-vision/src/vc-live-editing.ts index 810069a1e..3a03161a6 100644 --- a/packages/editor-preset-vision/src/vc-live-editing.ts +++ b/packages/editor-preset-vision/src/vc-live-editing.ts @@ -1,7 +1,7 @@ -import { EditingTarget, Node as DocNode } from '@ali/lowcode-designer'; +import { EditingTarget, Node as DocNode, SaveHandler } from '@ali/lowcode-designer'; import Env from './env'; -import { isJSExpression } from '@ali/lowcode-types'; -const I18nUtil = require('@ali/ve-i18n-util'); +import { isJSExpression, isI18nData } from '@ali/lowcode-types'; +import i18nUtil from './i18n-util'; interface I18nObject { type?: string; @@ -13,7 +13,7 @@ interface I18nObject { function getI18nText(obj: I18nObject) { let locale = Env.getLocale(); if (obj.key) { - return I18nUtil.get(obj.key, locale); + return i18nUtil.get(obj.key, locale); } if (locale !== 'zh_CN' && locale !== 'zh_TW' && !obj[locale]) { locale = 'en_US'; @@ -26,7 +26,10 @@ function getText(node: DocNode, prop: string) { if (!p || p.isUnset()) { return null; } - const v = p.getValue(); + let v = p.getValue(); + if (isJSExpression(v)) { + v = v.mock; + } if (v == null) { return null; } @@ -36,9 +39,7 @@ function getText(node: DocNode, prop: string) { if ((v as any).type === 'i18n') { return getI18nText(v as any); } - if (isJSExpression(v)) { - return v.mock; - } + return Symbol.for('not-literal'); } export function liveEditingRule(target: EditingTarget) { @@ -73,7 +74,43 @@ function equalText(v: any, innerText: string) { return v.trim() === innerText } -// TODO: -export function liveEditingSaveHander() { - +export const liveEditingSaveHander: SaveHandler = { + condition: (prop) => { + const v = prop.getValue(); + return prop.type === 'expression' || isI18nData(v); + }, + onSaveContent: (content, prop) => { + const v = prop.getValue(); + const locale = Env.getLocale(); + let data = v; + if (isJSExpression(v)) { + data = v.mock; + } + if (isI18nData(data)) { + const i18n = data.key ? i18nUtil.getItem(data.key) : null; + if (i18n) { + i18n.setDoc(content, locale); + return; + } + data = { + ...(data as any), + [locale]: content, + }; + } else { + data = content; + } + if (isJSExpression(v)) { + prop.setValue({ + type: 'JSExpression', + value: v.value, + mock: data, + }); + } else { + prop.setValue(data); + } + } } +// TODO: +// 非文本编辑 +// 国际化数据,改变当前 +// JSExpression, 改变 mock 或 弹出绑定变量 From 6d0a8ffde629e1efed5faa3317f5170f314e16bc Mon Sep 17 00:00:00 2001 From: kangwei <bingbing.yb@alibaba-inc.com> Date: Fri, 29 May 2020 01:56:44 +0800 Subject: [PATCH 30/70] fix: force schema --- packages/designer/src/designer/designer.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/designer/src/designer/designer.ts b/packages/designer/src/designer/designer.ts index 4bb1a0d9f..664baa0d6 100644 --- a/packages/designer/src/designer/designer.ts +++ b/packages/designer/src/designer/designer.ts @@ -394,7 +394,7 @@ export class Designer { this._componentMetasMap.forEach((config, key) => { const metaData = config.getMetadata(); if (metaData.devMode === 'lowcode') { - maps[key] = this.currentDocument?.simulator?.createComponent(metaData.schema); + maps[key] = this.currentDocument?.simulator?.createComponent(metaData.schema!); } else { const view = metaData.experimental?.view; if (view) { From f20bfaa884bc7c4a8c7ddb614e9c974ea292328d Mon Sep 17 00:00:00 2001 From: kangwei <bingbing.yb@alibaba-inc.com> Date: Fri, 29 May 2020 01:57:09 +0800 Subject: [PATCH 31/70] fix: patch prototype --- packages/designer/src/component-meta.ts | 3 +++ packages/designer/src/document/node/node.ts | 2 +- packages/editor-preset-vision/src/bundle/prototype.ts | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/designer/src/component-meta.ts b/packages/designer/src/component-meta.ts index 71c418c9c..b7aab79e2 100644 --- a/packages/designer/src/component-meta.ts +++ b/packages/designer/src/component-meta.ts @@ -249,6 +249,9 @@ export class ComponentMeta { } return true; } + + // compatiable vision + prototype?: any; } export function isComponentMeta(obj: any): obj is ComponentMeta { diff --git a/packages/designer/src/document/node/node.ts b/packages/designer/src/document/node/node.ts index 1e4740b80..42f610416 100644 --- a/packages/designer/src/document/node/node.ts +++ b/packages/designer/src/document/node/node.ts @@ -744,7 +744,7 @@ export class Node<Schema extends NodeSchema = NodeSchema> { } getPrototype() { - return this; + return this.componentMeta.prototype; } getIcon() { diff --git a/packages/editor-preset-vision/src/bundle/prototype.ts b/packages/editor-preset-vision/src/bundle/prototype.ts index a309c7b16..fa715382e 100644 --- a/packages/editor-preset-vision/src/bundle/prototype.ts +++ b/packages/editor-preset-vision/src/bundle/prototype.ts @@ -229,6 +229,7 @@ class Prototype { const metadata = isNewSpec(input) ? input : upgradeMetadata(input); this.meta = designer.createComponentMeta(metadata); } + (this.meta as any).prototype = this; } getId() { From dbdd9e485a1d0e62ea6504d769f293875eadec6a Mon Sep 17 00:00:00 2001 From: kangwei <bingbing.yb@alibaba-inc.com> Date: Fri, 29 May 2020 01:57:51 +0800 Subject: [PATCH 32/70] fix: i18n parser & setting --- .../{i18n-reducer.ts => deep-value-parser.ts} | 26 +- .../src/i18n-util/index.d.ts | 79 +++++ .../src/i18n-util/index.js | 310 ++++++++++++++++++ packages/editor-preset-vision/src/index.ts | 2 +- 4 files changed, 402 insertions(+), 15 deletions(-) rename packages/editor-preset-vision/src/{i18n-reducer.ts => deep-value-parser.ts} (62%) create mode 100644 packages/editor-preset-vision/src/i18n-util/index.d.ts create mode 100644 packages/editor-preset-vision/src/i18n-util/index.js diff --git a/packages/editor-preset-vision/src/i18n-reducer.ts b/packages/editor-preset-vision/src/deep-value-parser.ts similarity index 62% rename from packages/editor-preset-vision/src/i18n-reducer.ts rename to packages/editor-preset-vision/src/deep-value-parser.ts index fb792d810..227e5da09 100644 --- a/packages/editor-preset-vision/src/i18n-reducer.ts +++ b/packages/editor-preset-vision/src/deep-value-parser.ts @@ -1,21 +1,18 @@ import Env from './env'; import { isJSSlot, isI18nData, isJSExpression } from '@ali/lowcode-types'; import { isPlainObject } from '@ali/lowcode-utils'; -const I18nUtil = require('@ali/ve-i18n-util'); +import i18nUtil from './i18n-util'; -interface I18nObject { - type?: string; - use?: string; - key?: string; - [lang: string]: string | undefined; -} - -export function i18nReducer(obj?: any): any { +// FIXME: 表达式使用 mock 值,未来live 模式直接使用原始值 +export function deepValueParser(obj?: any): any { + if (isJSExpression(obj)) { + obj = obj.mock; + } if (!obj) { return obj; } if (Array.isArray(obj)) { - return obj.map((item) => i18nReducer(item)); + return obj.map((item) => deepValueParser(item)); } if (isPlainObject(obj)) { if (isI18nData(obj)) { @@ -23,19 +20,20 @@ export function i18nReducer(obj?: any): any { let locale = Env.getLocale(); if (obj.key) { // FIXME: 此处需要升级I18nUtil,改成响应式 - return I18nUtil.get(obj.key, locale); + return i18nUtil.get(obj.key, locale); } if (locale !== 'zh_CN' && locale !== 'zh_TW' && !obj[locale]) { locale = 'en_US'; } return obj[obj.use || locale] || obj.zh_CN; } - if (isJSSlot(obj) || isJSExpression(obj)) { + + if (isJSSlot(obj)) { return obj; } - const out: I18nObject = {}; + const out: any = {}; Object.keys(obj).forEach((key) => { - out[key] = i18nReducer(obj[key]); + out[key] = deepValueParser(obj[key]); }); return out; } diff --git a/packages/editor-preset-vision/src/i18n-util/index.d.ts b/packages/editor-preset-vision/src/i18n-util/index.d.ts new file mode 100644 index 000000000..d258fe9d2 --- /dev/null +++ b/packages/editor-preset-vision/src/i18n-util/index.d.ts @@ -0,0 +1,79 @@ +declare enum LANGUAGES { + zh_CN = 'zh_CN', + en_US = 'en_US' +} + +export interface I18nRecord { + type?: 'i18n'; + [key: string]: string; + /** + * i18n unique key + */ + key?: string; +} + +export interface I18nRecordData { + gmtCreate: Date; + gmtModified: Date; + i18nKey: string; + i18nText: I18nRecord; + id: number; +} + +export interface II18nUtilConfigs { + items?: {}; + /** + * 是否禁用初始化加载 + */ + disableInstantLoad?: boolean; + /** + * 初始化的时候是否全量加载 + */ + disableFullLoad?: boolean; + loader?: (configs: ILoaderConfigs) => Promise<I18nRecordData[]>; + remover?: (key: string, dic: I18nRecord) => Promise<void>; + saver?: (key: string, dic: I18nRecord) => Promise<void>; +} + +export interface ILoaderConfigs { + /** + * search keywords + */ + keyword?: string; + /** + * should load all i18n items + */ + isFull?: boolean; + /** + * search i18n item based on uniqueKey + */ + key?: string; +} + +export interface II18nUtil { + init(config: II18nUtilConfigs): void; + isInitialized(): boolean; + isReady(): boolean; + attach(prop: object, value: I18nRecord, updator: () => any); + search(keyword: string, silent?: boolean); + load(configs: ILoaderConfigs): Promise<I18nRecord[]>; + /** + * Get local i18n Record + * @param key + * @param lang + */ + get(key: string, lang: string): string | I18nRecord; + getFromRemote(key: string): Promise<I18nRecord>; + getItem(key: string, forceData?: boolean): any; + getItems(): I18nRecord[]; + update(key: string, doc: I18nRecord, lang: LANGUAGES); + create(doc: I18nRecord, lang: LANGUAGES): string; + remove(key: string): Promise<void>; + + onReady(func: () => any); + onRowsChange(func: () => any); + onChange(func: (dic: I18nRecord) => any); +} + +declare const i18nUtil: II18nUtil; +export default i18nUtil; diff --git a/packages/editor-preset-vision/src/i18n-util/index.js b/packages/editor-preset-vision/src/i18n-util/index.js new file mode 100644 index 000000000..06bd973ac --- /dev/null +++ b/packages/editor-preset-vision/src/i18n-util/index.js @@ -0,0 +1,310 @@ +import { EventEmitter } from 'events'; +import { obx } from '@ali/lowcode-editor-core'; + + +let keybase = Date.now(); +function keygen(maps) { + let key; + do { + key = `i18n-${(keybase).toString(36)}`; + keybase += 1; + } while (key in maps); + return key; +} + +class DocItem { + constructor(parent, doc, unInitial) { + this.parent = parent; + const { use, ...strings } = doc; + this.doc = obx.val({ + type: 'i18n', + ...strings, + }); + this.emitter = new EventEmitter; + this.inited = unInitial !== true; + } + + getKey() { + return this.doc.key; + } + + getDoc(lang) { + if (lang) { + return this.doc[lang]; + } + return this.doc; + } + + setDoc(doc, lang, initial) { + if (lang) { + this.doc[lang] = doc; + } else { + const { use, strings } = doc || {}; + Object.assign(this.doc, strings); + } + this.emitter.emit('change', this.doc); + + if (initial) { + this.inited = true; + } else if (this.inited) { + this.parent._saveChange(this.doc.key, this.doc); + } + } + + remove() { + if (!this.inited) return Promise.reject('not initialized'); + + const { key, ...doc } = this.doc; // eslint-disable-line + this.emitter.emit('change', doc); + return this.parent.remove(this.getKey()); + } + + onChange(func) { + this.emitter.on('change', func); + return () => { + this.emitter.removeListener('change', func); + }; + } +} + +class I18nUtil { + constructor() { + this.emitter = new EventEmitter; + // original data source from remote + this.i18nData = {}; + // current i18n records on the left pane + this.items = []; + this.maps = {}; + // full list of i18n records for synchronized call + this.fullList = []; + this.fullMap = {}; + + this.config = {}; + this.ready = false; + this.isInited = false; + } + + _prepareItems(items, isFull = false, isSilent = false) { + this[isFull ? 'fullList' : 'items'] = items.map((dict) => { + let item = this[isFull ? 'fullMap' : 'maps'][dict.key]; + if (item) { + item.setDoc(dict, null, true); + } else { + item = new DocItem(this, dict); + this[isFull ? 'fullMap' : 'maps'][dict.key] = item; + } + return item; + }); + + if (this.ready && !isSilent) { + this.emitter.emit('rowschange'); + this.emitter.emit('change'); + } else { + this.ready = true; + this.emitter.emit('ready'); + } + } + + _load(configs = {}, silent) { + if (!this.config.loader) { + console.error(new Error('Please load loader while init I18nUtil.')); + return Promise.reject(); + } + + return this.config.loader(configs).then((data) => { + if (configs.i18nKey) { + return Promise.resolve(data.i18nText); + } + this._prepareItems(data.data, configs.isFull, silent); + // set pagination data to i18nData + this.i18nData = data; + if (!silent) { + this.emitter.emit('rowschange'); + this.emitter.emit('change'); + } + return Promise.resolve(this.items.map(i => i.getDoc())); + }); + } + + _saveToItems(key, dict) { + let item = null; + item = this.items.find(doc => doc.getKey() === key); + if (!item) { + item = this.fullList.find(doc => doc.getKey() === key); + } + + if (item) { + item.setDoc(dict); + } else { + item = new DocItem(this, { + key, + ...dict, + }); + this.items.unshift(item); + this.fullList.unshift(item); + this.maps[key] = item; + this.fullMap[key] = item; + this._saveChange(key, dict, true); + } + } + + _saveChange(key, dict, rowschange) { + if (rowschange) { + this.emitter.emit('rowschange'); + } + this.emitter.emit('change'); + if (dict === null) { + delete this.maps[key]; + delete this.fullMap[key]; + } + return this._save(key, dict); + } + + _save(key, dict) { + const saver = dict === null ? this.config.remover : this.config.saver; + if (!saver) return Promise.reject('Saver function is not set'); + return saver(key, dict); + } + + init(config) { + if (this.isInited) return; + this.config = config || {}; + if (this.config.items) { + // inject to current page + this._prepareItems(this.config.items); + } + if (!this.config.disableInstantLoad) { + this._load({ isFull: !this.config.disableFullLoad }); + } + this.isInited = true; + } + + isInitialized() { + return this.isInited; + } + + isReady() { + return this.ready; + } + + // add events updater when i18n record change + // we should notify engine's view to change + attach(prop, value, updator) { + const isI18nValue = value && value.type === 'i18n' && value.key; + const key = isI18nValue ? value.key : null; + if (prop.i18nLink) { + if (isI18nValue && (key === prop.i18nLink.key)) { + return prop.i18nLink; + } + prop.i18nLink.detach(); + } + + if (isI18nValue) { + return { + key, + detach: this.getItem(key, value).onChange(updator), + }; + } + + return null; + } + + /** + * 搜索 i18n 词条 + * + * @param {any} keyword 搜索关键字 + * @param {boolean} [silent=false] 是否刷新左侧的 i18n 数据 + * @returns + * + * @memberof I18nUtil + */ + search(keyword, silent = false) { + return this._load({ keyword }, silent); + } + + load(configs = {}) { + return this._load(configs); + } + + get(key, lang) { + const item = this.getItem(key); + if (item) { + return item.getDoc(lang); + } + return null; + } + + getFromRemote(key) { + return this._load({ i18nKey: key }); + } + + getItem(key, forceData) { + if (forceData && !this.maps[key] && !this.fullList[key]) { + const item = new DocItem(this, { + key, + ...forceData, + }, true); + this.maps[key] = item; + this.fullMap[key] = item; + this.fullList.push(item); + this.items.push(item); + } + return this.maps[key] || this.fullMap[key]; + } + + getItems() { + return this.items; + } + + update(key, doc, lang) { + let dict = this.get(key) || {}; + if (!lang) { + dict = doc; + } else { + dict[lang] = doc; + } + this._saveToItems(key, dict); + } + + create(doc, lang) { + const dict = lang ? { [lang]: doc } : doc; + const key = keygen(this.fullMap); + this._saveToItems(key, dict); + return key; + } + + remove(key) { + const index = this.items.findIndex(item => item.getKey() === key); + const indexG = this.fullList.findIndex(item => item.getKey() === key); + if (index > -1) { + this.items.splice(index, 1); + } + if (indexG > -1) { + this.fullList.splice(index, 1); + } + return this._saveChange(key, null, true); + } + + onReady(func) { + this.emitter.on('ready', func); + return () => { + this.emitter.removeListener('ready', func); + }; + } + + onRowsChange(func) { + this.emitter.on('rowschange', func); + return () => { + this.emitter.removeListener('rowschange', func); + }; + } + + onChange(func) { + this.emitter.on('change', func); + return () => { + this.emitter.removeListener('change', func); + }; + } +} + +export default new I18nUtil(); diff --git a/packages/editor-preset-vision/src/index.ts b/packages/editor-preset-vision/src/index.ts index 42643cb31..556fa050d 100644 --- a/packages/editor-preset-vision/src/index.ts +++ b/packages/editor-preset-vision/src/index.ts @@ -3,7 +3,7 @@ import Popup from '@ali/ve-popups'; import Icons from '@ali/ve-icons'; import logger from '@ali/vu-logger'; import { render } from 'react-dom'; -import I18nUtil from '@ali/ve-i18n-util'; +import I18nUtil from './i18n-util'; import { hotkey as Hotkey } from '@ali/lowcode-editor-core'; import { createElement } from 'react'; import { VE_EVENTS as EVENTS, VE_HOOKS as HOOKS, VERSION as Version } from './base/const'; From 487f257bef60b5155f1258aba35671275a7a59ce Mon Sep 17 00:00:00 2001 From: kangwei <bingbing.yb@alibaba-inc.com> Date: Fri, 29 May 2020 01:58:10 +0800 Subject: [PATCH 33/70] fix: render children --- packages/editor-preset-vision/package.json | 1 - packages/editor-preset-vision/src/vision.less | 2 +- packages/react-simulator-renderer/src/renderer-view.tsx | 5 +++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/editor-preset-vision/package.json b/packages/editor-preset-vision/package.json index f83c33a89..4a6ae42eb 100644 --- a/packages/editor-preset-vision/package.json +++ b/packages/editor-preset-vision/package.json @@ -19,7 +19,6 @@ "@ali/lowcode-editor-skeleton": "^0.8.24", "@ali/lowcode-plugin-designer": "^0.9.18", "@ali/lowcode-plugin-outline-pane": "^0.8.24", - "@ali/ve-i18n-util": "^2.0.2", "@ali/ve-icons": "^4.1.9", "@ali/ve-less-variables": "2.0.3", "@ali/ve-popups": "^4.2.5", diff --git a/packages/editor-preset-vision/src/vision.less b/packages/editor-preset-vision/src/vision.less index 3b1320e57..0d3ca19f7 100644 --- a/packages/editor-preset-vision/src/vision.less +++ b/packages/editor-preset-vision/src/vision.less @@ -43,7 +43,7 @@ html { } html.engine-blur #engine { - -webkit-filter: blur(4px); + filter: blur(4px); } .engine-main { diff --git a/packages/react-simulator-renderer/src/renderer-view.tsx b/packages/react-simulator-renderer/src/renderer-view.tsx index c2f2e03ab..a7c400dbd 100644 --- a/packages/react-simulator-renderer/src/renderer-view.tsx +++ b/packages/react-simulator-renderer/src/renderer-view.tsx @@ -105,12 +105,13 @@ class Renderer extends Component<{ renderer: SimulatorRenderer }> { customCreateElement={(Component: any, props: any, children: any) => { const { __id, __desingMode, ...viewProps } = props; viewProps.componentId = __id; - viewProps._leaf = host.document.getNode(__id); + const leaf = host.document.getNode(__id); + viewProps._leaf = leaf; return createElement( getDeviceView(Component, device, designMode), viewProps, - children == null ? [] : Array.isArray(children) ? children : [children], + leaf?.isContainer() ? (children == null ? [] : Array.isArray(children) ? children : [children]) : null, ); }} onCompGetRef={(schema: any, ref: ReactInstance | null) => { From 56f242fee9efd2c7c0d6e4ff74931ac7cf030a87 Mon Sep 17 00:00:00 2001 From: kangwei <bingbing.yb@alibaba-inc.com> Date: Fri, 29 May 2020 12:07:47 +0800 Subject: [PATCH 34/70] fix: try get settingfield --- .../src/designer/setting/setting-prop-entry.ts | 3 +++ .../src/designer/setting/setting-top-entry.ts | 11 +++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/packages/designer/src/designer/setting/setting-prop-entry.ts b/packages/designer/src/designer/setting/setting-prop-entry.ts index 21ce01b0a..cae691219 100644 --- a/packages/designer/src/designer/setting/setting-prop-entry.ts +++ b/packages/designer/src/designer/setting/setting-prop-entry.ts @@ -294,6 +294,9 @@ export class SettingPropEntry implements SettingEntry { isUseVariable() { return isJSExpression(this.getValue()); } + get useVariable() { + return this.isUseVariable(); + } getMockOrValue() { const v = this.getValue(); if (isJSExpression(v)) { diff --git a/packages/designer/src/designer/setting/setting-top-entry.ts b/packages/designer/src/designer/setting/setting-top-entry.ts index 9690b8dca..a6cec229f 100644 --- a/packages/designer/src/designer/setting/setting-top-entry.ts +++ b/packages/designer/src/designer/setting/setting-top-entry.ts @@ -2,7 +2,7 @@ import { EventEmitter } from 'events'; import { CustomView, isCustomView, IEditor } from '@ali/lowcode-types'; import { computed } from '@ali/lowcode-editor-core'; import { SettingEntry } from './setting-entry'; -import { SettingField } from './setting-field'; +import { SettingField, isSettingField } from './setting-field'; import { SettingPropEntry } from './setting-prop-entry'; import { Node } from '../../document'; import { ComponentMeta } from '../../component-meta'; @@ -124,7 +124,14 @@ export class SettingTopEntry implements SettingEntry { * 获取子项 */ get(propName: string | number): SettingPropEntry { - return new SettingPropEntry(this, propName); + const matched = this.items.find(item => { + if (isSettingField(item)) { + // TODO: thinkof use name or path? + return item.name === propName; + } + return false; + }) as SettingPropEntry; + return matched || (new SettingPropEntry(this, propName)); } /** From 5db0c126eb723010646a336bf7115de49e5fc669 Mon Sep 17 00:00:00 2001 From: "wuyue.xht" <wuyue.xht@alibaba-inc.com> Date: Fri, 29 May 2020 13:29:14 +0800 Subject: [PATCH 35/70] =?UTF-8?q?chore:=20=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/runtime/package.json | 2 +- packages/runtime/src/core/provider.ts | 2 +- packages/runtime/src/core/runApp.ts | 22 ---------------------- 3 files changed, 2 insertions(+), 24 deletions(-) diff --git a/packages/runtime/package.json b/packages/runtime/package.json index 276e1cc32..095b2e785 100644 --- a/packages/runtime/package.json +++ b/packages/runtime/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-runtime", - "version": "0.8.14", + "version": "0.8.15", "description": "Runtime for Ali lowCode engine", "files": [ "es", diff --git a/packages/runtime/src/core/provider.ts b/packages/runtime/src/core/provider.ts index 907dd4903..fc116e4ef 100644 --- a/packages/runtime/src/core/provider.ts +++ b/packages/runtime/src/core/provider.ts @@ -182,7 +182,7 @@ export default class Provider implements IProvider { } getAppData(): any { - throw new Error('Method called "getPageData" not implemented.'); + throw new Error('Method called "getAppData" not implemented.'); } getPageData(pageId?: string): any { diff --git a/packages/runtime/src/core/runApp.ts b/packages/runtime/src/core/runApp.ts index 6fb287f99..3dea9fb92 100644 --- a/packages/runtime/src/core/runApp.ts +++ b/packages/runtime/src/core/runApp.ts @@ -23,28 +23,6 @@ export interface IAppConfig { [key: string]: any; } -// export interface IRecoreAppConfig { -// history?: HistoryMode; -// globalComponents?: IComponents; -// globalUtils?: IUtils; -// containerId?: string; -// } - -// function transformConfig(config: IAppConfig | (() => IAppConfig)): IRecoreAppConfig { -// if (!config) { -// return {}; -// } -// if (typeof config === 'function') { -// config = config(); -// } -// return { -// history: config.history, -// globalComponents: config.components, -// globalUtils: config.utils, -// containerId: config.containerId, -// }; -// } - export default function runApp() { const provider = app.getProvider(); if (!provider) { From 5198dae71ca9d62a47d16a8f7bb41e8f0a37890e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8A=9B=E7=9A=93?= <lihao.ylh@alibaba-inc.com> Date: Fri, 29 May 2020 14:32:30 +0800 Subject: [PATCH 36/70] =?UTF-8?q?fix:=20=E8=B0=83=E6=95=B4=E4=BF=9D?= =?UTF-8?q?=E5=AD=98=E6=88=90=E5=8A=9F=E5=BC=B9=E5=87=BA=E6=A1=86=E4=BD=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/editor-preset-vision/src/vision.less | 10 ++++++++++ .../editor-skeleton/src/layouts/left-float-pane.tsx | 4 ++-- packages/editor-skeleton/src/skeleton.ts | 2 +- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/packages/editor-preset-vision/src/vision.less b/packages/editor-preset-vision/src/vision.less index 0d3ca19f7..df469d567 100644 --- a/packages/editor-preset-vision/src/vision.less +++ b/packages/editor-preset-vision/src/vision.less @@ -112,3 +112,13 @@ html.engine-preview-mode { display: none !important; } } + +.ve-popups .ve-message { + right: 290px; + + .ve-message-content { + display: flex; + align-items: center; + line-height: 22px; + } +} \ No newline at end of file diff --git a/packages/editor-skeleton/src/layouts/left-float-pane.tsx b/packages/editor-skeleton/src/layouts/left-float-pane.tsx index 6bdfb1570..d904887f7 100644 --- a/packages/editor-skeleton/src/layouts/left-float-pane.tsx +++ b/packages/editor-skeleton/src/layouts/left-float-pane.tsx @@ -36,8 +36,8 @@ export default class LeftFloatPane extends Component<{ area: Area<any, Panel> }> .contentWindow.document.documentElement.contains(target)) { return false; } - // 防止点击 popup / dialog 等触发失焦 - if (!document.querySelector('.lc-workbench-center')?.contains(target)) { + // 点击非编辑区域的 popup / dialog 等,不触发失焦 + if (!document.querySelector('.lc-workbench')?.contains(target)) { return true; } const docks = area.current?.getAssocDocks(); diff --git a/packages/editor-skeleton/src/skeleton.ts b/packages/editor-skeleton/src/skeleton.ts index 4b47e8ad6..6ed4ce842 100644 --- a/packages/editor-skeleton/src/skeleton.ts +++ b/packages/editor-skeleton/src/skeleton.ts @@ -294,7 +294,7 @@ export class Skeleton { let { area } = parsedConfig; if (!area) { if (parsedConfig.type === 'Panel') { - area = 'leftFloatArea' + area = 'leftFloatArea'; } else if (parsedConfig.type === 'Widget') { area = 'mainArea'; } else { From c2605bb4f680bc3abfa48a2a7fcec1e55172dda6 Mon Sep 17 00:00:00 2001 From: "mario.gk" <mario.gk@alibaba-inc.com> Date: Mon, 1 Jun 2020 19:58:51 +0800 Subject: [PATCH 37/70] =?UTF-8?q?hotvalue=20=E6=9A=82=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/designer/src/designer/setting/setting-field.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/designer/src/designer/setting/setting-field.ts b/packages/designer/src/designer/setting/setting-field.ts index 7bc53370a..152f09c54 100644 --- a/packages/designer/src/designer/setting/setting-field.ts +++ b/packages/designer/src/designer/setting/setting-field.ts @@ -88,8 +88,13 @@ export class SettingField extends SettingPropEntry implements SettingEntry { this.disposeItems(); } + private hotValue: any; + // ======= compatibles for vision ====== getHotValue(): any { + if (this.hotValue) { + return this.hotValue; + } // avoid View modify let v = cloneDeep(this.getMockOrValue()); if (v == null) { @@ -99,6 +104,7 @@ export class SettingField extends SettingPropEntry implements SettingEntry { } setHotValue(data: any) { + this.hotValue = data; const v = this.transducer.toNative(data); if (this.isUseVariable()) { const ov = this.getValue(); From cd9143023405fdfa02515a533a28093710f09604 Mon Sep 17 00:00:00 2001 From: "mario.gk" <mario.gk@alibaba-inc.com> Date: Mon, 1 Jun 2020 19:59:07 +0800 Subject: [PATCH 38/70] =?UTF-8?q?modal=20=E9=BB=98=E8=AE=A4=E9=9A=90?= =?UTF-8?q?=E8=97=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/designer/src/document/node/node.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/designer/src/document/node/node.ts b/packages/designer/src/document/node/node.ts index d5f371349..3ec49e595 100644 --- a/packages/designer/src/document/node/node.ts +++ b/packages/designer/src/document/node/node.ts @@ -157,6 +157,10 @@ export class Node<Schema extends NodeSchema = NodeSchema> { this.props.import(this.transformProps(props || {}), extras); this.setupAutoruns(); } + + if (this.componentMeta.isModal) { + this.getExtraProp('hidden', true)?.setValue(true); + } } private transformProps(props: any): any { From 8961cfcb8954bd234905c39da6c4c09ab8cd3d39 Mon Sep 17 00:00:00 2001 From: "mario.gk" <mario.gk@alibaba-inc.com> Date: Tue, 2 Jun 2020 17:22:20 +0800 Subject: [PATCH 39/70] =?UTF-8?q?bug=20fix:=20=E5=A4=9A=E4=B8=AA=E5=AD=90?= =?UTF-8?q?=E9=9D=A2=E6=9D=BF=E5=9C=BA=E6=99=AF=E7=9A=84=20props=20?= =?UTF-8?q?=E4=B8=A2=E5=A4=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/editor-preset-vision/src/panes.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/editor-preset-vision/src/panes.ts b/packages/editor-preset-vision/src/panes.ts index 75e4ec38d..5f4b9fdce 100644 --- a/packages/editor-preset-vision/src/panes.ts +++ b/packages/editor-preset-vision/src/panes.ts @@ -93,6 +93,7 @@ function upgradeConfig(config: OldPaneConfig): IWidgetBaseConfig & { area: strin type: 'Panel', name: typeof title === 'string' ? title : `${name}:${index}`, content, + contentProps: props, props: { title, help: tip, From 2787a12d8351d67c7b2e0d2dd185cef9ca7330bc Mon Sep 17 00:00:00 2001 From: "shuaige.zsg" <shuaige.zsg@alibaba-inc.com> Date: Mon, 8 Jun 2020 20:57:55 +0800 Subject: [PATCH 40/70] feat: get SettingField instead of SettingPropEntry for compatibility --- .../src/designer/setting/setting-field.ts | 10 ++++++---- .../src/designer/setting/setting-top-entry.ts | 18 +++++++++--------- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/packages/designer/src/designer/setting/setting-field.ts b/packages/designer/src/designer/setting/setting-field.ts index 152f09c54..3f092b753 100644 --- a/packages/designer/src/designer/setting/setting-field.ts +++ b/packages/designer/src/designer/setting/setting-field.ts @@ -37,7 +37,7 @@ export class SettingField extends SettingPropEntry implements SettingEntry { this._expanded = value; } - constructor(readonly parent: SettingEntry, config: FieldConfig) { + constructor(readonly parent: SettingEntry, config: FieldConfig, settingFieldCollector?: (name: string | number, field: SettingField) => void) { super(parent, config.name, config.type); const { title, items, setter, extraProps, ...rest } = config; @@ -52,7 +52,9 @@ export class SettingField extends SettingPropEntry implements SettingEntry { // initial items if (this.type === 'group' && items) { - this.initItems(items); + this.initItems(items, settingFieldCollector); + } else if (settingFieldCollector && config.name) { + settingFieldCollector(config.name, this); } // compatiable old config @@ -65,12 +67,12 @@ export class SettingField extends SettingPropEntry implements SettingEntry { return this._items; } - private initItems(items: Array<FieldConfig | CustomView>) { + private initItems(items: Array<FieldConfig | CustomView>, settingFieldCollector?: { (name: string | number, field: SettingField): void; (name: string, field: SettingField): void; }) { this._items = items.map((item) => { if (isCustomView(item)) { return item; } - return new SettingField(this, item); + return new SettingField(this, item, settingFieldCollector); }); } diff --git a/packages/designer/src/designer/setting/setting-top-entry.ts b/packages/designer/src/designer/setting/setting-top-entry.ts index a6cec229f..fdc700d0a 100644 --- a/packages/designer/src/designer/setting/setting-top-entry.ts +++ b/packages/designer/src/designer/setting/setting-top-entry.ts @@ -20,6 +20,7 @@ export class SettingTopEntry implements SettingEntry { private _items: Array<SettingField | CustomView> = []; private _componentMeta: ComponentMeta | null = null; private _isSame: boolean = true; + private _settingFieldMap: { [prop: string]: SettingField } = {}; readonly path = []; readonly top = this; readonly parent = this; @@ -95,13 +96,19 @@ export class SettingTopEntry implements SettingEntry { } private setupItems() { + console.log('set') if (this.componentMeta) { + const settingFieldMap: { [prop: string]: SettingField } = {}; + const settingFieldCollector = (name: string | number, field: SettingField) => { + settingFieldMap[name] = field; + } this._items = this.componentMeta.configure.map((item) => { if (isCustomView(item)) { return item; } - return new SettingField(this, item as any); + return new SettingField(this, item as any, settingFieldCollector); }); + this._settingFieldMap = settingFieldMap; } } @@ -124,14 +131,7 @@ export class SettingTopEntry implements SettingEntry { * 获取子项 */ get(propName: string | number): SettingPropEntry { - const matched = this.items.find(item => { - if (isSettingField(item)) { - // TODO: thinkof use name or path? - return item.name === propName; - } - return false; - }) as SettingPropEntry; - return matched || (new SettingPropEntry(this, propName)); + return this._settingFieldMap[propName] || (new SettingPropEntry(this, propName)); } /** From fecf34d0d7655fb6469c1afab1a9b661ec814cd7 Mon Sep 17 00:00:00 2001 From: "wuyue.xht" <wuyue.xht@alibaba-inc.com> Date: Wed, 10 Jun 2020 21:47:35 +0800 Subject: [PATCH 41/70] =?UTF-8?q?feat:=20=E8=87=AA=E5=8A=A8=E5=9F=8B?= =?UTF-8?q?=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../editor-skeleton/src/components/field/fields.tsx | 11 ++++++++++- .../src/components/settings/settings-pane.tsx | 2 ++ packages/editor-skeleton/src/layouts/left-area.tsx | 7 ++++--- packages/editor-skeleton/src/layouts/top-area.tsx | 2 +- 4 files changed, 17 insertions(+), 5 deletions(-) diff --git a/packages/editor-skeleton/src/components/field/fields.tsx b/packages/editor-skeleton/src/components/field/fields.tsx index dcd1c78bb..797fc361a 100644 --- a/packages/editor-skeleton/src/components/field/fields.tsx +++ b/packages/editor-skeleton/src/components/field/fields.tsx @@ -12,6 +12,7 @@ import InlineTip from './inlinetip'; export interface FieldProps { className?: string; + meta?: { package: string; componentName: string } | string; title?: TitleContent | null; defaultDisplay?: 'accordion' | 'inline' | 'block'; collapsed?: boolean; @@ -115,15 +116,23 @@ export class Field extends Component<FieldProps> { } render() { - const { className, children, title, valueState, onClear, name: propName, tip } = this.props; + const { className, children, meta, title, valueState, onClear, name: propName, tip } = this.props; const { display, collapsed } = this.state; const isAccordion = display === 'accordion'; + let hostName = ''; + if (typeof meta === 'object') { + hostName = `${meta?.package || ''}-${meta.componentName || ''}`; + } else if (typeof meta === 'string') { + hostName = meta; + } + const id = `${hostName}-${propName || (title as any)['en-US'] || (title as any)['zh-CN']}`; const tipContent = this.getTipContent(propName!, tip); return ( <div className={classNames(`lc-field lc-${display}-field`, className, { 'lc-field-is-collapsed': isAccordion && collapsed, })} + id={id} > <div className="lc-field-head" onClick={isAccordion ? this.toggleExpand : undefined}> <div className="lc-field-title"> diff --git a/packages/editor-skeleton/src/components/settings/settings-pane.tsx b/packages/editor-skeleton/src/components/settings/settings-pane.tsx index 03db41889..5b75bddfa 100644 --- a/packages/editor-skeleton/src/components/settings/settings-pane.tsx +++ b/packages/editor-skeleton/src/components/settings/settings-pane.tsx @@ -63,6 +63,7 @@ class SettingFieldView extends Component<{ field: SettingField }> { return createField( { + meta: field?.componentMeta?.npm || field?.componentMeta?.componentName || '', title: field.title, collapsed: !field.expanded, valueState: field.isRequired ? 10 : field.valueState, @@ -121,6 +122,7 @@ class SettingGroupView extends Component<{ field: SettingField }> { return ( <Field defaultDisplay="accordion" + meta={field?.componentMeta?.npm || field?.componentMeta?.componentName || ''} title={field.title} collapsed={!field.expanded} onExpandChange={(expandState) => { diff --git a/packages/editor-skeleton/src/layouts/left-area.tsx b/packages/editor-skeleton/src/layouts/left-area.tsx index 00a83a328..53dd4805b 100644 --- a/packages/editor-skeleton/src/layouts/left-area.tsx +++ b/packages/editor-skeleton/src/layouts/left-area.tsx @@ -24,11 +24,12 @@ class Contents extends Component<{ area: Area }> { const { area } = this.props; const top: any[] = []; const bottom: any[] = []; - area.container.items.forEach(item => { + area.container.items.forEach((item) => { + const content = <div id={`left-area-${item.name}`}>{item.content}</div>; if (item.align === 'bottom') { - bottom.push(item.content); + bottom.push(content); } else { - top.push(item.content); + top.push(content); } }); return ( diff --git a/packages/editor-skeleton/src/layouts/top-area.tsx b/packages/editor-skeleton/src/layouts/top-area.tsx index b9dee5c38..4e4b05258 100644 --- a/packages/editor-skeleton/src/layouts/top-area.tsx +++ b/packages/editor-skeleton/src/layouts/top-area.tsx @@ -30,7 +30,7 @@ class Contents extends Component<{ area: Area, itemClassName?: string }> { return index1 === index2 ? 0 : (index1 > index2 ? 1 : -1); }).forEach(item => { const content = ( - <div className={itemClassName || ''}> + <div className={itemClassName || ''} id={`top-area-${item.name}`}> {item.content} </div> ); From f915d19dba57d187e1d45f135aea1b13768c52bf Mon Sep 17 00:00:00 2001 From: "wuyue.xht" <wuyue.xht@alibaba-inc.com> Date: Wed, 10 Jun 2020 21:50:45 +0800 Subject: [PATCH 42/70] feat: add Monitor --- packages/editor-core/src/utils/goldlog.ts | 11 ------ packages/editor-core/src/utils/index.ts | 2 +- packages/editor-core/src/utils/monitor.ts | 45 +++++++++++++++++++++++ 3 files changed, 46 insertions(+), 12 deletions(-) delete mode 100644 packages/editor-core/src/utils/goldlog.ts create mode 100644 packages/editor-core/src/utils/monitor.ts diff --git a/packages/editor-core/src/utils/goldlog.ts b/packages/editor-core/src/utils/goldlog.ts deleted file mode 100644 index 4e594b15c..000000000 --- a/packages/editor-core/src/utils/goldlog.ts +++ /dev/null @@ -1,11 +0,0 @@ -/** - * 黄金令箭埋点 - * @param {String} gmKey 为黄金令箭业务类型 - * @param {Object} params 参数 - * @param {String} logKey 属性串 - */ -export function goldlog(gmKey: string, params: object = {}, logKey: string = 'other'): void { - -} - - diff --git a/packages/editor-core/src/utils/index.ts b/packages/editor-core/src/utils/index.ts index 6a4ef399a..8f37753ac 100644 --- a/packages/editor-core/src/utils/index.ts +++ b/packages/editor-core/src/utils/index.ts @@ -1,5 +1,5 @@ export * from './get-public-path'; -export * from './goldlog'; +export * from './monitor'; export * from './obx'; export * from './request'; export * from './focus-tracker'; diff --git a/packages/editor-core/src/utils/monitor.ts b/packages/editor-core/src/utils/monitor.ts new file mode 100644 index 000000000..b4c45bc8b --- /dev/null +++ b/packages/editor-core/src/utils/monitor.ts @@ -0,0 +1,45 @@ +class Monitor { + fn = (params: any) => { + const { AES } = window as any; + if (typeof AES.log === 'function') { + const { p1, p2, p3, p4 = 'OTHER', ...rest } = params || {}; + AES.log('event', { + p1, + p2, + p3, + p4, + ...rest, + }); + } + }; + + constructor() { + (window as any).AES = (window as any).AES || {}; + } + + register(fn: () => any) { + if (typeof fn === 'function') { + this.fn = fn; + } + } + + log(params: any) { + if (typeof this.fn === 'function') { + this.fn(params); + } + } + + setConfig(key: string | object, value?: string): void { + const { AES } = window as any; + if (typeof AES?.setConfig !== 'function') { + return; + } + if (typeof key === 'string' && value) { + AES.setConfig(key, value); + } else if (typeof key === 'object') { + AES.setConfig(key); + } + } +} + +export default new Monitor(); From d93a2913cc005d34043b91ef4534ef64f30a67d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8A=9B=E7=9A=93?= <lihao.ylh@alibaba-inc.com> Date: Thu, 11 Jun 2020 10:31:39 +0800 Subject: [PATCH 43/70] =?UTF-8?q?fix:=20=E7=A6=81=E6=AD=A2=E7=BB=84?= =?UTF-8?q?=E4=BB=B6=E6=8B=89=E5=88=B0=20Page=20=E7=9A=84=E7=9B=B4?= =?UTF-8?q?=E6=8E=A5=E5=AD=90=E8=8A=82=E7=82=B9,=20=E4=BB=A5=E5=8F=8A?= =?UTF-8?q?=E6=9B=BF=E6=8D=A2=20tab=20=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../designer/src/builtin-simulator/host.ts | 2 +- packages/editor-skeleton/package.json | 3 +- .../settings/settings-primary-pane.tsx | 34 +++++++++++++++++-- .../src/layouts/workbench.less | 10 +++++- 4 files changed, 43 insertions(+), 6 deletions(-) diff --git a/packages/designer/src/builtin-simulator/host.ts b/packages/designer/src/builtin-simulator/host.ts index bc5b70e1c..eea50ca60 100644 --- a/packages/designer/src/builtin-simulator/host.ts +++ b/packages/designer/src/builtin-simulator/host.ts @@ -753,7 +753,7 @@ export class BuiltinSimulatorHost implements ISimulatorHost<BuiltinSimulatorProp this.sensing = true; this.scroller.scrolling(e); const dropContainer = this.getDropContainer(e); - if (!dropContainer) { + if (!dropContainer || dropContainer.container?.componentName === 'Page') { return null; } diff --git a/packages/editor-skeleton/package.json b/packages/editor-skeleton/package.json index 013703f02..350426d18 100644 --- a/packages/editor-skeleton/package.json +++ b/packages/editor-skeleton/package.json @@ -26,7 +26,8 @@ "@alifd/next": "^1.x", "classnames": "^2.2.6", "react": "^16.8.1", - "react-dom": "^16.8.1" + "react-dom": "^16.8.1", + "react-tabs": "^3.1.1" }, "devDependencies": { "@alib/build-scripts": "^0.1.3", diff --git a/packages/editor-skeleton/src/components/settings/settings-primary-pane.tsx b/packages/editor-skeleton/src/components/settings/settings-primary-pane.tsx index c146ffb5d..24e59296d 100644 --- a/packages/editor-skeleton/src/components/settings/settings-primary-pane.tsx +++ b/packages/editor-skeleton/src/components/settings/settings-primary-pane.tsx @@ -1,10 +1,12 @@ import React, { Component } from 'react'; -import { Tab, Breadcrumb } from '@alifd/next'; +import { Breadcrumb } from '@alifd/next'; +import { Tabs, Tab, TabList, TabPanel } from 'react-tabs'; import { Title, observer, Editor, obx } from '@ali/lowcode-editor-core'; import { Node, isSettingField, SettingField } from '@ali/lowcode-designer'; import { SettingsMain } from './main'; import { SettingsPane } from './settings-pane'; import { createIcon } from '@ali/lowcode-utils'; +import 'react-tabs/style/react-tabs.css'; @observer export class SettingsPrimaryPane extends Component<{ editor: Editor }> { @@ -114,7 +116,33 @@ export class SettingsPrimaryPane extends Component<{ editor: Editor }> { return ( <div className="lc-settings-main"> - <Tab + <Tabs + selectedKey={activeKey} + onSelect={(tabKey) => { + this._activeKey = tabKey; + }} + className="lc-settings-tabs" + > + <TabList> + { + (items as SettingField[]).map((field) => { + return <Tab><Title title={field.title} /></Tab> + }) + } + </TabList> + + { + (items as SettingField[]).map((field) => { + return ( + <TabPanel className="lc-settings-tabs-content"> + { this.renderBreadcrumb() } + <SettingsPane target={field} key={field.id} /> + </TabPanel> + ) + }) + } + </Tabs> + {/* <Tab activeKey={activeKey} onChange={(tabKey) => { this._activeKey = tabKey; @@ -126,7 +154,7 @@ export class SettingsPrimaryPane extends Component<{ editor: Editor }> { extra={this.renderBreadcrumb()} > {tabs} - </Tab> + </Tab> */} </div> ); } diff --git a/packages/editor-skeleton/src/layouts/workbench.less b/packages/editor-skeleton/src/layouts/workbench.less index deec754a1..4ec024cb1 100644 --- a/packages/editor-skeleton/src/layouts/workbench.less +++ b/packages/editor-skeleton/src/layouts/workbench.less @@ -345,6 +345,7 @@ body { display: block; } .lc-settings-tabs{ + padding-top: 12px; > .next-tabs-nav-extra{ top: 36px !important; } @@ -354,13 +355,20 @@ body { line-height: 12px; } } + > ul { + padding-left: 8px; + border-bottom: 1px solid #ddd !important; + li.react-tabs__tab--selected { + border-color: #ddd !important; + } + } .lc-title{ color: inherit; line-height: inherit !important; } } .lc-settings-tabs-content{ - top: 66px; + top: 43px; } } } From afc775856ce5e3403e984403a73d75b077471d53 Mon Sep 17 00:00:00 2001 From: "wuyue.xht" <wuyue.xht@alibaba-inc.com> Date: Thu, 11 Jun 2020 10:53:07 +0800 Subject: [PATCH 44/70] =?UTF-8?q?feat:=20panel=E5=A2=9E=E5=8A=A0=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E5=9F=8B=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/widget-views.tsx | 36 ++++++++++--------- .../src/layouts/left-fixed-pane.tsx | 30 +++++++--------- packages/editor-skeleton/src/widget/panel.ts | 3 +- 3 files changed, 33 insertions(+), 36 deletions(-) diff --git a/packages/editor-skeleton/src/components/widget-views.tsx b/packages/editor-skeleton/src/components/widget-views.tsx index 13dad59f8..de85ddce8 100644 --- a/packages/editor-skeleton/src/components/widget-views.tsx +++ b/packages/editor-skeleton/src/components/widget-views.tsx @@ -27,7 +27,7 @@ function HelpTip({ tip }: any) { return ( <div> <a href={tip.url} target="_blank" rel="noopener noreferrer"> - <Icon type="help" size="small" className="lc-help-tip"/> + <Icon type="help" size="small" className="lc-help-tip" /> </a> <Tip>{tip.content}</Tip> </div> @@ -35,10 +35,10 @@ function HelpTip({ tip }: any) { } return ( <div> - <Icon type="help" size="small" className="lc-help-tip"/> + <Icon type="help" size="small" className="lc-help-tip" /> <Tip>{tip.content}</Tip> </div> - ) + ); } @observer @@ -49,7 +49,7 @@ export class PanelDockView extends Component<DockProps & { dock: PanelDock }> { componentDidUpdate() { this.checkActived(); } - private lastActived: boolean = false; + private lastActived = false; checkActived() { const { dock } = this.props; if (dock.actived !== this.lastActived) { @@ -77,12 +77,10 @@ export class PanelDockView extends Component<DockProps & { dock: PanelDock }> { } } -export class DialogDockView extends Component { - -} +export class DialogDockView extends Component {} @observer -export class TitledPanelView extends Component<{ panel: Panel }> { +export class TitledPanelView extends Component<{ panel: Panel; area?: string }> { shouldComponentUpdate() { return false; } @@ -92,7 +90,7 @@ export class TitledPanelView extends Component<{ panel: Panel }> { componentDidUpdate() { this.checkVisible(); } - private lastVisible: boolean = false; + private lastVisible = false; checkVisible() { const { panel } = this.props; const currentVisible = panel.inited && panel.visible; @@ -106,14 +104,17 @@ export class TitledPanelView extends Component<{ panel: Panel }> { } } render() { - const { panel } = this.props; + const { panel, area } = this.props; if (!panel.inited) { return null; } return ( - <div className={classNames('lc-titled-panel', { - hidden: !panel.visible, - })}> + <div + className={classNames('lc-titled-panel', { + hidden: !panel.visible, + })} + id={`${area || ''}-${panel.name}`} + > <PanelTitle panel={panel} /> <div className="lc-panel-body">{panel.body}</div> </div> @@ -122,7 +123,7 @@ export class TitledPanelView extends Component<{ panel: Panel }> { } @observer -export class PanelView extends Component<{ panel: Panel }> { +export class PanelView extends Component<{ panel: Panel; area?: string }> { shouldComponentUpdate() { return false; } @@ -132,7 +133,7 @@ export class PanelView extends Component<{ panel: Panel }> { componentDidUpdate() { this.checkVisible(); } - private lastVisible: boolean = false; + private lastVisible = false; checkVisible() { const { panel } = this.props; const currentVisible = panel.inited && panel.visible; @@ -150,7 +151,7 @@ export class PanelView extends Component<{ panel: Panel }> { } } render() { - const { panel } = this.props; + const { panel, area } = this.props; if (!panel.inited) { return null; } @@ -159,6 +160,7 @@ export class PanelView extends Component<{ panel: Panel }> { className={classNames('lc-panel', { hidden: !panel.visible, })} + id={`${area || ''}-${panel.name}`} > {panel.body} </div> @@ -233,7 +235,7 @@ export class WidgetView extends Component<{ widget: IWidget }> { componentDidUpdate() { this.checkVisible(); } - private lastVisible: boolean = false; + private lastVisible = false; checkVisible() { const { widget } = this.props; const currentVisible = widget.visible; diff --git a/packages/editor-skeleton/src/layouts/left-fixed-pane.tsx b/packages/editor-skeleton/src/layouts/left-fixed-pane.tsx index 2ad17c903..1a7359d38 100644 --- a/packages/editor-skeleton/src/layouts/left-fixed-pane.tsx +++ b/packages/editor-skeleton/src/layouts/left-fixed-pane.tsx @@ -25,19 +25,17 @@ export default class LeftFixedPane extends Component<{ area: Area<PanelConfig, P 'lc-area-visible': area.visible, })} > - { - !hideTitleBar && ( - <Button - text - className="lc-pane-close" - onClick={() => { - area.setVisible(false); - }} - > - <Icon type="close" /> - </Button> - ) - } + {!hideTitleBar && ( + <Button + text + className="lc-pane-close" + onClick={() => { + area.setVisible(false); + }} + > + <Icon type="close" /> + </Button> + )} <Contents area={area} /> </div> ); @@ -51,10 +49,6 @@ class Contents extends Component<{ area: Area<PanelConfig, Panel> }> { } render() { const { area } = this.props; - return ( - <Fragment> - {area.container.items.map((panel) => panel.content)} - </Fragment> - ); + return <Fragment>{area.container.items.map((panel) => panel.content)}</Fragment>; } } diff --git a/packages/editor-skeleton/src/widget/panel.ts b/packages/editor-skeleton/src/widget/panel.ts index 3f2699fe9..469db73d5 100644 --- a/packages/editor-skeleton/src/widget/panel.ts +++ b/packages/editor-skeleton/src/widget/panel.ts @@ -57,9 +57,10 @@ export default class Panel implements IWidget { return createElement(PanelView, { panel: this, key: this.id, + area: this.parent?.name, }); } - return createElement(TitledPanelView, { panel: this, key: this.id }); + return createElement(TitledPanelView, { panel: this, key: this.id, area: this.parent?.name }); } readonly title: TitleContent; From 5b148c1199427bb448c10716ce87ca2570e83b7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8A=9B=E7=9A=93?= <lihao.ylh@alibaba-inc.com> Date: Thu, 11 Jun 2020 22:35:18 +0800 Subject: [PATCH 45/70] =?UTF-8?q?refactor:=20=E8=BF=98=E6=98=AF=E6=81=A2?= =?UTF-8?q?=E5=A4=8D=E4=BD=BF=E7=94=A8=20next/tab?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/editor-skeleton/package.json | 5 ++- .../settings/settings-primary-pane.tsx | 35 +++---------------- .../src/layouts/workbench.less | 10 +----- 3 files changed, 7 insertions(+), 43 deletions(-) diff --git a/packages/editor-skeleton/package.json b/packages/editor-skeleton/package.json index 350426d18..170d11622 100644 --- a/packages/editor-skeleton/package.json +++ b/packages/editor-skeleton/package.json @@ -23,11 +23,10 @@ "@ali/lowcode-editor-core": "^0.8.15", "@ali/lowcode-types": "^0.8.5", "@ali/lowcode-utils": "^0.8.6", - "@alifd/next": "^1.x", + "@alifd/next": "^1.20.12", "classnames": "^2.2.6", "react": "^16.8.1", - "react-dom": "^16.8.1", - "react-tabs": "^3.1.1" + "react-dom": "^16.8.1" }, "devDependencies": { "@alib/build-scripts": "^0.1.3", diff --git a/packages/editor-skeleton/src/components/settings/settings-primary-pane.tsx b/packages/editor-skeleton/src/components/settings/settings-primary-pane.tsx index 24e59296d..5d26a3c27 100644 --- a/packages/editor-skeleton/src/components/settings/settings-primary-pane.tsx +++ b/packages/editor-skeleton/src/components/settings/settings-primary-pane.tsx @@ -1,12 +1,10 @@ import React, { Component } from 'react'; -import { Breadcrumb } from '@alifd/next'; -import { Tabs, Tab, TabList, TabPanel } from 'react-tabs'; +import { Tab, Breadcrumb } from '@alifd/next'; import { Title, observer, Editor, obx } from '@ali/lowcode-editor-core'; import { Node, isSettingField, SettingField } from '@ali/lowcode-designer'; import { SettingsMain } from './main'; import { SettingsPane } from './settings-pane'; import { createIcon } from '@ali/lowcode-utils'; -import 'react-tabs/style/react-tabs.css'; @observer export class SettingsPrimaryPane extends Component<{ editor: Editor }> { @@ -116,33 +114,7 @@ export class SettingsPrimaryPane extends Component<{ editor: Editor }> { return ( <div className="lc-settings-main"> - <Tabs - selectedKey={activeKey} - onSelect={(tabKey) => { - this._activeKey = tabKey; - }} - className="lc-settings-tabs" - > - <TabList> - { - (items as SettingField[]).map((field) => { - return <Tab><Title title={field.title} /></Tab> - }) - } - </TabList> - - { - (items as SettingField[]).map((field) => { - return ( - <TabPanel className="lc-settings-tabs-content"> - { this.renderBreadcrumb() } - <SettingsPane target={field} key={field.id} /> - </TabPanel> - ) - }) - } - </Tabs> - {/* <Tab + <Tab activeKey={activeKey} onChange={(tabKey) => { this._activeKey = tabKey; @@ -151,10 +123,11 @@ export class SettingsPrimaryPane extends Component<{ editor: Editor }> { animation={false} excessMode="dropdown" contentClassName="lc-settings-tabs-content" + disableKeyboard={true} extra={this.renderBreadcrumb()} > {tabs} - </Tab> */} + </Tab> </div> ); } diff --git a/packages/editor-skeleton/src/layouts/workbench.less b/packages/editor-skeleton/src/layouts/workbench.less index 4ec024cb1..deec754a1 100644 --- a/packages/editor-skeleton/src/layouts/workbench.less +++ b/packages/editor-skeleton/src/layouts/workbench.less @@ -345,7 +345,6 @@ body { display: block; } .lc-settings-tabs{ - padding-top: 12px; > .next-tabs-nav-extra{ top: 36px !important; } @@ -355,20 +354,13 @@ body { line-height: 12px; } } - > ul { - padding-left: 8px; - border-bottom: 1px solid #ddd !important; - li.react-tabs__tab--selected { - border-color: #ddd !important; - } - } .lc-title{ color: inherit; line-height: inherit !important; } } .lc-settings-tabs-content{ - top: 43px; + top: 66px; } } } From 2df6230fb7037b6e830835ce6dc0f76a997547b0 Mon Sep 17 00:00:00 2001 From: "jiulong.hjl" <jiulong.hjl@alibaba-inc.com> Date: Fri, 12 Jun 2020 11:08:22 +0800 Subject: [PATCH 46/70] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Dbool=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E5=AF=B9=E5=BA=94=E7=9A=84setter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/editor-skeleton/src/transducers/parse-props.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/editor-skeleton/src/transducers/parse-props.ts b/packages/editor-skeleton/src/transducers/parse-props.ts index 2ea525ef2..3c216c396 100644 --- a/packages/editor-skeleton/src/transducers/parse-props.ts +++ b/packages/editor-skeleton/src/transducers/parse-props.ts @@ -53,7 +53,7 @@ function propTypeToSetter(propType: PropType): SetterType { }; case 'bool': return { - componentName: 'NumberSetter', + componentName: 'BoolSetter', isRequired, initialValue: false, }; From 703c9fa6d4c4d8d9092b2d83426e1dfa646e715c Mon Sep 17 00:00:00 2001 From: kangwei <bingbing.yb@alibaba-inc.com> Date: Mon, 15 Jun 2020 22:24:41 +0800 Subject: [PATCH 47/70] fix listsetter bugs --- .../src/designer/setting/setting-field.ts | 22 +++++++++++++++---- .../designer/setting/setting-prop-entry.ts | 7 ++++-- 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/packages/designer/src/designer/setting/setting-field.ts b/packages/designer/src/designer/setting/setting-field.ts index 3f092b753..f15969b75 100644 --- a/packages/designer/src/designer/setting/setting-field.ts +++ b/packages/designer/src/designer/setting/setting-field.ts @@ -91,8 +91,16 @@ export class SettingField extends SettingPropEntry implements SettingEntry { } private hotValue: any; - + // ======= compatibles for vision ====== + setValue(val: any, isHotValue?: boolean, force?: boolean, extraOptions?: any) { + if (isHotValue) { + this.setHotValue(val, extraOptions); + return; + } + super.setValue(val, false, false, extraOptions); + } + getHotValue(): any { if (this.hotValue) { return this.hotValue; @@ -105,7 +113,7 @@ export class SettingField extends SettingPropEntry implements SettingEntry { return this.transducer.toHot(v); } - setHotValue(data: any) { + setHotValue(data: any, options?: any) { this.hotValue = data; const v = this.transducer.toNative(data); if (this.isUseVariable()) { @@ -114,10 +122,16 @@ export class SettingField extends SettingPropEntry implements SettingEntry { type: 'JSExpression', value: ov.value, mock: v, - }); + }, false, false, options); } else { - this.setValue(v); + this.setValue(v, false, false, options); } + + // dirty fix list setter + if (Array.isArray(data) && data[0] && data[0].__sid__) { + return; + } + this.valueChange(); } diff --git a/packages/designer/src/designer/setting/setting-prop-entry.ts b/packages/designer/src/designer/setting/setting-prop-entry.ts index cae691219..d6988543e 100644 --- a/packages/designer/src/designer/setting/setting-prop-entry.ts +++ b/packages/designer/src/designer/setting/setting-prop-entry.ts @@ -144,12 +144,15 @@ export class SettingPropEntry implements SettingEntry { /** * 设置当前属性值 */ - setValue(val: any) { + setValue(val: any, isHotValue?: boolean, force?: boolean, extraOptions?: any) { if (this.type === 'field') { this.parent.setPropValue(this.name, val); } + if (!extraOptions) { + extraOptions = {}; + } const { setValue } = this.extraProps; - if (setValue) { + if (setValue && !extraOptions.disableMutator) { setValue(this, val); } } From 59bfee8fc608adb6970f23725aa283458cf2496c Mon Sep 17 00:00:00 2001 From: kangwei <bingbing.yb@alibaba-inc.com> Date: Mon, 15 Jun 2020 22:40:18 +0800 Subject: [PATCH 48/70] Publish - @ali/lowcode-demo@0.8.29 - @ali/lowcode-designer@0.9.19 - @ali/lowcode-editor-core@0.8.16 - @ali/lowcode-editor-preset-general@0.9.5 - @ali/lowcode-editor-preset-vision@0.8.20 - @ali/lowcode-editor-setters@0.9.3 - @ali/lowcode-editor-skeleton@0.8.25 - @ali/lowcode-plugin-components-pane@0.8.22 - @ali/lowcode-plugin-designer@0.9.19 - @ali/lowcode-plugin-event-bind-dialog@0.8.16 - @ali/lowcode-plugin-outline-pane@0.8.25 - @ali/lowcode-plugin-sample-logo@0.8.15 - @ali/lowcode-plugin-sample-preview@0.8.24 - @ali/lowcode-plugin-source-editor@0.8.13 - @ali/lowcode-plugin-undo-redo@0.8.24 - @ali/lowcode-plugin-variable-bind-dialog@0.8.14 - @ali/lowcode-plugin-zh-en@0.8.18 - @ali/lowcode-react-simulator-renderer@0.8.25 - @ali/lowcode-types@0.8.6 - @ali/lowcode-utils@0.8.7 --- packages/demo/CHANGELOG.md | 11 ++++++++ packages/demo/package.json | 26 +++++++++---------- packages/designer/CHANGELOG.md | 22 ++++++++++++++++ packages/designer/package.json | 8 +++--- packages/editor-core/CHANGELOG.md | 13 ++++++++++ packages/editor-core/package.json | 6 ++--- packages/editor-preset-general/CHANGELOG.md | 8 ++++++ packages/editor-preset-general/package.json | 16 ++++++------ packages/editor-preset-vision/CHANGELOG.md | 23 ++++++++++++++++ packages/editor-preset-vision/package.json | 12 ++++----- packages/editor-setters/CHANGELOG.md | 8 ++++++ packages/editor-setters/package.json | 4 +-- packages/editor-skeleton/CHANGELOG.md | 20 ++++++++++++++ packages/editor-skeleton/package.json | 10 +++---- packages/plugin-components-pane/CHANGELOG.md | 8 ++++++ packages/plugin-components-pane/package.json | 8 +++--- packages/plugin-designer/CHANGELOG.md | 8 ++++++ packages/plugin-designer/package.json | 6 ++--- .../plugin-event-bind-dialog/CHANGELOG.md | 8 ++++++ .../plugin-event-bind-dialog/package.json | 6 ++--- packages/plugin-outline-pane/CHANGELOG.md | 8 ++++++ packages/plugin-outline-pane/package.json | 10 +++---- packages/plugin-sample-logo/CHANGELOG.md | 8 ++++++ packages/plugin-sample-logo/package.json | 4 +-- packages/plugin-sample-preview/CHANGELOG.md | 8 ++++++ packages/plugin-sample-preview/package.json | 6 ++--- packages/plugin-source-editor/CHANGELOG.md | 8 ++++++ packages/plugin-source-editor/package.json | 4 +-- packages/plugin-undo-redo/CHANGELOG.md | 8 ++++++ packages/plugin-undo-redo/package.json | 12 ++++----- .../plugin-variable-bind-dialog/CHANGELOG.md | 8 ++++++ .../plugin-variable-bind-dialog/package.json | 4 +-- packages/plugin-zh-en/CHANGELOG.md | 8 ++++++ packages/plugin-zh-en/package.json | 8 +++--- .../react-simulator-renderer/CHANGELOG.md | 11 ++++++++ .../react-simulator-renderer/package.json | 8 +++--- packages/types/CHANGELOG.md | 11 ++++++++ packages/types/package.json | 2 +- packages/utils/CHANGELOG.md | 8 ++++++ packages/utils/package.json | 4 +-- 40 files changed, 297 insertions(+), 82 deletions(-) diff --git a/packages/demo/CHANGELOG.md b/packages/demo/CHANGELOG.md index 161843b7c..bef215ad0 100644 --- a/packages/demo/CHANGELOG.md +++ b/packages/demo/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.29"></a> +## [0.8.29](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-demo@0.8.28...@ali/lowcode-demo@0.8.29) (2020-06-15) + + +### Bug Fixes + +* style ([4694331](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/4694331)) + + + + <a name="0.8.28"></a> ## [0.8.28](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-demo@0.8.27...@ali/lowcode-demo@0.8.28) (2020-05-20) diff --git a/packages/demo/package.json b/packages/demo/package.json index 4087cad76..9040ae9f8 100644 --- a/packages/demo/package.json +++ b/packages/demo/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-demo", - "version": "0.8.28", + "version": "0.8.29", "private": true, "description": "低代码引擎 DEMO", "scripts": { @@ -9,21 +9,21 @@ }, "config": {}, "dependencies": { - "@ali/lowcode-editor-core": "^0.8.15", - "@ali/lowcode-editor-skeleton": "^0.8.24", - "@ali/lowcode-plugin-components-pane": "^0.8.21", - "@ali/lowcode-plugin-designer": "^0.9.18", - "@ali/lowcode-plugin-event-bind-dialog": "^0.8.15", - "@ali/lowcode-plugin-outline-pane": "^0.8.24", - "@ali/lowcode-plugin-sample-logo": "^0.8.14", - "@ali/lowcode-plugin-sample-preview": "^0.8.23", + "@ali/lowcode-editor-core": "^0.8.16", + "@ali/lowcode-editor-skeleton": "^0.8.25", + "@ali/lowcode-plugin-components-pane": "^0.8.22", + "@ali/lowcode-plugin-designer": "^0.9.19", + "@ali/lowcode-plugin-event-bind-dialog": "^0.8.16", + "@ali/lowcode-plugin-outline-pane": "^0.8.25", + "@ali/lowcode-plugin-sample-logo": "^0.8.15", + "@ali/lowcode-plugin-sample-preview": "^0.8.24", "@ali/lowcode-plugin-settings-pane": "^0.8.8", - "@ali/lowcode-plugin-undo-redo": "^0.8.23", - "@ali/lowcode-plugin-variable-bind-dialog": "^0.8.13", - "@ali/lowcode-plugin-zh-en": "^0.8.17", + "@ali/lowcode-plugin-undo-redo": "^0.8.24", + "@ali/lowcode-plugin-variable-bind-dialog": "^0.8.14", + "@ali/lowcode-plugin-zh-en": "^0.8.18", "@ali/lowcode-react-renderer": "^0.8.0", "@ali/lowcode-runtime": "^0.8.13", - "@ali/lowcode-utils": "^0.8.6", + "@ali/lowcode-utils": "^0.8.7", "@ali/ve-action-pane": "^4.7.0-beta.0", "@ali/ve-datapool-pane": "^6.4.3", "@ali/ve-history-pane": "4.0.0", diff --git a/packages/designer/CHANGELOG.md b/packages/designer/CHANGELOG.md index 9f6389e6f..7c7158162 100644 --- a/packages/designer/CHANGELOG.md +++ b/packages/designer/CHANGELOG.md @@ -3,6 +3,28 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.9.19"></a> +## [0.9.19](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-designer@0.9.18...@ali/lowcode-designer@0.9.19) (2020-06-15) + + +### Bug Fixes + +* force schema ([6d0a8ff](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/6d0a8ff)) +* patch prototype ([f20bfaa](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/f20bfaa)) +* try get settingfield ([56f242f](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/56f242f)) +* 禁止组件拉到 Page 的直接子节点, 以及替换 tab 组件 ([d93a291](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/d93a291)) + + +### Features + +* complete live-editing expr & i18n ([3ac08ba](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/3ac08ba)) +* get SettingField instead of SettingPropEntry for compatibility ([2787a12](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/2787a12)) +* support prop.autorun ([c0a5235](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/c0a5235)) +* ve事件埋点 ([700e5b0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/700e5b0)) + + + + <a name="0.9.18"></a> ## [0.9.18](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-designer@0.9.17...@ali/lowcode-designer@0.9.18) (2020-05-20) diff --git a/packages/designer/package.json b/packages/designer/package.json index c9ea8d181..855d46808 100644 --- a/packages/designer/package.json +++ b/packages/designer/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-designer", - "version": "0.9.18", + "version": "0.9.19", "description": "Designer for Ali LowCode Engine", "main": "lib/index.js", "module": "es/index.js", @@ -15,9 +15,9 @@ }, "license": "MIT", "dependencies": { - "@ali/lowcode-editor-core": "^0.8.15", - "@ali/lowcode-types": "^0.8.5", - "@ali/lowcode-utils": "^0.8.6", + "@ali/lowcode-editor-core": "^0.8.16", + "@ali/lowcode-types": "^0.8.6", + "@ali/lowcode-utils": "^0.8.7", "classnames": "^2.2.6", "event": "^1.0.0", "react": "^16", diff --git a/packages/editor-core/CHANGELOG.md b/packages/editor-core/CHANGELOG.md index 2b3872505..a1eecb91f 100644 --- a/packages/editor-core/CHANGELOG.md +++ b/packages/editor-core/CHANGELOG.md @@ -3,6 +3,19 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.16"></a> +## [0.8.16](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-core@0.8.15...@ali/lowcode-editor-core@0.8.16) (2020-06-15) + + +### Features + +* add Monitor ([f915d19](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/f915d19)) +* add URL link for setter titles ([4678408](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/4678408)) +* ve事件埋点 ([700e5b0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/700e5b0)) + + + + <a name="0.8.15"></a> ## [0.8.15](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-core@0.8.14...@ali/lowcode-editor-core@0.8.15) (2020-05-20) diff --git a/packages/editor-core/package.json b/packages/editor-core/package.json index ce872928d..39461e56c 100644 --- a/packages/editor-core/package.json +++ b/packages/editor-core/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-editor-core", - "version": "0.8.15", + "version": "0.8.16", "description": "Core Api for Ali lowCode engine", "license": "MIT", "main": "lib/index.js", @@ -15,8 +15,8 @@ "cloud-build": "build-scripts build --skip-demo" }, "dependencies": { - "@ali/lowcode-types": "^0.8.5", - "@ali/lowcode-utils": "^0.8.6", + "@ali/lowcode-types": "^0.8.6", + "@ali/lowcode-utils": "^0.8.7", "@alifd/next": "^1.19.16", "@recore/obx": "^1.0.9", "@recore/obx-react": "^1.0.8", diff --git a/packages/editor-preset-general/CHANGELOG.md b/packages/editor-preset-general/CHANGELOG.md index 0faf7fcf2..10f670ef0 100644 --- a/packages/editor-preset-general/CHANGELOG.md +++ b/packages/editor-preset-general/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.9.5"></a> +## [0.9.5](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-preset-general@0.9.4...@ali/lowcode-editor-preset-general@0.9.5) (2020-06-15) + + + + +**Note:** Version bump only for package @ali/lowcode-editor-preset-general + <a name="0.9.4"></a> ## [0.9.4](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-preset-general@0.9.3...@ali/lowcode-editor-preset-general@0.9.4) (2020-05-20) diff --git a/packages/editor-preset-general/package.json b/packages/editor-preset-general/package.json index fd0f15688..2cd0a105f 100644 --- a/packages/editor-preset-general/package.json +++ b/packages/editor-preset-general/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-editor-preset-general", - "version": "0.9.4", + "version": "0.9.5", "description": "Ali General Editor Preset", "main": "lib/index.js", "files": [ @@ -14,12 +14,12 @@ }, "license": "MIT", "dependencies": { - "@ali/lowcode-editor-core": "^0.8.15", - "@ali/lowcode-editor-skeleton": "^0.8.24", - "@ali/lowcode-plugin-designer": "^0.9.18", - "@ali/lowcode-plugin-outline-pane": "^0.8.24", - "@ali/lowcode-types": "^0.8.5", - "@ali/lowcode-utils": "^0.8.6", + "@ali/lowcode-editor-core": "^0.8.16", + "@ali/lowcode-editor-skeleton": "^0.8.25", + "@ali/lowcode-plugin-designer": "^0.9.19", + "@ali/lowcode-plugin-outline-pane": "^0.8.25", + "@ali/lowcode-types": "^0.8.6", + "@ali/lowcode-utils": "^0.8.7", "@alifd/next": "^1.19.12", "@alife/theme-lowcode-dark": "^0.1.0", "@alife/theme-lowcode-light": "^0.1.0", @@ -29,7 +29,7 @@ "react-dom": "^16.8.1" }, "devDependencies": { - "@ali/lowcode-editor-setters": "^0.9.2", + "@ali/lowcode-editor-setters": "^0.9.3", "@alib/build-scripts": "^0.1.18", "@types/domready": "^1.0.0", "@types/events": "^3.0.0", diff --git a/packages/editor-preset-vision/CHANGELOG.md b/packages/editor-preset-vision/CHANGELOG.md index f173eaf8b..f76652804 100644 --- a/packages/editor-preset-vision/CHANGELOG.md +++ b/packages/editor-preset-vision/CHANGELOG.md @@ -3,6 +3,29 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.20"></a> +## [0.8.20](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-preset-vision@0.8.19...@ali/lowcode-editor-preset-vision@0.8.20) (2020-06-15) + + +### Bug Fixes + +* compatiable old VE api ([45af1c5](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/45af1c5)) +* i18n parser & setting ([dbdd9e4](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/dbdd9e4)) +* patch prototype ([f20bfaa](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/f20bfaa)) +* render children ([487f257](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/487f257)) +* style ([4694331](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/4694331)) +* 调整保存成功弹出框位置 ([5198dae](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/5198dae)) + + +### Features + +* complete live-editing expr & i18n ([3ac08ba](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/3ac08ba)) +* support prop.autorun ([c0a5235](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/c0a5235)) +* ve事件埋点 ([700e5b0](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/700e5b0)) + + + + <a name="0.8.19"></a> ## [0.8.19](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-preset-vision@0.8.18...@ali/lowcode-editor-preset-vision@0.8.19) (2020-05-20) diff --git a/packages/editor-preset-vision/package.json b/packages/editor-preset-vision/package.json index 4a6ae42eb..b803ad588 100644 --- a/packages/editor-preset-vision/package.json +++ b/packages/editor-preset-vision/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-editor-preset-vision", - "version": "0.8.19", + "version": "0.8.20", "description": "Vision Polyfill for Ali lowCode engine", "main": "lib/index.js", "files": [ @@ -14,11 +14,11 @@ }, "license": "MIT", "dependencies": { - "@ali/lowcode-designer": "^0.9.18", - "@ali/lowcode-editor-core": "^0.8.15", - "@ali/lowcode-editor-skeleton": "^0.8.24", - "@ali/lowcode-plugin-designer": "^0.9.18", - "@ali/lowcode-plugin-outline-pane": "^0.8.24", + "@ali/lowcode-designer": "^0.9.19", + "@ali/lowcode-editor-core": "^0.8.16", + "@ali/lowcode-editor-skeleton": "^0.8.25", + "@ali/lowcode-plugin-designer": "^0.9.19", + "@ali/lowcode-plugin-outline-pane": "^0.8.25", "@ali/ve-icons": "^4.1.9", "@ali/ve-less-variables": "2.0.3", "@ali/ve-popups": "^4.2.5", diff --git a/packages/editor-setters/CHANGELOG.md b/packages/editor-setters/CHANGELOG.md index af4a54e67..0bd60714f 100644 --- a/packages/editor-setters/CHANGELOG.md +++ b/packages/editor-setters/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.9.3"></a> +## [0.9.3](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-setters@0.9.2...@ali/lowcode-editor-setters@0.9.3) (2020-06-15) + + + + +**Note:** Version bump only for package @ali/lowcode-editor-setters + <a name="0.9.2"></a> ## [0.9.2](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-setters@0.9.1...@ali/lowcode-editor-setters@0.9.2) (2020-05-20) diff --git a/packages/editor-setters/package.json b/packages/editor-setters/package.json index 388f45de8..edc6a1f17 100644 --- a/packages/editor-setters/package.json +++ b/packages/editor-setters/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-editor-setters", - "version": "0.9.2", + "version": "0.9.3", "description": "Builtin setters for Ali lowCode engine", "files": [ "es", @@ -22,7 +22,7 @@ "@ali/iceluna-comp-react-node": "^1.0.5", "@ali/iceluna-sdk": "^1.0.5-beta.24", "@ali/lc-style-setter": "^0.0.1", - "@ali/lowcode-editor-core": "^0.8.15", + "@ali/lowcode-editor-core": "^0.8.16", "@alifd/next": "^1.19.16", "acorn": "^6.4.1", "classnames": "^2.2.6", diff --git a/packages/editor-skeleton/CHANGELOG.md b/packages/editor-skeleton/CHANGELOG.md index 3e415e50b..18f1e965c 100644 --- a/packages/editor-skeleton/CHANGELOG.md +++ b/packages/editor-skeleton/CHANGELOG.md @@ -3,6 +3,26 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.25"></a> +## [0.8.25](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-skeleton@0.8.24...@ali/lowcode-editor-skeleton@0.8.25) (2020-06-15) + + +### Bug Fixes + +* 修复bool类型对应的setter ([2df6230](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/2df6230)) +* 禁止组件拉到 Page 的直接子节点, 以及替换 tab 组件 ([d93a291](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/d93a291)) +* 调整保存成功弹出框位置 ([5198dae](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/5198dae)) + + +### Features + +* add URL link for setter titles ([4678408](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/4678408)) +* panel增加自动埋点 ([afc7758](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/afc7758)) +* 自动埋点 ([fecf34d](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/fecf34d)) + + + + <a name="0.8.24"></a> ## [0.8.24](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-skeleton@0.8.23...@ali/lowcode-editor-skeleton@0.8.24) (2020-05-20) diff --git a/packages/editor-skeleton/package.json b/packages/editor-skeleton/package.json index 170d11622..95548cb1a 100644 --- a/packages/editor-skeleton/package.json +++ b/packages/editor-skeleton/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-editor-skeleton", - "version": "0.8.24", + "version": "0.8.25", "description": "alibaba lowcode editor skeleton", "main": "lib/index.js", "module": "es/index.js", @@ -19,10 +19,10 @@ "editor" ], "dependencies": { - "@ali/lowcode-designer": "^0.9.18", - "@ali/lowcode-editor-core": "^0.8.15", - "@ali/lowcode-types": "^0.8.5", - "@ali/lowcode-utils": "^0.8.6", + "@ali/lowcode-designer": "^0.9.19", + "@ali/lowcode-editor-core": "^0.8.16", + "@ali/lowcode-types": "^0.8.6", + "@ali/lowcode-utils": "^0.8.7", "@alifd/next": "^1.20.12", "classnames": "^2.2.6", "react": "^16.8.1", diff --git a/packages/plugin-components-pane/CHANGELOG.md b/packages/plugin-components-pane/CHANGELOG.md index a07ccce7f..437eccf6a 100644 --- a/packages/plugin-components-pane/CHANGELOG.md +++ b/packages/plugin-components-pane/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.22"></a> +## [0.8.22](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-components-pane@0.8.21...@ali/lowcode-plugin-components-pane@0.8.22) (2020-06-15) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-components-pane + <a name="0.8.21"></a> ## [0.8.21](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-components-pane@0.8.20...@ali/lowcode-plugin-components-pane@0.8.21) (2020-05-20) diff --git a/packages/plugin-components-pane/package.json b/packages/plugin-components-pane/package.json index d8d0530a3..411cab0f1 100644 --- a/packages/plugin-components-pane/package.json +++ b/packages/plugin-components-pane/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-components-pane", - "version": "0.8.21", + "version": "0.8.22", "description": "alibaba lowcode editor component-list plugin", "files": [ "es/", @@ -20,9 +20,9 @@ ], "author": "xiayang.xy", "dependencies": { - "@ali/lowcode-designer": "^0.9.18", - "@ali/lowcode-editor-core": "^0.8.15", - "@ali/lowcode-types": "^0.8.3", + "@ali/lowcode-designer": "^0.9.19", + "@ali/lowcode-editor-core": "^0.8.16", + "@ali/lowcode-types": "^0.8.6", "@ali/ve-component-list": "^1.1.1", "@alifd/next": "^1.19.19", "react": "^16.8.1" diff --git a/packages/plugin-designer/CHANGELOG.md b/packages/plugin-designer/CHANGELOG.md index 01ff8a7fc..048d9db4a 100644 --- a/packages/plugin-designer/CHANGELOG.md +++ b/packages/plugin-designer/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.9.19"></a> +## [0.9.19](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-designer@0.9.18...@ali/lowcode-plugin-designer@0.9.19) (2020-06-15) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-designer + <a name="0.9.18"></a> ## [0.9.18](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-designer@0.9.17...@ali/lowcode-plugin-designer@0.9.18) (2020-05-20) diff --git a/packages/plugin-designer/package.json b/packages/plugin-designer/package.json index 4f699b49d..cecdbc031 100644 --- a/packages/plugin-designer/package.json +++ b/packages/plugin-designer/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-designer", - "version": "0.9.18", + "version": "0.9.19", "description": "alibaba lowcode editor designer plugin", "files": [ "es", @@ -20,8 +20,8 @@ ], "author": "xiayang.xy", "dependencies": { - "@ali/lowcode-designer": "^0.9.18", - "@ali/lowcode-editor-core": "^0.8.15", + "@ali/lowcode-designer": "^0.9.19", + "@ali/lowcode-editor-core": "^0.8.16", "react": "^16.8.1", "react-dom": "^16.8.1" }, diff --git a/packages/plugin-event-bind-dialog/CHANGELOG.md b/packages/plugin-event-bind-dialog/CHANGELOG.md index 02d1ae19c..395845187 100644 --- a/packages/plugin-event-bind-dialog/CHANGELOG.md +++ b/packages/plugin-event-bind-dialog/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.16"></a> +## [0.8.16](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-event-bind-dialog@0.8.15...@ali/lowcode-plugin-event-bind-dialog@0.8.16) (2020-06-15) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-event-bind-dialog + <a name="0.8.15"></a> ## [0.8.15](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-event-bind-dialog@0.8.14...@ali/lowcode-plugin-event-bind-dialog@0.8.15) (2020-05-20) diff --git a/packages/plugin-event-bind-dialog/package.json b/packages/plugin-event-bind-dialog/package.json index 58bdcde31..5bd955f74 100644 --- a/packages/plugin-event-bind-dialog/package.json +++ b/packages/plugin-event-bind-dialog/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-event-bind-dialog", - "version": "0.8.15", + "version": "0.8.16", "description": "alibaba lowcode editor event bind dialog plugin", "files": [ "es", @@ -19,8 +19,8 @@ ], "author": "zude.hzd", "dependencies": { - "@ali/lowcode-editor-core": "^0.8.15", - "@ali/lowcode-types": "^0.8.5", + "@ali/lowcode-editor-core": "^0.8.16", + "@ali/lowcode-types": "^0.8.6", "@alifd/next": "^1.19.16", "react": "^16.8.1", "react-dom": "^16.8.1" diff --git a/packages/plugin-outline-pane/CHANGELOG.md b/packages/plugin-outline-pane/CHANGELOG.md index 4f6069de7..4a77c560e 100644 --- a/packages/plugin-outline-pane/CHANGELOG.md +++ b/packages/plugin-outline-pane/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.25"></a> +## [0.8.25](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-outline-pane@0.8.24...@ali/lowcode-plugin-outline-pane@0.8.25) (2020-06-15) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-outline-pane + <a name="0.8.24"></a> ## [0.8.24](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-outline-pane@0.8.23...@ali/lowcode-plugin-outline-pane@0.8.24) (2020-05-20) diff --git a/packages/plugin-outline-pane/package.json b/packages/plugin-outline-pane/package.json index a53b327b6..0e0a4f4fc 100644 --- a/packages/plugin-outline-pane/package.json +++ b/packages/plugin-outline-pane/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-outline-pane", - "version": "0.8.24", + "version": "0.8.25", "description": "Outline pane for Ali lowCode engine", "files": [ "es", @@ -14,10 +14,10 @@ "test:snapshot": "ava --update-snapshots" }, "dependencies": { - "@ali/lowcode-designer": "^0.9.18", - "@ali/lowcode-editor-core": "^0.8.15", - "@ali/lowcode-types": "^0.8.5", - "@ali/lowcode-utils": "^0.8.6", + "@ali/lowcode-designer": "^0.9.19", + "@ali/lowcode-editor-core": "^0.8.16", + "@ali/lowcode-types": "^0.8.6", + "@ali/lowcode-utils": "^0.8.7", "@alifd/next": "^1.19.16", "classnames": "^2.2.6", "react": "^16", diff --git a/packages/plugin-sample-logo/CHANGELOG.md b/packages/plugin-sample-logo/CHANGELOG.md index f0f975168..86c7c4ffe 100644 --- a/packages/plugin-sample-logo/CHANGELOG.md +++ b/packages/plugin-sample-logo/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.15"></a> +## [0.8.15](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-sample-logo@0.8.14...@ali/lowcode-plugin-sample-logo@0.8.15) (2020-06-15) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-sample-logo + <a name="0.8.14"></a> ## [0.8.14](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-sample-logo@0.8.13...@ali/lowcode-plugin-sample-logo@0.8.14) (2020-05-20) diff --git a/packages/plugin-sample-logo/package.json b/packages/plugin-sample-logo/package.json index d638b3f50..e1b3e9cd3 100644 --- a/packages/plugin-sample-logo/package.json +++ b/packages/plugin-sample-logo/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-sample-logo", - "version": "0.8.14", + "version": "0.8.15", "description": "alibaba lowcode editor logo plugin", "files": [ "es/", @@ -20,7 +20,7 @@ ], "author": "xiayang.xy", "dependencies": { - "@ali/lowcode-editor-core": "^0.8.15", + "@ali/lowcode-editor-core": "^0.8.16", "react": "^16.8.1" }, "devDependencies": { diff --git a/packages/plugin-sample-preview/CHANGELOG.md b/packages/plugin-sample-preview/CHANGELOG.md index d008ef2a4..88387e2a6 100644 --- a/packages/plugin-sample-preview/CHANGELOG.md +++ b/packages/plugin-sample-preview/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.24"></a> +## [0.8.24](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-sample-preview@0.8.23...@ali/lowcode-plugin-sample-preview@0.8.24) (2020-06-15) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-sample-preview + <a name="0.8.23"></a> ## [0.8.23](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-sample-preview@0.8.22...@ali/lowcode-plugin-sample-preview@0.8.23) (2020-05-20) diff --git a/packages/plugin-sample-preview/package.json b/packages/plugin-sample-preview/package.json index b916aaec2..d4c83aac8 100644 --- a/packages/plugin-sample-preview/package.json +++ b/packages/plugin-sample-preview/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-sample-preview", - "version": "0.8.23", + "version": "0.8.24", "description": "alibaba lowcode editor sample preview plugin", "files": [ "es", @@ -18,8 +18,8 @@ "editor" ], "dependencies": { - "@ali/lowcode-designer": "^0.9.18", - "@ali/lowcode-editor-core": "^0.8.15", + "@ali/lowcode-designer": "^0.9.19", + "@ali/lowcode-editor-core": "^0.8.16", "@alifd/next": "^1.x", "react": "^16.8.1" }, diff --git a/packages/plugin-source-editor/CHANGELOG.md b/packages/plugin-source-editor/CHANGELOG.md index 64697f5b2..135a7bf97 100644 --- a/packages/plugin-source-editor/CHANGELOG.md +++ b/packages/plugin-source-editor/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.13"></a> +## [0.8.13](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-source-editor@0.8.12...@ali/lowcode-plugin-source-editor@0.8.13) (2020-06-15) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-source-editor + <a name="0.8.12"></a> ## [0.8.12](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-source-editor@0.8.11...@ali/lowcode-plugin-source-editor@0.8.12) (2020-05-20) diff --git a/packages/plugin-source-editor/package.json b/packages/plugin-source-editor/package.json index 4423829c0..69ca4e671 100644 --- a/packages/plugin-source-editor/package.json +++ b/packages/plugin-source-editor/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-source-editor", - "version": "0.8.12", + "version": "0.8.13", "description": "alibaba lowcode editor source-editor plugin", "files": [ "es", @@ -19,7 +19,7 @@ ], "author": "zude.hzd", "dependencies": { - "@ali/lowcode-editor-core": "^0.8.15", + "@ali/lowcode-editor-core": "^0.8.16", "@alifd/next": "^1.19.16", "js-beautify": "^1.10.1", "prettier": "^1.18.2", diff --git a/packages/plugin-undo-redo/CHANGELOG.md b/packages/plugin-undo-redo/CHANGELOG.md index 7c612b68d..cf8738ab7 100644 --- a/packages/plugin-undo-redo/CHANGELOG.md +++ b/packages/plugin-undo-redo/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.24"></a> +## [0.8.24](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-undo-redo@0.8.23...@ali/lowcode-plugin-undo-redo@0.8.24) (2020-06-15) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-undo-redo + <a name="0.8.23"></a> ## [0.8.23](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-undo-redo@0.8.22...@ali/lowcode-plugin-undo-redo@0.8.23) (2020-05-20) diff --git a/packages/plugin-undo-redo/package.json b/packages/plugin-undo-redo/package.json index 6d75fd297..e368ace2e 100644 --- a/packages/plugin-undo-redo/package.json +++ b/packages/plugin-undo-redo/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-undo-redo", - "version": "0.8.23", + "version": "0.8.24", "description": "alibaba lowcode editor undo redo plugin", "files": [ "es", @@ -19,11 +19,11 @@ ], "author": "xiayang.xy", "dependencies": { - "@ali/lowcode-designer": "^0.9.18", - "@ali/lowcode-editor-core": "^0.8.15", - "@ali/lowcode-editor-skeleton": "^0.8.24", - "@ali/lowcode-types": "^0.8.5", - "@ali/lowcode-utils": "^0.8.6", + "@ali/lowcode-designer": "^0.9.19", + "@ali/lowcode-editor-core": "^0.8.16", + "@ali/lowcode-editor-skeleton": "^0.8.25", + "@ali/lowcode-types": "^0.8.6", + "@ali/lowcode-utils": "^0.8.7", "react": "^16.8.1", "react-dom": "^16.8.1" }, diff --git a/packages/plugin-variable-bind-dialog/CHANGELOG.md b/packages/plugin-variable-bind-dialog/CHANGELOG.md index dfe1c8994..a1e8169f3 100644 --- a/packages/plugin-variable-bind-dialog/CHANGELOG.md +++ b/packages/plugin-variable-bind-dialog/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.14"></a> +## [0.8.14](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-variable-bind-dialog@0.8.13...@ali/lowcode-plugin-variable-bind-dialog@0.8.14) (2020-06-15) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-variable-bind-dialog + <a name="0.8.13"></a> ## [0.8.13](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-variable-bind-dialog@0.8.12...@ali/lowcode-plugin-variable-bind-dialog@0.8.13) (2020-05-20) diff --git a/packages/plugin-variable-bind-dialog/package.json b/packages/plugin-variable-bind-dialog/package.json index 52202d999..38334c573 100644 --- a/packages/plugin-variable-bind-dialog/package.json +++ b/packages/plugin-variable-bind-dialog/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-variable-bind-dialog", - "version": "0.8.13", + "version": "0.8.14", "description": "alibaba lowcode editor variable bind dialog plugin", "files": [ "es", @@ -19,7 +19,7 @@ ], "author": "zude.hzd", "dependencies": { - "@ali/lowcode-editor-core": "^0.8.15", + "@ali/lowcode-editor-core": "^0.8.16", "@alifd/next": "^1.19.16", "react": "^16.8.1", "react-dom": "^16.8.1" diff --git a/packages/plugin-zh-en/CHANGELOG.md b/packages/plugin-zh-en/CHANGELOG.md index 466faac94..93eaaeb67 100644 --- a/packages/plugin-zh-en/CHANGELOG.md +++ b/packages/plugin-zh-en/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.18"></a> +## [0.8.18](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-zh-en@0.8.17...@ali/lowcode-plugin-zh-en@0.8.18) (2020-06-15) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-zh-en + <a name="0.8.17"></a> ## [0.8.17](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-zh-en@0.8.16...@ali/lowcode-plugin-zh-en@0.8.17) (2020-05-20) diff --git a/packages/plugin-zh-en/package.json b/packages/plugin-zh-en/package.json index 10c5af483..1bc9dde9e 100644 --- a/packages/plugin-zh-en/package.json +++ b/packages/plugin-zh-en/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-zh-en", - "version": "0.8.17", + "version": "0.8.18", "description": "alibaba lowcode editor zhong english plugin", "files": [ "es", @@ -14,9 +14,9 @@ "test:snapshot": "ava --update-snapshots" }, "dependencies": { - "@ali/lowcode-editor-core": "^0.8.15", - "@ali/lowcode-types": "^0.8.5", - "@ali/lowcode-utils": "^0.8.6", + "@ali/lowcode-editor-core": "^0.8.16", + "@ali/lowcode-types": "^0.8.6", + "@ali/lowcode-utils": "^0.8.7", "react": "^16.8.1", "react-dom": "^16.8.1" }, diff --git a/packages/react-simulator-renderer/CHANGELOG.md b/packages/react-simulator-renderer/CHANGELOG.md index 45c5358b4..698d3ccb5 100644 --- a/packages/react-simulator-renderer/CHANGELOG.md +++ b/packages/react-simulator-renderer/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.25"></a> +## [0.8.25](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-react-simulator-renderer@0.8.24...@ali/lowcode-react-simulator-renderer@0.8.25) (2020-06-15) + + +### Bug Fixes + +* render children ([487f257](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/487f257)) + + + + <a name="0.8.24"></a> ## [0.8.24](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-react-simulator-renderer@0.8.23...@ali/lowcode-react-simulator-renderer@0.8.24) (2020-05-20) diff --git a/packages/react-simulator-renderer/package.json b/packages/react-simulator-renderer/package.json index 4ed5bce0d..8f0c68177 100644 --- a/packages/react-simulator-renderer/package.json +++ b/packages/react-simulator-renderer/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@ali/lowcode-react-simulator-renderer", - "version": "0.8.24", + "version": "0.8.25", "description": "react simulator renderer for alibaba lowcode designer", "main": "lib/index.js", "module": "es/index.js", @@ -13,10 +13,10 @@ "test:snapshot": "ava --update-snapshots" }, "dependencies": { - "@ali/lowcode-designer": "^0.9.18", + "@ali/lowcode-designer": "^0.9.19", "@ali/lowcode-react-renderer": "^0.8.0", - "@ali/lowcode-types": "^0.8.5", - "@ali/lowcode-utils": "^0.8.6", + "@ali/lowcode-types": "^0.8.6", + "@ali/lowcode-utils": "^0.8.7", "@ali/vu-css-style": "^1.0.2", "@recore/obx": "^1.0.8", "@recore/obx-react": "^1.0.7", diff --git a/packages/types/CHANGELOG.md b/packages/types/CHANGELOG.md index 31720400b..0a854bb2c 100644 --- a/packages/types/CHANGELOG.md +++ b/packages/types/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.6"></a> +## [0.8.6](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-types@0.8.5...@ali/lowcode-types@0.8.6) (2020-06-15) + + +### Features + +* support prop.autorun ([c0a5235](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/commit/c0a5235)) + + + + <a name="0.8.5"></a> ## [0.8.5](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-types@0.8.4...@ali/lowcode-types@0.8.5) (2020-05-18) diff --git a/packages/types/package.json b/packages/types/package.json index 148ae8c7b..2c83c0d54 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-types", - "version": "0.8.5", + "version": "0.8.6", "description": "Types for Ali lowCode engine", "files": [ "es", diff --git a/packages/utils/CHANGELOG.md b/packages/utils/CHANGELOG.md index e222db69c..a62cb4ab8 100644 --- a/packages/utils/CHANGELOG.md +++ b/packages/utils/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.7"></a> +## [0.8.7](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-utils@0.8.6...@ali/lowcode-utils@0.8.7) (2020-06-15) + + + + +**Note:** Version bump only for package @ali/lowcode-utils + <a name="0.8.6"></a> ## [0.8.6](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-utils@0.8.5...@ali/lowcode-utils@0.8.6) (2020-05-18) diff --git a/packages/utils/package.json b/packages/utils/package.json index ce0a06fea..0c2ec1653 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-utils", - "version": "0.8.6", + "version": "0.8.7", "description": "Utils for Ali lowCode engine", "files": [ "es", @@ -14,7 +14,7 @@ "test:snapshot": "ava --update-snapshots" }, "dependencies": { - "@ali/lowcode-types": "^0.8.5", + "@ali/lowcode-types": "^0.8.6", "@alifd/next": "^1.19.16", "react": "^16" }, From 89c384c74dea7ab2baedd2d2833efc7b74d7746d Mon Sep 17 00:00:00 2001 From: kangwei <bingbing.yb@alibaba-inc.com> Date: Tue, 16 Jun 2020 10:17:58 +0800 Subject: [PATCH 49/70] chore: build --- scripts/deploy.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/scripts/deploy.sh b/scripts/deploy.sh index 2e80701e7..5e889ce01 100755 --- a/scripts/deploy.sh +++ b/scripts/deploy.sh @@ -21,18 +21,18 @@ echo "" # work mkdir packages -cp -r $WORK_DIR/packages/demo packages/demo +# cp -r $WORK_DIR/packages/demo packages/demo cp -r $WORK_DIR/packages/react-simulator-renderer packages/react-simulator-renderer cp -r $WORK_DIR/packages/editor-preset-vision packages/editor-preset-vision -cp -r $WORK_DIR/packages/editor-preset-general packages/editor-preset-general +# cp -r $WORK_DIR/packages/editor-preset-general packages/editor-preset-general lerna bootstrap lerna run cloud-build --stream cd $WORK_DIR -mv deploy-space/packages/demo/build $BUILD_DEST -mv deploy-space/packages/react-simulator-renderer/dist/* $BUILD_DEST +# mv deploy-space/packages/demo/build $BUILD_DEST +mv deploy-space/packages/react-simulator-renderer/dist $BUILD_DEST mv deploy-space/packages/editor-preset-vision/dist/* $BUILD_DEST -mv deploy-space/packages/editor-preset-general/dist/* $BUILD_DEST +# mv deploy-space/packages/editor-preset-general/dist/* $BUILD_DEST cp deploy-space/static/* $BUILD_DEST echo "complete" From 1b3e2c4177b76d2e81de856e9b54d657aa55a28d Mon Sep 17 00:00:00 2001 From: kangwei <bingbing.yb@alibaba-inc.com> Date: Tue, 16 Jun 2020 10:27:43 +0800 Subject: [PATCH 50/70] chore: build --- packages/editor-preset-vision/package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/editor-preset-vision/package.json b/packages/editor-preset-vision/package.json index b803ad588..a09d5b780 100644 --- a/packages/editor-preset-vision/package.json +++ b/packages/editor-preset-vision/package.json @@ -23,6 +23,7 @@ "@ali/ve-less-variables": "2.0.3", "@ali/ve-popups": "^4.2.5", "@ali/ve-utils": "^1.1.0", + "@ali/ve-i18n-util": "^2.0.0", "@ali/vu-css-style": "^1.1.3", "@ali/vu-logger": "^1.0.7", "@ali/vu-style-sheet": "^2.4.0", From 8c72416cf7352cbd61a163564badc97d91c2e1c4 Mon Sep 17 00:00:00 2001 From: kangwei <bingbing.yb@alibaba-inc.com> Date: Tue, 16 Jun 2020 10:58:13 +0800 Subject: [PATCH 51/70] fix simulator imports --- packages/react-simulator-renderer/src/renderer.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/react-simulator-renderer/src/renderer.ts b/packages/react-simulator-renderer/src/renderer.ts index 29c07b69a..c5441de93 100644 --- a/packages/react-simulator-renderer/src/renderer.ts +++ b/packages/react-simulator-renderer/src/renderer.ts @@ -10,7 +10,7 @@ import { reactFindDOMNodes, FIBER_KEY } from './utils/react-find-dom-nodes'; import { isESModule, isElement, cursor, setNativeSelection } from '@ali/lowcode-utils'; import { RootSchema, NpmInfo, ComponentSchema } from '@ali/lowcode-types'; // just use types -import { BuiltinSimulatorRenderer, NodeInstance, Component, TransformStage } from '@ali/lowcode-designer'; +import { BuiltinSimulatorRenderer, NodeInstance, Component } from '@ali/lowcode-designer'; import Slot from './builtin-components/slot'; import Leaf from './builtin-components/leaf'; @@ -216,7 +216,7 @@ export class SimulatorRenderer implements BuiltinSimulatorRenderer { }; _schema.methods = {}; _schema.lifeCycles = {}; - + const getElement = (componentsMap: any, schema: any): ReactElement => { const Com = componentsMap[schema.componentName]; let children = null; @@ -224,7 +224,7 @@ export class SimulatorRenderer implements BuiltinSimulatorRenderer { children = schema.children.map((item: any) => getElement(componentsMap, item)); } const _leaf = host.document.designer.currentDocument?.createNode(schema); - const props = host.document.designer.transformProps(schema.props || {}, host.document.createNode(schema), TransformStage.Render); + const props = host.document.designer.transformProps(schema.props || {}, host.document.createNode(schema), 1 /*TransformStage.Render*/); return createElement(Com, {...props, _leaf}, children); } From 05f62da9d59403535b667d3336a43295ef86d9a3 Mon Sep 17 00:00:00 2001 From: "mario.gk" <mario.gk@alibaba-inc.com> Date: Tue, 16 Jun 2020 11:31:37 +0800 Subject: [PATCH 52/70] =?UTF-8?q?fix:=20=E5=8F=B3=E4=BE=A7=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E9=9D=A2=E6=9D=BF=E6=A0=B7=E5=BC=8F=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/bundle/upgrade-metadata.ts | 4 ++- .../src/components/field/index.less | 36 +++++++++---------- 2 files changed, 21 insertions(+), 19 deletions(-) diff --git a/packages/editor-preset-vision/src/bundle/upgrade-metadata.ts b/packages/editor-preset-vision/src/bundle/upgrade-metadata.ts index 99281a8cb..2fe205661 100644 --- a/packages/editor-preset-vision/src/bundle/upgrade-metadata.ts +++ b/packages/editor-preset-vision/src/bundle/upgrade-metadata.ts @@ -212,7 +212,9 @@ export function upgradePropConfig(config: OldPropConfig, collector: ConfigCollec liveTextEditing, } = config; - const extraProps: any = {}; + const extraProps: any = { + display: DISPLAY_TYPE.BLOCK, + }; const newConfig: any = { type: type === 'group' ? 'group' : 'field', name, diff --git a/packages/editor-skeleton/src/components/field/index.less b/packages/editor-skeleton/src/components/field/index.less index f1b155b2f..1ba86368d 100644 --- a/packages/editor-skeleton/src/components/field/index.less +++ b/packages/editor-skeleton/src/components/field/index.less @@ -67,16 +67,16 @@ } } - &.lc-plain-field { - // for top-level style - // padding: 8px 10px; - > .lc-field-body { - flex: 1; - min-width: 0; - display: flex; - align-items: center; - } - } + // &.lc-plain-field { + // // for top-level style + // // padding: 8px 10px; + // > .lc-field-body { + // flex: 1; + // min-width: 0; + // display: flex; + // align-items: center; + // } + // } &.lc-inline-field { display: flex; @@ -211,14 +211,14 @@ } // 3rd level field title width should short - .lc-field-body .lc-inline-field { - > .lc-field-head { - width: 50px; - .lc-title-label { - width: 50px; - } - } - } + // .lc-field-body .lc-inline-field { + // > .lc-field-head { + // width: 50px; + // .lc-title-label { + // width: 50px; + // } + // } + // } >.lc-block-setter { flex: 1; } From 662dde14f8226562ea6f14bf147e487b7454cc58 Mon Sep 17 00:00:00 2001 From: kangwei <bingbing.yb@alibaba-inc.com> Date: Tue, 16 Jun 2020 15:06:23 +0800 Subject: [PATCH 53/70] fix propsentry --- packages/designer/src/builtin-simulator/host.ts | 2 +- packages/designer/src/designer/setting/setting-top-entry.ts | 1 - .../editor-preset-vision/src/bundle/upgrade-metadata.ts | 6 ++++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/designer/src/builtin-simulator/host.ts b/packages/designer/src/builtin-simulator/host.ts index eea50ca60..bc5b70e1c 100644 --- a/packages/designer/src/builtin-simulator/host.ts +++ b/packages/designer/src/builtin-simulator/host.ts @@ -753,7 +753,7 @@ export class BuiltinSimulatorHost implements ISimulatorHost<BuiltinSimulatorProp this.sensing = true; this.scroller.scrolling(e); const dropContainer = this.getDropContainer(e); - if (!dropContainer || dropContainer.container?.componentName === 'Page') { + if (!dropContainer) { return null; } diff --git a/packages/designer/src/designer/setting/setting-top-entry.ts b/packages/designer/src/designer/setting/setting-top-entry.ts index fdc700d0a..5c276afb2 100644 --- a/packages/designer/src/designer/setting/setting-top-entry.ts +++ b/packages/designer/src/designer/setting/setting-top-entry.ts @@ -96,7 +96,6 @@ export class SettingTopEntry implements SettingEntry { } private setupItems() { - console.log('set') if (this.componentMeta) { const settingFieldMap: { [prop: string]: SettingField } = {}; const settingFieldCollector = (name: string | number, field: SettingField) => { diff --git a/packages/editor-preset-vision/src/bundle/upgrade-metadata.ts b/packages/editor-preset-vision/src/bundle/upgrade-metadata.ts index 99281a8cb..e96ae2699 100644 --- a/packages/editor-preset-vision/src/bundle/upgrade-metadata.ts +++ b/packages/editor-preset-vision/src/bundle/upgrade-metadata.ts @@ -2,6 +2,7 @@ import { ComponentType, ReactElement, isValidElement, ComponentClass } from 'rea import { isPlainObject } from '@ali/lowcode-utils'; import { isI18nData, SettingTarget, InitialItem, FilterItem, isJSSlot, ProjectSchema, AutorunItem } from '@ali/lowcode-types'; import { untracked } from '@ali/lowcode-editor-core'; +import { editor, designer } from '../editor'; type Field = SettingTarget; @@ -707,8 +708,9 @@ export function upgradeMetadata(oldConfig: OldPrototypeConfig) { if (initialChildren) { experimental.initialChildren = typeof initialChildren === 'function' - ? (field: Field) => { - return initialChildren.call(field, (field as any).props); + ? (node: any) => { + const props = designer.createSettingEntry(editor, [ node ]); + return initialChildren.call(node, props); } : initialChildren; } From b6d64c3a0655b8385bb8f0db52a7d6571bd51b7c Mon Sep 17 00:00:00 2001 From: "mario.gk" <mario.gk@alibaba-inc.com> Date: Tue, 16 Jun 2020 16:05:04 +0800 Subject: [PATCH 54/70] fix: Trunk add getSetter --- packages/editor-preset-vision/src/bundle/trunk.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/editor-preset-vision/src/bundle/trunk.ts b/packages/editor-preset-vision/src/bundle/trunk.ts index a37f0bc75..99b2d1415 100644 --- a/packages/editor-preset-vision/src/bundle/trunk.ts +++ b/packages/editor-preset-vision/src/bundle/trunk.ts @@ -1,6 +1,6 @@ import { ReactElement, ComponentType } from 'react'; import { EventEmitter } from 'events'; -import { registerSetter, RegisteredSetter } from '@ali/lowcode-editor-core'; +import { registerSetter, RegisteredSetter, getSetter } from '@ali/lowcode-editor-core'; import Bundle from './bundle'; import { CustomView } from '@ali/lowcode-types'; @@ -104,6 +104,10 @@ export class Trunk { setPackages() { console.warn('Trunk.setPackages is deprecated'); } + + getSetter(type: string): any{ + return getSetter(type); + } } export default new Trunk(); From 34bf71d8dd2da7124d24e15c7059a61c5beea986 Mon Sep 17 00:00:00 2001 From: "mario.gk" <mario.gk@alibaba-inc.com> Date: Tue, 16 Jun 2020 16:08:46 +0800 Subject: [PATCH 55/70] fix: Trunk.getSetter return ReactElement --- packages/editor-preset-vision/src/bundle/trunk.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/editor-preset-vision/src/bundle/trunk.ts b/packages/editor-preset-vision/src/bundle/trunk.ts index 99b2d1415..e4e41e35d 100644 --- a/packages/editor-preset-vision/src/bundle/trunk.ts +++ b/packages/editor-preset-vision/src/bundle/trunk.ts @@ -106,7 +106,11 @@ export class Trunk { } getSetter(type: string): any{ - return getSetter(type); + const setter = getSetter(type); + if (setter?.component) { + return setter.component; + } + return setter; } } From 1e27b11ff56b1b8d0f7a611d3c53009357552426 Mon Sep 17 00:00:00 2001 From: kangwei <bingbing.yb@alibaba-inc.com> Date: Tue, 16 Jun 2020 17:10:59 +0800 Subject: [PATCH 56/70] Publish - @ali/lowcode-demo@0.8.30 - @ali/lowcode-designer@0.9.20 - @ali/lowcode-editor-preset-general@0.9.6 - @ali/lowcode-editor-preset-vision@0.8.21 - @ali/lowcode-editor-skeleton@0.8.26 - @ali/lowcode-plugin-components-pane@0.8.23 - @ali/lowcode-plugin-designer@0.9.20 - @ali/lowcode-plugin-outline-pane@0.8.26 - @ali/lowcode-plugin-sample-preview@0.8.25 - @ali/lowcode-plugin-undo-redo@0.8.25 - @ali/lowcode-react-simulator-renderer@0.8.26 --- packages/demo/CHANGELOG.md | 8 ++++++++ packages/demo/package.json | 14 +++++++------- packages/designer/CHANGELOG.md | 8 ++++++++ packages/designer/package.json | 2 +- packages/editor-preset-general/CHANGELOG.md | 8 ++++++++ packages/editor-preset-general/package.json | 9 +++++---- packages/editor-preset-vision/CHANGELOG.md | 8 ++++++++ packages/editor-preset-vision/package.json | 13 +++++++------ packages/editor-skeleton/CHANGELOG.md | 8 ++++++++ packages/editor-skeleton/package.json | 4 ++-- packages/plugin-components-pane/CHANGELOG.md | 8 ++++++++ packages/plugin-components-pane/package.json | 4 ++-- packages/plugin-designer/CHANGELOG.md | 8 ++++++++ packages/plugin-designer/package.json | 4 ++-- packages/plugin-outline-pane/CHANGELOG.md | 8 ++++++++ packages/plugin-outline-pane/package.json | 4 ++-- packages/plugin-sample-preview/CHANGELOG.md | 8 ++++++++ packages/plugin-sample-preview/package.json | 4 ++-- packages/plugin-undo-redo/CHANGELOG.md | 8 ++++++++ packages/plugin-undo-redo/package.json | 6 +++--- packages/react-simulator-renderer/CHANGELOG.md | 8 ++++++++ packages/react-simulator-renderer/package.json | 4 ++-- 22 files changed, 123 insertions(+), 33 deletions(-) diff --git a/packages/demo/CHANGELOG.md b/packages/demo/CHANGELOG.md index bef215ad0..6d6ae33a7 100644 --- a/packages/demo/CHANGELOG.md +++ b/packages/demo/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.30"></a> +## [0.8.30](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-demo@0.8.29...@ali/lowcode-demo@0.8.30) (2020-06-16) + + + + +**Note:** Version bump only for package @ali/lowcode-demo + <a name="0.8.29"></a> ## [0.8.29](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-demo@0.8.28...@ali/lowcode-demo@0.8.29) (2020-06-15) diff --git a/packages/demo/package.json b/packages/demo/package.json index 9040ae9f8..b7fef79f9 100644 --- a/packages/demo/package.json +++ b/packages/demo/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-demo", - "version": "0.8.29", + "version": "0.8.30", "private": true, "description": "低代码引擎 DEMO", "scripts": { @@ -10,15 +10,15 @@ "config": {}, "dependencies": { "@ali/lowcode-editor-core": "^0.8.16", - "@ali/lowcode-editor-skeleton": "^0.8.25", - "@ali/lowcode-plugin-components-pane": "^0.8.22", - "@ali/lowcode-plugin-designer": "^0.9.19", + "@ali/lowcode-editor-skeleton": "^0.8.26", + "@ali/lowcode-plugin-components-pane": "^0.8.23", + "@ali/lowcode-plugin-designer": "^0.9.20", "@ali/lowcode-plugin-event-bind-dialog": "^0.8.16", - "@ali/lowcode-plugin-outline-pane": "^0.8.25", + "@ali/lowcode-plugin-outline-pane": "^0.8.26", "@ali/lowcode-plugin-sample-logo": "^0.8.15", - "@ali/lowcode-plugin-sample-preview": "^0.8.24", + "@ali/lowcode-plugin-sample-preview": "^0.8.25", "@ali/lowcode-plugin-settings-pane": "^0.8.8", - "@ali/lowcode-plugin-undo-redo": "^0.8.24", + "@ali/lowcode-plugin-undo-redo": "^0.8.25", "@ali/lowcode-plugin-variable-bind-dialog": "^0.8.14", "@ali/lowcode-plugin-zh-en": "^0.8.18", "@ali/lowcode-react-renderer": "^0.8.0", diff --git a/packages/designer/CHANGELOG.md b/packages/designer/CHANGELOG.md index 7c7158162..142f815fc 100644 --- a/packages/designer/CHANGELOG.md +++ b/packages/designer/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.9.20"></a> +## [0.9.20](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-designer@0.9.19...@ali/lowcode-designer@0.9.20) (2020-06-16) + + + + +**Note:** Version bump only for package @ali/lowcode-designer + <a name="0.9.19"></a> ## [0.9.19](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-designer@0.9.18...@ali/lowcode-designer@0.9.19) (2020-06-15) diff --git a/packages/designer/package.json b/packages/designer/package.json index 855d46808..7e4cc07c3 100644 --- a/packages/designer/package.json +++ b/packages/designer/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-designer", - "version": "0.9.19", + "version": "0.9.20", "description": "Designer for Ali LowCode Engine", "main": "lib/index.js", "module": "es/index.js", diff --git a/packages/editor-preset-general/CHANGELOG.md b/packages/editor-preset-general/CHANGELOG.md index 10f670ef0..b4cfaaada 100644 --- a/packages/editor-preset-general/CHANGELOG.md +++ b/packages/editor-preset-general/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.9.6"></a> +## [0.9.6](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-preset-general@0.9.5...@ali/lowcode-editor-preset-general@0.9.6) (2020-06-16) + + + + +**Note:** Version bump only for package @ali/lowcode-editor-preset-general + <a name="0.9.5"></a> ## [0.9.5](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-preset-general@0.9.4...@ali/lowcode-editor-preset-general@0.9.5) (2020-06-15) diff --git a/packages/editor-preset-general/package.json b/packages/editor-preset-general/package.json index 2cd0a105f..b9089033e 100644 --- a/packages/editor-preset-general/package.json +++ b/packages/editor-preset-general/package.json @@ -1,6 +1,7 @@ { "name": "@ali/lowcode-editor-preset-general", - "version": "0.9.5", + "version": "0.9.6", + "private": true, "description": "Ali General Editor Preset", "main": "lib/index.js", "files": [ @@ -15,9 +16,9 @@ "license": "MIT", "dependencies": { "@ali/lowcode-editor-core": "^0.8.16", - "@ali/lowcode-editor-skeleton": "^0.8.25", - "@ali/lowcode-plugin-designer": "^0.9.19", - "@ali/lowcode-plugin-outline-pane": "^0.8.25", + "@ali/lowcode-editor-skeleton": "^0.8.26", + "@ali/lowcode-plugin-designer": "^0.9.20", + "@ali/lowcode-plugin-outline-pane": "^0.8.26", "@ali/lowcode-types": "^0.8.6", "@ali/lowcode-utils": "^0.8.7", "@alifd/next": "^1.19.12", diff --git a/packages/editor-preset-vision/CHANGELOG.md b/packages/editor-preset-vision/CHANGELOG.md index f76652804..0de13ca5f 100644 --- a/packages/editor-preset-vision/CHANGELOG.md +++ b/packages/editor-preset-vision/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.21"></a> +## [0.8.21](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-preset-vision@0.8.20...@ali/lowcode-editor-preset-vision@0.8.21) (2020-06-16) + + + + +**Note:** Version bump only for package @ali/lowcode-editor-preset-vision + <a name="0.8.20"></a> ## [0.8.20](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-preset-vision@0.8.19...@ali/lowcode-editor-preset-vision@0.8.20) (2020-06-15) diff --git a/packages/editor-preset-vision/package.json b/packages/editor-preset-vision/package.json index a09d5b780..a5ca322b0 100644 --- a/packages/editor-preset-vision/package.json +++ b/packages/editor-preset-vision/package.json @@ -1,6 +1,7 @@ { "name": "@ali/lowcode-editor-preset-vision", - "version": "0.8.20", + "version": "0.8.21", + "private": true, "description": "Vision Polyfill for Ali lowCode engine", "main": "lib/index.js", "files": [ @@ -14,16 +15,16 @@ }, "license": "MIT", "dependencies": { - "@ali/lowcode-designer": "^0.9.19", + "@ali/lowcode-designer": "^0.9.20", "@ali/lowcode-editor-core": "^0.8.16", - "@ali/lowcode-editor-skeleton": "^0.8.25", - "@ali/lowcode-plugin-designer": "^0.9.19", - "@ali/lowcode-plugin-outline-pane": "^0.8.25", + "@ali/lowcode-editor-skeleton": "^0.8.26", + "@ali/lowcode-plugin-designer": "^0.9.20", + "@ali/lowcode-plugin-outline-pane": "^0.8.26", + "@ali/ve-i18n-util": "^2.0.0", "@ali/ve-icons": "^4.1.9", "@ali/ve-less-variables": "2.0.3", "@ali/ve-popups": "^4.2.5", "@ali/ve-utils": "^1.1.0", - "@ali/ve-i18n-util": "^2.0.0", "@ali/vu-css-style": "^1.1.3", "@ali/vu-logger": "^1.0.7", "@ali/vu-style-sheet": "^2.4.0", diff --git a/packages/editor-skeleton/CHANGELOG.md b/packages/editor-skeleton/CHANGELOG.md index 18f1e965c..639f93044 100644 --- a/packages/editor-skeleton/CHANGELOG.md +++ b/packages/editor-skeleton/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.26"></a> +## [0.8.26](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-skeleton@0.8.25...@ali/lowcode-editor-skeleton@0.8.26) (2020-06-16) + + + + +**Note:** Version bump only for package @ali/lowcode-editor-skeleton + <a name="0.8.25"></a> ## [0.8.25](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-editor-skeleton@0.8.24...@ali/lowcode-editor-skeleton@0.8.25) (2020-06-15) diff --git a/packages/editor-skeleton/package.json b/packages/editor-skeleton/package.json index 95548cb1a..0ec27050b 100644 --- a/packages/editor-skeleton/package.json +++ b/packages/editor-skeleton/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-editor-skeleton", - "version": "0.8.25", + "version": "0.8.26", "description": "alibaba lowcode editor skeleton", "main": "lib/index.js", "module": "es/index.js", @@ -19,7 +19,7 @@ "editor" ], "dependencies": { - "@ali/lowcode-designer": "^0.9.19", + "@ali/lowcode-designer": "^0.9.20", "@ali/lowcode-editor-core": "^0.8.16", "@ali/lowcode-types": "^0.8.6", "@ali/lowcode-utils": "^0.8.7", diff --git a/packages/plugin-components-pane/CHANGELOG.md b/packages/plugin-components-pane/CHANGELOG.md index 437eccf6a..113e4a732 100644 --- a/packages/plugin-components-pane/CHANGELOG.md +++ b/packages/plugin-components-pane/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.23"></a> +## [0.8.23](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-components-pane@0.8.22...@ali/lowcode-plugin-components-pane@0.8.23) (2020-06-16) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-components-pane + <a name="0.8.22"></a> ## [0.8.22](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-components-pane@0.8.21...@ali/lowcode-plugin-components-pane@0.8.22) (2020-06-15) diff --git a/packages/plugin-components-pane/package.json b/packages/plugin-components-pane/package.json index 411cab0f1..576e7aa0c 100644 --- a/packages/plugin-components-pane/package.json +++ b/packages/plugin-components-pane/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-components-pane", - "version": "0.8.22", + "version": "0.8.23", "description": "alibaba lowcode editor component-list plugin", "files": [ "es/", @@ -20,7 +20,7 @@ ], "author": "xiayang.xy", "dependencies": { - "@ali/lowcode-designer": "^0.9.19", + "@ali/lowcode-designer": "^0.9.20", "@ali/lowcode-editor-core": "^0.8.16", "@ali/lowcode-types": "^0.8.6", "@ali/ve-component-list": "^1.1.1", diff --git a/packages/plugin-designer/CHANGELOG.md b/packages/plugin-designer/CHANGELOG.md index 048d9db4a..2ff2dcc36 100644 --- a/packages/plugin-designer/CHANGELOG.md +++ b/packages/plugin-designer/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.9.20"></a> +## [0.9.20](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-designer@0.9.19...@ali/lowcode-plugin-designer@0.9.20) (2020-06-16) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-designer + <a name="0.9.19"></a> ## [0.9.19](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-designer@0.9.18...@ali/lowcode-plugin-designer@0.9.19) (2020-06-15) diff --git a/packages/plugin-designer/package.json b/packages/plugin-designer/package.json index cecdbc031..f5b6bf450 100644 --- a/packages/plugin-designer/package.json +++ b/packages/plugin-designer/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-designer", - "version": "0.9.19", + "version": "0.9.20", "description": "alibaba lowcode editor designer plugin", "files": [ "es", @@ -20,7 +20,7 @@ ], "author": "xiayang.xy", "dependencies": { - "@ali/lowcode-designer": "^0.9.19", + "@ali/lowcode-designer": "^0.9.20", "@ali/lowcode-editor-core": "^0.8.16", "react": "^16.8.1", "react-dom": "^16.8.1" diff --git a/packages/plugin-outline-pane/CHANGELOG.md b/packages/plugin-outline-pane/CHANGELOG.md index 4a77c560e..ee74cd541 100644 --- a/packages/plugin-outline-pane/CHANGELOG.md +++ b/packages/plugin-outline-pane/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.26"></a> +## [0.8.26](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-outline-pane@0.8.25...@ali/lowcode-plugin-outline-pane@0.8.26) (2020-06-16) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-outline-pane + <a name="0.8.25"></a> ## [0.8.25](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-outline-pane@0.8.24...@ali/lowcode-plugin-outline-pane@0.8.25) (2020-06-15) diff --git a/packages/plugin-outline-pane/package.json b/packages/plugin-outline-pane/package.json index 0e0a4f4fc..64cec1af9 100644 --- a/packages/plugin-outline-pane/package.json +++ b/packages/plugin-outline-pane/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-outline-pane", - "version": "0.8.25", + "version": "0.8.26", "description": "Outline pane for Ali lowCode engine", "files": [ "es", @@ -14,7 +14,7 @@ "test:snapshot": "ava --update-snapshots" }, "dependencies": { - "@ali/lowcode-designer": "^0.9.19", + "@ali/lowcode-designer": "^0.9.20", "@ali/lowcode-editor-core": "^0.8.16", "@ali/lowcode-types": "^0.8.6", "@ali/lowcode-utils": "^0.8.7", diff --git a/packages/plugin-sample-preview/CHANGELOG.md b/packages/plugin-sample-preview/CHANGELOG.md index 88387e2a6..b4f29a5e7 100644 --- a/packages/plugin-sample-preview/CHANGELOG.md +++ b/packages/plugin-sample-preview/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.25"></a> +## [0.8.25](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-sample-preview@0.8.24...@ali/lowcode-plugin-sample-preview@0.8.25) (2020-06-16) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-sample-preview + <a name="0.8.24"></a> ## [0.8.24](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-sample-preview@0.8.23...@ali/lowcode-plugin-sample-preview@0.8.24) (2020-06-15) diff --git a/packages/plugin-sample-preview/package.json b/packages/plugin-sample-preview/package.json index d4c83aac8..7eb98093b 100644 --- a/packages/plugin-sample-preview/package.json +++ b/packages/plugin-sample-preview/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-sample-preview", - "version": "0.8.24", + "version": "0.8.25", "description": "alibaba lowcode editor sample preview plugin", "files": [ "es", @@ -18,7 +18,7 @@ "editor" ], "dependencies": { - "@ali/lowcode-designer": "^0.9.19", + "@ali/lowcode-designer": "^0.9.20", "@ali/lowcode-editor-core": "^0.8.16", "@alifd/next": "^1.x", "react": "^16.8.1" diff --git a/packages/plugin-undo-redo/CHANGELOG.md b/packages/plugin-undo-redo/CHANGELOG.md index cf8738ab7..3de8b34f3 100644 --- a/packages/plugin-undo-redo/CHANGELOG.md +++ b/packages/plugin-undo-redo/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.25"></a> +## [0.8.25](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-undo-redo@0.8.24...@ali/lowcode-plugin-undo-redo@0.8.25) (2020-06-16) + + + + +**Note:** Version bump only for package @ali/lowcode-plugin-undo-redo + <a name="0.8.24"></a> ## [0.8.24](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-plugin-undo-redo@0.8.23...@ali/lowcode-plugin-undo-redo@0.8.24) (2020-06-15) diff --git a/packages/plugin-undo-redo/package.json b/packages/plugin-undo-redo/package.json index e368ace2e..9acd6597a 100644 --- a/packages/plugin-undo-redo/package.json +++ b/packages/plugin-undo-redo/package.json @@ -1,6 +1,6 @@ { "name": "@ali/lowcode-plugin-undo-redo", - "version": "0.8.24", + "version": "0.8.25", "description": "alibaba lowcode editor undo redo plugin", "files": [ "es", @@ -19,9 +19,9 @@ ], "author": "xiayang.xy", "dependencies": { - "@ali/lowcode-designer": "^0.9.19", + "@ali/lowcode-designer": "^0.9.20", "@ali/lowcode-editor-core": "^0.8.16", - "@ali/lowcode-editor-skeleton": "^0.8.25", + "@ali/lowcode-editor-skeleton": "^0.8.26", "@ali/lowcode-types": "^0.8.6", "@ali/lowcode-utils": "^0.8.7", "react": "^16.8.1", diff --git a/packages/react-simulator-renderer/CHANGELOG.md b/packages/react-simulator-renderer/CHANGELOG.md index 698d3ccb5..6f7ed6dd4 100644 --- a/packages/react-simulator-renderer/CHANGELOG.md +++ b/packages/react-simulator-renderer/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +<a name="0.8.26"></a> +## [0.8.26](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-react-simulator-renderer@0.8.25...@ali/lowcode-react-simulator-renderer@0.8.26) (2020-06-16) + + + + +**Note:** Version bump only for package @ali/lowcode-react-simulator-renderer + <a name="0.8.25"></a> ## [0.8.25](https://gitlab.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/compare/@ali/lowcode-react-simulator-renderer@0.8.24...@ali/lowcode-react-simulator-renderer@0.8.25) (2020-06-15) diff --git a/packages/react-simulator-renderer/package.json b/packages/react-simulator-renderer/package.json index 8f0c68177..7d03e7032 100644 --- a/packages/react-simulator-renderer/package.json +++ b/packages/react-simulator-renderer/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@ali/lowcode-react-simulator-renderer", - "version": "0.8.25", + "version": "0.8.26", "description": "react simulator renderer for alibaba lowcode designer", "main": "lib/index.js", "module": "es/index.js", @@ -13,7 +13,7 @@ "test:snapshot": "ava --update-snapshots" }, "dependencies": { - "@ali/lowcode-designer": "^0.9.19", + "@ali/lowcode-designer": "^0.9.20", "@ali/lowcode-react-renderer": "^0.8.0", "@ali/lowcode-types": "^0.8.6", "@ali/lowcode-utils": "^0.8.7", From 4d0e29e90ab2c4f09dcfaa62c1a91c5258d0658c Mon Sep 17 00:00:00 2001 From: kangwei <bingbing.yb@alibaba-inc.com> Date: Tue, 16 Jun 2020 17:40:42 +0800 Subject: [PATCH 57/70] chore: build --- scripts/deploy.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/deploy.sh b/scripts/deploy.sh index 5e889ce01..a07e6f797 100755 --- a/scripts/deploy.sh +++ b/scripts/deploy.sh @@ -21,7 +21,7 @@ echo "" # work mkdir packages -# cp -r $WORK_DIR/packages/demo packages/demo +cp -r $WORK_DIR/packages/demo packages/demo cp -r $WORK_DIR/packages/react-simulator-renderer packages/react-simulator-renderer cp -r $WORK_DIR/packages/editor-preset-vision packages/editor-preset-vision # cp -r $WORK_DIR/packages/editor-preset-general packages/editor-preset-general @@ -29,8 +29,8 @@ lerna bootstrap lerna run cloud-build --stream cd $WORK_DIR -# mv deploy-space/packages/demo/build $BUILD_DEST -mv deploy-space/packages/react-simulator-renderer/dist $BUILD_DEST +mv deploy-space/packages/demo/build $BUILD_DEST +mv deploy-space/packages/react-simulator-renderer/dist/* $BUILD_DEST mv deploy-space/packages/editor-preset-vision/dist/* $BUILD_DEST # mv deploy-space/packages/editor-preset-general/dist/* $BUILD_DEST cp deploy-space/static/* $BUILD_DEST From 45574db76cb177d1075a9a784d642bc41bcdeeb4 Mon Sep 17 00:00:00 2001 From: kangwei <bingbing.yb@alibaba-inc.com> Date: Tue, 16 Jun 2020 22:54:40 +0800 Subject: [PATCH 58/70] fix: compatiable bug --- .../src/bundle/upgrade-metadata.ts | 2 +- packages/editor-preset-vision/src/editor.ts | 26 +++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/packages/editor-preset-vision/src/bundle/upgrade-metadata.ts b/packages/editor-preset-vision/src/bundle/upgrade-metadata.ts index 075a3356d..d6ebc41a1 100644 --- a/packages/editor-preset-vision/src/bundle/upgrade-metadata.ts +++ b/packages/editor-preset-vision/src/bundle/upgrade-metadata.ts @@ -399,7 +399,7 @@ export function upgradePropConfig(config: OldPropConfig, collector: ConfigCollec }, }, ]; - if (allowTextInput !== false) { + if (allowTextInput) { setters.unshift('I18nSetter'); } if (supportVariable) { diff --git a/packages/editor-preset-vision/src/editor.ts b/packages/editor-preset-vision/src/editor.ts index fa475d292..2e75c0366 100644 --- a/packages/editor-preset-vision/src/editor.ts +++ b/packages/editor-preset-vision/src/editor.ts @@ -102,6 +102,32 @@ function upgradePropsReducer(props: any) { // 升级 Props designer.addPropsReducer(upgradePropsReducer, TransformStage.Init); +function compatiableReducer(props: any) { + if (!isPlainObject(props)) { + return props; + } + const newProps: any = {}; + Object.entries<any>(props).forEach(([key, val]) => { + if (isJSSlot(val)) { + val.value + val = { + type: 'JSBlock', + value: { + componentName: 'Slot', + children: val.value, + props: { + slotTitle: val.title, + }, + }, + } + } + newProps[key] = val; + }); + return newProps; +} +// Dirty fix: will remove this reducer +designer.addPropsReducer(compatiableReducer, TransformStage.Save); + // 设计器组件样式处理 function stylePropsReducer(props: any, node: any) { if (props && typeof props === 'object' && props.__style__) { From 69de533131ee306a4b7c020333f58819b97616e3 Mon Sep 17 00:00:00 2001 From: "wuyue.xht" <wuyue.xht@alibaba-inc.com> Date: Wed, 17 Jun 2020 10:33:54 +0800 Subject: [PATCH 59/70] =?UTF-8?q?feat:=20=E5=BC=95=E6=93=8E=E5=B1=82?= =?UTF-8?q?=E5=9F=8B=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bem-tools/border-resizing.tsx | 13 ++++++- .../bem-tools/border-selecting.tsx | 12 ++++++- .../designer/src/builtin-simulator/host.ts | 36 ++++++++++++++++++- .../live-editing/live-editing.ts | 10 +++++- .../builtin-simulator/node-selector/index.tsx | 12 ++++++- packages/designer/src/designer/designer.ts | 35 ++++++++++++++++++ packages/editor-core/src/hotkey.ts | 11 +++--- packages/editor-core/src/utils/monitor.ts | 3 +- .../settings/settings-primary-pane.tsx | 29 +++++++++++---- .../src/components/widget-views.tsx | 18 ++++++++-- packages/editor-skeleton/src/widget/panel.ts | 6 ++-- 11 files changed, 164 insertions(+), 21 deletions(-) diff --git a/packages/designer/src/builtin-simulator/bem-tools/border-resizing.tsx b/packages/designer/src/builtin-simulator/bem-tools/border-resizing.tsx index b0036c5c4..e63a50e95 100644 --- a/packages/designer/src/builtin-simulator/bem-tools/border-resizing.tsx +++ b/packages/designer/src/builtin-simulator/bem-tools/border-resizing.tsx @@ -1,6 +1,6 @@ import { Component, Fragment } from 'react'; import DragResizeEngine from './drag-resize-engine'; -import { observer, computed } from '@ali/lowcode-editor-core'; +import { observer, computed, globalContext, Editor } from '@ali/lowcode-editor-core'; import classNames from 'classnames'; import { SimulatorContext } from '../context'; import { BuiltinSimulatorHost } from '../host'; @@ -177,6 +177,17 @@ export class BoxResizingInstance extends Component<{ e.trigger = direction; metaData.experimental.callbacks.onResizeStart(e, node); } + + const editor = globalContext.get(Editor); + const npm = node?.componentMeta?.npm; + const selected = + [npm?.package, npm?.componentName].filter((item) => !!item).join('-') || + node?.componentMeta?.componentName || + ''; + editor.emit('designer.border.resize', { + selected, + layout: node?.parent?.getPropValue('layout') || '', + }); }; this.dragEngine.onResize(resize); diff --git a/packages/designer/src/builtin-simulator/bem-tools/border-selecting.tsx b/packages/designer/src/builtin-simulator/bem-tools/border-selecting.tsx index 33303c2fc..61701c944 100644 --- a/packages/designer/src/builtin-simulator/bem-tools/border-selecting.tsx +++ b/packages/designer/src/builtin-simulator/bem-tools/border-selecting.tsx @@ -9,7 +9,7 @@ import { ComponentType, } from 'react'; import classNames from 'classnames'; -import { observer, computed, Tip } from '@ali/lowcode-editor-core'; +import { observer, computed, Tip, globalContext, Editor } from '@ali/lowcode-editor-core'; import { createIcon, isReactComponent } from '@ali/lowcode-utils'; import { ActionContentObject, isActionContentObject } from '@ali/lowcode-types'; import { BuiltinSimulatorHost } from '../host'; @@ -124,6 +124,16 @@ function createAction(content: ReactNode | ComponentType<any> | ActionContentObj className="lc-borders-action" onClick={() => { action && action(node); + const editor = globalContext.get(Editor); + const npm = node?.componentMeta?.npm; + const target = + [npm?.package, npm?.componentName].filter((item) => !!item).join('-') || + node?.componentMeta?.componentName || + ''; + editor?.emit('designer.borders.action', { + name: key, + target, + }); }} > {icon && createIcon(icon)} diff --git a/packages/designer/src/builtin-simulator/host.ts b/packages/designer/src/builtin-simulator/host.ts index eea50ca60..e2021766a 100644 --- a/packages/designer/src/builtin-simulator/host.ts +++ b/packages/designer/src/builtin-simulator/host.ts @@ -1,4 +1,4 @@ -import { obx, autorun, computed, getPublicPath, hotkey, focusTracker } from '@ali/lowcode-editor-core'; +import { obx, autorun, computed, getPublicPath, hotkey, focusTracker, globalContext, Editor } from '@ali/lowcode-editor-core'; import { ISimulatorHost, Component, NodeInstance, ComponentInstance } from '../simulator'; import Viewport from './viewport'; import { createSimulator } from './create-simulator'; @@ -227,6 +227,7 @@ export class BuiltinSimulatorHost implements ISimulatorHost<BuiltinSimulatorProp this.setupDragAndClick(); this.setupDetecting(); this.setupLiveEditing(); + this.setupContextMenu(); } setupDragAndClick() { @@ -265,6 +266,15 @@ export class BuiltinSimulatorHost implements ISimulatorHost<BuiltinSimulatorProp selection.remove(id); } else { selection.select(id); + const editor = globalContext.get(Editor); + const npm = node?.componentMeta?.npm; + const selected = + [npm?.package, npm?.componentName].filter((item) => !!item).join('-') || + node?.componentMeta?.componentName || + ''; + editor.emit('designer.builtinSimulator.select', { + selected, + }); } } }; @@ -410,6 +420,30 @@ export class BuiltinSimulatorHost implements ISimulatorHost<BuiltinSimulatorProp } } + setupContextMenu() { + const doc = this.contentDocument!; + doc.addEventListener('contextmenu', (e: MouseEvent) => { + const targetElement = e.target as HTMLElement; + const nodeInst = this.getNodeInstanceFromElement(targetElement); + if (!nodeInst) { + return; + } + const node = nodeInst.node || this.document.rootNode; + if (!node) { + return; + } + const editor = globalContext.get(Editor); + const npm = node?.componentMeta?.npm; + const target = + [npm?.package, npm?.componentName].filter((item) => !!item).join('-') || + node?.componentMeta?.componentName || + ''; + editor?.emit('desiger.builtinSimulator.contextmenu', { + target: target, + }); + }); + } + /** * @see ISimulator */ diff --git a/packages/designer/src/builtin-simulator/live-editing/live-editing.ts b/packages/designer/src/builtin-simulator/live-editing/live-editing.ts index 7c2df687e..f2af842d3 100644 --- a/packages/designer/src/builtin-simulator/live-editing/live-editing.ts +++ b/packages/designer/src/builtin-simulator/live-editing/live-editing.ts @@ -1,4 +1,4 @@ -import { obx } from '@ali/lowcode-editor-core'; +import { obx, globalContext, Editor } from '@ali/lowcode-editor-core'; import { LiveTextEditingConfig } from '@ali/lowcode-types'; import { Node, Prop } from '../../document'; @@ -42,6 +42,14 @@ export class LiveEditing { const targetElement = event.target as HTMLElement; const liveTextEditing = node.componentMeta.liveTextEditing; + const editor = globalContext.get(Editor); + const npm = node?.componentMeta?.npm; + const targetInfo = + [npm?.package, npm?.componentName].filter((item) => !!item).join('-') || node?.componentMeta?.componentName || ''; + editor?.emit('designer.builinSimulator.LiveEditing', { + target: targetInfo, + }); + let setterPropElement = getSetterPropElement(targetElement, rootElement); let propTarget = setterPropElement?.dataset.setterProp; let matched: (LiveTextEditingConfig & { propElement?: HTMLElement; }) | undefined | null; diff --git a/packages/designer/src/builtin-simulator/node-selector/index.tsx b/packages/designer/src/builtin-simulator/node-selector/index.tsx index 5d1118294..5372d7679 100644 --- a/packages/designer/src/builtin-simulator/node-selector/index.tsx +++ b/packages/designer/src/builtin-simulator/node-selector/index.tsx @@ -1,7 +1,7 @@ import { Overlay } from '@alifd/next'; import React from 'react'; +import { Title, globalContext, Editor } from '@ali/lowcode-editor-core'; import './index.less'; -import { Title } from '@ali/lowcode-editor-core'; import { Node, ParentalNode } from '@ali/lowcode-designer'; @@ -46,6 +46,16 @@ export default class InstanceNodeSelector extends React.Component<IProps, IState onSelect = (node: Node) => () => { if (node && typeof node.select === 'function') { node.select(); + const editor = globalContext.get(Editor); + const npm = node?.componentMeta?.npm; + const selected = + [npm?.package, npm?.componentName].filter((item) => !!item).join('-') || + node?.componentMeta?.componentName || + ''; + editor.emit('designer.border.action', { + name: 'select-node', + selected, + }); } }; onMouseOver = (node: Node) => (_: any, flag = true) => { diff --git a/packages/designer/src/designer/designer.ts b/packages/designer/src/designer/designer.ts index 664baa0d6..e782dd42c 100644 --- a/packages/designer/src/designer/designer.ts +++ b/packages/designer/src/designer/designer.ts @@ -67,10 +67,19 @@ export class Designer { this.project = new Project(this, props.defaultSchema); + let startTime: any; + let src = ''; this.dragon.onDragstart((e) => { + startTime = Date.now() / 1000; this.detecting.enable = false; const { dragObject } = e; if (isDragNodeObject(dragObject)) { + const node = dragObject.nodes[0]?.parent; + const npm = node?.componentMeta?.npm; + src = + [npm?.package, npm?.componentName].filter((item) => !!item).join('-') || + node?.componentMeta?.componentName || + ''; if (dragObject.nodes.length === 1) { if (dragObject.nodes[0].parent) { // ensure current selecting @@ -111,6 +120,32 @@ export class Designer { if (nodes) { loc.document.selection.selectAll(nodes.map((o) => o.id)); setTimeout(() => this.activeTracker.track(nodes![0]), 10); + const endTime: any = Date.now() / 1000; + const parent = nodes[0]?.parent; + const npm = parent?.componentMeta?.npm; + const dest = + [npm?.package, npm?.componentName].filter((item) => !!item).join('-') || + parent?.componentMeta?.componentName || + ''; + this.editor?.emit('designer.drag', { + time: (endTime - startTime).toFixed(2), + target: nodes + ?.map((n) => { + if (!n) { + return; + } + const npm = n?.componentMeta?.npm; + return ( + [npm?.package, npm?.componentName].filter((item) => !!item).join('-') || + n?.componentMeta?.componentName + ); + }) + .join('&'), + align: loc?.detail?.near?.align || '', + pos: loc?.detail?.near?.pos || '', + src, + dest, + }); } } } diff --git a/packages/editor-core/src/hotkey.ts b/packages/editor-core/src/hotkey.ts index 5bb6707a9..3bf51b550 100644 --- a/packages/editor-core/src/hotkey.ts +++ b/packages/editor-core/src/hotkey.ts @@ -333,14 +333,17 @@ function fireCallback(callback: HotkeyCallback, e: KeyboardEvent, combo?: string e.stopPropagation(); } const editor = globalContext.get(Editor); - if (!editor) { - return; - } - editor.emit('hotkey.callback.call', { + const designer = editor.get('designer'); + const node = designer?.currentSelection?.getNodes()?.[0]; + const npm = node?.componentMeta?.npm; + const selected = + [npm?.package, npm?.componentName].filter((item) => !!item).join('-') || node?.componentMeta?.componentName || ''; + editor?.emit('hotkey.callback.call', { callback, e, combo, sequence, + selected, }); } diff --git a/packages/editor-core/src/utils/monitor.ts b/packages/editor-core/src/utils/monitor.ts index b4c45bc8b..0c616c3ce 100644 --- a/packages/editor-core/src/utils/monitor.ts +++ b/packages/editor-core/src/utils/monitor.ts @@ -42,4 +42,5 @@ class Monitor { } } -export default new Monitor(); +const monitor = new Monitor(); +export { monitor }; diff --git a/packages/editor-skeleton/src/components/settings/settings-primary-pane.tsx b/packages/editor-skeleton/src/components/settings/settings-primary-pane.tsx index 5d26a3c27..51b1fcf6e 100644 --- a/packages/editor-skeleton/src/components/settings/settings-primary-pane.tsx +++ b/packages/editor-skeleton/src/components/settings/settings-primary-pane.tsx @@ -1,7 +1,7 @@ import React, { Component } from 'react'; import { Tab, Breadcrumb } from '@alifd/next'; -import { Title, observer, Editor, obx } from '@ali/lowcode-editor-core'; -import { Node, isSettingField, SettingField } from '@ali/lowcode-designer'; +import { Title, observer, Editor, obx, globalContext } from '@ali/lowcode-editor-core'; +import { Node, isSettingField, SettingField, Designer } from '@ali/lowcode-designer'; import { SettingsMain } from './main'; import { SettingsPane } from './settings-pane'; import { createIcon } from '@ali/lowcode-utils'; @@ -35,6 +35,9 @@ export class SettingsPrimaryPane extends Component<{ editor: Editor }> { ); } + const editor = globalContext.get(Editor); + const designer = editor.get(Designer); + const current = designer?.currentSelection?.getNodes()?.[0]; let node: Node | null = settings.first; const items = []; let l = 3; @@ -43,10 +46,24 @@ export class SettingsPrimaryPane extends Component<{ editor: Editor }> { l === 2 ? {} : { - onMouseOver: hoverNode.bind(null, node, true), - onMouseOut: hoverNode.bind(null, node, false), - onClick: selectNode.bind(null, node), - }; + onMouseOver: hoverNode.bind(null, node, true), + onMouseOut: hoverNode.bind(null, node, false), + onClick: () => { + selectNode.call(null, node); + const getName = (node) => { + const npm = node?.componentMeta?.npm; + return [npm?.package, npm?.componentName].filter((item) => !!item).join('-') || + node?.componentMeta?.componentName || + ''; + }; + const selected = getName(current); + const target = getName(node); + editor.emit('skeleton.settingsPane.Breadcrumb', { + selected, + target, + }); + }, + }; items.unshift( <Breadcrumb.Item {...props} key={node.id}> <Title title={node.title} /> diff --git a/packages/editor-skeleton/src/components/widget-views.tsx b/packages/editor-skeleton/src/components/widget-views.tsx index de85ddce8..931fd6287 100644 --- a/packages/editor-skeleton/src/components/widget-views.tsx +++ b/packages/editor-skeleton/src/components/widget-views.tsx @@ -1,7 +1,7 @@ import { Component, ReactElement } from 'react'; import { Icon } from '@alifd/next'; import classNames from 'classnames'; -import { Title, observer, Tip } from '@ali/lowcode-editor-core'; +import { Title, observer, Tip, globalContext, Editor } from '@ali/lowcode-editor-core'; import { DockProps } from '../types'; import PanelDock from '../widget/panel-dock'; import { composeTitle } from '../widget/utils'; @@ -108,12 +108,18 @@ export class TitledPanelView extends Component<{ panel: Panel; area?: string }> if (!panel.inited) { return null; } + const editor = globalContext.get(Editor); + const panelName = area ? `${area}-${panel.name}` : panel.name; + editor.emit('skeleton.panel.toggle', { + name: panelName || '', + status: panel.visible ? 'show' : 'hide', + }); return ( <div className={classNames('lc-titled-panel', { hidden: !panel.visible, })} - id={`${area || ''}-${panel.name}`} + id={panelName} > <PanelTitle panel={panel} /> <div className="lc-panel-body">{panel.body}</div> @@ -155,12 +161,18 @@ export class PanelView extends Component<{ panel: Panel; area?: string }> { if (!panel.inited) { return null; } + const editor = globalContext.get(Editor); + const panelName = area ? `${area}-${panel.name}` : panel.name; + editor.emit('skeleton.panel.toggle', { + name: panelName || '', + status: panel.visible ? 'show' : 'hide', + }); return ( <div className={classNames('lc-panel', { hidden: !panel.visible, })} - id={`${area || ''}-${panel.name}`} + id={panelName} > {panel.body} </div> diff --git a/packages/editor-skeleton/src/widget/panel.ts b/packages/editor-skeleton/src/widget/panel.ts index 469db73d5..25c343cd0 100644 --- a/packages/editor-skeleton/src/widget/panel.ts +++ b/packages/editor-skeleton/src/widget/panel.ts @@ -53,14 +53,16 @@ export default class Panel implements IWidget { } get content(): ReactNode { + const area = this.config?.area || this.parent?.name; + console.log(area); if (this.plain) { return createElement(PanelView, { panel: this, key: this.id, - area: this.parent?.name, + area, }); } - return createElement(TitledPanelView, { panel: this, key: this.id, area: this.parent?.name }); + return createElement(TitledPanelView, { panel: this, key: this.id, area }); } readonly title: TitleContent; From 46951ca4f95b698e92ce2b9389a1bc6a5be5507d Mon Sep 17 00:00:00 2001 From: "wuyue.xht" <wuyue.xht@alibaba-inc.com> Date: Wed, 17 Jun 2020 12:12:30 +0800 Subject: [PATCH 60/70] =?UTF-8?q?chore:=20=E5=9F=8B=E7=82=B9=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/builtin-simulator/bem-tools/border-resizing.tsx | 2 +- .../src/builtin-simulator/bem-tools/border-selecting.tsx | 2 +- packages/designer/src/builtin-simulator/host.ts | 6 +++--- .../src/builtin-simulator/live-editing/live-editing.ts | 4 ++-- .../designer/src/builtin-simulator/node-selector/index.tsx | 4 ++-- packages/designer/src/designer/designer.ts | 2 +- .../src/components/settings/settings-primary-pane.tsx | 2 +- packages/editor-skeleton/src/components/widget-views.tsx | 4 ++-- 8 files changed, 13 insertions(+), 13 deletions(-) diff --git a/packages/designer/src/builtin-simulator/bem-tools/border-resizing.tsx b/packages/designer/src/builtin-simulator/bem-tools/border-resizing.tsx index e63a50e95..a4947ad7d 100644 --- a/packages/designer/src/builtin-simulator/bem-tools/border-resizing.tsx +++ b/packages/designer/src/builtin-simulator/bem-tools/border-resizing.tsx @@ -184,7 +184,7 @@ export class BoxResizingInstance extends Component<{ [npm?.package, npm?.componentName].filter((item) => !!item).join('-') || node?.componentMeta?.componentName || ''; - editor.emit('designer.border.resize', { + editor?.emit('designer.border.resize', { selected, layout: node?.parent?.getPropValue('layout') || '', }); diff --git a/packages/designer/src/builtin-simulator/bem-tools/border-selecting.tsx b/packages/designer/src/builtin-simulator/bem-tools/border-selecting.tsx index 61701c944..7adce76b4 100644 --- a/packages/designer/src/builtin-simulator/bem-tools/border-selecting.tsx +++ b/packages/designer/src/builtin-simulator/bem-tools/border-selecting.tsx @@ -130,7 +130,7 @@ function createAction(content: ReactNode | ComponentType<any> | ActionContentObj [npm?.package, npm?.componentName].filter((item) => !!item).join('-') || node?.componentMeta?.componentName || ''; - editor?.emit('designer.borders.action', { + editor?.emit('designer.border.action', { name: key, target, }); diff --git a/packages/designer/src/builtin-simulator/host.ts b/packages/designer/src/builtin-simulator/host.ts index 1efbf4673..6111977f7 100644 --- a/packages/designer/src/builtin-simulator/host.ts +++ b/packages/designer/src/builtin-simulator/host.ts @@ -272,7 +272,7 @@ export class BuiltinSimulatorHost implements ISimulatorHost<BuiltinSimulatorProp [npm?.package, npm?.componentName].filter((item) => !!item).join('-') || node?.componentMeta?.componentName || ''; - editor.emit('designer.builtinSimulator.select', { + editor?.emit('designer.builtinSimulator.select', { selected, }); } @@ -434,12 +434,12 @@ export class BuiltinSimulatorHost implements ISimulatorHost<BuiltinSimulatorProp } const editor = globalContext.get(Editor); const npm = node?.componentMeta?.npm; - const target = + const selected = [npm?.package, npm?.componentName].filter((item) => !!item).join('-') || node?.componentMeta?.componentName || ''; editor?.emit('desiger.builtinSimulator.contextmenu', { - target: target, + selected, }); }); } diff --git a/packages/designer/src/builtin-simulator/live-editing/live-editing.ts b/packages/designer/src/builtin-simulator/live-editing/live-editing.ts index f2af842d3..2d74e5880 100644 --- a/packages/designer/src/builtin-simulator/live-editing/live-editing.ts +++ b/packages/designer/src/builtin-simulator/live-editing/live-editing.ts @@ -44,10 +44,10 @@ export class LiveEditing { const editor = globalContext.get(Editor); const npm = node?.componentMeta?.npm; - const targetInfo = + const selected = [npm?.package, npm?.componentName].filter((item) => !!item).join('-') || node?.componentMeta?.componentName || ''; editor?.emit('designer.builinSimulator.LiveEditing', { - target: targetInfo, + selected, }); let setterPropElement = getSetterPropElement(targetElement, rootElement); diff --git a/packages/designer/src/builtin-simulator/node-selector/index.tsx b/packages/designer/src/builtin-simulator/node-selector/index.tsx index 5372d7679..554ef78e7 100644 --- a/packages/designer/src/builtin-simulator/node-selector/index.tsx +++ b/packages/designer/src/builtin-simulator/node-selector/index.tsx @@ -52,8 +52,8 @@ export default class InstanceNodeSelector extends React.Component<IProps, IState [npm?.package, npm?.componentName].filter((item) => !!item).join('-') || node?.componentMeta?.componentName || ''; - editor.emit('designer.border.action', { - name: 'select-node', + editor?.emit('designer.border.action', { + name: 'select', selected, }); } diff --git a/packages/designer/src/designer/designer.ts b/packages/designer/src/designer/designer.ts index e782dd42c..c4c8f2050 100644 --- a/packages/designer/src/designer/designer.ts +++ b/packages/designer/src/designer/designer.ts @@ -129,7 +129,7 @@ export class Designer { ''; this.editor?.emit('designer.drag', { time: (endTime - startTime).toFixed(2), - target: nodes + selected: nodes ?.map((n) => { if (!n) { return; diff --git a/packages/editor-skeleton/src/components/settings/settings-primary-pane.tsx b/packages/editor-skeleton/src/components/settings/settings-primary-pane.tsx index 51b1fcf6e..7ce04e9ca 100644 --- a/packages/editor-skeleton/src/components/settings/settings-primary-pane.tsx +++ b/packages/editor-skeleton/src/components/settings/settings-primary-pane.tsx @@ -58,7 +58,7 @@ export class SettingsPrimaryPane extends Component<{ editor: Editor }> { }; const selected = getName(current); const target = getName(node); - editor.emit('skeleton.settingsPane.Breadcrumb', { + editor?.emit('skeleton.settingsPane.Breadcrumb', { selected, target, }); diff --git a/packages/editor-skeleton/src/components/widget-views.tsx b/packages/editor-skeleton/src/components/widget-views.tsx index 931fd6287..e14b2e2df 100644 --- a/packages/editor-skeleton/src/components/widget-views.tsx +++ b/packages/editor-skeleton/src/components/widget-views.tsx @@ -110,7 +110,7 @@ export class TitledPanelView extends Component<{ panel: Panel; area?: string }> } const editor = globalContext.get(Editor); const panelName = area ? `${area}-${panel.name}` : panel.name; - editor.emit('skeleton.panel.toggle', { + editor?.emit('skeleton.panel.toggle', { name: panelName || '', status: panel.visible ? 'show' : 'hide', }); @@ -163,7 +163,7 @@ export class PanelView extends Component<{ panel: Panel; area?: string }> { } const editor = globalContext.get(Editor); const panelName = area ? `${area}-${panel.name}` : panel.name; - editor.emit('skeleton.panel.toggle', { + editor?.emit('skeleton.panel.toggle', { name: panelName || '', status: panel.visible ? 'show' : 'hide', }); From 21d4f64780d1c831f53b9a8eb2e6d6194e3808e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8A=9B=E7=9A=93?= <lihao.ylh@alibaba-inc.com> Date: Wed, 17 Jun 2020 15:23:51 +0800 Subject: [PATCH 61/70] =?UTF-8?q?fix:=20=E6=A0=B9=E6=8D=AE=E7=9B=AE?= =?UTF-8?q?=E6=A0=87=E5=85=83=E7=B4=A0=E7=9A=84canDropIn=E5=87=BD=E6=95=B0?= =?UTF-8?q?=E5=88=A4=E6=96=AD=E6=98=AF=E5=90=A6=E8=83=BD=E6=94=BE=E5=85=A5?= =?UTF-8?q?=E5=85=B6=E4=BB=96=E5=85=83=E7=B4=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/designer/src/builtin-simulator/host.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/designer/src/builtin-simulator/host.ts b/packages/designer/src/builtin-simulator/host.ts index 6111977f7..a29ae0156 100644 --- a/packages/designer/src/builtin-simulator/host.ts +++ b/packages/designer/src/builtin-simulator/host.ts @@ -787,7 +787,9 @@ export class BuiltinSimulatorHost implements ISimulatorHost<BuiltinSimulatorProp this.sensing = true; this.scroller.scrolling(e); const dropContainer = this.getDropContainer(e); - if (!dropContainer) { + if (!dropContainer || + (typeof dropContainer.container?.componentMeta?.prototype?.options?.canDropIn === 'function' && + !dropContainer.container?.componentMeta?.prototype?.options?.canDropIn(e.dragObject.nodes[0]))) { return null; } From 5adff447c105c7b0c3a35357a57b697e95849803 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8A=9B=E7=9A=93?= <lihao.ylh@alibaba-inc.com> Date: Wed, 17 Jun 2020 15:34:31 +0800 Subject: [PATCH 62/70] =?UTF-8?q?fix:=20=E6=9B=B4=E6=94=B9=E7=94=9F?= =?UTF-8?q?=E6=88=90=20id=20=E7=9A=84=E8=A7=84=E5=88=99,=20=E5=90=A6?= =?UTF-8?q?=E5=88=99=E5=91=BD=E4=B8=AD=20recore=20=E8=A7=A3=E6=9E=90=20id?= =?UTF-8?q?=20=E7=9A=84=E4=B8=80=E4=B8=AA=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../code-generator/src/demo/simpleDemo.ts | 24 ++++---- packages/demo/public/schema.json | 58 +++++++++---------- packages/designer/src/document/node/node.ts | 2 +- 3 files changed, 42 insertions(+), 42 deletions(-) diff --git a/packages/code-generator/src/demo/simpleDemo.ts b/packages/code-generator/src/demo/simpleDemo.ts index cf124ceb9..2e1f28a76 100644 --- a/packages/code-generator/src/demo/simpleDemo.ts +++ b/packages/code-generator/src/demo/simpleDemo.ts @@ -58,7 +58,7 @@ const demoData: IProjectSchema = { componentsTree: [ { componentName: 'Page', - id: 'node$1', + id: 'node_1', meta: { title: '测试', router: '/', @@ -74,7 +74,7 @@ const demoData: IProjectSchema = { children: [ { componentName: 'Form', - id: 'node$2', + id: 'node_2', props: { labelCol: 4, style: {}, @@ -83,7 +83,7 @@ const demoData: IProjectSchema = { children: [ { componentName: 'Form.Item', - id: 'node$3', + id: 'node_3', props: { label: '姓名:', name: 'name', @@ -92,7 +92,7 @@ const demoData: IProjectSchema = { children: [ { componentName: 'Input', - id: 'node$4', + id: 'node_4', props: { placeholder: '请输入', size: 'medium', @@ -105,7 +105,7 @@ const demoData: IProjectSchema = { }, { componentName: 'Form.Item', - id: 'node$5', + id: 'node_5', props: { label: '年龄:', name: 'age', @@ -114,7 +114,7 @@ const demoData: IProjectSchema = { children: [ { componentName: 'NumberPicker', - id: 'node$6', + id: 'node_6', props: { size: 'medium', type: 'normal', @@ -124,7 +124,7 @@ const demoData: IProjectSchema = { }, { componentName: 'Form.Item', - id: 'node$7', + id: 'node_7', props: { label: '职业:', name: 'profession', @@ -132,7 +132,7 @@ const demoData: IProjectSchema = { children: [ { componentName: 'Select', - id: 'node$8', + id: 'node_8', props: { dataSource: [ { @@ -154,7 +154,7 @@ const demoData: IProjectSchema = { }, { componentName: 'Div', - id: 'node$9', + id: 'node_9', props: { style: { textAlign: 'center', @@ -163,12 +163,12 @@ const demoData: IProjectSchema = { children: [ { componentName: 'Button.Group', - id: 'node$a', + id: 'node_a', props: {}, children: [ { componentName: 'Button', - id: 'node$b', + id: 'node_b', props: { type: 'primary', style: { @@ -180,7 +180,7 @@ const demoData: IProjectSchema = { }, { componentName: 'Button', - id: 'node$d', + id: 'node_d', props: { type: 'normal', style: { diff --git a/packages/demo/public/schema.json b/packages/demo/public/schema.json index e3de976e0..de5926577 100644 --- a/packages/demo/public/schema.json +++ b/packages/demo/public/schema.json @@ -1,6 +1,6 @@ { "componentName": "Page", - "id": "node$1", + "id": "node_1", "props": { "ref": "outterView", "autoLoading": true, @@ -23,7 +23,7 @@ "children": [ { "componentName": "Steps", - "id": "node$1i", + "id": "node_1i", "props": { "dataSource": [ { @@ -87,7 +87,7 @@ }, { "componentName": "Title", - "id": "node$b", + "id": "node_b", "props": { "text": "请填写以下人员信息表单", "type": "primary", @@ -98,7 +98,7 @@ }, { "componentName": "Paragraph", - "id": "node$e", + "id": "node_e", "props": { "content": "人最宝贵的是生命。它给予我们只有一次。人的一生应当这样度过:当他回首往事时不因虚度年华而悔恨,也不因碌碌无为而羞耻。这样在他临死的时侯就能够说:我已把我整个的生命和全部精力都献给最壮丽的事业——为人类的解放而斗争。", "size": "medium", @@ -109,7 +109,7 @@ }, { "componentName": "ColumnsLayout", - "id": "node$r", + "id": "node_r", "props": { "layout": "6:6", "columnGap": "16px", @@ -122,7 +122,7 @@ "children": [ { "componentName": "Column", - "id": "node$s", + "id": "node_s", "props": { "fieldId": "column_kadcb0o9", "__style__": {} @@ -130,7 +130,7 @@ "children": [ { "componentName": "Card", - "id": "node$n", + "id": "node_n", "props": { "title": "基本信息", "subTitle": { @@ -144,7 +144,7 @@ "value": [ { "componentName": "Icon", - "id": "node$q", + "id": "node_q", "props": { "type": { "useType": true, @@ -168,12 +168,12 @@ "children": [ { "componentName": "CardContent", - "id": "node$o", + "id": "node_o", "props": {}, "children": [ { "componentName": "Form", - "id": "node$f", + "id": "node_f", "props": { "labelAlign": "top", "size": "medium", @@ -190,7 +190,7 @@ "children": [ { "componentName": "TextField", - "id": "node$g", + "id": "node_g", "props": { "__category__": "form", "__useMediator": "value", @@ -256,7 +256,7 @@ }, { "componentName": "RadioField", - "id": "node$14", + "id": "node_14", "props": { "__category__": "form", "__useMediator": "value", @@ -324,7 +324,7 @@ }, { "componentName": "SelectField", - "id": "node$h", + "id": "node_h", "props": { "__category__": "form", "__useMediator": "value", @@ -404,7 +404,7 @@ }, { "componentName": "Div", - "id": "node$i", + "id": "node_i", "props": { "behavior": "NORMAL", "__style__": {}, @@ -413,7 +413,7 @@ "children": [ { "componentName": "Button", - "id": "node$j", + "id": "node_j", "props": { "content": { "type": "i18n", @@ -449,7 +449,7 @@ }, { "componentName": "Button", - "id": "node$k", + "id": "node_k", "props": { "content": { "type": "i18n", @@ -495,7 +495,7 @@ }, { "componentName": "Column", - "id": "node$t", + "id": "node_t", "props": { "fieldId": "column_kadcb0oa", "__style__": {} @@ -503,7 +503,7 @@ "children": [ { "componentName": "Card", - "id": "node$u", + "id": "node_u", "props": { "title": { "type": "JSSlot", @@ -511,7 +511,7 @@ "value": [ { "componentName": "Icon", - "id": "node$18", + "id": "node_18", "props": { "type": { "useType": true, @@ -525,7 +525,7 @@ }, { "componentName": "Link", - "id": "node$19", + "id": "node_19", "props": { "content": { "type": "i18n", @@ -559,7 +559,7 @@ "value": [ { "componentName": "Icon", - "id": "node$1a", + "id": "node_1a", "props": { "type": { "useType": true, @@ -583,12 +583,12 @@ "children": [ { "componentName": "CardContent", - "id": "node$v", + "id": "node_v", "props": {}, "children": [ { "componentName": "Form", - "id": "node$x", + "id": "node_x", "props": { "labelAlign": "top", "size": "medium", @@ -605,7 +605,7 @@ "children": [ { "componentName": "TextField", - "id": "node$y", + "id": "node_y", "props": { "__category__": "form", "__useMediator": "value", @@ -671,7 +671,7 @@ }, { "componentName": "DateField", - "id": "node$15", + "id": "node_15", "props": { "__category__": "form", "__useMediator": "value", @@ -716,7 +716,7 @@ }, { "componentName": "SelectField", - "id": "node$z", + "id": "node_z", "props": { "__category__": "form", "__useMediator": "value", @@ -796,7 +796,7 @@ }, { "componentName": "Div", - "id": "node$10", + "id": "node_10", "props": { "behavior": "NORMAL", "__style__": {}, @@ -805,7 +805,7 @@ "children": [ { "componentName": "Button", - "id": "node$11", + "id": "node_11", "props": { "content": { "type": "i18n", @@ -841,7 +841,7 @@ }, { "componentName": "Button", - "id": "node$12", + "id": "node_12", "props": { "content": { "type": "i18n", diff --git a/packages/designer/src/document/node/node.ts b/packages/designer/src/document/node/node.ts index 3ec49e595..cad0cfe28 100644 --- a/packages/designer/src/document/node/node.ts +++ b/packages/designer/src/document/node/node.ts @@ -144,7 +144,7 @@ export class Node<Schema extends NodeSchema = NodeSchema> { constructor(readonly document: DocumentModel, nodeSchema: Schema) { const { componentName, id, children, props, ...extras } = nodeSchema; - this.id = id || `node$${document.nextId()}`; + this.id = id || `node_${document.nextId()}`; this.componentName = componentName; if (this.componentName === 'Leaf') { this.props = new Props(this, { From d44f95b643d5622cc123cc0b0d631c9eb938e376 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8A=9B=E7=9A=93?= <lihao.ylh@alibaba-inc.com> Date: Thu, 18 Jun 2020 14:46:39 +0800 Subject: [PATCH 63/70] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=20node=20repla?= =?UTF-8?q?ceWith=20=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/document/node/node-children.ts | 7 ++++ packages/designer/src/document/node/node.ts | 35 +++++++++++++++---- 2 files changed, 36 insertions(+), 6 deletions(-) diff --git a/packages/designer/src/document/node/node-children.ts b/packages/designer/src/document/node/node-children.ts index ec038685b..68026e831 100644 --- a/packages/designer/src/document/node/node-children.ts +++ b/packages/designer/src/document/node/node-children.ts @@ -158,6 +158,13 @@ export class NodeChildren { return this.children.indexOf(node); } + /** + * + */ + splice(start: number, deleteCount: number, node: Node): Node[] { + return this.children.splice(start, deleteCount, node); + } + /** * 根据索引获得节点 */ diff --git a/packages/designer/src/document/node/node.ts b/packages/designer/src/document/node/node.ts index cad0cfe28..9dd21f6f8 100644 --- a/packages/designer/src/document/node/node.ts +++ b/packages/designer/src/document/node/node.ts @@ -175,9 +175,9 @@ export class Node<Schema extends NodeSchema = NodeSchema> { if (!autoruns || autoruns.length < 1) { return; } - this.autoruns = autoruns.map(item => { + this.autoruns = autoruns.map((item) => { return autorun(() => { - item.autorun(this.props.get(item.name, true) as any) + item.autorun(this.props.get(item.name, true) as any); }, true); }); } @@ -384,9 +384,33 @@ export class Node<Schema extends NodeSchema = NodeSchema> { // todo } - replaceWith(schema: Schema, migrate = true) { + replaceWith(schema: Schema, migrate = false) { // reuse the same id? or replaceSelection - // + schema = Object.assign({}, migrate ? this.export() : {}, schema); + return this.parent?.replaceChild(this, schema); + } + + /** + * 替换子节点 + * + * @param {Node} node + * @param {object} data + */ + replaceChild(node: Node, data: any) { + if (this.children?.has(node)) { + const selected = this.document.selection.has(node.id); + + delete data.id; + const newNode = this.document.createNode(data); + + this.insertBefore(newNode, node); + node.remove(); + + if (selected) { + this.document.selection.select(newNode.id); + } + } + return node; } getProp(path: string, stash = true): Prop | null { @@ -442,7 +466,6 @@ export class Node<Schema extends NodeSchema = NodeSchema> { return this.parent.children.indexOf(this); } - /** * 获取下一个兄弟节点 */ @@ -607,7 +630,7 @@ export class Node<Schema extends NodeSchema = NodeSchema> { if (this.isParental()) { this.children.purge(); } - this.autoruns?.forEach(dispose => dispose()); + this.autoruns?.forEach((dispose) => dispose()); this.props.purge(); this.document.internalRemoveAndPurgeNode(this); } From 7167767f293fdc6c8d091b05c7ce211d18201038 Mon Sep 17 00:00:00 2001 From: "wuji.xwt" <wuji.xwt@alibaba-inc.com> Date: Sun, 21 Jun 2020 17:11:54 +0800 Subject: [PATCH 64/70] feat: init rax-render --- README.md | 2 +- packages/rax-render/README.md | 49 ++ packages/rax-render/build.json | 11 + packages/rax-render/package.json | 52 ++ .../rax-render/src/comp/visualDom/index.css | 19 + .../rax-render/src/comp/visualDom/index.jsx | 23 + packages/rax-render/src/context/appContext.js | 4 + packages/rax-render/src/engine/base.jsx | 512 ++++++++++++++++++ .../rax-render/src/engine/blockEngine.jsx | 83 +++ packages/rax-render/src/engine/compEngine.jsx | 103 ++++ packages/rax-render/src/engine/index.jsx | 122 +++++ packages/rax-render/src/engine/pageEngine.jsx | 90 +++ packages/rax-render/src/engine/tempEngine.jsx | 67 +++ packages/rax-render/src/hoc/compFactory.js | 71 +++ packages/rax-render/src/hoc/compWrapper.js | 15 + packages/rax-render/src/index.jsx | 5 + 16 files changed, 1227 insertions(+), 1 deletion(-) create mode 100644 packages/rax-render/README.md create mode 100644 packages/rax-render/build.json create mode 100644 packages/rax-render/package.json create mode 100644 packages/rax-render/src/comp/visualDom/index.css create mode 100644 packages/rax-render/src/comp/visualDom/index.jsx create mode 100644 packages/rax-render/src/context/appContext.js create mode 100644 packages/rax-render/src/engine/base.jsx create mode 100644 packages/rax-render/src/engine/blockEngine.jsx create mode 100644 packages/rax-render/src/engine/compEngine.jsx create mode 100644 packages/rax-render/src/engine/index.jsx create mode 100644 packages/rax-render/src/engine/pageEngine.jsx create mode 100644 packages/rax-render/src/engine/tempEngine.jsx create mode 100644 packages/rax-render/src/hoc/compFactory.js create mode 100644 packages/rax-render/src/hoc/compWrapper.js create mode 100644 packages/rax-render/src/index.jsx diff --git a/README.md b/README.md index 3007afc49..34ff152c5 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ #### 创建新包: -- `./create.sh <package-name>` +- `./scripts/create.sh <package-name>` #### 跑起来: diff --git a/packages/rax-render/README.md b/packages/rax-render/README.md new file mode 100644 index 000000000..3d66912a5 --- /dev/null +++ b/packages/rax-render/README.md @@ -0,0 +1,49 @@ +# Rax Renderer + +Rax 渲染模块。 + +## 安装 + +``` +$ npm install @ali/lowcode-engine-rax-renderer --save +``` + +## 使用 + +```js +import { createElement, render } from 'rax'; +import DriverUniversal from 'driver-universal'; +import RaxRenderer from '@ali/lowcode-engine-rax-renderer'; + +const components = { + View, + Text +}; + +const schema = { + componentName: 'Page', + fileName: 'home', + children: [ + { + componentName: 'View', + children: [ + { + componentName: 'Text', + props: { + type: 'primary' + }, + children: ['Welcome to Your Rax App'] + } + ] + } + ] +}; + +render( + <RaxRenderer + schema={schema} + components={components} + />, + document.getElementById('root'), { driver: DriverUniversal } +); +``` diff --git a/packages/rax-render/build.json b/packages/rax-render/build.json new file mode 100644 index 000000000..3edf14380 --- /dev/null +++ b/packages/rax-render/build.json @@ -0,0 +1,11 @@ +{ + "plugins": [ + [ + "build-plugin-rax-component", + { + "type": "rax", + "targets": ["web"] + } + ] + ] +} diff --git a/packages/rax-render/package.json b/packages/rax-render/package.json new file mode 100644 index 000000000..90d0070ba --- /dev/null +++ b/packages/rax-render/package.json @@ -0,0 +1,52 @@ +{ + "name": "@ali/lowcode-engine-rax-renderer", + "version": "0.1.0", + "description": "Rax renderer for Ali lowCode engine", + "main": "lib/index.js", + "module": "lib/index.js", + "miniappConfig": { + "main": "lib/miniapp/index", + "main:wechat": "lib/wechat-miniprogram/index" + }, + "files": [ + "dist", + "es", + "lib", + "src", + "types" + ], + "keywords": [ + "low-code", + "lowcode", + "Rax" + ], + "engines": { + "npm": ">=3.0.0" + }, + "peerDependencies": { + "rax": "^1.1.0", + "prop-types": "^15.7.2" + }, + "scripts": { + "start": "build-scripts start", + "build": "build-scripts build", + "prepublish": "npm run build" + }, + "dependencies": { + "@ali/iceluna-sdk": "^1.0.7-beta.12", + "classnames": "^2.2.6", + "debug": "^4.1.1", + "lodash.isempty": "^4.4.0", + "rax-find-dom-node": "^1.0.1", + "rax-text": "^1.1.6", + "rax-view": "^1.0.0" + }, + "devDependencies": { + "@alib/build-scripts": "^0.1.0", + "build-plugin-rax-component": "^0.1.4" + }, + "publishConfig": { + "registry": "https://registry.npm.alibaba-inc.com" + }, + "license": "MIT" +} diff --git a/packages/rax-render/src/comp/visualDom/index.css b/packages/rax-render/src/comp/visualDom/index.css new file mode 100644 index 000000000..a9b944a7f --- /dev/null +++ b/packages/rax-render/src/comp/visualDom/index.css @@ -0,0 +1,19 @@ +.visual-dom .panel-container { + box-sizing: border-box; + border: 1px solid #e9e9e9; +} + +.visual-dom .panel-container .title { + display: block; + font-size: 12px; + color: #333; + background-color: #ebecf0; + line-height: 28px; + padding: 0 12px; + border-bottom: 1px solid #e9e9e9; +} + +.visual-dom .panel-container .content { + min-height: 20px; + padding: 5px; +} diff --git a/packages/rax-render/src/comp/visualDom/index.jsx b/packages/rax-render/src/comp/visualDom/index.jsx new file mode 100644 index 000000000..7d480098a --- /dev/null +++ b/packages/rax-render/src/comp/visualDom/index.jsx @@ -0,0 +1,23 @@ +import { Component } from 'rax'; +import View from 'rax-view'; +import Text from 'rax-text'; +import './index.css'; + +export default class VisualDom extends Component { + static displayName = 'VisualDom'; + static defaultProps = { + children: null + }; + render() { + const { children, title, label, text, __componentName } = this.props; + + return ( + <View className="visual-dom"> + <View className="panel-container"> + <Text className="title">{title || label || text || __componentName}</Text> + <View className="content">{children}</View> + </View> + </View> + ); + } +} diff --git a/packages/rax-render/src/context/appContext.js b/packages/rax-render/src/context/appContext.js new file mode 100644 index 000000000..b1fce29c4 --- /dev/null +++ b/packages/rax-render/src/context/appContext.js @@ -0,0 +1,4 @@ +import { createContext } from 'rax'; + +const context = createContext({}); +export default context; diff --git a/packages/rax-render/src/engine/base.jsx b/packages/rax-render/src/engine/base.jsx new file mode 100644 index 000000000..eedb51d87 --- /dev/null +++ b/packages/rax-render/src/engine/base.jsx @@ -0,0 +1,512 @@ +import { Component, createElement } from 'rax'; +import PropTypes from 'prop-types'; +import Debug from 'debug'; +import View from 'rax-view'; +import DataHelper from '@ali/iceluna-sdk/lib/utils/dataHelper'; +import { + forEach, + getValue, + parseData, + parseExpression, + isEmpty, + isSchema, + isFileSchema, + isJSExpression, + isJSSlot, + isJSFunction, + transformArrayToMap, + checkPropTypes, + generateI18n, + acceptsRef, +} from '@ali/iceluna-sdk/lib/utils'; +import VisualDom from '../comp/visualDom'; +import AppContext from '../context/appContext'; +import CompWrapper from '../hoc/compWrapper'; + +const debug = Debug('engine:base'); +const DESIGN_MODE = { + EXTEND: 'extend', + BORDER: 'border', + PREVIEW: 'preview', +}; +const OVERLAY_LIST = ['Dialog', 'Overlay']; +let scopeIdx = 0; + +export default class BaseEngine extends Component { + static dislayName = 'base-engine'; + static propTypes = { + locale: PropTypes.string, + messages: PropTypes.object, + __appHelper: PropTypes.object, + __components: PropTypes.object, + __componentsMap: PropTypes.object, + __ctx: PropTypes.object, + __schema: PropTypes.object + }; + static defaultProps = { + __schema: {} + }; + static contextType = AppContext; + + constructor(props, context) { + super(props, context); + this.appHelper = props.__appHelper; + this.__compScopes = {}; + const { locale, messages } = props; + this.i18n = generateI18n(locale, messages); + this.__bindCustomMethods(props); + } + + async getSnapshotBeforeUpdate() { + this.__setLifeCycleMethods('getSnapshotBeforeUpdate', arguments); + } + + async componentDidMount() { + this.reloadDataSource(); + this.__setLifeCycleMethods('componentDidMount', arguments); + } + + async componentDidUpdate() { + this.__setLifeCycleMethods('componentDidUpdate', arguments); + } + + async componentWillUnmount() { + this.__setLifeCycleMethods('componentWillUnmount', arguments); + } + + async componentDidCatch(e) { + this.__setLifeCycleMethods('componentDidCatch', arguments); + console.warn(e); + } + + reloadDataSource = () => { + return new Promise((resolve, reject) => { + debug('reload data source'); + if (!this.__dataHelper) { + this.__showPlaceholder = false; + return resolve(); + } + this.__dataHelper + .getInitData() + .then(res => { + this.__showPlaceholder = false; + if (isEmpty(res)) { + this.forceUpdate(); + return resolve(); + } + this.setState(res, resolve); + }) + .catch(err => { + if (this.__showPlaceholder) { + this.__showPlaceholder = false; + this.forceUpdate(); + } + reject(err); + }); + }); + }; + + __setLifeCycleMethods = (method, args) => { + const lifeCycleMethods = getValue(this.props.__schema, 'lifeCycles', {}); + if (lifeCycleMethods[method]) { + try { + return lifeCycleMethods[method].apply(this, args); + } catch (e) { + console.error(`[${this.props.__schema.componentName}]生命周期${method}出错`, e); + } + } + }; + + __bindCustomMethods = (props = this.props) => { + const { __schema } = props; + const customMethodsList = Object.keys(__schema.methods || {}) || []; + this.__customMethodsList && + this.__customMethodsList.forEach(item => { + if (!customMethodsList.includes(item)) { + delete this[item]; + } + }); + this.__customMethodsList = customMethodsList; + forEach(__schema.methods, (val, key) => { + this[key] = val.bind(this); + }); + }; + + __generateCtx = ctx => { + const { pageContext, compContext } = this.context; + const obj = { + page: pageContext, + component: compContext, + ...ctx + }; + forEach(obj, (val, key) => { + this[key] = val; + }); + }; + + __parseData = (data, ctx) => { + const { __ctx } = this.props; + return parseData(data, ctx || __ctx || this); + }; + + __initDataSource = (props = this.props) => { + const schema = props.__schema || {}; + const appHelper = props.__appHelper; + const dataSource = (schema && schema.dataSource) || {}; + this.__dataHelper = new DataHelper(this, dataSource, appHelper, config => this.__parseData(config)); + this.dataSourceMap = this.__dataHelper.dataSourceMap; + // 设置容器组件占位,若设置占位则在初始异步请求完成之前用loading占位且不渲染容器组件内部内容 + this.__showPlaceholder = + this.__parseData(schema.props && schema.props.autoLoading) && + (dataSource.list || []).some(item => !!this.__parseData(item.isInit)); + }; + + __render = () => { + const schema = this.props.__schema; + this.__setLifeCycleMethods('render'); + + const engine = this.context.engine; + if (engine) { + engine.props.onCompGetCtx(schema, this); + // 画布场景才需要每次渲染bind自定义方法 + if (engine.props.designMode) { + this.__bindCustomMethods(); + this.dataSourceMap = this.__dataHelper && this.__dataHelper.updateConfig(schema.dataSource); + } + } + }; + + __getRef = ref => { + this.__ref = ref; + }; + + __createDom = () => { + const { __schema, __ctx, __components = {} } = this.props; + const self = {}; + self.__proto__ = __ctx || this; + return this.__createVirtualDom(__schema.children, self, { + schema: __schema, + Comp: __components[__schema.componentName] + }); + }; + + // 将模型结构转换成react Element + // schema 模型结构 + // self 为每个渲染组件构造的上下文,self是自上而下继承的 + // parentInfo 父组件的信息,包含schema和Comp + // idx 若为循环渲染的循环Index + __createVirtualDom = (schema, self, parentInfo, idx) => { + if (!schema) return null; + // rax text prop 兼容处理 + if (schema.componentName === 'Text') { + if (typeof schema.props.text === 'string') { + schema = Object.assign({}, schema); + schema.children = [schema.props.text]; + } + } + + const { __appHelper: appHelper, __components: components = {}, __componentsMap: componentsMap = {} } = + this.props || {}; + const { engine } = this.context || {}; + if (isJSExpression(schema)) { + return parseExpression(schema, self); + } + if (typeof schema === 'string') return schema; + if (typeof schema === 'number' || typeof schema === 'boolean') { + return schema.toString(); + } + if (Array.isArray(schema)) { + if (schema.length === 1) return this.__createVirtualDom(schema[0], self, parentInfo); + return schema.map((item, idx) => + this.__createVirtualDom(item, self, parentInfo, item && item.__ctx && item.__ctx.lunaKey ? '' : idx) + ); + } + + //解析占位组件 + if (schema.componentName === 'Flagment' && schema.children) { + let tarChildren = isJSExpression(schema.children) ? parseExpression(schema.children, self) : schema.children; + return this.__createVirtualDom(tarChildren, self, parentInfo); + } + + if (schema.$$typeof) { + return schema; + } + if (!isSchema(schema)) return null; + let Comp = components[schema.componentName] || View; + + if (schema.loop !== undefined) { + return this.__createLoopVirtualDom( + { + ...schema, + loop: parseData(schema.loop, self) + }, + self, + parentInfo, + idx + ); + } + const condition = schema.condition === undefined ? true : parseData(schema.condition, self); + if (!condition) return null; + + let scopeKey = ''; + // 判断组件是否需要生成scope,且只生成一次,挂在this.__compScopes上 + if (Comp.generateScope) { + const key = parseExpression(schema.props.key, self); + if (key) { + // 如果组件自己设置key则使用组件自己的key + scopeKey = key; + } else if (!schema.__ctx) { + // 在生产环境schema没有__ctx上下文,需要手动生成一个lunaKey + schema.__ctx = { + lunaKey: `luna${++scopeIdx}` + }; + scopeKey = schema.__ctx.lunaKey; + } else { + // 需要判断循环的情况 + scopeKey = schema.__ctx.lunaKey + (idx !== undefined ? `_${idx}` : ''); + } + if (!this.__compScopes[scopeKey]) { + this.__compScopes[scopeKey] = Comp.generateScope(this, schema); + } + } + // 如果组件有设置scope,需要为组件生成一个新的scope上下文 + if (scopeKey && this.__compScopes[scopeKey]) { + const compSelf = { ...this.__compScopes[scopeKey] }; + compSelf.__proto__ = self; + self = compSelf; + } + + // 容器类组件的上下文通过props传递,避免context传递带来的嵌套问题 + const otherProps = isFileSchema(schema) + ? { + __schema: schema, + __appHelper: appHelper, + __components: components, + __componentsMap: componentsMap + } + : {}; + if (engine && engine.props.designMode) { + otherProps.__designMode = engine.props.designMode; + } + const componentInfo = componentsMap[schema.componentName] || {}; + const props = this.__parseProps(schema.props, self, '', { + schema, + Comp, + componentInfo: { + ...componentInfo, + props: transformArrayToMap(componentInfo.props, 'name') + } + }); + // 对于可以获取到ref的组件做特殊处理 + if (!acceptsRef(Comp)) { + Comp = CompWrapper(Comp); + } + otherProps.ref = ref => { + const refProps = props.ref; + if (refProps && typeof refProps === 'string') { + this[refProps] = ref; + } + engine && engine.props.onCompGetRef(schema, ref); + }; + // scope需要传入到组件上 + if (scopeKey && this.__compScopes[scopeKey]) { + props.__scope = this.__compScopes[scopeKey]; + } + if (schema.__ctx && schema.__ctx.lunaKey) { + if (!isFileSchema(schema)) { + engine && engine.props.onCompGetCtx(schema, self); + } + props.key = props.key || `${schema.__ctx.lunaKey}_${schema.__ctx.idx || 0}_${idx !== undefined ? idx : ''}`; + } else if (typeof idx === 'number' && !props.key) { + props.key = idx; + } + const renderComp = props => ( + <Comp {...props}> + {(!isFileSchema(schema) && + !!schema.children && + this.__createVirtualDom( + isJSExpression(schema.children) ? parseExpression(schema.children, self) : schema.children, + self, + { + schema, + Comp + } + )) || + null} + </Comp> + ); + //设计模式下的特殊处理 + if (engine && [DESIGN_MODE.EXTEND, DESIGN_MODE.BORDER].includes(engine.props.designMode)) { + //对于overlay,dialog等组件为了使其在设计模式下显示,外层需要增加一个div容器 + if (OVERLAY_LIST.includes(schema.componentName)) { + const { ref, ...overlayProps } = otherProps; + return ( + <Div ref={ref} __designMode={engine.props.designMode}> + {renderComp({ ...props, ...overlayProps })} + </Div> + ); + } + // 虚拟dom显示 + if (componentInfo && componentInfo.parentRule) { + const parentList = componentInfo.parentRule.split(','); + const { schema: parentSchema, Comp: parentComp } = parentInfo; + if (!parentList.includes(parentSchema.componentName) || parentComp !== components[parentSchema.componentName]) { + props.__componentName = schema.componentName; + Comp = VisualDom; + } else { + // 若虚拟dom在正常的渲染上下文中,就不显示设计模式了 + props.__disableDesignMode = true; + } + } + } + return renderComp({ ...props, ...otherProps }); + }; + + __createLoopVirtualDom = (schema, self, parentInfo, idx) => { + if (isFileSchema(schema)) { + console.warn('file type not support Loop'); + return null; + } + if (!Array.isArray(schema.loop)) return null; + const itemArg = (schema.loopArgs && schema.loopArgs[0]) || 'item'; + const indexArg = (schema.loopArgs && schema.loopArgs[1]) || 'index'; + return schema.loop.map((item, i) => { + const loopSelf = { + [itemArg]: item, + [indexArg]: i + }; + loopSelf.__proto__ = self; + return this.__createVirtualDom( + { + ...schema, + loop: undefined + }, + loopSelf, + parentInfo, + idx ? `${idx}_${i}` : i + ); + }); + }; + + __createContextDom = (childCtx, currCtx) => { + return ( + <AppContext.Consumer> + {context => { + this.context = context; + this.__generateCtx(currCtx); + this.__render(); + return ( + <AppContext.Provider + value={{ + ...this.context, + ...childCtx + }} + > + {this.__createDom()} + </AppContext.Provider> + ); + }} + </AppContext.Consumer> + ); + }; + + __parseProps = (props, self, path, info) => { + const { schema, Comp, componentInfo = {} } = info; + const propInfo = getValue(componentInfo.props, path); + const propType = propInfo && propInfo.extra && propInfo.extra.propType; + const ignoreParse = schema.__ignoreParse || []; + const checkProps = value => { + if (!propType) return value; + return checkPropTypes(value, path, propType, componentInfo.name) ? value : undefined; + }; + + const parseReactNode = (data, params) => { + if (isEmpty(params)) { + return checkProps(this.__createVirtualDom(data, self, { schema, Comp })); + } else { + return checkProps(function() { + const args = {}; + if (Array.isArray(params) && params.length) { + params.map((item, idx) => { + if (typeof item === 'string') { + args[item] = arguments[idx]; + } else if (item && typeof item === 'object') { + args[item.name] = arguments[idx]; + } + }); + } + args.__proto__ = self; + return self.__createVirtualDom(data, args, { schema, Comp }); + }); + } + }; + + // 判断是否需要解析变量 + if ( + ignoreParse.some(item => { + if (item instanceof RegExp) { + return item.test(path); + } + return item === path; + }) + ) { + return checkProps(props); + } + if (isJSExpression(props)) { + props = parseExpression(props, self); + // 只有当变量解析出来为模型结构的时候才会继续解析 + if (!isSchema(props) && !isJSSlot(props)) return checkProps(props); + } + + if (isJSFunction(props)) { + props = props.value; + } + if (isJSSlot(props)) { + const { params, value } = props; + if (!isSchema(value) || isEmpty(value)) return undefined; + return parseReactNode(value, params); + } + // 兼容通过componentInfo判断的情况 + if (isSchema(props)) { + return parseReactNode(props); + } else if (Array.isArray(props)) { + return checkProps(props.map((item, idx) => this.__parseProps(item, self, path ? `${path}.${idx}` : idx, info))); + } else if (typeof props === 'function') { + return checkProps(props.bind(self)); + } else if (props && typeof props === 'object') { + if (props.$$typeof) return checkProps(props); + const res = {}; + forEach(props, (val, key) => { + if (key.startsWith('__')) { + res[key] = val; + return; + } + res[key] = this.__parseProps(val, self, path ? `${path}.${key}` : key, info); + }); + return checkProps(res); + } else if (typeof props === 'string') { + return checkProps(props.trim()); + } + return checkProps(props); + }; + + get utils() { + return this.appHelper && this.appHelper.utils; + } + get constants() { + return this.appHelper && this.appHelper.constants; + } + get history() { + return this.appHelper && this.appHelper.history; + } + get location() { + return this.appHelper && this.appHelper.location; + } + get match() { + return this.appHelper && this.appHelper.match; + } + + render() { + return null; + } +} diff --git a/packages/rax-render/src/engine/blockEngine.jsx b/packages/rax-render/src/engine/blockEngine.jsx new file mode 100644 index 000000000..2067d0d67 --- /dev/null +++ b/packages/rax-render/src/engine/blockEngine.jsx @@ -0,0 +1,83 @@ +import { createElement } from 'rax'; +import PropTypes from 'prop-types'; +import Debug from 'debug'; +import classnames from 'classnames'; +import { isSchema, getFileCssName } from '@ali/iceluna-sdk/lib/utils'; +import BaseEngine from './base'; + +const debug = Debug('engine:block'); + +export default class BlockEngine extends BaseEngine { + static dislayName = 'block-engine'; + static propTypes = { + __schema: PropTypes.object + }; + static defaultProps = { + __schema: {} + }; + + static getDerivedStateFromProps(props, state) { + debug(`block.getDerivedStateFromProps`); + const func = props.__schema.lifeCycles && props.__schema.lifeCycles.getDerivedStateFromProps; + if (func) { + return func(props, state); + } + return null; + } + + constructor(props, context) { + super(props, context); + this.__generateCtx(); + const schema = props.__schema || {}; + this.state = this.__parseData(schema.state || {}); + this.__initDataSource(props); + this.__setLifeCycleMethods('constructor', arguments); + debug(`block.constructor - ${schema.fileName}`); + } + + async getSnapshotBeforeUpdate() { + super.getSnapshotBeforeUpdate(...arguments); + debug(`block.getSnapshotBeforeUpdate - ${this.props.__schema.fileName}`); + } + async componentDidMount() { + super.componentDidMount(...arguments); + debug(`block.componentDidMount - ${this.props.__schema.fileName}`); + } + async componentDidUpdate() { + super.componentDidUpdate(...arguments); + debug(`block.componentDidUpdate - ${this.props.__schema.fileName}`); + } + async componentWillUnmount() { + super.componentWillUnmount(...arguments); + debug(`block.componentWillUnmount - ${this.props.__schema.fileName}`); + } + async componentDidCatch() { + await super.componentDidCatch(...arguments); + debug(`block.componentDidCatch - ${this.props.__schema.fileName}`); + } + + render() { + const { __schema } = this.props; + + if (!isSchema(__schema, true) || __schema.componentName !== 'Block') { + return '区块schema结构异常!'; + } + + debug(`block.render - ${__schema.fileName}`); + + const { id, className, style } = this.__parseData(__schema.props); + + return ( + <div + ref={this.__getRef} + className={classnames('luna-block', getFileCssName(__schema.fileName), className, this.props.className)} + id={id} + style={style} + > + {this.__createContextDom({ + blockContext: this + })} + </div> + ); + } +} diff --git a/packages/rax-render/src/engine/compEngine.jsx b/packages/rax-render/src/engine/compEngine.jsx new file mode 100644 index 000000000..4a0cf54b0 --- /dev/null +++ b/packages/rax-render/src/engine/compEngine.jsx @@ -0,0 +1,103 @@ +import { createElement } from 'rax'; +import PropTypes from 'prop-types'; +import Debug from 'debug'; +import classnames from 'classnames'; +import { isSchema, getFileCssName } from '@ali/iceluna-sdk/lib/utils'; +import BaseEngine from './base'; + +const debug = Debug('engine:comp'); + +export default class CompEngine extends BaseEngine { + static dislayName = 'comp-engine'; + static propTypes = { + __schema: PropTypes.object + }; + static defaultProps = { + __schema: {} + }; + + static getDerivedStateFromProps(props, state) { + debug(`comp.getDerivedStateFromProps`); + const func = props.__schema.lifeCycles && props.__schema.lifeCycles.getDerivedStateFromProps; + if (func) { + return func(props, state); + } + return null; + } + + constructor(props, context) { + super(props, context); + this.__generateCtx({ + component: this + }); + const schema = props.__schema || {}; + this.state = this.__parseData(schema.state || {}); + this.__initDataSource(props); + this.__setLifeCycleMethods('constructor', arguments); + debug(`comp.constructor - ${schema.fileName}`); + } + + async getSnapshotBeforeUpdate() { + super.getSnapshotBeforeUpdate(...arguments); + debug(`comp.getSnapshotBeforeUpdate - ${this.props.__schema.fileName}`); + } + async componentDidMount() { + super.componentDidMount(...arguments); + debug(`comp.componentDidMount - ${this.props.__schema.fileName}`); + } + async componentDidUpdate() { + super.componentDidUpdate(...arguments); + debug(`comp.componentDidUpdate - ${this.props.__schema.fileName}`); + } + async componentWillUnmount() { + super.componentWillUnmount(...arguments); + debug(`comp.componentWillUnmount - ${this.props.__schema.fileName}`); + } + async componentDidCatch(e) { + super.componentDidCatch(...arguments); + debug(`comp.componentDidCatch - ${this.props.__schema.fileName}`); + } + + render() { + const { __schema } = this.props; + + if (!isSchema(__schema, true) || __schema.componentName !== 'Component') { + return '自定义组件schema结构异常!'; + } + + debug(`comp.render - ${__schema.fileName}`); + + const { id, className, style, noContainer } = this.__parseData(__schema.props); + + if (noContainer) { + return this.__createContextDom( + { + compContext: this, + blockContext: this + }, + { + component: this + } + ); + } + + return ( + <div + ref={this.__getRef} + className={classnames('luna-comp', getFileCssName(__schema.fileName), className, this.props.className)} + id={this.props.id || id} + style={{ ...style, ...this.props.style }} + > + {this.__createContextDom( + { + compContext: this, + blockContext: this + }, + { + component: this + } + )} + </div> + ); + } +} diff --git a/packages/rax-render/src/engine/index.jsx b/packages/rax-render/src/engine/index.jsx new file mode 100644 index 000000000..e969f1a91 --- /dev/null +++ b/packages/rax-render/src/engine/index.jsx @@ -0,0 +1,122 @@ +import { Component, createElement } from 'rax'; +import PropTypes from 'prop-types'; +import Debug from 'debug'; +import * as isEmpty from 'lodash.isempty'; +import findDOMNode from 'rax-find-dom-node'; +import { isFileSchema, goldlog } from '@ali/iceluna-sdk/lib/utils'; +import AppContext from '../context/appContext'; +import Page from './pageEngine'; +import CustomComp from './compEngine'; +import Block from './blockEngine'; +import Temp from './tempEngine'; + +const debug = Debug('engine:entry'); +const ENGINE_COMPS = { + Page, + Component: CustomComp, + Block, + Temp, +}; +export default class Engine extends Component { + static dislayName = 'engine'; + static propTypes = { + appHelper: PropTypes.object, + components: PropTypes.object, + componentsMap: PropTypes.object, + designMode: PropTypes.string, + suspended: PropTypes.bool, + schema: PropTypes.oneOfType([PropTypes.array, PropTypes.object]), + onCompGetRef: PropTypes.func, + onCompGetCtx: PropTypes.func + }; + static defaultProps = { + appHelper: null, + components: {}, + componentsMap: {}, + designMode: '', + suspended: false, + schema: {}, + onCompGetRef: () => {}, + onCompGetCtx: () => {} + }; + + constructor(props, context) { + super(props, context); + this.state = {}; + debug(`entry.constructor - ${props.schema && props.schema.componentName}`); + } + + async componentDidMount() { + goldlog( + 'EXP', + { + action: 'appear', + value: !!this.props.designMode + }, + 'engine' + ); + debug(`entry.componentDidMount - ${this.props.schema && this.props.schema.componentName}`); + } + + async componentDidUpdate() { + debug(`entry.componentDidUpdate - ${this.props.schema && this.props.schema.componentName}`); + } + + async componentWillUnmount() { + debug(`entry.componentWillUnmount - ${this.props.schema && this.props.schema.componentName}`); + } + + async componentDidCatch(e) { + console.warn(e); + } + + shouldComponentUpdate(nextProps) { + return !nextProps.suspended; + } + + __getRef = ref => { + this.__ref = ref; + if (ref) { + this.props.onCompGetRef(this.props.schema, ref, true); + } + }; + + render() { + const { schema, designMode, appHelper, components, componentsMap } = this.props; + if (isEmpty(schema)) { + return null; + } + if (!isFileSchema(schema)) { + return '模型结构异常'; + } + debug('entry.render'); + const allComponents = { ...ENGINE_COMPS, ...components }; + const Comp = allComponents[schema.componentName]; + if (Comp) { + return ( + <AppContext.Provider + value={{ + appHelper, + components: allComponents, + componentsMap, + engine: this + }} + > + <Comp + key={schema.__ctx && `${schema.__ctx.lunaKey}_${schema.__ctx.idx || '0'}`} + ref={this.__getRef} + __appHelper={appHelper} + __components={allComponents} + __componentsMap={componentsMap} + __schema={schema} + __designMode={designMode} + {...this.props} + /> + </AppContext.Provider> + ); + } + return null; + } +} + +Engine.findDOMNode = findDOMNode; diff --git a/packages/rax-render/src/engine/pageEngine.jsx b/packages/rax-render/src/engine/pageEngine.jsx new file mode 100644 index 000000000..25eed613c --- /dev/null +++ b/packages/rax-render/src/engine/pageEngine.jsx @@ -0,0 +1,90 @@ +import { createElement } from 'rax'; +import PropTypes from 'prop-types'; +import Debug from 'debug'; +import classnames from 'classnames'; +import { isSchema, getFileCssName } from '@ali/iceluna-sdk/lib/utils'; +import BaseEngine from './base'; + +const debug = Debug('engine:page'); + +export default class PageEngine extends BaseEngine { + static dislayName = 'page-engine'; + static propTypes = { + __schema: PropTypes.object + }; + static defaultProps = { + __schema: {} + }; + + static getDerivedStateFromProps(props, state) { + debug(`page.getDerivedStateFromProps`); + const func = props.__schema.lifeCycles && props.__schema.lifeCycles.getDerivedStateFromProps; + if (func) { + return func(props, state); + } + return null; + } + + constructor(props, context) { + super(props, context); + this.__generateCtx({ + page: this + }); + const schema = props.__schema || {}; + this.state = this.__parseData(schema.state || {}); + this.__initDataSource(props); + this.__setLifeCycleMethods('constructor', arguments); + + debug(`page.constructor - ${schema.fileName}`); + } + + async getSnapshotBeforeUpdate() { + super.getSnapshotBeforeUpdate(...arguments); + debug(`page.getSnapshotBeforeUpdate - ${this.props.__schema.fileName}`); + } + async componentDidMount() { + super.componentDidMount(...arguments); + debug(`page.componentDidMount - ${this.props.__schema.fileName}`); + } + async componentDidUpdate() { + super.componentDidUpdate(...arguments); + debug(`page.componentDidUpdate - ${this.props.__schema.fileName}`); + } + async componentWillUnmount() { + super.componentWillUnmount(...arguments); + debug(`page.componentWillUnmount - ${this.props.__schema.fileName}`); + } + async componentDidCatch() { + await super.componentDidCatch(...arguments); + debug(`page.componentDidCatch - ${this.props.__schema.fileName}`); + } + + render() { + const { __schema } = this.props; + if (!isSchema(__schema, true) || __schema.componentName !== 'Page') { + return '页面schema结构异常!'; + } + debug(`page.render - ${__schema.fileName}`); + + const { id, className, style } = this.__parseData(__schema.props); + + return ( + <div + ref={this.__getRef} + className={classnames('luna-page', getFileCssName(__schema.fileName), className, this.props.className)} + id={id} + style={style} + > + {this.__createContextDom( + { + pageContext: this, + blockContext: this + }, + { + page: this + } + )} + </div> + ); + } +} diff --git a/packages/rax-render/src/engine/tempEngine.jsx b/packages/rax-render/src/engine/tempEngine.jsx new file mode 100644 index 000000000..d76e01c69 --- /dev/null +++ b/packages/rax-render/src/engine/tempEngine.jsx @@ -0,0 +1,67 @@ +import { createElement } from 'rax'; +import PropTypes from 'prop-types'; +import Debug from 'debug'; +import { isSchema } from '@ali/iceluna-sdk/lib/utils'; +import AppContext from '../context/appContext'; +import BaseEngine from './base'; + +const debug = Debug('engine:temp'); +export default class TempEngine extends BaseEngine { + static dislayName = 'temp-engine'; + static propTypes = { + __ctx: PropTypes.object, + __schema: PropTypes.object + }; + static defaultProps = { + __ctx: {}, + __schema: {} + }; + + constructor(props, context) { + super(props, context); + this.state = {}; + this.cacheSetState = {}; + debug(`temp.constructor - ${props.__schema.fileName}`); + } + + componentDidMount() { + const ctx = this.props.__ctx; + if (!ctx) return; + const setState = ctx.setState; + this.cacheSetState = setState; + ctx.setState = (...args) => { + setState.call(ctx, ...args); + setTimeout(() => this.forceUpdate(), 0); + }; + debug(`temp.componentDidMount - ${this.props.__schema.fileName}`); + } + componentDidUpdate(prevProps, prevState, snapshot) { + debug(`temp.componentDidUpdate - ${this.props.__schema.fileName}`); + } + componentWillUnmount() { + const ctx = this.props.__ctx; + if (!ctx || !this.cacheSetState) return; + ctx.setState = this.cacheSetState; + delete this.cacheSetState; + debug(`temp.componentWillUnmount - ${this.props.__schema.fileName}`); + } + componentDidCatch(e) { + console.warn(e); + debug(`temp.componentDidCatch - ${this.props.__schema.fileName}`); + } + + render() { + const { __schema, __ctx } = this.props; + if (!isSchema(__schema, true) || __schema.componentName !== 'Temp') { + return '下钻编辑schema结构异常!'; + } + + debug(`temp.render - ${__schema.fileName}`); + + return ( + <div ref={this.__getRef} className="luna-temp"> + <AppContext.Provider value={{ ...this.context, ...__ctx }}>{this.__createDom()}</AppContext.Provider> + </div> + ); + } +} diff --git a/packages/rax-render/src/hoc/compFactory.js b/packages/rax-render/src/hoc/compFactory.js new file mode 100644 index 000000000..a28ca36a5 --- /dev/null +++ b/packages/rax-render/src/hoc/compFactory.js @@ -0,0 +1,71 @@ +import { Component, createElement } from 'rax'; +import PropTypes from 'prop-types'; +import AppHelper from '@ali/iceluna-sdk/lib/utils/appHelper'; +import { forEach, isFileSchema } from '@ali/iceluna-sdk/lib/utils'; +import CompEngine from '../engine/compEngine'; +import BlockEngine from '../engine/blockEngine'; +import AppContext from '../context/appContext'; + +export default function compFactory(schema, components = {}, componentsMap = {}, config = {}) { + // 自定义组件需要有自己独立的appHelper + const appHelper = new AppHelper(config); + class LNCompView extends Component { + static dislayName = 'luna-comp-factory'; + static version = config.version || '0.0.0'; + static contextType = AppContext; + static propTypes = { + forwardedRef: PropTypes.func + }; + render() { + if (!schema || schema.componentName !== 'Component' || !isFileSchema(schema)) { + console.warn('自定义组件模型结构异常!'); + return null; + } + const { forwardedRef, ...otherProps } = this.props; + // 低代码组件透传应用上下文 + const ctx = ['utils', 'constants', 'history', 'location', 'match']; + ctx.forEach(key => { + if (!appHelper[key] && this.context && this.context.appHelper && this.context.appHelper[key]) { + appHelper.set(key, this.context.appHelper[key]); + } + }); + // 支持通过context透传国际化配置 + const localeProps = {}; + const { locale, messages } = this.context; + if (locale && messages && messages[schema.fileName]) { + localeProps.locale = locale; + localeProps.messages = messages[schema.fileName]; + } + const props = { + ...schema.defaultProps, + ...localeProps, + ...otherProps, + __schema: schema, + ref: forwardedRef + }; + + return ( + <AppContext.Consumer> + {context => { + this.context = context; + return ( + <CompEngine + {...props} + __appHelper={appHelper} + __components={{ ...components, Component: CompEngine, Block: BlockEngine }} + __componentsMap={componentsMap} + /> + ); + }} + </AppContext.Consumer> + ); + } + } + + const ResComp = React.forwardRef((props, ref) => <LNCompView {...props} forwardedRef={ref} />); + forEach(schema.static, (val, key) => { + ResComp[key] = val; + }); + ResComp.version = config.version || '0.0.0'; + return ResComp; +} diff --git a/packages/rax-render/src/hoc/compWrapper.js b/packages/rax-render/src/hoc/compWrapper.js new file mode 100644 index 000000000..4f55a6683 --- /dev/null +++ b/packages/rax-render/src/hoc/compWrapper.js @@ -0,0 +1,15 @@ +import { createElement, Component } from 'rax'; + +export default function(Comp) { + class CompWrapper extends Component { + constructor(props, context) { + super(props, context); + } + + render() { + return <Comp {...this.props} />; + } + } + + return CompWrapper; +} diff --git a/packages/rax-render/src/index.jsx b/packages/rax-render/src/index.jsx new file mode 100644 index 000000000..e7b4ba078 --- /dev/null +++ b/packages/rax-render/src/index.jsx @@ -0,0 +1,5 @@ +import Engine from './engine'; + +export { default as Engine } from './engine'; +export { default as CompFactory } from './hoc/compFactory'; +export default Engine; From 7db1378fad1505791158b3641daf55a5e7becce7 Mon Sep 17 00:00:00 2001 From: "wuji.xwt" <wuji.xwt@alibaba-inc.com> Date: Sun, 21 Jun 2020 17:47:49 +0800 Subject: [PATCH 65/70] refactor: remove iceluna-SDK --- packages/rax-render/package.json | 17 +- packages/rax-render/src/engine/base.jsx | 4 +- .../rax-render/src/engine/blockEngine.jsx | 2 +- packages/rax-render/src/engine/compEngine.jsx | 2 +- packages/rax-render/src/engine/index.jsx | 4 +- packages/rax-render/src/engine/pageEngine.jsx | 2 +- packages/rax-render/src/engine/tempEngine.jsx | 2 +- packages/rax-render/src/hoc/compFactory.js | 4 +- packages/rax-render/src/utils/appHelper.js | 49 ++ packages/rax-render/src/utils/dataHelper.js | 299 ++++++++ packages/rax-render/src/utils/index.js | 718 ++++++++++++++++++ packages/rax-render/src/utils/request.js | 171 +++++ 12 files changed, 1261 insertions(+), 13 deletions(-) create mode 100644 packages/rax-render/src/utils/appHelper.js create mode 100644 packages/rax-render/src/utils/dataHelper.js create mode 100644 packages/rax-render/src/utils/index.js create mode 100644 packages/rax-render/src/utils/request.js diff --git a/packages/rax-render/package.json b/packages/rax-render/package.json index 90d0070ba..ade1a3756 100644 --- a/packages/rax-render/package.json +++ b/packages/rax-render/package.json @@ -33,13 +33,24 @@ "prepublish": "npm run build" }, "dependencies": { - "@ali/iceluna-sdk": "^1.0.7-beta.12", + "@ali/b3-one": "^0.0.17", + "@ali/bzb-request": "2.6.1", + "@ali/lib-mtop": "^2.5.1", "classnames": "^2.2.6", "debug": "^4.1.1", - "lodash.isempty": "^4.4.0", + "events": "^3.0.0", + "fetch-jsonp": "^1.1.3", + "intl-messageformat": "^7.7.2", + "jsonuri": "^2.1.2", + "keymaster": "^1.6.2", + "lodash": "^4.17.11", + "moment": "^2.24.0", "rax-find-dom-node": "^1.0.1", "rax-text": "^1.1.6", - "rax-view": "^1.0.0" + "rax-view": "^1.0.0", + "react-is": "^16.10.1", + "serialize-javascript": "^1.7.0", + "whatwg-fetch": "^3.0.0" }, "devDependencies": { "@alib/build-scripts": "^0.1.0", diff --git a/packages/rax-render/src/engine/base.jsx b/packages/rax-render/src/engine/base.jsx index eedb51d87..95d1dcaff 100644 --- a/packages/rax-render/src/engine/base.jsx +++ b/packages/rax-render/src/engine/base.jsx @@ -2,7 +2,7 @@ import { Component, createElement } from 'rax'; import PropTypes from 'prop-types'; import Debug from 'debug'; import View from 'rax-view'; -import DataHelper from '@ali/iceluna-sdk/lib/utils/dataHelper'; +import DataHelper from '../utils/dataHelper'; import { forEach, getValue, @@ -18,7 +18,7 @@ import { checkPropTypes, generateI18n, acceptsRef, -} from '@ali/iceluna-sdk/lib/utils'; +} from '../utils'; import VisualDom from '../comp/visualDom'; import AppContext from '../context/appContext'; import CompWrapper from '../hoc/compWrapper'; diff --git a/packages/rax-render/src/engine/blockEngine.jsx b/packages/rax-render/src/engine/blockEngine.jsx index 2067d0d67..ab986cc1a 100644 --- a/packages/rax-render/src/engine/blockEngine.jsx +++ b/packages/rax-render/src/engine/blockEngine.jsx @@ -2,7 +2,7 @@ import { createElement } from 'rax'; import PropTypes from 'prop-types'; import Debug from 'debug'; import classnames from 'classnames'; -import { isSchema, getFileCssName } from '@ali/iceluna-sdk/lib/utils'; +import { isSchema, getFileCssName } from '../utils'; import BaseEngine from './base'; const debug = Debug('engine:block'); diff --git a/packages/rax-render/src/engine/compEngine.jsx b/packages/rax-render/src/engine/compEngine.jsx index 4a0cf54b0..235ad4996 100644 --- a/packages/rax-render/src/engine/compEngine.jsx +++ b/packages/rax-render/src/engine/compEngine.jsx @@ -2,7 +2,7 @@ import { createElement } from 'rax'; import PropTypes from 'prop-types'; import Debug from 'debug'; import classnames from 'classnames'; -import { isSchema, getFileCssName } from '@ali/iceluna-sdk/lib/utils'; +import { isSchema, getFileCssName } from '../utils'; import BaseEngine from './base'; const debug = Debug('engine:comp'); diff --git a/packages/rax-render/src/engine/index.jsx b/packages/rax-render/src/engine/index.jsx index e969f1a91..7bbe0fad4 100644 --- a/packages/rax-render/src/engine/index.jsx +++ b/packages/rax-render/src/engine/index.jsx @@ -1,9 +1,9 @@ import { Component, createElement } from 'rax'; import PropTypes from 'prop-types'; import Debug from 'debug'; -import * as isEmpty from 'lodash.isempty'; +import * as isEmpty from 'lodash/isEmpty'; import findDOMNode from 'rax-find-dom-node'; -import { isFileSchema, goldlog } from '@ali/iceluna-sdk/lib/utils'; +import { isFileSchema, goldlog } from '../utils'; import AppContext from '../context/appContext'; import Page from './pageEngine'; import CustomComp from './compEngine'; diff --git a/packages/rax-render/src/engine/pageEngine.jsx b/packages/rax-render/src/engine/pageEngine.jsx index 25eed613c..c09eaa265 100644 --- a/packages/rax-render/src/engine/pageEngine.jsx +++ b/packages/rax-render/src/engine/pageEngine.jsx @@ -2,7 +2,7 @@ import { createElement } from 'rax'; import PropTypes from 'prop-types'; import Debug from 'debug'; import classnames from 'classnames'; -import { isSchema, getFileCssName } from '@ali/iceluna-sdk/lib/utils'; +import { isSchema, getFileCssName } from '../utils'; import BaseEngine from './base'; const debug = Debug('engine:page'); diff --git a/packages/rax-render/src/engine/tempEngine.jsx b/packages/rax-render/src/engine/tempEngine.jsx index d76e01c69..b55436320 100644 --- a/packages/rax-render/src/engine/tempEngine.jsx +++ b/packages/rax-render/src/engine/tempEngine.jsx @@ -1,7 +1,7 @@ import { createElement } from 'rax'; import PropTypes from 'prop-types'; import Debug from 'debug'; -import { isSchema } from '@ali/iceluna-sdk/lib/utils'; +import { isSchema } from '../utils'; import AppContext from '../context/appContext'; import BaseEngine from './base'; diff --git a/packages/rax-render/src/hoc/compFactory.js b/packages/rax-render/src/hoc/compFactory.js index a28ca36a5..d56a8b5f3 100644 --- a/packages/rax-render/src/hoc/compFactory.js +++ b/packages/rax-render/src/hoc/compFactory.js @@ -1,7 +1,7 @@ import { Component, createElement } from 'rax'; import PropTypes from 'prop-types'; -import AppHelper from '@ali/iceluna-sdk/lib/utils/appHelper'; -import { forEach, isFileSchema } from '@ali/iceluna-sdk/lib/utils'; +import AppHelper from '../utils/appHelper'; +import { forEach, isFileSchema } from '../utils'; import CompEngine from '../engine/compEngine'; import BlockEngine from '../engine/blockEngine'; import AppContext from '../context/appContext'; diff --git a/packages/rax-render/src/utils/appHelper.js b/packages/rax-render/src/utils/appHelper.js new file mode 100644 index 000000000..e39741ddc --- /dev/null +++ b/packages/rax-render/src/utils/appHelper.js @@ -0,0 +1,49 @@ +import EventEmitter from 'events'; + +let instance = null; + +EventEmitter.defaultMaxListeners = 100; + +export default class AppHelper extends EventEmitter { + static getInstance = () => { + if (!instance) { + instance = new AppHelper(); + } + return instance; + }; + + constructor(config) { + super(); + instance = this; + Object.assign(this, config); + } + + get(key) { + return this[key]; + } + + set(key, val) { + if (typeof key === 'string') { + this[key] = val; + } else if (typeof key === 'object') { + Object.keys(key).forEach((item) => { + this[item] = key[item]; + }); + } + } + + batchOn(events, lisenter) { + if (!Array.isArray(events)) return; + events.forEach((event) => this.on(event, lisenter)); + } + + batchOnce(events, lisenter) { + if (!Array.isArray(events)) return; + events.forEach((event) => this.once(event, lisenter)); + } + + batchOff(events, lisenter) { + if (!Array.isArray(events)) return; + events.forEach((event) => this.off(event, lisenter)); + } +} diff --git a/packages/rax-render/src/utils/dataHelper.js b/packages/rax-render/src/utils/dataHelper.js new file mode 100644 index 000000000..6c838a739 --- /dev/null +++ b/packages/rax-render/src/utils/dataHelper.js @@ -0,0 +1,299 @@ +import { transformArrayToMap, isJSFunction, transformStringToFunction, clone } from './index'; +import { jsonp, mtop, request, get, post, bzb } from './request'; + +const DS_STATUS = { + INIT: 'init', + LOADING: 'loading', + LOADED: 'loaded', + ERROR: 'error' +}; + +export default class DataHelper { + constructor(comp, config = {}, appHelper, parser) { + this.host = comp; + this.config = config; + this.parser = parser; + this.ajaxList = (config && config.list) || []; + this.ajaxMap = transformArrayToMap(this.ajaxList, 'id'); + this.dataSourceMap = this.generateDataSourceMap(); + this.appHelper = appHelper; + } + + // 重置config,dataSourceMap状态会被重置; + resetConfig(config = {}) { + this.config = config; + this.ajaxList = (config && config.list) || []; + this.ajaxMap = transformArrayToMap(this.ajaxList, 'id'); + this.dataSourceMap = this.generateDataSourceMap(); + return this.dataSourceMap; + } + + // 更新config,只会更新配置,状态保存; + updateConfig(config = {}) { + this.config = config; + this.ajaxList = (config && config.list) || []; + const ajaxMap = transformArrayToMap(this.ajaxList, 'id'); + // 删除已经移除的接口 + Object.keys(this.ajaxMap).forEach(key => { + if (!ajaxMap[key]) { + delete this.dataSourceMap[key]; + } + }); + this.ajaxMap = ajaxMap; + // 添加未加入到dataSourceMap中的接口 + this.ajaxList.forEach(item => { + if (!this.dataSourceMap[item.id]) { + this.dataSourceMap[item.id] = { + status: DS_STATUS.INIT, + load: (...args) => { + return this.getDataSource(item.id, ...args); + } + }; + } + }); + return this.dataSourceMap; + } + + generateDataSourceMap() { + const res = {}; + this.ajaxList.forEach(item => { + res[item.id] = { + status: DS_STATUS.INIT, + load: (...args) => { + return this.getDataSource(item.id, ...args); + } + }; + }); + return res; + } + + updateDataSourceMap(id, data, error) { + this.dataSourceMap[id].error = error ? error : undefined; + this.dataSourceMap[id].data = data; + this.dataSourceMap[id].status = error ? DS_STATUS.ERROR : DS_STATUS.LOADED; + } + + getInitData() { + const initSyncData = this.parser(this.ajaxList).filter(item => { + if (item.isInit) { + this.dataSourceMap[item.id].status = DS_STATUS.LOADING; + return true; + } + return false; + }); + return this.asyncDataHandler(initSyncData).then(res => { + let dataHandler = this.config.dataHandler; + if (isJSFunction(dataHandler)) { + dataHandler = transformStringToFunction(dataHandler.value); + } + if (!dataHandler || typeof dataHandler !== 'function') return res; + try { + return dataHandler.call(this.host, res); + } catch (e) { + console.error('请求数据处理函数运行出错', e); + return; + } + }); + } + + getDataSource(id, params, otherOptions, callback) { + const req = this.parser(this.ajaxMap[id]); + const options = req.options || {}; + if (typeof otherOptions === 'function') { + callback = otherOptions; + otherOptions = {}; + } + const { headers, ...otherProps } = otherOptions || {}; + if (!req) { + console.warn(`getDataSource API named ${id} not exist`); + return; + } + return this.asyncDataHandler([ + { + ...req, + options: { + ...options, + // 支持参数为array的情况,当参数为array时,不做参数合并 + params: + Array.isArray(options.params) || Array.isArray(params) + ? params || options.params + : { + ...options.params, + ...params + }, + headers: { + ...options.headers, + ...headers + }, + ...otherProps + } + } + ]) + .then(res => { + try { + callback && callback(res && res[id]); + } catch (e) { + console.error('load请求回调函数报错', e); + } + + return res && res[id]; + }) + .catch(err => { + try { + callback && callback(null, err); + } catch (e) { + console.error('load请求回调函数报错', e); + } + + return err; + }); + } + + asyncDataHandler(asyncDataList) { + return new Promise((resolve, reject) => { + const allReq = []; + const doserReq = []; + const doserList = []; + const beforeRequest = this.appHelper && this.appHelper.utils && this.appHelper.utils.beforeRequest; + const afterRequest = this.appHelper && this.appHelper.utils && this.appHelper.utils.afterRequest; + const csrfInput = document.getElementById('_csrf_token'); + const _tb_token_ = csrfInput && csrfInput.value; + asyncDataList.map(req => { + const { id, type, options } = req; + if (!id || !type) return; + if (type === 'doServer') { + const { uri, params } = options || {}; + if (!uri) return; + doserList.push(id); + doserReq.push({ name: uri, package: 'cms', params }); + } else { + allReq.push(req); + } + }); + + if (doserReq.length > 0) { + allReq.push({ + type: 'doServer', + options: { + uri: '/nrsService.do', + cors: true, + method: 'POST', + params: { + data: JSON.stringify(doserReq), + _tb_token_ + } + } + }); + } + if (allReq.length === 0) resolve({}); + const res = {}; + Promise.all( + allReq.map(item => { + return new Promise(resolve => { + const { type, id, dataHandler, options } = item; + const doFetch = (type, options) => { + this.fetchOne(type, options) + .then(async data => { + if (afterRequest) { + this.appHelper.utils.afterRequest(item, data, undefined, async (data, error) => { + await fetchHandler(data, error); + }); + } else { + await fetchHandler(data, undefined); + } + }) + .catch(async err => { + if (afterRequest) { + // 必须要这么调用,否则beforeRequest中的this会丢失 + this.appHelper.utils.afterRequest(item, undefined, err, async (data, error) => { + await fetchHandler(data, error); + }); + } else { + await fetchHandler(undefined, err); + } + }); + }; + const fetchHandler = async (data, error) => { + if (type === 'doServer') { + if (!Array.isArray(data)) { + data = [data]; + } + doserList.forEach(async (id, idx) => { + const req = this.ajaxMap[id]; + if (req) { + res[id] = await this.dataHandler(id, req.dataHandler, data && data[idx], error); + this.updateDataSourceMap(id, res[id], error); + } + }); + } else { + res[id] = await this.dataHandler(id, dataHandler, data, error); + this.updateDataSourceMap(id, res[id], error); + } + resolve(); + }; + + if (type === 'doServer') { + doserList.forEach(item => { + this.dataSourceMap[item].status = DS_STATUS.LOADING; + }); + } else { + this.dataSourceMap[id].status = DS_STATUS.LOADING; + } + // 请求切片 + if (beforeRequest) { + // 必须要这么调用,否则beforeRequest中的this会丢失 + this.appHelper.utils.beforeRequest(item, clone(options), options => doFetch(type, options)); + } else { + doFetch(type, options); + } + }); + }) + ) + .then(() => { + resolve(res); + }) + .catch(e => { + reject(e); + }); + }); + } + + async dataHandler(id, dataHandler, data, error) { + if (isJSFunction(dataHandler)) { + dataHandler = transformStringToFunction(dataHandler.value); + } + if (!dataHandler || typeof dataHandler !== 'function') return data; + try { + return await dataHandler.call(this.host, data, error); + } catch (e) { + console.error('[' + id + ']单个请求数据处理函数运行出错', e); + return; + } + } + + fetchOne(type, options) { + let { uri, method = 'GET', headers, params, ...otherProps } = options; + otherProps = otherProps || {}; + switch (type) { + case 'mtop': + method && (otherProps.method = method); + return mtop(uri, params, otherProps); + case 'jsonp': + return jsonp(uri, params, otherProps); + case 'bzb': + return bzb(uri, params, { + method, + headers, + ...otherProps + }); + default: + method = method.toUpperCase(); + if (method === 'GET') { + return get(uri, params, headers, otherProps); + } else if (method === 'POST') { + return post(uri, params, headers, otherProps); + } + return request(uri, method, params, headers, otherProps); + } + } +} diff --git a/packages/rax-render/src/utils/index.js b/packages/rax-render/src/utils/index.js new file mode 100644 index 000000000..814f1edc9 --- /dev/null +++ b/packages/rax-render/src/utils/index.js @@ -0,0 +1,718 @@ +import Debug from 'debug'; +import _keymaster from 'keymaster'; +import { forEach as _forEach, shallowEqual as _shallowEqual } from '@ali/b3-one/lib/obj'; +import { serialize as serializeParams } from '@ali/b3-one/lib/url'; +import _moment from 'moment'; +import 'moment/locale/zh-cn'; +import _pick from 'lodash/pick'; +import _deepEqual from 'lodash/isEqualWith'; +import _clone from 'lodash/cloneDeep'; +import _isEmpty from 'lodash/isEmpty'; +import _throttle from 'lodash/throttle'; +import _debounce from 'lodash/debounce'; +import _serialize from 'serialize-javascript'; +import * as _jsonuri from 'jsonuri'; +import IntlMessageFormat from 'intl-messageformat'; +import pkg from '../../package.json'; + +window.sdkVersion = pkg.version; + +export const moment = _moment; +moment.locale('zh-cn'); +export const forEach = _forEach; +export const shallowEqual = _shallowEqual; +export const keymaster = _keymaster; +export const pick = _pick; +export const deepEqual = _deepEqual; +export const clone = _clone; +export const isEmpty = _isEmpty; +export const throttle = _throttle; +export const debounce = _debounce; +export const serialize = _serialize; +export const jsonuri = _jsonuri; +export { get, post, jsonp, mtop, request } from './request'; + +const ReactIs = require('react-is'); + +const ReactPropTypesSecret = require('prop-types/lib/ReactPropTypesSecret'); + +const factoryWithTypeCheckers = require('prop-types/factoryWithTypeCheckers'); + +const PropTypes2 = factoryWithTypeCheckers(ReactIs.isElement, true); + +const EXPRESSION_TYPE = { + JSEXPRESSION: 'JSExpression', + JSFUNCTION: 'JSFunction', + JSSLOT: 'JSSlot' +}; +const EXPRESSION_REG = /^\{\{(\{.*\}|.*?)\}\}$/; +const hasSymbol = typeof Symbol === 'function' && Symbol['for']; +const REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol['for']('react.forward_ref') : 0xead0; +const debug = Debug('utils:index'); + +const ENV = { + TBE: 'TBE', + WEBIDE: 'WEB-IDE', + VSCODE: 'VSCODE', + WEB: 'WEB' +}; + +/** + * @name isSchema + * @description 判断是否是模型结构 + */ +export function isSchema(schema, ignoreArr) { + if (isEmpty(schema)) return false; + if (!ignoreArr && Array.isArray(schema)) return schema.every(item => isSchema(item)); + return !!(schema.componentName && schema.props && (typeof schema.props === 'object' || isJSExpression(schema.props))); +} + +export function isFileSchema(schema) { + if (isEmpty(schema)) return false; + return ['Page', 'Block', 'Component', 'Addon', 'Temp'].includes(schema.componentName); +} + +// 判断当前页面是否被嵌入到同域的页面中 +export function inSameDomain() { + try { + return window.parent !== window && window.parent.location.host === window.location.host; + } catch (e) { + return false; + } +} + +export function getFileCssName(fileName) { + if (!fileName) return; + let name = fileName.replace(/([A-Z])/g, '-$1').toLowerCase(); + return ('luna-' + name) + .split('-') + .filter(p => !!p) + .join('-'); +} + +export function isJSSlot(obj) { + return obj && typeof obj === 'object' && EXPRESSION_TYPE.JSSLOT === obj.type; +} +export function isJSFunction(obj) { + return obj && typeof obj === 'object' && EXPRESSION_TYPE.JSFUNCTION === obj.type; +} +export function isJSExpression(obj) { + //兼容两种写法,有js构造表达式的情况 + const isJSExpressionObj = + obj && typeof obj === 'object' && EXPRESSION_TYPE.JSEXPRESSION === obj.type && typeof obj.value === 'string'; + const isJSExpressionStr = typeof obj === 'string' && EXPRESSION_REG.test(obj.trim()); + return isJSExpressionObj || isJSExpressionStr; +} + +/** + * @name wait + * @description 等待函数 + */ +export function wait(ms) { + return new Promise(resolve => setTimeout(() => resolve(true), ms)); +} + +export function curry(Comp, hocs = []) { + return hocs.reverse().reduce((pre, cur) => { + return cur(pre); + }, Comp); +} + +/** + * 获取parent window上的值,需要做同域判断 + * @param {string} key + */ +export function getParentWinValue(key) { + if (inSameDomain()) { + return window.parent && window.parent[key]; + } +} + +export function getValue(obj, path, defaultValue) { + if (isEmpty(obj) || typeof obj !== 'object') return defaultValue; + const res = path.split('.').reduce((pre, cur) => { + return pre && pre[cur]; + }, obj); + if (res === undefined) return defaultValue; + return res; +} + +export function parseObj(schemaStr) { + if (typeof schemaStr !== 'string') return schemaStr; + //默认调用顶层窗口的parseObj,保障new Function的window对象是顶层的window对象 + try { + if (inSameDomain() && window.parent.__newFunc) { + return window.parent.__newFunc(`"use strict"; return ${schemaStr}`)(); + } + return new Function(`"use strict"; return ${schemaStr}`)(); + } catch (err) { + return undefined; + } +} + +export function parseSearch(search) { + if (!search || typeof search !== 'string') { + return {}; + } + const str = search.replace(/^\?/, ''); + const paramStr = str.split('&'); + const res = {}; + paramStr.forEach(item => { + const regRes = item.split('='); + if (regRes[0] && regRes[1]) { + res[regRes[0]] = decodeURIComponent(regRes[1]); + } + }); + return res; +} + +export function fastClone(obj) { + return parseObj(serialize(obj, { unsafe: true })); +} + +// 更新obj的内容但不改变obj的指针 +export function fillObj(receiver = {}, ...suppliers) { + Object.keys(receiver).forEach(item => { + delete receiver[item]; + }); + Object.assign(receiver, ...suppliers); + return receiver; +} + +// 中划线转驼峰 +export function toHump(name) { + return name.replace(/\-(\w)/g, function(all, letter) { + return letter.toUpperCase(); + }); +} +// 驼峰转中划线 +export function toLine(name) { + return name.replace(/([A-Z])/g, '-$1').toLowerCase(); +} + +// 获取当前环境 +export function getEnv() { + const userAgent = navigator.userAgent; + const isVscode = /Electron\//.test(userAgent); + if (isVscode) return ENV.VSCODE; + const isTheia = window.is_theia === true; + if (isTheia) return ENV.WEBIDE; + return ENV.WEB; +} + +/** + * 合并skeleton配置 + * @param {*} 骨架默认配置 + * @param {*} 用户自定义配置 + */ +export function comboSkeletonConfig(defaultConfig = {}, customConfig) { + const { skeleton, theme, addons, hooks, shortCuts, extensions, constants, utils, i18n } = customConfig || {}; + + if (skeleton && skeleton.handler && typeof skeleton.handler === 'function') { + return skeleton.handler({ + skeleton, + ...defaultConfig + }); + } + + const defaultShortCuts = transformArrayToMap(defaultConfig.shortCuts || [], 'keyboard'); + const customShortCuts = transformArrayToMap(shortCuts || [], 'keyboard'); + const localeList = ['zh-CN', 'zh-TW', 'en-US', 'ja-JP']; + const i18nConfig = {}; + localeList.forEach(key => { + i18nConfig[key] = { + ...(defaultConfig.i18n && defaultConfig.i18n[key]), + ...(i18n && i18n[key]) + }; + }); + return { + skeleton, + theme: { + ...defaultConfig.theme, + ...theme + }, + addons: { + ...defaultConfig.addons, + ...addons + }, + hooks: [...(defaultConfig.hooks || []), ...(hooks || [])], + shortCuts: Object.values({ + ...defaultShortCuts, + ...customShortCuts + }), + extensions: { + ...defaultConfig.extensions, + ...extensions + }, + constants: { + ...defaultConfig.constants, + ...constants + }, + utils: [...(defaultConfig.utils || []), ...(utils || [])], + i18n: i18nConfig + }; +} + +/** + * 用于构造国际化字符串处理函数 + * @param {*} locale 国际化标识,例如 zh-CN、en-US + * @param {*} messages 国际化语言包 + */ +export function generateI18n(locale = 'zh-CN', messages = {}) { + return (key, values = {}) => { + if (!messages || !messages[key]) return ''; + const formater = new IntlMessageFormat(messages[key], locale); + return formater.format(values); + }; +} + +/** + * 判断当前组件是否能够设置ref + * @param {*} Comp 需要判断的组件 + */ +export function acceptsRef(Comp) { + return ( + (Comp.$$typeof && Comp.$$typeof === REACT_FORWARD_REF_TYPE) || (Comp.prototype && Comp.prototype.isReactComponent) + ); +} + +/** + * 黄金令箭埋点 + * @param {String} gmKey 为黄金令箭业务类型 + * @param {Object} params 参数 + * @param {String} logKey 属性串 + */ +export function goldlog(gmKey, params = {}, logKey = 'other') { + // vscode 黄金令箭API + const sendIDEMessage = window.sendIDEMessage || getParentWinValue('sendIDEMessage'); + const goKey = serializeParams({ + sdkVersion: pkg.version, + env: getEnv(), + ...params + }); + if (sendIDEMessage) { + sendIDEMessage({ + action: 'goldlog', + data: { + logKey: `/iceluna.core.${logKey}`, + gmKey, + goKey + } + }); + } + window.goldlog && window.goldlog.record(`/iceluna.core.${logKey}`, gmKey, goKey, 'POST'); +} + +// utils为编辑器打包生成的utils文件内容,utilsConfig为数据库存放的utils配置 +export function generateUtils(utils, utilsConfig) { + if (!Array.isArray(utilsConfig)) return { ...utils }; + const res = {}; + utilsConfig.forEach(item => { + if (!item.name || !item.type || !item.content) return; + if (item.type === 'function' && typeof item.content === 'function') { + res[item.name] = item.content; + } else if (item.type === 'npm' && utils[item.name]) { + res[item.name] = utils[item.name]; + } + }); + return res; +} +// 复制到粘贴板 +export function setClipboardData(str) { + return new Promise((resolve, reject) => { + if (typeof str !== 'string') reject('不支持拷贝'); + if (navigator.clipboard) { + navigator.clipboard + .writeText(str) + .then(() => { + resolve(); + }) + .catch(err => { + reject('复制失败,请重试!', err); + }); + } else { + const textArea = document.createElement('textarea'); + textArea.value = str; + document.body.appendChild(textArea); + textArea.focus(); + textArea.select(); + try { + let successful = document.execCommand('copy'); + if (successful) { + document.body.removeChild(textArea); + resolve(); + } + } catch (err) { + document.body.removeChild(textArea); + reject('复制失败,请重试!', err); + } + } + }); +} +// 获取粘贴板数据 +export function getClipboardData() { + return new Promise((resolve, reject) => { + if (window.clipboardData) { + resolve(window.clipboardData.getData('text')); + } else if (navigator.clipboard) { + return navigator.clipboard + .readText() + .then(res => { + resolve(res); + }) + .catch(err => { + reject('粘贴板获取失败', err); + }); + } else { + reject('粘贴板获取失败'); + } + }); +} +// 将函数返回结果转成promise形式,如果函数有返回值则根据返回值的bool类型判断是reject还是resolve,若函数无返回值默认执行resolve +export function transformToPromise(input) { + if (input instanceof Promise) return input; + return new Promise((resolve, reject) => { + if (input || input === undefined) { + resolve(); + } else { + reject(); + } + }); +} + +export function moveArrayItem(arr, sourceIdx, distIdx, direction) { + if ( + !Array.isArray(arr) || + sourceIdx === distIdx || + sourceIdx < 0 || + sourceIdx >= arr.length || + distIdx < 0 || + distIdx >= arr.length + ) + return arr; + const item = arr[sourceIdx]; + if (direction === 'after') { + arr.splice(distIdx + 1, 0, item); + } else { + arr.splice(distIdx, 0, item); + } + if (sourceIdx < distIdx) { + arr.splice(sourceIdx, 1); + } else { + arr.splice(sourceIdx + 1, 1); + } + return arr; +} + +export function transformArrayToMap(arr, key, overwrite = true) { + if (isEmpty(arr) || !Array.isArray(arr)) return {}; + const res = {}; + arr.forEach(item => { + const curKey = item[key]; + if (item[key] === undefined) return; + if (res[curKey] && !overwrite) return; + res[curKey] = item; + }); + return res; +} + +export function checkPropTypes(value, name, rule, componentName) { + if (typeof rule === 'string') { + rule = new Function(`"use strict"; const PropTypes = arguments[0]; return ${rule}`)(PropTypes2); + } + if (!rule || typeof rule !== 'function') { + console.warn('checkPropTypes should have a function type rule argument'); + return true; + } + const err = rule( + { + [name]: value + }, + name, + componentName, + 'prop', + null, + ReactPropTypesSecret + ); + if (err) { + console.warn(err); + } + return !err; +} + +export function transformSchemaToPure(obj) { + const pureObj = obj => { + if (Array.isArray(obj)) { + return obj.map(item => pureObj(item)); + } else if (typeof obj === 'object') { + // 对于undefined及null直接返回 + if (!obj) return obj; + const res = {}; + forEach(obj, (val, key) => { + if (key.startsWith('__') && key !== '__ignoreParse') return; + res[key] = pureObj(val); + }); + return res; + } + return obj; + }; + return pureObj(obj); +} + +export function transformSchemaToStandard(obj) { + const standardObj = obj => { + if (Array.isArray(obj)) { + return obj.map(item => standardObj(item)); + } else if (typeof obj === 'object') { + // 对于undefined及null直接返回 + if (!obj) return obj; + const res = {}; + forEach(obj, (val, key) => { + if (key.startsWith('__') && key !== '__ignoreParse') return; + if (isSchema(val) && key !== 'children' && obj.type !== 'JSSlot') { + res[key] = { + type: 'JSSlot', + value: standardObj(val) + }; + // table特殊处理 + if (key === 'cell') { + res[key].params = ['value', 'index', 'record']; + } + } else { + res[key] = standardObj(val); + } + }); + return res; + } else if (typeof obj === 'function') { + return { + type: 'JSFunction', + value: obj.toString() + }; + } else if (typeof obj === 'string' && EXPRESSION_REG.test(obj.trim())) { + const regRes = obj.trim().match(EXPRESSION_REG); + return { + type: 'JSExpression', + value: (regRes && regRes[1]) || '' + }; + } + return obj; + }; + return standardObj(obj, false); +} + +export function transformStringToFunction(str) { + if (typeof str !== 'string') return str; + if (inSameDomain() && window.parent.__newFunc) { + return window.parent.__newFunc(`"use strict"; return ${str}`)(); + } else { + return new Function(`"use strict"; return ${str}`)(); + } +} + +export function addCssTag(id, content) { + let styleTag = document.getElementById(id); + if (styleTag) { + styleTag.innerHTML = content; + return; + } + styleTag = document.createElement('style'); + styleTag.id = id; + styleTag.class = 'luna-style'; + styleTag.innerHTML = content; + document.head.appendChild(styleTag); +} + +// 注册快捷 +export function registShortCuts(config, appHelper) { + const keyboardFilter = (keymaster.filter = event => { + const eTarget = event.target || event.srcElement; + const tagName = eTarget.tagName; + const isInput = !!(tagName == 'INPUT' || tagName == 'SELECT' || tagName == 'TEXTAREA'); + const isContenteditable = target => { + while (target) { + if (target.contentEditable === 'true') return true; + target = target.parentNode; + } + return false; + }; + if (isInput || isContenteditable(eTarget)) { + if (event.metaKey === true && [70, 83].includes(event.keyCode)) event.preventDefault(); //禁止触发chrome原生的页面保存或查找 + return false; + } else { + return true; + } + }); + + const ideMessage = appHelper.utils && appHelper.utils.ideMessage; + + //复制 + if (!document.copyListener) { + document.copyListener = e => { + if (!keyboardFilter(e) || appHelper.isCopying) return; + const schema = appHelper.schemaHelper && appHelper.schemaHelper.schemaMap[appHelper.activeKey]; + if (!schema || !isSchema(schema)) return; + appHelper.isCopying = true; + const schemaStr = serialize(transformSchemaToPure(schema), { + unsafe: true + }); + setClipboardData(schemaStr) + .then(() => { + ideMessage && ideMessage('success', '当前内容已复制到剪贴板,请使用快捷键Command+v进行粘贴'); + appHelper.emit('schema.copy', schemaStr, schema); + appHelper.isCopying = false; + }) + .catch(errMsg => { + ideMessage && ideMessage('error', errMsg); + appHelper.isCopying = false; + }); + }; + document.addEventListener('copy', document.copyListener); + if (getParentWinValue('vscode')) { + keymaster('command+c', document.copyListener); + } + } + + //粘贴 + if (!document.pasteListener) { + const doPaste = (e, text) => { + if (!keyboardFilter(e) || appHelper.isPasting) return; + const schemaHelper = appHelper.schemaHelper; + let targetKey = appHelper.activeKey; + let direction = 'after'; + const topKey = schemaHelper.schema && schemaHelper.schema.__ctx && schemaHelper.schema.__ctx.lunaKey; + if (!targetKey || topKey === targetKey) { + const schemaHelper = appHelper.schemaHelper; + const topKey = schemaHelper.schema && schemaHelper.schema.__ctx && schemaHelper.schema.__ctx.lunaKey; + if (!topKey) return; + targetKey = topKey; + direction = 'in'; + } + appHelper.isPasting = true; + const schema = parseObj(text); + if (!isSchema(schema)) { + appHelper.emit('illegalSchema.paste', text); + // ideMessage && ideMessage('error', '当前内容不是模型结构,不能粘贴进来!'); + console.warn('paste schema illegal'); + appHelper.isPasting = false; + return; + } + appHelper.emit('material.add', { + schema, + targetKey, + direction + }); + appHelper.isPasting = false; + appHelper.emit('schema.paste', schema); + }; + document.pasteListener = e => { + const clipboardData = e.clipboardData || window.clipboardData; + const text = clipboardData && clipboardData.getData('text'); + doPaste(e, text); + }; + document.addEventListener('paste', document.pasteListener); + if (getParentWinValue('vscode')) { + keymaster('command+v', e => { + const sendIDEMessage = getParentWinValue('sendIDEMessage'); + sendIDEMessage && + sendIDEMessage({ + action: 'readClipboard' + }) + .then(text => { + doPaste(e, text); + }) + .catch(err => { + console.warn(err); + }); + }); + } + } + + (config || []).forEach(item => { + keymaster(item.keyboard, ev => { + ev.preventDefault(); + item.handler(ev, appHelper, keymaster); + }); + }); +} + +// 取消注册快捷 +export function unRegistShortCuts(config) { + (config || []).forEach(item => { + keymaster.unbind(item.keyboard); + }); + if (getParentWinValue('vscode')) { + keymaster.unbind('command+c'); + keymaster.unbind('command+v'); + } + if (document.copyListener) { + document.removeEventListener('copy', document.copyListener); + delete document.copyListener; + } + if (document.pasteListener) { + document.removeEventListener('paste', document.pasteListener); + delete document.pasteListener; + } +} + +export function parseData(schema, self) { + if (isJSExpression(schema)) { + return parseExpression(schema, self); + } else if (typeof schema === 'string') { + return schema.trim(); + } else if (Array.isArray(schema)) { + return schema.map(item => parseData(item, self)); + } else if (typeof schema === 'function') { + return schema.bind(self); + } else if (typeof schema === 'object') { + // 对于undefined及null直接返回 + if (!schema) return schema; + const res = {}; + forEach(schema, (val, key) => { + if (key.startsWith('__')) return; + res[key] = parseData(val, self); + }); + return res; + } + return schema; +} + +/*全匹配{{开头,}}结尾的变量表达式,或者对象类型JSExpression,且均不支持省略this */ +export function parseExpression(str, self) { + try { + const contextArr = ['"use strict";', 'var __self = arguments[0];']; + contextArr.push('return '); + let tarStr; + //向前兼容,支持标准协议新格式 + if (typeof str === 'string') { + const regRes = str.trim().match(EXPRESSION_REG); + tarStr = regRes[1]; + } else { + tarStr = (str.value || '').trim(); + } + tarStr = tarStr.replace(/this(\W|$)/g, (a, b) => `__self${b}`); + tarStr = contextArr.join('\n') + tarStr; + //默认调用顶层窗口的parseObj,保障new Function的window对象是顶层的window对象 + if (inSameDomain() && window.parent.__newFunc) { + return window.parent.__newFunc(tarStr)(self); + } + return new Function(tarStr)(self); + } catch (err) { + debug('parseExpression.error', err, str, self); + return undefined; + } +} + +/** + * 判断组件配置中是否有reactNode且type为function的props + * @param {*} componentInfo + */ +export function hasReactNodeFuncProps(componentInfo) { + const isReactNodeFuncProps = config => { + if (config.type === 'ReactNode') { + return config.props && config.props.type === 'function'; + } else if (config.type === 'Mixin') { + return config.props && config.props.reactNodeProps && config.props.reactNodeProps.type === 'function'; + } + }; + return componentInfo && (componentInfo.props || []).some(item => isReactNodeFuncProps(item)); +} diff --git a/packages/rax-render/src/utils/request.js b/packages/rax-render/src/utils/request.js new file mode 100644 index 000000000..f03bd4203 --- /dev/null +++ b/packages/rax-render/src/utils/request.js @@ -0,0 +1,171 @@ +import 'whatwg-fetch'; +import fetchMtop from '@ali/lib-mtop'; +import fetchJsonp from 'fetch-jsonp'; +import bzbRequest from '@ali/bzb-request'; +import { serialize, buildUrl, parseUrl } from '@ali/b3-one/lib/url'; + +export function get(dataAPI, params = {}, headers = {}, otherProps = {}) { + headers = { + Accept: 'application/json', + ...headers + }; + dataAPI = buildUrl(dataAPI, params); + return request(dataAPI, 'GET', null, headers, otherProps); +} + +export function post(dataAPI, params = {}, headers = {}, otherProps = {}) { + headers = { + Accept: 'application/json', + 'Content-Type': 'application/x-www-form-urlencoded', + ...headers + }; + return request( + dataAPI, + 'POST', + headers['Content-Type'].indexOf('application/json') > -1 || Array.isArray(params) + ? JSON.stringify(params) + : serialize(params), + headers, + otherProps + ); +} + +export function request(dataAPI, method = 'GET', data, headers = {}, otherProps = {}) { + switch (method) { + case 'PUT': + case 'DELETE': + headers = { + Accept: 'application/json', + 'Content-Type': 'application/json', + ...headers + }; + data = JSON.stringify(data || {}); + break; + } + return new Promise((resolve, reject) => { + if (otherProps.timeout) { + setTimeout(() => { + reject(new Error('timeout')); + }, otherProps.timeout); + } + fetch(dataAPI, { + method, + credentials: 'include', + headers, + body: data, + ...otherProps + }) + .then(response => { + switch (response.status) { + case 200: + case 201: + case 202: + return response.json(); + case 204: + if (method === 'DELETE') { + return { + success: true + }; + } else { + return { + __success: false, + code: response.status + }; + } + case 400: + case 401: + case 403: + case 404: + case 406: + case 410: + case 422: + case 500: + return response + .json() + .then(res => { + return { + __success: false, + code: response.status, + data: res + }; + }) + .catch(() => { + return { + __success: false, + code: response.status + }; + }); + } + return null; + }) + .then(json => { + if (json && json.__success !== false) { + resolve(json); + } else { + delete json.__success; + reject(json); + } + }) + .catch(err => { + reject(err); + }); + }); +} + +export function jsonp(dataAPI, params = {}, otherProps = {}) { + return new Promise((resolve, reject) => { + otherProps = { + timeout: 5000, + ...otherProps + }; + fetchJsonp(buildUrl(dataAPI, params), otherProps) + .then(response => response.json()) + .then(json => { + if (json) { + resolve(json); + } else { + reject(); + } + }) + .catch(err => { + reject(err); + }); + }); +} + +export function mtop(dataAPI, params, otherProps = {}) { + fetchMtop.config.subDomain = otherProps.subDomain || 'm'; + return fetchMtop.request({ + api: dataAPI, + v: '1.0', + data: params, + ecode: otherProps.ecode || 0, + type: otherProps.method || 'GET', + dataType: otherProps.dataType || 'jsonp', + AntiFlood: true, // 防刷 + timeout: otherProps.timeout || 20000 + }); +} + +export function bzb(apiCode, params, otherProps = {}) { + // 通过url参数设置小二工作台请求环境 + const getUrlEnv = () => { + try { + if (window.parent && window.parent.location.host === window.location.host) { + const urlInfo = parseUrl(window.parent && window.parent.location.href); + return urlInfo && urlInfo.params && urlInfo.params._env; + } + const urlInfo = parseUrl(window.location.href); + return urlInfo && urlInfo.params && urlInfo.params._env; + } catch (e) { + return null; + } + }; + + otherProps.method = otherProps.method || 'GET'; + otherProps.env = getUrlEnv() || otherProps.env || 'prod'; + return bzbRequest(apiCode, { + data: params, + ...otherProps + }); +} From aaf6359a8da2e5c882bd715a34a0b4b3f09ef3c0 Mon Sep 17 00:00:00 2001 From: "wuji.xwt" <wuji.xwt@alibaba-inc.com> Date: Sun, 21 Jun 2020 17:53:20 +0800 Subject: [PATCH 66/70] chore: add demo --- packages/rax-render/demo/index.jsx | 35 +++++++++++++++++++ packages/rax-render/demo/miniapp/app.js | 1 + packages/rax-render/demo/miniapp/app.json | 6 ++++ .../rax-render/demo/miniapp/pages/index.acss | 0 .../rax-render/demo/miniapp/pages/index.axml | 1 + .../rax-render/demo/miniapp/pages/index.js | 4 +++ .../rax-render/demo/miniapp/pages/index.json | 6 ++++ .../rax-render/demo/wechat-miniprogram/app.js | 1 + .../demo/wechat-miniprogram/app.json | 6 ++++ .../demo/wechat-miniprogram/pages/index.js | 4 +++ .../demo/wechat-miniprogram/pages/index.json | 6 ++++ .../demo/wechat-miniprogram/pages/index.wxml | 1 + .../demo/wechat-miniprogram/pages/index.wxss | 0 packages/rax-render/package.json | 3 +- 14 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 packages/rax-render/demo/index.jsx create mode 100644 packages/rax-render/demo/miniapp/app.js create mode 100644 packages/rax-render/demo/miniapp/app.json create mode 100644 packages/rax-render/demo/miniapp/pages/index.acss create mode 100644 packages/rax-render/demo/miniapp/pages/index.axml create mode 100644 packages/rax-render/demo/miniapp/pages/index.js create mode 100644 packages/rax-render/demo/miniapp/pages/index.json create mode 100644 packages/rax-render/demo/wechat-miniprogram/app.js create mode 100644 packages/rax-render/demo/wechat-miniprogram/app.json create mode 100644 packages/rax-render/demo/wechat-miniprogram/pages/index.js create mode 100644 packages/rax-render/demo/wechat-miniprogram/pages/index.json create mode 100644 packages/rax-render/demo/wechat-miniprogram/pages/index.wxml create mode 100644 packages/rax-render/demo/wechat-miniprogram/pages/index.wxss diff --git a/packages/rax-render/demo/index.jsx b/packages/rax-render/demo/index.jsx new file mode 100644 index 000000000..cfcae2a20 --- /dev/null +++ b/packages/rax-render/demo/index.jsx @@ -0,0 +1,35 @@ +import { createElement, render } from 'rax'; +import DriverUniversal from 'driver-universal'; +import View from 'rax-view'; +import Text from 'rax-text'; +import { Engine } from '../src/index'; + +const components = { + View, + Text, +}; + +const schema = { + componentName: 'Page', + fileName: 'home', + props: {}, + children: [ + { + componentName: 'View', + props: {}, + children: [ + { + componentName: 'Text', + props: { + type: 'primary', + }, + children: ['Welcome to Your Rax App!'], + }, + ], + }, + ], +}; + +render(<Engine schema={schema} components={components} />, document.getElementById('root'), { + driver: DriverUniversal, +}); diff --git a/packages/rax-render/demo/miniapp/app.js b/packages/rax-render/demo/miniapp/app.js new file mode 100644 index 000000000..348293551 --- /dev/null +++ b/packages/rax-render/demo/miniapp/app.js @@ -0,0 +1 @@ +App({}); diff --git a/packages/rax-render/demo/miniapp/app.json b/packages/rax-render/demo/miniapp/app.json new file mode 100644 index 000000000..94127c774 --- /dev/null +++ b/packages/rax-render/demo/miniapp/app.json @@ -0,0 +1,6 @@ +{ + "pages": ["pages/index"], + "window": { + "defaultTitle": "demo" + } +} diff --git a/packages/rax-render/demo/miniapp/pages/index.acss b/packages/rax-render/demo/miniapp/pages/index.acss new file mode 100644 index 000000000..e69de29bb diff --git a/packages/rax-render/demo/miniapp/pages/index.axml b/packages/rax-render/demo/miniapp/pages/index.axml new file mode 100644 index 000000000..41b536b4c --- /dev/null +++ b/packages/rax-render/demo/miniapp/pages/index.axml @@ -0,0 +1 @@ +<my-component></my-component> diff --git a/packages/rax-render/demo/miniapp/pages/index.js b/packages/rax-render/demo/miniapp/pages/index.js new file mode 100644 index 000000000..40772a2e7 --- /dev/null +++ b/packages/rax-render/demo/miniapp/pages/index.js @@ -0,0 +1,4 @@ +Page({ + onLoad() {}, + onShow() {} +}); diff --git a/packages/rax-render/demo/miniapp/pages/index.json b/packages/rax-render/demo/miniapp/pages/index.json new file mode 100644 index 000000000..89b15c54c --- /dev/null +++ b/packages/rax-render/demo/miniapp/pages/index.json @@ -0,0 +1,6 @@ +{ + "defaultTitle": "Miniapp Rax Text demo", + "usingComponents": { + "my-component": "../components/Target/index" + } +} diff --git a/packages/rax-render/demo/wechat-miniprogram/app.js b/packages/rax-render/demo/wechat-miniprogram/app.js new file mode 100644 index 000000000..348293551 --- /dev/null +++ b/packages/rax-render/demo/wechat-miniprogram/app.js @@ -0,0 +1 @@ +App({}); diff --git a/packages/rax-render/demo/wechat-miniprogram/app.json b/packages/rax-render/demo/wechat-miniprogram/app.json new file mode 100644 index 000000000..be00ced60 --- /dev/null +++ b/packages/rax-render/demo/wechat-miniprogram/app.json @@ -0,0 +1,6 @@ +{ + "pages": ["pages/index"], + "window": { + "title": "demo" + } +} diff --git a/packages/rax-render/demo/wechat-miniprogram/pages/index.js b/packages/rax-render/demo/wechat-miniprogram/pages/index.js new file mode 100644 index 000000000..40772a2e7 --- /dev/null +++ b/packages/rax-render/demo/wechat-miniprogram/pages/index.js @@ -0,0 +1,4 @@ +Page({ + onLoad() {}, + onShow() {} +}); diff --git a/packages/rax-render/demo/wechat-miniprogram/pages/index.json b/packages/rax-render/demo/wechat-miniprogram/pages/index.json new file mode 100644 index 000000000..9448c84ea --- /dev/null +++ b/packages/rax-render/demo/wechat-miniprogram/pages/index.json @@ -0,0 +1,6 @@ +{ + "title": "Wechat MiniProgram Rax Text demo", + "usingComponents": { + "my-component": "../components/Target/index" + } +} diff --git a/packages/rax-render/demo/wechat-miniprogram/pages/index.wxml b/packages/rax-render/demo/wechat-miniprogram/pages/index.wxml new file mode 100644 index 000000000..41b536b4c --- /dev/null +++ b/packages/rax-render/demo/wechat-miniprogram/pages/index.wxml @@ -0,0 +1 @@ +<my-component></my-component> diff --git a/packages/rax-render/demo/wechat-miniprogram/pages/index.wxss b/packages/rax-render/demo/wechat-miniprogram/pages/index.wxss new file mode 100644 index 000000000..e69de29bb diff --git a/packages/rax-render/package.json b/packages/rax-render/package.json index ade1a3756..986341bd5 100644 --- a/packages/rax-render/package.json +++ b/packages/rax-render/package.json @@ -54,7 +54,8 @@ }, "devDependencies": { "@alib/build-scripts": "^0.1.0", - "build-plugin-rax-component": "^0.1.4" + "build-plugin-rax-component": "^0.1.4", + "driver-universal": "^3.1.3" }, "publishConfig": { "registry": "https://registry.npm.alibaba-inc.com" From 51025f01f1db7a7402ccbfc3daf754973702b31e Mon Sep 17 00:00:00 2001 From: "wuyue.xht" <wuyue.xht@alibaba-inc.com> Date: Mon, 22 Jun 2020 09:49:28 +0800 Subject: [PATCH 67/70] feat: export Monitor --- packages/editor-core/src/utils/monitor.ts | 5 ++--- packages/editor-preset-vision/src/index.ts | 4 +++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/editor-core/src/utils/monitor.ts b/packages/editor-core/src/utils/monitor.ts index 0c616c3ce..f11dc61df 100644 --- a/packages/editor-core/src/utils/monitor.ts +++ b/packages/editor-core/src/utils/monitor.ts @@ -2,7 +2,7 @@ class Monitor { fn = (params: any) => { const { AES } = window as any; if (typeof AES.log === 'function') { - const { p1, p2, p3, p4 = 'OTHER', ...rest } = params || {}; + const { p1 = '', p2 = '', p3 = '', p4 = 'OTHER', ...rest } = params || {}; AES.log('event', { p1, p2, @@ -42,5 +42,4 @@ class Monitor { } } -const monitor = new Monitor(); -export { monitor }; +export { Monitor }; diff --git a/packages/editor-preset-vision/src/index.ts b/packages/editor-preset-vision/src/index.ts index 556fa050d..78778a199 100644 --- a/packages/editor-preset-vision/src/index.ts +++ b/packages/editor-preset-vision/src/index.ts @@ -4,7 +4,7 @@ import Icons from '@ali/ve-icons'; import logger from '@ali/vu-logger'; import { render } from 'react-dom'; import I18nUtil from './i18n-util'; -import { hotkey as Hotkey } from '@ali/lowcode-editor-core'; +import { hotkey as Hotkey, Monitor } from '@ali/lowcode-editor-core'; import { createElement } from 'react'; import { VE_EVENTS as EVENTS, VE_HOOKS as HOOKS, VERSION as Version } from './base/const'; import Bus from './bus'; @@ -84,6 +84,7 @@ const VisualEngine = { I18nUtil, Hotkey, Env, + Monitor, /* pub/sub 集线器 */ Bus, /* 事件 */ @@ -132,6 +133,7 @@ export { I18nUtil, Hotkey, Env, + Monitor, /* pub/sub 集线器 */ Bus, /* 事件 */ From fa2482151d8ac5fb7ccaeca01ba8ee3580bd2365 Mon Sep 17 00:00:00 2001 From: "wuyue.xht" <wuyue.xht@alibaba-inc.com> Date: Mon, 22 Jun 2020 09:50:55 +0800 Subject: [PATCH 68/70] =?UTF-8?q?feat:=20=E5=A4=A7=E7=BA=B2=E6=A0=91?= =?UTF-8?q?=E5=9F=8B=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin-outline-pane/src/tree-master.ts | 21 +++++++++++++++++++ .../src/views/tree-title.tsx | 12 ++++++++++- .../plugin-outline-pane/src/views/tree.tsx | 12 ++++++++++- 3 files changed, 43 insertions(+), 2 deletions(-) diff --git a/packages/plugin-outline-pane/src/tree-master.ts b/packages/plugin-outline-pane/src/tree-master.ts index 2775d2c42..b89f116a2 100644 --- a/packages/plugin-outline-pane/src/tree-master.ts +++ b/packages/plugin-outline-pane/src/tree-master.ts @@ -12,7 +12,9 @@ export interface ITreeBoard { export class TreeMaster { constructor(readonly designer: Designer) { + let startTime: any; designer.dragon.onDragstart(() => { + startTime = Date.now() / 1000; // needs? this.toVision(); }); @@ -33,6 +35,25 @@ export class TreeMaster { board.scrollToNode(treeNode, detail); }); }); + designer.dragon.onDragend(() => { + const endTime: any = Date.now() / 1000; + const editor = designer?.editor; + const nodes = designer.currentSelection?.getNodes(); + editor?.emit('outlinePane.drag', { + selected: nodes + ?.map((n) => { + if (!n) { + return; + } + const npm = n?.componentMeta?.npm; + return ( + [npm?.package, npm?.componentName].filter((item) => !!item).join('-') || n?.componentMeta?.componentName + ); + }) + .join('&'), + time: (endTime - startTime).toFixed(2), + }); + }); } private toVision() { diff --git a/packages/plugin-outline-pane/src/views/tree-title.tsx b/packages/plugin-outline-pane/src/views/tree-title.tsx index 2417102ae..53a69f33b 100644 --- a/packages/plugin-outline-pane/src/views/tree-title.tsx +++ b/packages/plugin-outline-pane/src/views/tree-title.tsx @@ -1,6 +1,6 @@ import { Component, KeyboardEvent, FocusEvent, Fragment } from 'react'; import classNames from 'classnames'; -import { observer, Title, Tip } from '@ali/lowcode-editor-core'; +import { observer, Title, Tip, globalContext, Editor } from '@ali/lowcode-editor-core'; import { IconArrowRight } from '../icons/arrow-right'; import { IconEyeClose } from '../icons/eye-close'; import { IconLock } from '../icons/lock'; @@ -165,6 +165,16 @@ class HideBtn extends Component<{ treeNode: TreeNode }> { onClick={(e) => { e.stopPropagation(); treeNode.setHidden(!treeNode.hidden); + const editor = globalContext.get(Editor); + const node = treeNode?.node; + const npm = node?.componentMeta?.npm; + const selected = + [npm?.package, npm?.componentName].filter((item) => !!item).join('-') || + node?.componentMeta?.componentName || + ''; + editor?.emit('outlinePane.hide', { + selected, + }); }} > {treeNode.hidden ? <IconEyeClose /> : <IconEye />} diff --git a/packages/plugin-outline-pane/src/views/tree.tsx b/packages/plugin-outline-pane/src/views/tree.tsx index 8512825d6..0f7ba2ca1 100644 --- a/packages/plugin-outline-pane/src/views/tree.tsx +++ b/packages/plugin-outline-pane/src/views/tree.tsx @@ -1,5 +1,5 @@ import { Component, MouseEvent as ReactMouseEvent } from 'react'; -import { observer } from '@ali/lowcode-editor-core'; +import { observer, Editor, globalContext } from '@ali/lowcode-editor-core'; import { isRootNode, Node, DragObjectType, isShaken } from '@ali/lowcode-designer'; import { isFormEvent } from '@ali/lowcode-utils'; import { Tree } from '../tree'; @@ -60,6 +60,16 @@ export default class TreeView extends Component<{ tree: Tree }> { } } else { selection.select(id); + const editor = globalContext.get(Editor); + const selectedNode = designer.currentSelection?.getNodes()?.[0]; + const npm = selectedNode?.componentMeta?.npm; + const selected = + [npm?.package, npm?.componentName].filter((item) => !!item).join('-') || + selectedNode?.componentMeta?.componentName || + ''; + editor?.emit('outlinePane.select', { + selected, + }); } }; From 9915937e9879e476c265d9f265707f827b0d69a9 Mon Sep 17 00:00:00 2001 From: "wuyue.xht" <wuyue.xht@alibaba-inc.com> Date: Mon, 22 Jun 2020 09:51:06 +0800 Subject: [PATCH 69/70] =?UTF-8?q?chore:=20=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/designer/src/builtin-simulator/host.ts | 6 +++--- packages/editor-skeleton/src/widget/panel.ts | 1 - 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/packages/designer/src/builtin-simulator/host.ts b/packages/designer/src/builtin-simulator/host.ts index 6111977f7..48318add5 100644 --- a/packages/designer/src/builtin-simulator/host.ts +++ b/packages/designer/src/builtin-simulator/host.ts @@ -1,4 +1,4 @@ -import { obx, autorun, computed, getPublicPath, hotkey, focusTracker, globalContext, Editor } from '@ali/lowcode-editor-core'; +import { obx, autorun, computed, getPublicPath, hotkey, focusTracker } from '@ali/lowcode-editor-core'; import { ISimulatorHost, Component, NodeInstance, ComponentInstance } from '../simulator'; import Viewport from './viewport'; import { createSimulator } from './create-simulator'; @@ -266,7 +266,7 @@ export class BuiltinSimulatorHost implements ISimulatorHost<BuiltinSimulatorProp selection.remove(id); } else { selection.select(id); - const editor = globalContext.get(Editor); + const editor = this.designer?.editor; const npm = node?.componentMeta?.npm; const selected = [npm?.package, npm?.componentName].filter((item) => !!item).join('-') || @@ -432,7 +432,7 @@ export class BuiltinSimulatorHost implements ISimulatorHost<BuiltinSimulatorProp if (!node) { return; } - const editor = globalContext.get(Editor); + const editor = this.designer?.editor; const npm = node?.componentMeta?.npm; const selected = [npm?.package, npm?.componentName].filter((item) => !!item).join('-') || diff --git a/packages/editor-skeleton/src/widget/panel.ts b/packages/editor-skeleton/src/widget/panel.ts index 25c343cd0..6f9010dc0 100644 --- a/packages/editor-skeleton/src/widget/panel.ts +++ b/packages/editor-skeleton/src/widget/panel.ts @@ -54,7 +54,6 @@ export default class Panel implements IWidget { get content(): ReactNode { const area = this.config?.area || this.parent?.name; - console.log(area); if (this.plain) { return createElement(PanelView, { panel: this, From 2a249d20867099f602772ca065f9d1645e0418d6 Mon Sep 17 00:00:00 2001 From: "wuyue.xht" <wuyue.xht@alibaba-inc.com> Date: Mon, 22 Jun 2020 11:42:03 +0800 Subject: [PATCH 70/70] chore: export single instance of Monitor --- packages/editor-core/src/utils/monitor.ts | 3 ++- packages/editor-preset-vision/src/index.ts | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/editor-core/src/utils/monitor.ts b/packages/editor-core/src/utils/monitor.ts index f11dc61df..66ec0f39b 100644 --- a/packages/editor-core/src/utils/monitor.ts +++ b/packages/editor-core/src/utils/monitor.ts @@ -42,4 +42,5 @@ class Monitor { } } -export { Monitor }; +const monitor = new Monitor(); +export { monitor }; diff --git a/packages/editor-preset-vision/src/index.ts b/packages/editor-preset-vision/src/index.ts index 78778a199..9df95fbc6 100644 --- a/packages/editor-preset-vision/src/index.ts +++ b/packages/editor-preset-vision/src/index.ts @@ -4,7 +4,7 @@ import Icons from '@ali/ve-icons'; import logger from '@ali/vu-logger'; import { render } from 'react-dom'; import I18nUtil from './i18n-util'; -import { hotkey as Hotkey, Monitor } from '@ali/lowcode-editor-core'; +import { hotkey as Hotkey, monitor } from '@ali/lowcode-editor-core'; import { createElement } from 'react'; import { VE_EVENTS as EVENTS, VE_HOOKS as HOOKS, VERSION as Version } from './base/const'; import Bus from './bus'; @@ -84,7 +84,7 @@ const VisualEngine = { I18nUtil, Hotkey, Env, - Monitor, + monitor, /* pub/sub 集线器 */ Bus, /* 事件 */ @@ -133,7 +133,7 @@ export { I18nUtil, Hotkey, Env, - Monitor, + monitor, /* pub/sub 集线器 */ Bus, /* 事件 */