Skip to content

Commit eefd0f1

Browse files
author
taojiu
committed
feat(ignitor): 设置内置 setter 和事件绑定、插件绑定面板
- 新增 DefaultSettersRegistryPlugin 插件,用于注册内置 setter 和事件绑定、插件绑定面板 - 更新 package.json,添加相关依赖 - 修改 index.ts,集成新插件并调整 simulatorUrl - 优化 mockService.ts,导入 filterPackages 函数
1 parent a187442 commit eefd0f1

File tree

4 files changed

+47
-14
lines changed

4 files changed

+47
-14
lines changed

packages/ignitor/package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,12 @@
1313
"license": "MIT",
1414
"dependencies": {
1515
"@felce/lowcode-engine": "1.5.1-beta.0",
16-
"@felce/lowcode-utils": "1.5.1-beta.0"
16+
"@felce/lowcode-utils": "1.5.1-beta.0",
17+
"@felce/lowcode-types": "1.5.1-beta.0"
1718
},
1819
"devDependencies": {
20+
"@felce/lowcode-engine-ext": "latest",
21+
"@felce/lowcode-plugin-inject": "latest",
1922
"@alilc/lowcode-datasource-fetch-handler": "^1.2.1"
2023
},
2124
"repository": {

packages/ignitor/src/index.ts

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { init, plugins } from '@felce/lowcode-engine';
22
import { createFetchHandler } from '@alilc/lowcode-datasource-fetch-handler';
33
import EditorInitPlugin from './plugins/plugin-editor-init';
4+
import DefaultSettersRegistryPlugin from './plugins/plugin-default-setters-registry';
45
import appHelper from './helper';
56
import './index.scss';
67

@@ -13,19 +14,13 @@ await plugins.register(EditorInitPlugin, {
1314
key: '设计器',
1415
value: 'https://github.com/alibaba/lowcode-demo/tree/main/demo-general',
1516
},
16-
{
17-
key: 'fusion-ui 物料',
18-
value: 'https://github.com/alibaba/lowcode-materials/tree/main/packages/fusion-ui',
19-
},
20-
{
21-
key: 'fusion 物料',
22-
value:
23-
'https://github.com/alibaba/lowcode-materials/tree/main/packages/fusion-lowcode-materials',
24-
},
2517
],
2618
},
2719
});
2820

21+
// 设置内置 setter 和事件绑定、插件绑定面板
22+
await plugins.register(DefaultSettersRegistryPlugin);
23+
2924
init(document.getElementById('lce-container')!, {
3025
locale: 'zh-CN',
3126
enableCondition: true,
@@ -36,8 +31,8 @@ init(document.getElementById('lce-container')!, {
3631
fetch: createFetchHandler(),
3732
},
3833
simulatorUrl: [
39-
'https://registry.npmmirror.com/@felce/lowcode-react-simulator-renderer/1.5.0-beta.2/files/dist/react-simulator-renderer.css',
40-
'https://registry.npmmirror.com/@felce/lowcode-react-simulator-renderer/1.5.0-beta.2/files/dist/react-simulator-renderer.umd.js',
34+
'https://registry.npmmirror.com/@felce/lowcode-react-simulator-renderer/latest/files/dist/react-simulator-renderer.css',
35+
'https://registry.npmmirror.com/@felce/lowcode-react-simulator-renderer/latest/files/dist/react-simulator-renderer.umd.js',
4136
],
4237
appHelper,
4338
enableContextMenu: true,
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
import { IPublicModelPluginContext } from '@felce/lowcode-types';
2+
import AliLowCodeEngineExt from '@felce/lowcode-engine-ext';
3+
import '@felce/lowcode-engine-ext/dist/index.css';
4+
5+
// 设置内置 setter 和事件绑定、插件绑定面板
6+
const DefaultSettersRegistryPlugin = (ctx: IPublicModelPluginContext) => {
7+
return {
8+
async init() {
9+
const { setterMap, pluginMap } = AliLowCodeEngineExt;
10+
const { setters, skeleton } = ctx;
11+
// 注册 setterMap
12+
setters.registerSetter(setterMap);
13+
// 注册插件
14+
// 注册事件绑定面板
15+
skeleton.add({
16+
area: 'centerArea',
17+
type: 'Widget',
18+
content: pluginMap.EventBindDialog,
19+
name: 'eventBindDialog',
20+
props: {},
21+
});
22+
23+
// 注册变量绑定面板
24+
skeleton.add({
25+
area: 'centerArea',
26+
type: 'Widget',
27+
content: pluginMap.VariableBindDialog,
28+
name: 'variableBindDialog',
29+
props: {},
30+
});
31+
},
32+
};
33+
};
34+
DefaultSettersRegistryPlugin.pluginName = 'DefaultSettersRegistryPlugin';
35+
export default DefaultSettersRegistryPlugin;

packages/ignitor/src/services/mockService.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { material, project } from '@felce/lowcode-engine';
2-
// import { filterPackages } from '@alilc/lowcode-plugin-inject';
2+
import { filterPackages } from '@felce/lowcode-plugin-inject';
33
import { Message, Dialog } from '@alifd/next';
44
import { IPublicTypeProjectSchema, IPublicEnumTransformStage } from '@felce/lowcode-types';
55
import DefaultPageSchema from './defaultPageSchema.json';
@@ -76,7 +76,7 @@ const setPackagesToLocalStorage = async (scenarioName: string) => {
7676
console.error('scenarioName is required!');
7777
return;
7878
}
79-
const packages = await filterPackages(material.getAssets().packages);
79+
const packages = await filterPackages(material.getAssets()!.packages);
8080
window.localStorage.setItem(getLSName(scenarioName, 'packages'), JSON.stringify(packages));
8181
};
8282

0 commit comments

Comments
 (0)