Compare commits

...

11 Commits

Author SHA1 Message Date
Jack Lian
ca3b6d084f chore(release): publish 1.1.9-beta.3 2023-07-12 18:46:55 +08:00
liujuping
61afbcab77 feat: add config.workspaceEmptyComponent 2023-07-12 18:28:39 +08:00
JackLian
3e5ae7024d chore(release): publish 1.1.9-beta.2 2023-07-12 11:42:58 +08:00
AndyJin
a3ab0e4b24 fix: the action of history would not update outline tree 2023-07-12 11:40:37 +08:00
JackLian
7bde669510 chore(release): publish 1.1.9-beta.1 2023-07-11 17:33:53 +08:00
liujuping
bf7b0b3877 feat: add new cache from diff origin component 2023-07-11 17:31:51 +08:00
橙林
60545d1c7f chore(code-gen): template sync icejs 2023-07-11 17:31:51 +08:00
橙林
a3e014dced chore(code-gen): icejs、icejs3 solutions plugins.components add containerInjectConstants 2023-07-11 17:31:50 +08:00
橙林
d428ca3b18 chore(code-gen): replace deprecated api 2023-07-11 17:31:50 +08:00
JackLian
fbcb14b426 chore(docs): publish 1.0.33 2023-07-11 17:31:50 +08:00
JackLian
61fe7a7916 chore(release): publish 1.1.9-beta.0 2023-07-10 16:47:24 +08:00
26 changed files with 128 additions and 95 deletions

View File

@ -1,6 +1,6 @@
{ {
"name": "@alilc/lowcode-engine-docs", "name": "@alilc/lowcode-engine-docs",
"version": "1.0.32", "version": "1.0.33",
"description": "低代码引擎版本化文档", "description": "低代码引擎版本化文档",
"license": "MIT", "license": "MIT",
"files": [ "files": [

View File

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

View File

@ -635,18 +635,20 @@ export default function createHelloWorldProjectBuilder() {
template: CodeGen.solutionParts.icejs.template, template: CodeGen.solutionParts.icejs.template,
plugins: { plugins: {
components: [ components: [
CodeGen.plugins.react.reactCommonDeps(), CodeGen.plugins.icejs.reactCommonDeps(),
CodeGen.plugins.common.esmodule({ fileType: 'jsx' }), CodeGen.plugins.common.esModule({ fileType: 'jsx' }),
CodeGen.plugins.react.containerClass(), CodeGen.plugins.common.styleImport(),
CodeGen.plugins.react.containerInjectContext(), CodeGen.plugins.icejs.containerClass(),
CodeGen.plugins.react.containerInjectUtils(), CodeGen.plugins.icejs.containerInjectContext(),
CodeGen.plugins.react.containerInjectDataSourceEngine(), CodeGen.plugins.icejs.containerInjectUtils(),
CodeGen.plugins.react.containerInjectI18n(), CodeGen.plugins.icejs.containerInjectDataSourceEngine(),
CodeGen.plugins.react.containerInitState(), CodeGen.plugins.icejs.containerInjectI18n(),
CodeGen.plugins.react.containerLifeCycle(), CodeGen.plugins.icejs.containerInjectConstants(),
CodeGen.plugins.react.containerMethod(), CodeGen.plugins.icejs.containerInitState(),
CodeGen.plugins.icejs.containerLifeCycle(),
CodeGen.plugins.icejs.containerMethod(),
examplePlugin(), examplePlugin(),
CodeGen.plugins.react.jsx({ CodeGen.plugins.icejs.jsx({
nodeTypeMapping: { nodeTypeMapping: {
Div: 'div', Div: 'div',
Component: 'div', Component: 'div',
@ -657,18 +659,20 @@ export default function createHelloWorldProjectBuilder() {
CodeGen.plugins.style.css(), CodeGen.plugins.style.css(),
], ],
pages: [ pages: [
CodeGen.plugins.react.reactCommonDeps(), CodeGen.plugins.icejs.reactCommonDeps(),
CodeGen.plugins.common.esmodule({ fileType: 'jsx' }), CodeGen.plugins.common.esModule({ fileType: 'jsx' }),
CodeGen.plugins.react.containerClass(), CodeGen.plugins.common.styleImport(),
CodeGen.plugins.react.containerInjectContext(), CodeGen.plugins.icejs.containerClass(),
CodeGen.plugins.react.containerInjectUtils(), CodeGen.plugins.icejs.containerInjectContext(),
CodeGen.plugins.react.containerInjectDataSourceEngine(), CodeGen.plugins.icejs.containerInjectUtils(),
CodeGen.plugins.react.containerInjectI18n(), CodeGen.plugins.icejs.containerInjectDataSourceEngine(),
CodeGen.plugins.react.containerInitState(), CodeGen.plugins.icejs.containerInjectI18n(),
CodeGen.plugins.react.containerLifeCycle(), CodeGen.plugins.icejs.containerInjectConstants(),
CodeGen.plugins.react.containerMethod(), CodeGen.plugins.icejs.containerInitState(),
CodeGen.plugins.icejs.containerLifeCycle(),
CodeGen.plugins.icejs.containerMethod(),
examplePlugin(), examplePlugin(),
CodeGen.plugins.react.jsx({ CodeGen.plugins.icejs.jsx({
nodeTypeMapping: { nodeTypeMapping: {
Div: 'div', Div: 'div',
Component: 'div', Component: 'div',
@ -679,13 +683,13 @@ export default function createHelloWorldProjectBuilder() {
CodeGen.plugins.style.css(), CodeGen.plugins.style.css(),
], ],
router: [ router: [
CodeGen.plugins.common.esmodule(), CodeGen.plugins.common.esModule(),
CodeGen.solutionParts.icejs.plugins.router(), CodeGen.solutionParts.icejs.plugins.router(),
], ],
entry: [CodeGen.solutionParts.icejs.plugins.entry()], entry: [CodeGen.solutionParts.icejs.plugins.entry()],
constants: [CodeGen.plugins.project.constants()], constants: [CodeGen.plugins.project.constants()],
utils: [ utils: [
CodeGen.plugins.common.esmodule(), CodeGen.plugins.common.esModule(),
CodeGen.plugins.project.utils('react'), CodeGen.plugins.project.utils('react'),
], ],
i18n: [CodeGen.plugins.project.i18n()], i18n: [CodeGen.plugins.project.i18n()],

View File

@ -45,6 +45,7 @@ export default function createIceJsProjectBuilder(
containerInjectUtils(), containerInjectUtils(),
containerInjectDataSourceEngine(), containerInjectDataSourceEngine(),
containerInjectI18n(), containerInjectI18n(),
containerInjectConstants(),
containerInitState(), containerInitState(),
containerLifeCycle(), containerLifeCycle(),
containerMethod(), containerMethod(),

View File

@ -45,6 +45,7 @@ export default function createIceJsProjectBuilder(
containerInjectUtils(), containerInjectUtils(),
containerInjectDataSourceEngine(), containerInjectDataSourceEngine(),
containerInjectI18n(), containerInjectI18n(),
containerInjectConstants(),
containerInitState(), containerInitState(),
containerLifeCycle(), containerLifeCycle(),
containerMethod(), containerMethod(),

View File

@ -1,6 +1,6 @@
{ {
"name": "@alilc/lowcode-designer", "name": "@alilc/lowcode-designer",
"version": "1.1.8", "version": "1.1.9-beta.3",
"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",
@ -16,9 +16,9 @@
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@alilc/build-plugin-lce": "^0.0.4-beta.2", "@alilc/build-plugin-lce": "^0.0.4-beta.2",
"@alilc/lowcode-editor-core": "1.1.8", "@alilc/lowcode-editor-core": "1.1.9-beta.3",
"@alilc/lowcode-types": "1.1.8", "@alilc/lowcode-types": "1.1.9-beta.3",
"@alilc/lowcode-utils": "1.1.8", "@alilc/lowcode-utils": "1.1.9-beta.3",
"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-editor-core", "name": "@alilc/lowcode-editor-core",
"version": "1.1.8", "version": "1.1.9-beta.3",
"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.8", "@alilc/lowcode-types": "1.1.9-beta.3",
"@alilc/lowcode-utils": "1.1.8", "@alilc/lowcode-utils": "1.1.9-beta.3",
"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

@ -155,6 +155,10 @@ const VALID_ENGINE_OPTIONS = {
description: '是否开启应用级设计模式', description: '是否开启应用级设计模式',
default: false, default: false,
}, },
workspaceEmptyComponent: {
type: 'function',
description: '应用级设计模式下,窗口为空时展示的占位组件',
},
}; };
const getStrictModeValue = (engineOptions: IPublicTypeEngineOptions, defaultValue: boolean): boolean => { const getStrictModeValue = (engineOptions: IPublicTypeEngineOptions, defaultValue: boolean): boolean => {

View File

@ -1,6 +1,6 @@
{ {
"name": "@alilc/lowcode-editor-skeleton", "name": "@alilc/lowcode-editor-skeleton",
"version": "1.1.8", "version": "1.1.9-beta.3",
"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",
@ -19,10 +19,10 @@
], ],
"dependencies": { "dependencies": {
"@alifd/next": "^1.20.12", "@alifd/next": "^1.20.12",
"@alilc/lowcode-designer": "1.1.8", "@alilc/lowcode-designer": "1.1.9-beta.3",
"@alilc/lowcode-editor-core": "1.1.8", "@alilc/lowcode-editor-core": "1.1.9-beta.3",
"@alilc/lowcode-types": "1.1.8", "@alilc/lowcode-types": "1.1.9-beta.3",
"@alilc/lowcode-utils": "1.1.8", "@alilc/lowcode-utils": "1.1.9-beta.3",
"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.8", "version": "1.1.9-beta.3",
"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.8", "@alilc/lowcode-designer": "1.1.9-beta.3",
"@alilc/lowcode-editor-core": "1.1.8", "@alilc/lowcode-editor-core": "1.1.9-beta.3",
"@alilc/lowcode-editor-skeleton": "1.1.8", "@alilc/lowcode-editor-skeleton": "1.1.9-beta.3",
"@alilc/lowcode-engine-ext": "^1.0.0", "@alilc/lowcode-engine-ext": "^1.0.0",
"@alilc/lowcode-plugin-designer": "1.1.8", "@alilc/lowcode-plugin-designer": "1.1.9-beta.3",
"@alilc/lowcode-plugin-outline-pane": "1.1.8", "@alilc/lowcode-plugin-outline-pane": "1.1.9-beta.3",
"@alilc/lowcode-shell": "1.1.8", "@alilc/lowcode-shell": "1.1.9-beta.3",
"@alilc/lowcode-utils": "1.1.8", "@alilc/lowcode-utils": "1.1.9-beta.3",
"@alilc/lowcode-workspace": "1.1.8", "@alilc/lowcode-workspace": "1.1.9-beta.3",
"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.8", "version": "1.1.9-beta.3",
"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.8", "version": "1.1.9-beta.3",
"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.8", "@alilc/lowcode-designer": "1.1.9-beta.3",
"@alilc/lowcode-editor-core": "1.1.8", "@alilc/lowcode-editor-core": "1.1.9-beta.3",
"@alilc/lowcode-utils": "1.1.8", "@alilc/lowcode-utils": "1.1.9-beta.3",
"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.8", "version": "1.1.9-beta.3",
"description": "Outline pane for Ali lowCode engine", "description": "Outline pane for Ali lowCode engine",
"files": [ "files": [
"es", "es",
@ -13,8 +13,8 @@
}, },
"dependencies": { "dependencies": {
"@alifd/next": "^1.19.16", "@alifd/next": "^1.19.16",
"@alilc/lowcode-types": "1.1.8", "@alilc/lowcode-types": "1.1.9-beta.3",
"@alilc/lowcode-utils": "1.1.8", "@alilc/lowcode-utils": "1.1.9-beta.3",
"classnames": "^2.2.6", "classnames": "^2.2.6",
"react": "^16", "react": "^16",
"react-dom": "^16.7.0", "react-dom": "^16.7.0",

View File

@ -30,6 +30,10 @@ export class Tree {
treeNode?.notifyExpandableChanged(); treeNode?.notifyExpandableChanged();
}); });
doc?.history.onChangeCursor(() => {
this.root?.notifyExpandableChanged();
});
doc?.onChangeNodeProp((info: IPublicTypePropChangeOptions) => { doc?.onChangeNodeProp((info: IPublicTypePropChangeOptions) => {
const { node, key } = info; const { node, key } = info;
if (key === '___title___') { if (key === '___title___') {

View File

@ -1,6 +1,6 @@
{ {
"name": "@alilc/lowcode-rax-renderer", "name": "@alilc/lowcode-rax-renderer",
"version": "1.1.8", "version": "1.1.9-beta.3",
"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.8", "@alilc/lowcode-renderer-core": "1.1.9-beta.3",
"@alilc/lowcode-utils": "1.1.8", "@alilc/lowcode-utils": "1.1.9-beta.3",
"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.8", "version": "1.1.9-beta.3",
"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.8", "@alilc/lowcode-designer": "1.1.9-beta.3",
"@alilc/lowcode-rax-renderer": "1.1.8", "@alilc/lowcode-rax-renderer": "1.1.9-beta.3",
"@alilc/lowcode-types": "1.1.8", "@alilc/lowcode-types": "1.1.9-beta.3",
"@alilc/lowcode-utils": "1.1.8", "@alilc/lowcode-utils": "1.1.9-beta.3",
"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.8", "version": "1.1.9-beta.3",
"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.8" "@alilc/lowcode-renderer-core": "1.1.9-beta.3"
}, },
"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.8", "version": "1.1.9-beta.3",
"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.8", "@alilc/lowcode-designer": "1.1.9-beta.3",
"@alilc/lowcode-react-renderer": "1.1.8", "@alilc/lowcode-react-renderer": "1.1.9-beta.3",
"@alilc/lowcode-types": "1.1.8", "@alilc/lowcode-types": "1.1.9-beta.3",
"@alilc/lowcode-utils": "1.1.8", "@alilc/lowcode-utils": "1.1.9-beta.3",
"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

@ -1,6 +1,6 @@
{ {
"name": "@alilc/lowcode-renderer-core", "name": "@alilc/lowcode-renderer-core",
"version": "1.1.8", "version": "1.1.9-beta.3",
"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.8", "@alilc/lowcode-types": "1.1.9-beta.3",
"@alilc/lowcode-utils": "1.1.8", "@alilc/lowcode-utils": "1.1.9-beta.3",
"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.8", "@alilc/lowcode-designer": "1.1.9-beta.3",
"@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

@ -193,8 +193,8 @@ export function leafWrapper(Comp: types.IBaseRenderComponent, {
getNode, getNode,
}); });
if (curDocumentId && cache.component.has(componentCacheId)) { if (curDocumentId && cache.component.has(componentCacheId) && (cache.component.get(componentCacheId).Comp === Comp)) {
return cache.component.get(componentCacheId); return cache.component.get(componentCacheId).LeafWrapper;
} }
class LeafHoc extends Component { class LeafHoc extends Component {
@ -590,7 +590,10 @@ export function leafWrapper(Comp: types.IBaseRenderComponent, {
LeafWrapper.displayName = (Comp as any).displayName; LeafWrapper.displayName = (Comp as any).displayName;
cache.component.set(componentCacheId, LeafWrapper); cache.component.set(componentCacheId, {
LeafWrapper,
Comp,
});
return LeafWrapper; return LeafWrapper;
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "@alilc/lowcode-shell", "name": "@alilc/lowcode-shell",
"version": "1.1.8", "version": "1.1.9-beta.3",
"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",
@ -13,12 +13,12 @@
}, },
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@alilc/lowcode-designer": "1.1.8", "@alilc/lowcode-designer": "1.1.9-beta.3",
"@alilc/lowcode-editor-core": "1.1.8", "@alilc/lowcode-editor-core": "1.1.9-beta.3",
"@alilc/lowcode-editor-skeleton": "1.1.8", "@alilc/lowcode-editor-skeleton": "1.1.9-beta.3",
"@alilc/lowcode-types": "1.1.8", "@alilc/lowcode-types": "1.1.9-beta.3",
"@alilc/lowcode-utils": "1.1.8", "@alilc/lowcode-utils": "1.1.9-beta.3",
"@alilc/lowcode-workspace": "1.1.8", "@alilc/lowcode-workspace": "1.1.9-beta.3",
"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

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

View File

@ -1,6 +1,6 @@
{ {
"name": "@alilc/lowcode-utils", "name": "@alilc/lowcode-utils",
"version": "1.1.8", "version": "1.1.9-beta.3",
"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.8", "@alilc/lowcode-types": "1.1.9-beta.3",
"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.8", "version": "1.1.9-beta.3",
"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.8", "@alilc/lowcode-designer": "1.1.9-beta.3",
"@alilc/lowcode-editor-core": "1.1.8", "@alilc/lowcode-editor-core": "1.1.9-beta.3",
"@alilc/lowcode-editor-skeleton": "1.1.8", "@alilc/lowcode-editor-skeleton": "1.1.9-beta.3",
"@alilc/lowcode-types": "1.1.8", "@alilc/lowcode-types": "1.1.9-beta.3",
"@alilc/lowcode-utils": "1.1.8", "@alilc/lowcode-utils": "1.1.9-beta.3",
"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

@ -1,5 +1,5 @@
import { Component } from 'react'; import { Component } from 'react';
import { TipContainer, observer } from '@alilc/lowcode-editor-core'; import { TipContainer, engineConfig, observer } from '@alilc/lowcode-editor-core';
import { WindowView } from '../view/window-view'; import { WindowView } from '../view/window-view';
import classNames from 'classnames'; import classNames from 'classnames';
import TopArea from './top-area'; import TopArea from './top-area';
@ -21,17 +21,29 @@ export class Workbench extends Component<{
components?: PluginClassSet; components?: PluginClassSet;
className?: string; className?: string;
topAreaItemClassName?: string; topAreaItemClassName?: string;
}, {
workspaceEmptyComponent: any;
}> { }> {
constructor(props: any) { constructor(props: any) {
super(props); super(props);
const { config, components, workspace } = this.props; const { config, components, workspace } = this.props;
const { skeleton } = workspace; const { skeleton } = workspace;
skeleton.buildFromConfig(config, components); skeleton.buildFromConfig(config, components);
engineConfig.onGot('workspaceEmptyComponent', (workspaceEmptyComponent) => {
this.setState({
workspaceEmptyComponent,
});
});
this.state = {
workspaceEmptyComponent: engineConfig.get('workspaceEmptyComponent'),
};
} }
render() { render() {
const { workspace, className, topAreaItemClassName } = this.props; const { workspace, className, topAreaItemClassName } = this.props;
const { skeleton } = workspace; const { skeleton } = workspace;
const WorkspaceEmptyComponent = this.state.workspaceEmptyComponent;
return ( return (
<div className={classNames('lc-workspace-workbench', className)}> <div className={classNames('lc-workspace-workbench', className)}>
<SkeletonContext.Provider value={skeleton}> <SkeletonContext.Provider value={skeleton}>
@ -53,6 +65,10 @@ export class Workbench extends Component<{
/> />
)) ))
} }
{
!workspace.windows.length && WorkspaceEmptyComponent ? <WorkspaceEmptyComponent /> : null
}
</div> </div>
</div> </div>
<MainArea area={skeleton.mainArea} /> <MainArea area={skeleton.mainArea} />

View File

@ -199,7 +199,7 @@ export class Workspace implements IWorkspace {
this.windows.splice(index, 1); this.windows.splice(index, 1);
if (this.window === window) { if (this.window === window) {
this.window = this.windows[index] || this.windows[index + 1] || this.windows[index - 1]; this.window = this.windows[index] || this.windows[index + 1] || this.windows[index - 1];
if (this.window.sleep) { if (this.window?.sleep) {
this.window.init(); this.window.init();
} }
this.emitChangeActiveWindow(); this.emitChangeActiveWindow();