Compare commits

...

5 Commits

Author SHA1 Message Date
liujuping
acca9516ce chore(release): publish 1.1.3-beta.1 2023-02-27 10:45:59 +08:00
liujuping
92ce442029 fix: fix slot id is automatically generated every time 2023-02-24 15:29:09 +08:00
liujuping
6d9a964de3 feat: add reverse api to node-children model 2023-02-24 15:14:49 +08:00
liujuping
2ad5c5638c test: add ut for designer/prop-setAsSlot 2023-02-24 15:14:49 +08:00
JackLian
bf1be85fa8 chore(release): publish 1.1.3-beta.0 2023-02-21 19:00:22 +08:00
24 changed files with 160 additions and 69 deletions

View File

@ -156,6 +156,21 @@ forEach(fn: (node: IPublicModelNode, index: number) => void): void;
相关类型:[IPublicModelNode](https://github.com/alibaba/lowcode-engine/blob/main/packages/types/src/shell/model/node.ts) 相关类型:[IPublicModelNode](https://github.com/alibaba/lowcode-engine/blob/main/packages/types/src/shell/model/node.ts)
### reverse
类似数组的 reverse
```typescript
/**
* 类似数组的 reverse
* provide the same function with {Array.prototype.reverse}
*/
reverse(): IPublicModelNode[];
```
相关类型:[IPublicModelNode](https://github.com/alibaba/lowcode-engine/blob/main/packages/types/src/shell/model/node.ts)
### map ### map

View File

@ -1,6 +1,6 @@
{ {
"lerna": "4.0.0", "lerna": "4.0.0",
"version": "1.1.2", "version": "1.1.3-beta.1",
"npmClient": "yarn", "npmClient": "yarn",
"useWorkspaces": true, "useWorkspaces": true,
"packages": [ "packages": [

View File

@ -1,6 +1,6 @@
{ {
"name": "@alilc/lowcode-designer", "name": "@alilc/lowcode-designer",
"version": "1.1.2", "version": "1.1.3-beta.1",
"description": "Designer for Ali LowCode Engine", "description": "Designer for Ali LowCode Engine",
"main": "lib/index.js", "main": "lib/index.js",
"module": "es/index.js", "module": "es/index.js",
@ -15,9 +15,9 @@
}, },
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@alilc/lowcode-editor-core": "1.1.2", "@alilc/lowcode-editor-core": "1.1.3-beta.1",
"@alilc/lowcode-types": "1.1.2", "@alilc/lowcode-types": "1.1.3-beta.1",
"@alilc/lowcode-utils": "1.1.2", "@alilc/lowcode-utils": "1.1.3-beta.1",
"classnames": "^2.2.6", "classnames": "^2.2.6",
"react": "^16", "react": "^16",
"react-dom": "^16.7.0", "react-dom": "^16.7.0",

View File

@ -54,6 +54,8 @@ export interface INodeChildren extends Omit<IPublicModelNodeChildren, 'forEach'
reduce(fn: (acc: any, cur: INode) => any, initialValue: any): void; reduce(fn: (acc: any, cur: INode) => any, initialValue: any): void;
reverse(): INode[];
mergeChildren( mergeChildren(
remover: (node: INode, idx: number) => boolean, remover: (node: INode, idx: number) => boolean,
adder: (children: INode[]) => IPublicTypeNodeData[] | null, adder: (children: INode[]) => IPublicTypeNodeData[] | null,
@ -442,6 +444,10 @@ export class NodeChildren implements INodeChildren {
return this.children.reduce(fn, initialValue); return this.children.reduce(fn, initialValue);
} }
reverse() {
return this.children.reverse();
}
mergeChildren( mergeChildren(
remover: (node: INode, idx: number) => boolean, remover: (node: INode, idx: number) => boolean,
adder: (children: INode[]) => IPublicTypeNodeData[] | null, adder: (children: INode[]) => IPublicTypeNodeData[] | null,

View File

@ -401,7 +401,7 @@ export class Prop implements IProp, IPropParent {
slotSchema = { slotSchema = {
componentName: 'Slot', componentName: 'Slot',
title: value.title || value.props?.slotTitle, title: value.title || value.props?.slotTitle,
id: data.id, id: value.id,
name: value.name || value.props?.slotName, name: value.name || value.props?.slotName,
params: value.params || value.props?.slotParams, params: value.params || value.props?.slotParams,
children: value.children, children: value.children,

View File

@ -499,6 +499,59 @@ describe('Prop 类测试', () => {
expect(slotProp.purged).toBeTruthy(); expect(slotProp.purged).toBeTruthy();
slotProp.dispose(); slotProp.dispose();
}); });
describe('slotNode-value / setAsSlot', () => {
const editor = new Editor();
const designer = new Designer({ editor, shellModelFactory });
const doc = new DocumentModel(designer.project, {
componentName: 'Page',
children: [
{
id: 'div',
componentName: 'Div',
},
],
});
const div = doc.getNode('div');
const slotProp = new Prop(div?.getProps(), {
type: 'JSSlot',
value: {
componentName: 'Slot',
id: 'node_oclei5rv2e2',
props: {
slotName: "content",
slotTitle: "主内容"
},
children: [
{
componentName: 'Button',
}
]
},
});
expect(slotProp.slotNode?.componentName).toBe('Slot');
expect(slotProp.slotNode?.title).toBe('主内容');
expect(slotProp.slotNode?.getExtraProp('name')?.getValue()).toBe('content');
expect(slotProp.slotNode?.export()?.id).toBe('node_oclei5rv2e2');
slotProp.export();
// Save
expect(slotProp.export()?.value[0].componentName).toBe('Button');
expect(slotProp.export()?.title).toBe('主内容');
expect(slotProp.export()?.name).toBe('content');
// Render
expect(slotProp.export(IPublicEnumTransformStage.Render)?.value.children[0].componentName).toBe('Button');
expect(slotProp.export(IPublicEnumTransformStage.Render)?.value.componentName).toBe('Slot');
slotProp.purge();
expect(slotProp.purged).toBeTruthy();
slotProp.dispose();
});
}); });
describe('其他导出函数', () => { describe('其他导出函数', () => {

View File

@ -1,6 +1,6 @@
{ {
"name": "@alilc/lowcode-editor-core", "name": "@alilc/lowcode-editor-core",
"version": "1.1.2", "version": "1.1.3-beta.1",
"description": "Core Api for Ali lowCode engine", "description": "Core Api for Ali lowCode engine",
"license": "MIT", "license": "MIT",
"main": "lib/index.js", "main": "lib/index.js",
@ -14,8 +14,8 @@
}, },
"dependencies": { "dependencies": {
"@alifd/next": "^1.19.16", "@alifd/next": "^1.19.16",
"@alilc/lowcode-types": "1.1.2", "@alilc/lowcode-types": "1.1.3-beta.1",
"@alilc/lowcode-utils": "1.1.2", "@alilc/lowcode-utils": "1.1.3-beta.1",
"classnames": "^2.2.6", "classnames": "^2.2.6",
"debug": "^4.1.1", "debug": "^4.1.1",
"intl-messageformat": "^9.3.1", "intl-messageformat": "^9.3.1",

View File

@ -1,6 +1,6 @@
{ {
"name": "@alilc/lowcode-editor-skeleton", "name": "@alilc/lowcode-editor-skeleton",
"version": "1.1.2", "version": "1.1.3-beta.1",
"description": "alibaba lowcode editor skeleton", "description": "alibaba lowcode editor skeleton",
"main": "lib/index.js", "main": "lib/index.js",
"module": "es/index.js", "module": "es/index.js",
@ -18,10 +18,10 @@
], ],
"dependencies": { "dependencies": {
"@alifd/next": "^1.20.12", "@alifd/next": "^1.20.12",
"@alilc/lowcode-designer": "1.1.2", "@alilc/lowcode-designer": "1.1.3-beta.1",
"@alilc/lowcode-editor-core": "1.1.2", "@alilc/lowcode-editor-core": "1.1.3-beta.1",
"@alilc/lowcode-types": "1.1.2", "@alilc/lowcode-types": "1.1.3-beta.1",
"@alilc/lowcode-utils": "1.1.2", "@alilc/lowcode-utils": "1.1.3-beta.1",
"classnames": "^2.2.6", "classnames": "^2.2.6",
"react": "^16.8.1", "react": "^16.8.1",
"react-dom": "^16.8.1" "react-dom": "^16.8.1"

View File

@ -1,6 +1,6 @@
{ {
"name": "@alilc/lowcode-engine", "name": "@alilc/lowcode-engine",
"version": "1.1.2", "version": "1.1.3-beta.1",
"description": "An enterprise-class low-code technology stack with scale-out design / 一套面向扩展设计的企业级低代码技术体系", "description": "An enterprise-class low-code technology stack with scale-out design / 一套面向扩展设计的企业级低代码技术体系",
"main": "lib/engine-core.js", "main": "lib/engine-core.js",
"module": "es/engine-core.js", "module": "es/engine-core.js",
@ -19,15 +19,15 @@
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@alifd/next": "^1.19.12", "@alifd/next": "^1.19.12",
"@alilc/lowcode-designer": "1.1.2", "@alilc/lowcode-designer": "1.1.3-beta.1",
"@alilc/lowcode-editor-core": "1.1.2", "@alilc/lowcode-editor-core": "1.1.3-beta.1",
"@alilc/lowcode-editor-skeleton": "1.1.2", "@alilc/lowcode-editor-skeleton": "1.1.3-beta.1",
"@alilc/lowcode-engine-ext": "^1.0.0", "@alilc/lowcode-engine-ext": "^1.0.0",
"@alilc/lowcode-plugin-designer": "1.1.2", "@alilc/lowcode-plugin-designer": "1.1.3-beta.1",
"@alilc/lowcode-plugin-outline-pane": "1.1.2", "@alilc/lowcode-plugin-outline-pane": "1.1.3-beta.1",
"@alilc/lowcode-shell": "1.1.2", "@alilc/lowcode-shell": "1.1.3-beta.1",
"@alilc/lowcode-utils": "1.1.2", "@alilc/lowcode-utils": "1.1.3-beta.1",
"@alilc/lowcode-workspace": "1.1.2", "@alilc/lowcode-workspace": "1.1.3-beta.1",
"react": "^16.8.1", "react": "^16.8.1",
"react-dom": "^16.8.1" "react-dom": "^16.8.1"
}, },

View File

@ -1,6 +1,6 @@
{ {
"name": "@alilc/lowcode-ignitor", "name": "@alilc/lowcode-ignitor",
"version": "1.1.2", "version": "1.1.3-beta.1",
"description": "点火器bootstrap lce project", "description": "点火器bootstrap lce project",
"main": "lib/index.js", "main": "lib/index.js",
"private": true, "private": true,

View File

@ -1,6 +1,6 @@
{ {
"name": "@alilc/lowcode-plugin-designer", "name": "@alilc/lowcode-plugin-designer",
"version": "1.1.2", "version": "1.1.3-beta.1",
"description": "alibaba lowcode editor designer plugin", "description": "alibaba lowcode editor designer plugin",
"files": [ "files": [
"es", "es",
@ -18,9 +18,9 @@
], ],
"author": "xiayang.xy", "author": "xiayang.xy",
"dependencies": { "dependencies": {
"@alilc/lowcode-designer": "1.1.2", "@alilc/lowcode-designer": "1.1.3-beta.1",
"@alilc/lowcode-editor-core": "1.1.2", "@alilc/lowcode-editor-core": "1.1.3-beta.1",
"@alilc/lowcode-utils": "1.1.2", "@alilc/lowcode-utils": "1.1.3-beta.1",
"react": "^16.8.1", "react": "^16.8.1",
"react-dom": "^16.8.1" "react-dom": "^16.8.1"
}, },

View File

@ -1,6 +1,6 @@
{ {
"name": "@alilc/lowcode-plugin-outline-pane", "name": "@alilc/lowcode-plugin-outline-pane",
"version": "1.1.2", "version": "1.1.3-beta.1",
"description": "Outline pane for Ali lowCode engine", "description": "Outline pane for Ali lowCode engine",
"files": [ "files": [
"es", "es",
@ -13,10 +13,10 @@
}, },
"dependencies": { "dependencies": {
"@alifd/next": "^1.19.16", "@alifd/next": "^1.19.16",
"@alilc/lowcode-designer": "1.1.2", "@alilc/lowcode-designer": "1.1.3-beta.1",
"@alilc/lowcode-editor-core": "1.1.2", "@alilc/lowcode-editor-core": "1.1.3-beta.1",
"@alilc/lowcode-types": "1.1.2", "@alilc/lowcode-types": "1.1.3-beta.1",
"@alilc/lowcode-utils": "1.1.2", "@alilc/lowcode-utils": "1.1.3-beta.1",
"classnames": "^2.2.6", "classnames": "^2.2.6",
"react": "^16", "react": "^16",
"react-dom": "^16.7.0", "react-dom": "^16.7.0",

View File

@ -1,6 +1,6 @@
{ {
"name": "@alilc/lowcode-rax-renderer", "name": "@alilc/lowcode-rax-renderer",
"version": "1.1.2", "version": "1.1.3-beta.1",
"description": "Rax renderer for Ali lowCode engine", "description": "Rax renderer for Ali lowCode engine",
"main": "lib/index.js", "main": "lib/index.js",
"module": "es/index.js", "module": "es/index.js",
@ -30,8 +30,8 @@
"build": "build-scripts build" "build": "build-scripts build"
}, },
"dependencies": { "dependencies": {
"@alilc/lowcode-renderer-core": "1.1.2", "@alilc/lowcode-renderer-core": "1.1.3-beta.1",
"@alilc/lowcode-utils": "1.1.2", "@alilc/lowcode-utils": "1.1.3-beta.1",
"rax-find-dom-node": "^1.0.1" "rax-find-dom-node": "^1.0.1"
}, },
"devDependencies": { "devDependencies": {

View File

@ -1,6 +1,6 @@
{ {
"name": "@alilc/lowcode-rax-simulator-renderer", "name": "@alilc/lowcode-rax-simulator-renderer",
"version": "1.1.2", "version": "1.1.3-beta.1",
"description": "rax simulator renderer for alibaba lowcode designer", "description": "rax simulator renderer for alibaba lowcode designer",
"main": "lib/index.js", "main": "lib/index.js",
"module": "es/index.js", "module": "es/index.js",
@ -13,10 +13,10 @@
"build:umd": "build-scripts build --config build.umd.json" "build:umd": "build-scripts build --config build.umd.json"
}, },
"dependencies": { "dependencies": {
"@alilc/lowcode-designer": "1.1.2", "@alilc/lowcode-designer": "1.1.3-beta.1",
"@alilc/lowcode-rax-renderer": "1.1.2", "@alilc/lowcode-rax-renderer": "1.1.3-beta.1",
"@alilc/lowcode-types": "1.1.2", "@alilc/lowcode-types": "1.1.3-beta.1",
"@alilc/lowcode-utils": "1.1.2", "@alilc/lowcode-utils": "1.1.3-beta.1",
"classnames": "^2.2.6", "classnames": "^2.2.6",
"driver-universal": "^3.1.3", "driver-universal": "^3.1.3",
"history": "^5.0.0", "history": "^5.0.0",

View File

@ -1,6 +1,6 @@
{ {
"name": "@alilc/lowcode-react-renderer", "name": "@alilc/lowcode-react-renderer",
"version": "1.1.2", "version": "1.1.3-beta.1",
"description": "react renderer for ali lowcode engine", "description": "react renderer for ali lowcode engine",
"main": "lib/index.js", "main": "lib/index.js",
"module": "es/index.js", "module": "es/index.js",
@ -22,7 +22,7 @@
], ],
"dependencies": { "dependencies": {
"@alifd/next": "^1.21.16", "@alifd/next": "^1.21.16",
"@alilc/lowcode-renderer-core": "1.1.2" "@alilc/lowcode-renderer-core": "1.1.3-beta.1"
}, },
"devDependencies": { "devDependencies": {
"@alib/build-scripts": "^0.1.18", "@alib/build-scripts": "^0.1.18",

View File

@ -1,6 +1,6 @@
{ {
"name": "@alilc/lowcode-react-simulator-renderer", "name": "@alilc/lowcode-react-simulator-renderer",
"version": "1.1.2", "version": "1.1.3-beta.1",
"description": "react simulator renderer for alibaba lowcode designer", "description": "react simulator renderer for alibaba lowcode designer",
"main": "lib/index.js", "main": "lib/index.js",
"module": "es/index.js", "module": "es/index.js",
@ -17,10 +17,10 @@
"test:cov": "build-scripts test --config build.test.json --jest-coverage" "test:cov": "build-scripts test --config build.test.json --jest-coverage"
}, },
"dependencies": { "dependencies": {
"@alilc/lowcode-designer": "1.1.2", "@alilc/lowcode-designer": "1.1.3-beta.1",
"@alilc/lowcode-react-renderer": "1.1.2", "@alilc/lowcode-react-renderer": "1.1.3-beta.1",
"@alilc/lowcode-types": "1.1.2", "@alilc/lowcode-types": "1.1.3-beta.1",
"@alilc/lowcode-utils": "1.1.2", "@alilc/lowcode-utils": "1.1.3-beta.1",
"classnames": "^2.2.6", "classnames": "^2.2.6",
"mobx": "^6.3.0", "mobx": "^6.3.0",
"mobx-react": "^7.2.0", "mobx-react": "^7.2.0",

View File

@ -170,7 +170,9 @@ class Renderer extends Component<{
this.startTime = Date.now(); this.startTime = Date.now();
this.schemaChangedSymbol = false; this.schemaChangedSymbol = false;
if (!container.autoRender || isRendererDetached()) return null; if (!container.autoRender || isRendererDetached()) {
return null;
}
const { intl } = createIntl(locale); const { intl } = createIntl(locale);

View File

@ -1,6 +1,6 @@
{ {
"name": "@alilc/lowcode-renderer-core", "name": "@alilc/lowcode-renderer-core",
"version": "1.1.2", "version": "1.1.3-beta.1",
"description": "renderer core", "description": "renderer core",
"license": "MIT", "license": "MIT",
"main": "lib/index.js", "main": "lib/index.js",
@ -16,8 +16,8 @@
}, },
"dependencies": { "dependencies": {
"@alilc/lowcode-datasource-engine": "^1.0.0", "@alilc/lowcode-datasource-engine": "^1.0.0",
"@alilc/lowcode-types": "1.1.2", "@alilc/lowcode-types": "1.1.3-beta.1",
"@alilc/lowcode-utils": "1.1.2", "@alilc/lowcode-utils": "1.1.3-beta.1",
"classnames": "^2.2.6", "classnames": "^2.2.6",
"debug": "^4.1.1", "debug": "^4.1.1",
"fetch-jsonp": "^1.1.3", "fetch-jsonp": "^1.1.3",
@ -32,7 +32,7 @@
"devDependencies": { "devDependencies": {
"@alib/build-scripts": "^0.1.18", "@alib/build-scripts": "^0.1.18",
"@alifd/next": "^1.26.0", "@alifd/next": "^1.26.0",
"@alilc/lowcode-designer": "1.1.2", "@alilc/lowcode-designer": "1.1.3-beta.1",
"@babel/plugin-transform-typescript": "^7.16.8", "@babel/plugin-transform-typescript": "^7.16.8",
"@testing-library/react": "^11.2.2", "@testing-library/react": "^11.2.2",
"@types/classnames": "^2.2.11", "@types/classnames": "^2.2.11",

View File

@ -1,6 +1,6 @@
{ {
"name": "@alilc/lowcode-shell", "name": "@alilc/lowcode-shell",
"version": "1.1.2", "version": "1.1.3-beta.1",
"description": "Shell Layer for AliLowCodeEngine", "description": "Shell Layer for AliLowCodeEngine",
"main": "lib/index.js", "main": "lib/index.js",
"module": "es/index.js", "module": "es/index.js",
@ -15,12 +15,12 @@
}, },
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@alilc/lowcode-designer": "1.1.2", "@alilc/lowcode-designer": "1.1.3-beta.1",
"@alilc/lowcode-editor-core": "1.1.2", "@alilc/lowcode-editor-core": "1.1.3-beta.1",
"@alilc/lowcode-editor-skeleton": "1.1.2", "@alilc/lowcode-editor-skeleton": "1.1.3-beta.1",
"@alilc/lowcode-types": "1.1.2", "@alilc/lowcode-types": "1.1.3-beta.1",
"@alilc/lowcode-utils": "1.1.2", "@alilc/lowcode-utils": "1.1.3-beta.1",
"@alilc/lowcode-workspace": "1.1.2", "@alilc/lowcode-workspace": "1.1.3-beta.1",
"classnames": "^2.2.6", "classnames": "^2.2.6",
"enzyme": "^3.11.0", "enzyme": "^3.11.0",
"enzyme-adapter-react-16": "^1.15.5", "enzyme-adapter-react-16": "^1.15.5",

View File

@ -129,6 +129,15 @@ export class NodeChildren implements IPublicModelNodeChildren {
}); });
} }
/**
* reverse
*/
reverse(): IPublicModelNode[] {
return this[nodeChildrenSymbol].reverse().map(d => {
return ShellNode.create(d)!;
});
}
/** /**
* map * map
* @param fn * @param fn

View File

@ -1,6 +1,6 @@
{ {
"name": "@alilc/lowcode-types", "name": "@alilc/lowcode-types",
"version": "1.1.2", "version": "1.1.3-beta.1",
"description": "Types for Ali lowCode engine", "description": "Types for Ali lowCode engine",
"files": [ "files": [
"es", "es",

View File

@ -96,6 +96,12 @@ export interface IPublicModelNodeChildren {
*/ */
forEach(fn: (node: IPublicModelNode, index: number) => void): void; forEach(fn: (node: IPublicModelNode, index: number) => void): void;
/**
* reverse
* provide the same function with {Array.prototype.reverse}
*/
reverse(): IPublicModelNode[];
/** /**
* map * map
* provide the same function with {Array.prototype.map} * provide the same function with {Array.prototype.map}

View File

@ -1,6 +1,6 @@
{ {
"name": "@alilc/lowcode-utils", "name": "@alilc/lowcode-utils",
"version": "1.1.2", "version": "1.1.3-beta.1",
"description": "Utils for Ali lowCode engine", "description": "Utils for Ali lowCode engine",
"files": [ "files": [
"lib", "lib",
@ -14,7 +14,7 @@
}, },
"dependencies": { "dependencies": {
"@alifd/next": "^1.19.16", "@alifd/next": "^1.19.16",
"@alilc/lowcode-types": "1.1.2", "@alilc/lowcode-types": "1.1.3-beta.1",
"lodash": "^4.17.21", "lodash": "^4.17.21",
"mobx": "^6.3.0", "mobx": "^6.3.0",
"react": "^16" "react": "^16"

View File

@ -1,6 +1,6 @@
{ {
"name": "@alilc/lowcode-workspace", "name": "@alilc/lowcode-workspace",
"version": "1.1.2", "version": "1.1.3-beta.1",
"description": "Shell Layer for AliLowCodeEngine", "description": "Shell Layer for AliLowCodeEngine",
"main": "lib/index.js", "main": "lib/index.js",
"module": "es/index.js", "module": "es/index.js",
@ -15,11 +15,11 @@
}, },
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@alilc/lowcode-designer": "1.1.2", "@alilc/lowcode-designer": "1.1.3-beta.1",
"@alilc/lowcode-editor-core": "1.1.2", "@alilc/lowcode-editor-core": "1.1.3-beta.1",
"@alilc/lowcode-editor-skeleton": "1.1.2", "@alilc/lowcode-editor-skeleton": "1.1.3-beta.1",
"@alilc/lowcode-types": "1.1.2", "@alilc/lowcode-types": "1.1.3-beta.1",
"@alilc/lowcode-utils": "1.1.2", "@alilc/lowcode-utils": "1.1.3-beta.1",
"classnames": "^2.2.6", "classnames": "^2.2.6",
"enzyme": "^3.11.0", "enzyme": "^3.11.0",
"enzyme-adapter-react-16": "^1.15.5", "enzyme-adapter-react-16": "^1.15.5",