diff --git a/packages/i18n/src/common/en-US.lang.ts b/packages/i18n/src/common/en-US.lang.ts index da843c1c80..627f683f65 100644 --- a/packages/i18n/src/common/en-US.lang.ts +++ b/packages/i18n/src/common/en-US.lang.ts @@ -1326,6 +1326,7 @@ export const localizationBundle = { 'main-layout.bottom-panel.toggle': 'Toggle Bottom Side Bar', 'main-layout.bottom-panel.show': 'Show Bottom Side Bar', 'main-layout.bottom-panel.hide': 'Hide Bottom Side Bar', + 'main-layout.drop-area.tip': 'drop here', 'refactor-preview.title': 'REFACTOR PREVIEW', 'refactor-preview.title.clear': 'Discard Refactoring', diff --git a/packages/i18n/src/common/zh-CN.lang.ts b/packages/i18n/src/common/zh-CN.lang.ts index 6172104a0f..b4172f1f38 100644 --- a/packages/i18n/src/common/zh-CN.lang.ts +++ b/packages/i18n/src/common/zh-CN.lang.ts @@ -924,6 +924,7 @@ export const localizationBundle = { 'main-layout.bottom-panel.toggle': '切换底部面板', 'main-layout.bottom-panel.show': '显示底部面板', 'main-layout.bottom-panel.hide': '隐藏底部面板', + 'main-layout.drop-area.tip': '放置此处', 'refactor-preview.title': '重构预览', 'refactor-preview.title.clear': '放弃重构', diff --git a/packages/main-layout/src/browser/drop-area/drop-area.tsx b/packages/main-layout/src/browser/drop-area/drop-area.tsx index aca8b436f1..18e35cf735 100644 --- a/packages/main-layout/src/browser/drop-area/drop-area.tsx +++ b/packages/main-layout/src/browser/drop-area/drop-area.tsx @@ -1,7 +1,8 @@ import React from 'react'; -import { useInjectable } from '@opensumi/ide-core-browser'; -import { IMainLayoutService } from '@opensumi/ide-main-layout'; +import { localize, useInjectable } from '@opensumi/ide-core-browser'; + +import { IMainLayoutService } from '../../common'; import styles from './styles.module.less'; @@ -13,18 +14,23 @@ const DropArea: React.FC = (props) => { const { location } = props; const layoutService = useInjectable(IMainLayoutService); + const handleDrop = React.useCallback( + (e: React.DragEvent) => { + const containerId = e.dataTransfer?.getData('containerId'); + layoutService.moveContainerTo(containerId, location); + }, + [layoutService, location], + ); + return (
{ - const containerId = e.dataTransfer?.getData('containerId'); - layoutService.moveContainerTo(containerId, location); - }} + onDrop={handleDrop} onDragOver={(e) => { e.preventDefault(); }} > - drop here + {localize('main-layout.drop-area.tip')}
); };