Skip to content

Commit 6d9681d

Browse files
dzlhkliujuping
authored andcommitted
docs: 数据源面板导入插件 Readme 添加
1 parent cef6267 commit 6d9681d

1 file changed

Lines changed: 98 additions & 1 deletion

File tree

packages/plugin-datasource-pane/README.md

Lines changed: 98 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,104 @@ type DataSourceType = {
8989

9090
## 定制导入插件
9191

92-
WIP
92+
### 导入组件示例
93+
94+
导入组件引入方式参考 pluginProps
95+
```
96+
import { DataSourceImportPluginTest } from './DataSourceImportPluginTest';
97+
98+
{
99+
...
100+
importPlugins: [
101+
{
102+
name: '这里可以导入',
103+
title: '这里可以导入',
104+
component: DataSourceImportPluginTest,
105+
componentProps: {
106+
onImport: (res) => {
107+
console.log('ceshi ')
108+
109+
},
110+
onCancel: () => {
111+
console.log('ceshi2 ')
112+
113+
}
114+
}
115+
}
116+
],
117+
exportPlugins: [],
118+
formComponents: { },
119+
...
120+
}
121+
122+
// DataSourceImportPluginTest.jsx
123+
124+
/**
125+
* 源码导入插件
126+
* @todo editor 关联 types,并提供详细的出错信息
127+
*/
128+
import React, { PureComponent } from 'react';
129+
import { Button } from '@alifd/next';
130+
import _noop from 'lodash/noop';
131+
import _isArray from 'lodash/isArray';
132+
import _last from 'lodash/last';
133+
import _isPlainObject from 'lodash/isPlainObject';
134+
import { RuntimeDataSourceConfig as DataSourceConfig } from '@alilc/lowcode-datasource-types';
135+
import { JSONSchema6 } from 'json-schema';
136+
import type { ComponentType } from 'react';
137+
export interface DataSourceType {
138+
type: string;
139+
schema: JSONSchema6;
140+
plugin?: ComponentType;
141+
}
142+
export interface DataSourcePaneImportPluginComponentProps {
143+
dataSourceTypes: DataSourceType[];
144+
onImport?: (dataSourceList: DataSourceConfig[]) => void;
145+
onCancel?: () => void;
146+
}
147+
export interface DataSourceImportPluginCodeProps
148+
extends DataSourcePaneImportPluginComponentProps {
149+
defaultValue?: DataSourceConfig[];
150+
}
151+
export interface DataSourceImportPluginCodeState {
152+
code: string;
153+
isCodeValid: boolean;
154+
}
155+
export class DataSourceImportPluginCode extends PureComponent<
156+
DataSourceImportPluginCodeProps,
157+
DataSourceImportPluginCodeState
158+
> {
159+
handleComplete = () => {
160+
console.log('确认')
161+
};
162+
onCancel = () => {
163+
console.log('取消')
164+
};
165+
render() {
166+
return (
167+
<div className="lowcode-plugin-datasource-import-plugin-code">
168+
此处代码可以自定义
169+
<p className="btns">
170+
<Button onClick={this.onCancel}>取消</Button>
171+
<Button type="primary" onClick={this.handleComplete}>
172+
确认
173+
</Button>
174+
</p>
175+
</div>
176+
);
177+
}
178+
}
179+
180+
```
181+
182+
具体的 component 可参考 DataSourceImportPluginCode
183+
[查看](https://github.com/alibaba/lowcode-plugins/blob/main/packages/plugin-datasource-pane/src/components/DataSourceImportPluginCode/DataSourceImportPluginCode.tsx)
184+
185+
demo 截图
186+
![Alt](https://user-images.githubusercontent.com/14235113/186659341-dff511e8-f032-423c-8be7-e0cc281f3964.png)
187+
188+
189+
93190

94191
## 定制导出插件
95192

0 commit comments

Comments
 (0)