Skip to content

Commit 1c76f9d

Browse files
liujupingJackLian
authored andcommitted
fix: solve the error "Cannot have two HTML5 backends at the same time."
1 parent f7a3319 commit 1c76f9d

4 files changed

Lines changed: 83 additions & 87 deletions

File tree

packages/plugin-datasource-pane/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@alilc/lowcode-plugin-datasource-pane",
3-
"version": "1.0.8",
3+
"version": "1.0.9",
44
"description": "低代码引擎数据源面板",
55
"main": "lib/index.js",
66
"files": [
@@ -74,7 +74,7 @@
7474
"traverse": "^0.6.6",
7575
"xstate": "^4.26.0"
7676
},
77-
"homepage": "https://unpkg.com/@alilc/[email protected].7/build/index.html",
77+
"homepage": "https://unpkg.com/@alilc/[email protected].8/build/index.html",
7878
"repository": {
7979
"type": "git",
8080
"url": "https://github.com/alibaba/lowcode-plugins.git",

packages/plugin-datasource-pane/src/index.tsx

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -39,19 +39,15 @@ const plugin = (ctx: ILowCodePluginContext, options: Options) => {
3939
width: '300px',
4040
// title: '源码面板',
4141
},
42-
content: (
43-
<DataSourcePanePlugin
44-
// @ts-ignore
45-
importPlugins={importPlugins}
46-
// @ts-ignore
47-
dataSourceTypes={dataSourceTypes}
48-
event={ctx.event}
49-
project={ctx.project}
50-
logger={ctx.logger}
51-
// @ts-ignore
52-
setters={ctx.setters}
53-
/>
54-
),
42+
content: DataSourcePanePlugin,
43+
contentProps: {
44+
importPlugins,
45+
dataSourceTypes,
46+
event: ctx.event,
47+
project: ctx.project,
48+
logger: ctx.logger,
49+
setters: ctx.setters,
50+
},
5551
});
5652

5753
schemaDock && schemaDock.disable();

packages/plugin-datasource-pane/src/pane/DataSourcePane.tsx

Lines changed: 44 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@ import {
99
} from '@alilc/lowcode-datasource-types';
1010
import { Button, Message, Dialog } from '@alifd/next';
1111
import _isArray from 'lodash/isArray';
12-
import { HTML5Backend } from 'react-dnd-html5-backend';
13-
import { DndProvider } from 'react-dnd';
1412
import { createStateMachine } from '../utils/stateMachine';
1513
import { DataSourcePaneContext } from '../utils/panel-context';
1614
import { DataSourceFilter } from '../components/DataSourceFilter';
@@ -350,54 +348,52 @@ export class DataSourcePane extends PureComponent<
350348
const isEmpty = current.context.dataSourceList.length === 0;
351349

352350
return (
353-
<DndProvider backend={HTML5Backend}>
354-
<div
355-
className={cn(generateClassName('container'), className)}
356-
style={style}
357-
>
358-
<div className={generateClassName('title')}>
359-
数据源
360-
{helpLink && <Button component="a" href={helpLink}>使用帮助</Button>}
361-
</div>
362-
<DataSourceFilter
363-
key={current.context.dataSourceListFilter.renderKey}
364-
dataSourceTypes={dataSourceTypes}
365-
onFilter={this.handleFilterChange}
366-
/>
367-
<DataSourceOperations
368-
dataSource={current.context.dataSourceList}
369-
empty={isEmpty}
370-
importPlugins={importPlugins}
371-
dataSourceTypes={dataSourceTypes}
372-
onCreate={this.handleCreate}
373-
onStartExport={this.handleStartExport}
374-
onCancelExport={this.handleCancelExport}
375-
onFinishExport={this.handleFinishExport}
376-
onStartSort={this.handleStartSort}
377-
onCancelSort={this.handleCancelSort}
378-
onFinishSort={this.handleFinishSort}
379-
onImport={this.handleImport}
380-
mode={mode}
381-
selectedList={current.context.export.selectedDataSourceIdList}
351+
<div
352+
className={cn(generateClassName('container'), className)}
353+
style={style}
354+
>
355+
<div className={generateClassName('title')}>
356+
数据源
357+
{helpLink && <Button component="a" href={helpLink}>使用帮助</Button>}
358+
</div>
359+
<DataSourceFilter
360+
key={current.context.dataSourceListFilter.renderKey}
361+
dataSourceTypes={dataSourceTypes}
362+
onFilter={this.handleFilterChange}
363+
/>
364+
<DataSourceOperations
365+
dataSource={current.context.dataSourceList}
366+
empty={isEmpty}
367+
importPlugins={importPlugins}
368+
dataSourceTypes={dataSourceTypes}
369+
onCreate={this.handleCreate}
370+
onStartExport={this.handleStartExport}
371+
onCancelExport={this.handleCancelExport}
372+
onFinishExport={this.handleFinishExport}
373+
onStartSort={this.handleStartSort}
374+
onCancelSort={this.handleCancelSort}
375+
onFinishSort={this.handleFinishSort}
376+
onImport={this.handleImport}
377+
mode={mode}
378+
selectedList={current.context.export.selectedDataSourceIdList}
379+
/>
380+
<div className={generateClassName('list')}>
381+
<DataSourceList
382+
renderItemInfoTags={renderDataSourceInfoTags}
383+
dataSource={current.context.dataSourceList.filter((i: DataSourceConfig) => {
384+
return (
385+
i.id.indexOf(current.context.dataSourceListFilter.keyword) !==
386+
-1 &&
387+
(!current.context.dataSourceListFilter.dataSourceType ||
388+
current.context.dataSourceListFilter.dataSourceType ===
389+
i.type)
390+
);
391+
})}
392+
onOperationClick={this.handleOperationClick}
382393
/>
383-
<div className={generateClassName('list')}>
384-
<DataSourceList
385-
renderItemInfoTags={renderDataSourceInfoTags}
386-
dataSource={current.context.dataSourceList.filter((i: DataSourceConfig) => {
387-
return (
388-
i.id.indexOf(current.context.dataSourceListFilter.keyword) !==
389-
-1 &&
390-
(!current.context.dataSourceListFilter.dataSourceType ||
391-
current.context.dataSourceListFilter.dataSourceType ===
392-
i.type)
393-
);
394-
})}
395-
onOperationClick={this.handleOperationClick}
396-
/>
397-
</div>
398-
{this.renderDetail()}
399394
</div>
400-
</DndProvider>
395+
{this.renderDetail()}
396+
</div>
401397
);
402398
}
403399
}

packages/plugin-datasource-pane/src/pane/index.tsx

Lines changed: 28 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ import _get from 'lodash/get';
77
import _set from 'lodash/set';
88
import _isEmpty from 'lodash/isEmpty';
99
import _isFunction from 'lodash/isFunction';
10+
import { HTML5Backend } from 'react-dnd-html5-backend';
11+
import { DndProvider } from 'react-dnd';
1012
import { EditorContext } from '../utils/editor-context';
1113
import { DataSourcePane } from './DataSourcePane';
1214
import { DataSourceFilter } from '../components/DataSourceFilter';
@@ -168,30 +170,32 @@ export default class DataSourcePanePlugin extends PureComponent<
168170
<DataSourcePaneContext.Provider
169171
value={{ stateService: this.stateService, dataSourceTypes }}
170172
>
171-
<ErrorBoundary
172-
onError={onError}
173-
FallbackComponent={ErrorFallback}
174-
onReset={this.handleReset}
175-
resetKeys={[panelKey]}
176-
>
177-
{ /* @ts-ignore */ }
178-
<DataSourcePane
179-
key={panelKey + 1}
180-
importPlugins={mergeTwoObjectListByKey(
181-
BUILTIN_IMPORT_PLUGINS as unknown as Array<Record<string, unknown>>,
182-
importPlugins as unknown as Array<Record<string, unknown>>,
183-
'name',
184-
)}
185-
exportPlugins={mergeTwoObjectListByKey(
186-
BUILTIN_IMPORT_PLUGINS as unknown as Array<Record<string, unknown>>,
187-
exportPlugins as unknown as Array<Record<string, unknown>>,
188-
'name',
189-
)}
190-
dataSourceTypes={dataSourceTypes}
191-
initialSchema={schema}
192-
onSchemaChange={this.handleSchemaChange}
193-
/>
194-
</ErrorBoundary>
173+
<DndProvider backend={HTML5Backend}>
174+
<ErrorBoundary
175+
onError={onError}
176+
FallbackComponent={ErrorFallback}
177+
onReset={this.handleReset}
178+
resetKeys={[panelKey]}
179+
>
180+
{ /* @ts-ignore */ }
181+
<DataSourcePane
182+
key={panelKey + 1}
183+
importPlugins={mergeTwoObjectListByKey(
184+
BUILTIN_IMPORT_PLUGINS as unknown as Array<Record<string, unknown>>,
185+
importPlugins as unknown as Array<Record<string, unknown>>,
186+
'name',
187+
)}
188+
exportPlugins={mergeTwoObjectListByKey(
189+
BUILTIN_IMPORT_PLUGINS as unknown as Array<Record<string, unknown>>,
190+
exportPlugins as unknown as Array<Record<string, unknown>>,
191+
'name',
192+
)}
193+
dataSourceTypes={dataSourceTypes}
194+
initialSchema={schema}
195+
onSchemaChange={this.handleSchemaChange}
196+
/>
197+
</ErrorBoundary>
198+
</DndProvider>
195199
</DataSourcePaneContext.Provider>
196200
</EditorContext.Provider>
197201
);

0 commit comments

Comments
 (0)