Compare commits

...

13 Commits

Author SHA1 Message Date
JackLian
370ba9985b chore(release): publish 1.0.18-beta.5 2022-12-13 19:48:16 +08:00
huoteng
3413f2c36e feat: support online tree title extra 2022-12-13 19:42:42 +08:00
JackLian
91fc2c3f99 chore: add pub:preminor 2022-12-13 19:42:41 +08:00
JackLian
e56ea48108 fix: remove as Type 2022-12-13 19:42:41 +08:00
LeoYuan 袁力皓
7096e53bba chore: delete pnpm-lock.yaml 2022-12-13 19:42:40 +08:00
wangwei
90a4d86fdb feat: assets.components support reference field (#1355)
* feat: 资产包协议兼容低代码组件物料
2022-12-13 19:42:40 +08:00
JackLian
34709f4c1f chore(release): publish 1.0.18-beta.4 2022-12-09 15:18:19 +08:00
JackLian
4ae4d312a7 docs: add faqs 2022-12-09 15:10:42 +08:00
JackLian
b2be450e0f chore: upgrade dep versions 2022-12-09 15:10:42 +08:00
JackLian
c85e561b5e fix: plugin context, enhancePluginContextHook not working 2022-12-09 15:10:41 +08:00
liujuping
62178eea50 chore(release): publish 1.0.18-beta.3 2022-12-08 17:53:40 +08:00
liujuping
5af13213d6 chore(release): publish 1.0.18-beta.2 2022-12-08 17:51:25 +08:00
liujuping
d55838893d chore(release): publish 1.0.18-beta.0 2022-12-08 17:49:03 +08:00
34 changed files with 287 additions and 9095 deletions

1
.gitignore vendored
View File

@ -8,6 +8,7 @@ packages/*/output/
packages/demo/ packages/demo/
package-lock.json package-lock.json
yarn.lock yarn.lock
pnpm-lock.yaml
deploy-space/packages deploy-space/packages
deploy-space/.env deploy-space/.env

18
docs/docs/faq/faq021.md Normal file
View File

@ -0,0 +1,18 @@
---
title: 提交 PR 时,明明签署过 CLA仍被提示需要签署
sidebar_position: 21
tags: [FAQ]
---
## 问题原因
原因是git commit 时,本地 git config 配置的 email 与 github 账号的 email 不一致,导致未被识别出来,检查方式
```bash
git config user.email
```
## 解决办法
如何配置,可参考 [is-it-possible-to-have-different-git-configuration-for-different-projects](https://stackoverflow.com/questions/8801729/is-it-possible-to-have-different-git-configuration-for-different-projects)
配置好正确的 email 之后,已提交的代码需要以新的配置重新提交才可生效。

18
docs/docs/faq/faq022.md Normal file
View File

@ -0,0 +1,18 @@
---
title: 节点无法拖拽到 Page 下
sidebar_position: 22
tags: [FAQ]
---
查看 Page 节点的 childWhitelist 配置,如果 Page 配置了 childWhitelist且当前节点不在白名单下是无法拖拽的。
```typescript
AliLowCodeEngine.material.getComponentMeta('Page').getMetadata().configure.component.nestingRule.childWhitelist
```
比如在 [demo](https://lowcode-engine.cn/demo/demo-general/index.html) 中 Page 组件的 childWhitelist 为:['NextPage', 'ProDialog', 'Dialog', 'Drawer'],则只有这些组件可以拖拽到 Page 的 children 下,其他组件均不可以。
说明1.0.15 之前 Page 组件的 childWhitelist 限制是失效的,在 1.0.16 版本进行了 bug 修复。
### 解决办法
**方法 1直接修改 Page 组件的 childWhitelist比如删除**。
**方法 2通过 **[**material.registerMetadataTransducer**](/site/docs/api/material#registermetadatatransducer)** 修改 Page 组件的 childWhitelist适用于 Page 组件是其他人维护的)**

View File

@ -1,5 +1,5 @@
--- ---
title: 官网文档协作流程 title: 参与文档贡献
sidebar_position: 3 sidebar_position: 3
--- ---
@ -10,7 +10,7 @@ sidebar_position: 3
- 官方文档通过 github 管理文档源,官网文档与[主仓库 develop 分支](https://github.com/alibaba/lowcode-engine/tree/develop/docs)保持同步。 - 官方文档通过 github 管理文档源,官网文档与[主仓库 develop 分支](https://github.com/alibaba/lowcode-engine/tree/develop/docs)保持同步。
- 点击每篇文档下发的 `编辑此页` 可直接定位到 github 中位置。 - 点击每篇文档下发的 `编辑此页` 可直接定位到 github 中位置。
- 欢迎 PR文档 PR 也会作为贡献者贡献,会用于贡献度统计。 - 欢迎 PR文档 PR 也会作为贡献者贡献,会用于贡献度统计。
- 文档同步到官方网站由官方人员进行操作,如有需要可以通过 issue 或 贡献者群与相关人员沟通。 - **文档同步到官方网站由官方人员进行操作**,如有需要可以通过 issue 或 贡献者群与相关人员沟通。
- 为了提供更好的阅读和使用体验,文档中的图片文件会定期转换成可信的 CDN 地址。 - 为了提供更好的阅读和使用体验,文档中的图片文件会定期转换成可信的 CDN 地址。
### PR 提交注意事项 ### PR 提交注意事项

View File

@ -22,9 +22,10 @@ sidebar_position: 0
3. 如果你修复了 bug 或者添加了代码,而这些内容需要测试,请添加测试! 3. 如果你修复了 bug 或者添加了代码,而这些内容需要测试,请添加测试!
4. 确保通过测试套件yarn test 4. 确保通过测试套件yarn test
5. 请签订贡献者许可证协议Contributor License Agreement 5. 请签订贡献者许可证协议Contributor License Agreement
> 如已签署 CLA 仍被提示需要签署,[解决办法](/site/docs/faq/faq021)
### 核心贡献者交流 ### 核心贡献者交流
如果你想长期参与到项目维护中,我们提供了一个核心贡献者交流群。 如果你想长期参与到项目维护中,我们提供了一个核心贡献者交流群。
1. 可以通过[填写问卷](https://survey.taobao.com/apps/zhiliao/4YEtu9gHF)的方式,参与到其中。 1. 可以通过[填写问卷](https://survey.taobao.com/apps/zhiliao/4YEtu9gHF)的方式,参与到其中。
2. 填写问卷后加微信号 `wxidvlalalalal` 说明一下 2. 填写问卷后加微信号 `wxidvlalalalal` 说明一下

View File

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

View File

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

View File

@ -22,6 +22,7 @@
"lint:modules:fix": "f2elint fix -i ./modules/*/src", "lint:modules:fix": "f2elint fix -i ./modules/*/src",
"pub": "npm run watchdog:build && lerna publish patch --force-publish --exact --no-changelog", "pub": "npm run watchdog:build && lerna publish patch --force-publish --exact --no-changelog",
"pub:premajor": "npm run watchdog:build && lerna publish premajor --force-publish --exact --dist-tag beta --preid beta --no-changelog", "pub:premajor": "npm run watchdog:build && lerna publish premajor --force-publish --exact --dist-tag beta --preid beta --no-changelog",
"pub:preminor": "npm run watchdog:build && lerna publish preminor --force-publish --exact --dist-tag beta --preid beta --no-changelog",
"pub:prepatch": "npm run watchdog:build && lerna publish prepatch --force-publish --exact --dist-tag beta --preid beta --no-changelog", "pub:prepatch": "npm run watchdog:build && lerna publish prepatch --force-publish --exact --dist-tag beta --preid beta --no-changelog",
"pub:prerelease": "npm run watchdog:build && lerna publish prerelease --force-publish --exact --dist-tag beta --preid beta --no-changelog", "pub:prerelease": "npm run watchdog:build && lerna publish prerelease --force-publish --exact --dist-tag beta --preid beta --no-changelog",
"setup": "node ./scripts/setup.js", "setup": "node ./scripts/setup.js",
@ -59,6 +60,8 @@
"lockfile": "enable" "lockfile": "enable"
}, },
"resolutions": { "resolutions": {
"@builder/babel-preset-ice": "1.0.1" "@builder/babel-preset-ice": "1.0.1",
} "typescript": "4.6.2"
},
"repository": "git@github.com:alibaba/lowcode-engine.git"
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "@alilc/lowcode-designer", "name": "@alilc/lowcode-designer",
"version": "1.0.17", "version": "1.0.18-beta.5",
"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.0.17", "@alilc/lowcode-editor-core": "1.0.18-beta.5",
"@alilc/lowcode-types": "1.0.17", "@alilc/lowcode-types": "1.0.18-beta.5",
"@alilc/lowcode-utils": "1.0.17", "@alilc/lowcode-utils": "1.0.18-beta.5",
"classnames": "^2.2.6", "classnames": "^2.2.6",
"react": "^16", "react": "^16",
"react-dom": "^16.7.0", "react-dom": "^16.7.0",
@ -27,10 +27,12 @@
}, },
"devDependencies": { "devDependencies": {
"@alib/build-scripts": "^0.1.29", "@alib/build-scripts": "^0.1.29",
"@alilc/lowcode-shell": "1.0.17", "@alilc/lowcode-shell": "1.0.18-beta.5",
"@alilc/lowcode-test-mate": "^1.0.1", "@alilc/lowcode-test-mate": "^1.0.1",
"@testing-library/react": "^11.2.2", "@testing-library/react": "^11.2.2",
"@types/classnames": "^2.2.7", "@types/classnames": "^2.2.7",
"@types/enzyme": "^3.10.12",
"@types/enzyme-adapter-react-16": "^1.0.6",
"@types/jest": "^26.0.16", "@types/jest": "^26.0.16",
"@types/lodash": "^4.14.165", "@types/lodash": "^4.14.165",
"@types/medium-editor": "^5.0.3", "@types/medium-editor": "^5.0.3",
@ -39,12 +41,10 @@
"@types/react-dom": "^16", "@types/react-dom": "^16",
"@types/semver": "7.3.9", "@types/semver": "7.3.9",
"babel-jest": "^26.5.2", "babel-jest": "^26.5.2",
"build-plugin-component": "^0.2.10", "build-plugin-component": "^1.0.0",
"build-scripts-config": "^0.1.8", "build-scripts-config": "^3.0.3",
"enzyme": "^3.11.0", "enzyme": "^3.11.0",
"@types/enzyme": "^3.10.12",
"enzyme-adapter-react-16": "^1.15.5", "enzyme-adapter-react-16": "^1.15.5",
"@types/enzyme-adapter-react-16": "^1.0.6",
"jest": "^26.6.3", "jest": "^26.6.3",
"lodash": "^4.17.20", "lodash": "^4.17.20",
"moment": "^2.29.1", "moment": "^2.29.1",

View File

@ -41,6 +41,7 @@ export default class PluginContext implements ILowCodePluginContext, ILowCodePlu
options: IPluginContextOptions, options: IPluginContextOptions,
contextApiAssembler: ILowCodePluginContextApiAssembler, contextApiAssembler: ILowCodePluginContextApiAssembler,
) { ) {
contextApiAssembler.assembleApis(this);
this.plugins = plugins; this.plugins = plugins;
const { pluginName = 'anonymous' } = options; const { pluginName = 'anonymous' } = options;
this.logger = getLogger({ level: 'warn', bizName: `designer:plugin:${pluginName}` }); this.logger = getLogger({ level: 'warn', bizName: `designer:plugin:${pluginName}` });
@ -49,8 +50,6 @@ export default class PluginContext implements ILowCodePluginContext, ILowCodePlu
if (enhancePluginContextHook) { if (enhancePluginContextHook) {
enhancePluginContextHook(this); enhancePluginContextHook(this);
} }
contextApiAssembler.assembleApis(this);
} }
setPreference( setPreference(

View File

@ -1,6 +1,6 @@
{ {
"name": "@alilc/lowcode-editor-core", "name": "@alilc/lowcode-editor-core",
"version": "1.0.17", "version": "1.0.18-beta.5",
"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.0.17", "@alilc/lowcode-types": "1.0.18-beta.5",
"@alilc/lowcode-utils": "1.0.17", "@alilc/lowcode-utils": "1.0.18-beta.5",
"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",
@ -37,7 +37,7 @@
"@types/react": "^16", "@types/react": "^16",
"@types/react-dom": "^16", "@types/react-dom": "^16",
"@types/store": "^2.0.2", "@types/store": "^2.0.2",
"build-plugin-component": "^0.2.11", "build-plugin-component": "^1.0.0",
"build-plugin-fusion": "^0.1.0", "build-plugin-fusion": "^0.1.0",
"build-plugin-moment-locales": "^0.1.0" "build-plugin-moment-locales": "^0.1.0"
}, },

View File

@ -18,6 +18,7 @@ import { globalLocale } from './intl';
import Preference from './utils/preference'; import Preference from './utils/preference';
import { obx } from './utils'; import { obx } from './utils';
import { AssetsJson, AssetLoader } from '@alilc/lowcode-utils'; import { AssetsJson, AssetLoader } from '@alilc/lowcode-utils';
import { assetsTransform } from './utils/assets-transform';
EventEmitter.defaultMaxListeners = 100; EventEmitter.defaultMaxListeners = 100;
@ -124,7 +125,8 @@ export class Editor extends (EventEmitter as any) implements IEditor {
); );
} }
} }
this.context.set('assets', assets); const innerAssets = assetsTransform(assets);
this.context.set('assets', innerAssets);
this.notifyGot('assets'); this.notifyGot('assets');
} }

View File

@ -0,0 +1,28 @@
/* eslint-disable no-param-reassign */
import { AssetsJson, ComponentDescription, Package, RemoteComponentDescription } from '@alilc/lowcode-types';
// TODO: 该转换逻辑未来需要消化掉
export function assetsTransform(assets: AssetsJson) {
const { components, packages } = assets;
const packageMaps = (packages || []).reduce((acc: Record<string, Package>, cur: Package) => {
const key = cur.id || cur.package || '';
acc[key] = cur;
return acc;
}, {} as any);
components.forEach((componentDesc: ComponentDescription | RemoteComponentDescription) => {
let { devMode, schema, reference } = componentDesc;
if ((devMode as string) === 'lowcode') {
devMode = 'lowCode';
} else if (devMode === 'proCode') {
devMode = 'proCode';
}
if (devMode) {
componentDesc.devMode = devMode;
}
if (devMode === 'lowCode' && !schema && reference) {
const referenceId = reference.id || '';
componentDesc.schema = packageMaps[referenceId].schema;
}
});
return assets;
}

View File

@ -1,6 +1,6 @@
{ {
"name": "@alilc/lowcode-editor-skeleton", "name": "@alilc/lowcode-editor-skeleton",
"version": "1.0.17", "version": "1.0.18-beta.5",
"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.0.17", "@alilc/lowcode-designer": "1.0.18-beta.5",
"@alilc/lowcode-editor-core": "1.0.17", "@alilc/lowcode-editor-core": "1.0.18-beta.5",
"@alilc/lowcode-types": "1.0.17", "@alilc/lowcode-types": "1.0.18-beta.5",
"@alilc/lowcode-utils": "1.0.17", "@alilc/lowcode-utils": "1.0.18-beta.5",
"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"
@ -30,7 +30,7 @@
"@alib/build-scripts": "^0.1.3", "@alib/build-scripts": "^0.1.3",
"@types/react": "^16.9.13", "@types/react": "^16.9.13",
"@types/react-dom": "^16.9.4", "@types/react-dom": "^16.9.4",
"build-plugin-component": "^0.2.7", "build-plugin-component": "^1.0.0",
"build-plugin-fusion": "^0.1.0", "build-plugin-fusion": "^0.1.0",
"build-plugin-moment-locales": "^0.1.0" "build-plugin-moment-locales": "^0.1.0"
}, },

View File

@ -1,6 +1,6 @@
{ {
"name": "@alilc/lowcode-engine", "name": "@alilc/lowcode-engine",
"version": "1.0.17", "version": "1.0.18-beta.5",
"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,14 +19,14 @@
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@alifd/next": "^1.19.12", "@alifd/next": "^1.19.12",
"@alilc/lowcode-designer": "1.0.17", "@alilc/lowcode-designer": "1.0.18-beta.5",
"@alilc/lowcode-editor-core": "1.0.17", "@alilc/lowcode-editor-core": "1.0.18-beta.5",
"@alilc/lowcode-editor-skeleton": "1.0.17", "@alilc/lowcode-editor-skeleton": "1.0.18-beta.5",
"@alilc/lowcode-engine-ext": "^1.0.0", "@alilc/lowcode-engine-ext": "^1.0.0",
"@alilc/lowcode-plugin-designer": "1.0.17", "@alilc/lowcode-plugin-designer": "1.0.18-beta.5",
"@alilc/lowcode-plugin-outline-pane": "1.0.17", "@alilc/lowcode-plugin-outline-pane": "1.0.18-beta.5",
"@alilc/lowcode-shell": "1.0.17", "@alilc/lowcode-shell": "1.0.18-beta.5",
"@alilc/lowcode-utils": "1.0.17", "@alilc/lowcode-utils": "1.0.18-beta.5",
"react": "^16.8.1", "react": "^16.8.1",
"react-dom": "^16.8.1" "react-dom": "^16.8.1"
}, },

View File

@ -172,6 +172,9 @@ engineConfig.set('isOpenSource', isOpenSource);
keepVisibleWhileDragging: true, keepVisibleWhileDragging: true,
...engineConfig.get('defaultOutlinePaneProps'), ...engineConfig.get('defaultOutlinePaneProps'),
}, },
contentProps: {
treeTitleExtra: engineConfig.get('treeTitleExtra'),
},
}); });
skeleton.add({ skeleton.add({
area: 'rightArea', area: 'rightArea',

View File

@ -1,6 +1,6 @@
{ {
"name": "@alilc/lowcode-ignitor", "name": "@alilc/lowcode-ignitor",
"version": "1.0.17", "version": "1.0.18-beta.5",
"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.0.17", "version": "1.0.18-beta.5",
"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.0.17", "@alilc/lowcode-designer": "1.0.18-beta.5",
"@alilc/lowcode-editor-core": "1.0.17", "@alilc/lowcode-editor-core": "1.0.18-beta.5",
"@alilc/lowcode-utils": "1.0.17", "@alilc/lowcode-utils": "1.0.18-beta.5",
"react": "^16.8.1", "react": "^16.8.1",
"react-dom": "^16.8.1" "react-dom": "^16.8.1"
}, },
@ -28,7 +28,7 @@
"@alib/build-scripts": "^0.1.3", "@alib/build-scripts": "^0.1.3",
"@types/react": "^16.9.13", "@types/react": "^16.9.13",
"@types/react-dom": "^16.9.4", "@types/react-dom": "^16.9.4",
"build-plugin-component": "^0.2.7" "build-plugin-component": "^1.0.0"
}, },
"publishConfig": { "publishConfig": {
"access": "public", "access": "public",

View File

@ -1,6 +1,6 @@
{ {
"name": "@alilc/lowcode-plugin-outline-pane", "name": "@alilc/lowcode-plugin-outline-pane",
"version": "1.0.17", "version": "1.0.18-beta.5",
"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.0.17", "@alilc/lowcode-designer": "1.0.18-beta.5",
"@alilc/lowcode-editor-core": "1.0.17", "@alilc/lowcode-editor-core": "1.0.18-beta.5",
"@alilc/lowcode-types": "1.0.17", "@alilc/lowcode-types": "1.0.18-beta.5",
"@alilc/lowcode-utils": "1.0.17", "@alilc/lowcode-utils": "1.0.18-beta.5",
"classnames": "^2.2.6", "classnames": "^2.2.6",
"react": "^16", "react": "^16",
"react-dom": "^16.7.0", "react-dom": "^16.7.0",
@ -28,7 +28,7 @@
"@types/node": "^13.7.1", "@types/node": "^13.7.1",
"@types/react": "^16", "@types/react": "^16",
"@types/react-dom": "^16", "@types/react-dom": "^16",
"build-plugin-component": "^0.2.10", "build-plugin-component": "^1.0.0",
"build-plugin-fusion": "^0.1.1", "build-plugin-fusion": "^0.1.1",
"build-plugin-moment-locales": "^0.1.0" "build-plugin-moment-locales": "^0.1.0"
}, },

View File

@ -0,0 +1,20 @@
import { globalContext } from '@alilc/lowcode-editor-core';
import { ReactElement } from 'react';
const TREE_TITLE_EXTRA_KEY = 'TREE_TITLE_EXTRA_KEY';
export const registerTreeTitleExtra = (extra: ReactElement) => {
if (extra && !globalContext.has(TREE_TITLE_EXTRA_KEY)) {
globalContext.register(extra, TREE_TITLE_EXTRA_KEY);
}
};
export const getTreeTitleExtra = () => {
try {
return globalContext.get(TREE_TITLE_EXTRA_KEY);
} catch (e) {
// console.error('getTreeTitleExtra Error', e);
}
return null;
};

View File

@ -6,6 +6,7 @@ import TreeView from './tree';
import './style.less'; import './style.less';
import { IEditor } from '@alilc/lowcode-types'; import { IEditor } from '@alilc/lowcode-types';
import Filter from './filter'; import Filter from './filter';
import { registerTreeTitleExtra } from '../helper/tree-title-extra';
@observer @observer
export class OutlinePane extends Component<{ config: any; editor: IEditor }> { export class OutlinePane extends Component<{ config: any; editor: IEditor }> {
@ -15,6 +16,10 @@ export class OutlinePane extends Component<{ config: any; editor: IEditor }> {
this.main.purge(); this.main.purge();
} }
componentDidMount() {
registerTreeTitleExtra(this.props?.config?.contentProps?.treeTitleExtra);
}
render() { render() {
const tree = this.main.currentTree; const tree = this.main.currentTree;

View File

@ -13,6 +13,7 @@ import { IconLoop } from '../icons/loop';
import { IconRadioActive } from '../icons/radio-active'; import { IconRadioActive } from '../icons/radio-active';
import { IconRadio } from '../icons/radio'; import { IconRadio } from '../icons/radio';
import { IconLock, IconUnlock } from '../icons'; import { IconLock, IconUnlock } from '../icons';
import { getTreeTitleExtra } from '../helper/tree-title-extra';
function emitOutlineEvent(type: string, treeNode: TreeNode, rest?: Record<string, unknown>) { function emitOutlineEvent(type: string, treeNode: TreeNode, rest?: Record<string, unknown>) {
@ -97,6 +98,7 @@ export default class TreeTitle extends Component<{
}; };
} }
const { filterWorking, matchSelf, keywords } = treeNode.filterReult; const { filterWorking, matchSelf, keywords } = treeNode.filterReult;
const Extra = getTreeTitleExtra();
return ( return (
<div <div
@ -153,6 +155,7 @@ export default class TreeTitle extends Component<{
match={filterWorking && matchSelf} match={filterWorking && matchSelf}
keywords={keywords} keywords={keywords}
/> />
{Extra && <Extra node={treeNode?.node} />}
{node.slotFor && ( {node.slotFor && (
<a className="tree-node-tag slot"> <a className="tree-node-tag slot">
{/* todo: click redirect to prop */} {/* todo: click redirect to prop */}

View File

@ -1,6 +1,6 @@
{ {
"name": "@alilc/lowcode-rax-renderer", "name": "@alilc/lowcode-rax-renderer",
"version": "1.0.17", "version": "1.0.18-beta.5",
"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.0.17", "@alilc/lowcode-renderer-core": "1.0.18-beta.5",
"@alilc/lowcode-utils": "1.0.17", "@alilc/lowcode-utils": "1.0.18-beta.5",
"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.0.17", "version": "1.0.18-beta.5",
"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.0.17", "@alilc/lowcode-designer": "1.0.18-beta.5",
"@alilc/lowcode-rax-renderer": "1.0.17", "@alilc/lowcode-rax-renderer": "1.0.18-beta.5",
"@alilc/lowcode-types": "1.0.17", "@alilc/lowcode-types": "1.0.18-beta.5",
"@alilc/lowcode-utils": "1.0.17", "@alilc/lowcode-utils": "1.0.18-beta.5",
"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",
@ -36,7 +36,7 @@
"@types/rax": "^1.0.0", "@types/rax": "^1.0.0",
"@types/react": "^16", "@types/react": "^16",
"@types/react-dom": "^16", "@types/react-dom": "^16",
"build-plugin-component": "^0.2.11", "build-plugin-component": "^1.0.0",
"build-plugin-rax-component": "^0.2.11" "build-plugin-rax-component": "^0.2.11"
}, },
"peerDependencies": { "peerDependencies": {

View File

@ -1,6 +1,6 @@
{ {
"name": "@alilc/lowcode-react-renderer", "name": "@alilc/lowcode-react-renderer",
"version": "1.0.17", "version": "1.0.18-beta.5",
"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,12 +22,12 @@
], ],
"dependencies": { "dependencies": {
"@alifd/next": "^1.21.16", "@alifd/next": "^1.21.16",
"@alilc/lowcode-renderer-core": "1.0.17" "@alilc/lowcode-renderer-core": "1.0.18-beta.5"
}, },
"devDependencies": { "devDependencies": {
"@alib/build-scripts": "^0.1.18", "@alib/build-scripts": "^0.1.18",
"@alifd/next": "^1.19.17", "@alifd/next": "^1.19.17",
"build-plugin-component": "^0.2.10", "build-plugin-component": "^1.0.0",
"build-plugin-fusion": "^0.1.0", "build-plugin-fusion": "^0.1.0",
"build-plugin-moment-locales": "^0.1.0", "build-plugin-moment-locales": "^0.1.0",
"react": "^16.4.1", "react": "^16.4.1",

View File

@ -1,6 +1,6 @@
{ {
"name": "@alilc/lowcode-react-simulator-renderer", "name": "@alilc/lowcode-react-simulator-renderer",
"version": "1.0.17", "version": "1.0.18-beta.5",
"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.0.17", "@alilc/lowcode-designer": "1.0.18-beta.5",
"@alilc/lowcode-react-renderer": "1.0.17", "@alilc/lowcode-react-renderer": "1.0.18-beta.5",
"@alilc/lowcode-types": "1.0.17", "@alilc/lowcode-types": "1.0.18-beta.5",
"@alilc/lowcode-utils": "1.0.17", "@alilc/lowcode-utils": "1.0.18-beta.5",
"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",
@ -34,7 +34,7 @@
"@types/react": "^16", "@types/react": "^16",
"@types/react-dom": "^16", "@types/react-dom": "^16",
"@types/react-router": "5.1.18", "@types/react-router": "5.1.18",
"build-plugin-component": "^0.2.11" "build-plugin-component": "^1.0.0"
}, },
"publishConfig": { "publishConfig": {
"access": "public", "access": "public",

View File

@ -1,6 +1,6 @@
{ {
"name": "@alilc/lowcode-renderer-core", "name": "@alilc/lowcode-renderer-core",
"version": "1.0.17", "version": "1.0.18-beta.5",
"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.0.17", "@alilc/lowcode-types": "1.0.18-beta.5",
"@alilc/lowcode-utils": "1.0.17", "@alilc/lowcode-utils": "1.0.18-beta.5",
"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",
@ -33,7 +33,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.0.17", "@alilc/lowcode-designer": "1.0.18-beta.5",
"@alilc/lowcode-test-mate": "^1.0.1", "@alilc/lowcode-test-mate": "^1.0.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",
@ -46,7 +46,7 @@
"@types/react-is": "^17.0.3", "@types/react-is": "^17.0.3",
"@types/react-test-renderer": "^17.0.1", "@types/react-test-renderer": "^17.0.1",
"babel-jest": "^26.5.2", "babel-jest": "^26.5.2",
"build-plugin-component": "^0.2.11", "build-plugin-component": "^1.0.0",
"jest": "^26.6.3", "jest": "^26.6.3",
"react-test-renderer": "^17.0.2", "react-test-renderer": "^17.0.2",
"ts-jest": "^26.5.0" "ts-jest": "^26.5.0"

View File

@ -1,6 +1,6 @@
{ {
"name": "@alilc/lowcode-shell", "name": "@alilc/lowcode-shell",
"version": "1.0.17", "version": "1.0.18-beta.5",
"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.0.17", "@alilc/lowcode-designer": "1.0.18-beta.5",
"@alilc/lowcode-editor-core": "1.0.17", "@alilc/lowcode-editor-core": "1.0.18-beta.5",
"@alilc/lowcode-editor-skeleton": "1.0.17", "@alilc/lowcode-editor-skeleton": "1.0.18-beta.5",
"@alilc/lowcode-types": "1.0.17", "@alilc/lowcode-types": "1.0.18-beta.5",
"@alilc/lowcode-utils": "1.0.17", "@alilc/lowcode-utils": "1.0.18-beta.5",
"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",
@ -39,8 +39,8 @@
"@types/react": "^16", "@types/react": "^16",
"@types/react-dom": "^16", "@types/react-dom": "^16",
"babel-jest": "^26.5.2", "babel-jest": "^26.5.2",
"build-plugin-component": "^0.2.10", "build-plugin-component": "^1.0.0",
"build-scripts-config": "^0.1.8", "build-scripts-config": "^3.0.3",
"jest": "^26.6.3", "jest": "^26.6.3",
"lodash": "^4.17.20", "lodash": "^4.17.20",
"moment": "^2.29.1", "moment": "^2.29.1",

View File

@ -1,6 +1,6 @@
{ {
"name": "@alilc/lowcode-types", "name": "@alilc/lowcode-types",
"version": "1.0.17", "version": "1.0.18-beta.5",
"description": "Types for Ali lowCode engine", "description": "Types for Ali lowCode engine",
"files": [ "files": [
"es", "es",
@ -20,7 +20,7 @@
"@alib/build-scripts": "^0.1.18", "@alib/build-scripts": "^0.1.18",
"@types/node": "^13.7.1", "@types/node": "^13.7.1",
"@types/react": "^16", "@types/react": "^16",
"build-plugin-component": "^0.2.10" "build-plugin-component": "^1.0.0"
}, },
"publishConfig": { "publishConfig": {
"access": "public", "access": "public",

View File

@ -1,5 +1,8 @@
import { Snippet, ComponentMetadata } from './metadata'; import { Snippet, ComponentMetadata } from './metadata';
import { I18nData } from './i18n'; import { I18nData } from './i18n';
import { Reference } from './npm';
import { EitherOr } from './utils';
import { ComponentSchema } from './schema';
export interface AssetItem { export interface AssetItem {
type: AssetType; type: AssetType;
@ -103,11 +106,15 @@ export interface ComponentSort {
* external * external
* *
*/ */
export interface Package { export type Package = EitherOr<{
/** /**
* * npm
*/ */
package: string; package: string;
/**
*
*/
id: string;
/** /**
* *
*/ */
@ -142,7 +149,11 @@ export interface Package {
* window[exportName] Object * window[exportName] Object
*/ */
exportName?: string; exportName?: string;
} /**
* schema
*/
schema?: ComponentSchema;
}, 'package', 'id'>;
/** /**
* *
@ -208,12 +219,16 @@ export interface ComponentDescription extends ComponentMetadata {
* @todo @jinchan * @todo @jinchan
*/ */
keywords: string[]; keywords: string[];
/**
* npm
*/
reference?: Reference;
} }
/** /**
* *
*/ */
export interface RemoteComponentDescription { export interface RemoteComponentDescription extends ComponentMetadata {
/** /**
* window[exportName] Object * window[exportName] Object
*/ */
@ -228,4 +243,9 @@ export interface RemoteComponentDescription {
package?: { package?: {
npm?: string; npm?: string;
}; };
/**
* npm
*/
reference?: Reference;
} }

View File

@ -1,4 +1,4 @@
import { EitherOr } from './utils';
/** /**
* npm * npm
*/ */
@ -33,6 +33,40 @@ export interface NpmInfo {
main?: string; main?: string;
} }
/**
* Npm
*/
export type Reference = EitherOr<{
/**
* id
*/
id: string;
/**
*
*/
package: string;
/**
*
*/
exportName: string;
/**
* exportName
*/
subName: string;
/**
*
*/
main?: string;
/**
*
*/
destructuring?: boolean;
/**
*
*/
version: string;
}, 'package', 'id'>;
export interface LowCodeComponentType { export interface LowCodeComponentType {
/** /**
* *

View File

@ -15,3 +15,37 @@ export type ExternalUtils = {
export type UtilItem = InternalUtils | ExternalUtils; export type UtilItem = InternalUtils | ExternalUtils;
export type UtilsMap = UtilItem[]; export type UtilsMap = UtilItem[];
type FilterOptional<T> = Pick<
T,
Exclude<
{
[K in keyof T]: T extends Record<K, T[K]> ? K : never;
}[keyof T],
undefined
>
>;
type FilterNotOptional<T> = Pick<
T,
Exclude<
{
[K in keyof T]: T extends Record<K, T[K]> ? never : K;
}[keyof T],
undefined
>
>;
type PartialEither<T, K extends keyof any> = { [P in Exclude<keyof FilterOptional<T>, K>]-?: T[P] } &
{ [P in Exclude<keyof FilterNotOptional<T>, K>]?: T[P] } &
{ [P in Extract<keyof T, K>]?: undefined };
type Object = {
[name: string]: any;
};
export type EitherOr<O extends Object, L extends string, R extends string> =
(
PartialEither<Pick<O, L | R>, L> |
PartialEither<Pick<O, L | R>, R>
) & Omit<O, L | R>;

View File

@ -1,6 +1,6 @@
{ {
"name": "@alilc/lowcode-utils", "name": "@alilc/lowcode-utils",
"version": "1.0.17", "version": "1.0.18-beta.5",
"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.0.17", "@alilc/lowcode-types": "1.0.18-beta.5",
"lodash": "^4.17.21", "lodash": "^4.17.21",
"mobx": "^6.3.0", "mobx": "^6.3.0",
"react": "^16", "react": "^16",
@ -24,7 +24,7 @@
"@alib/build-scripts": "^0.1.18", "@alib/build-scripts": "^0.1.18",
"@types/node": "^13.7.1", "@types/node": "^13.7.1",
"@types/react": "^16", "@types/react": "^16",
"build-plugin-component": "^0.2.10" "build-plugin-component": "^1.0.0"
}, },
"publishConfig": { "publishConfig": {
"access": "public", "access": "public",

8997
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff