diff --git a/src/controller/explorer/explorer.tsx b/src/controller/explorer/explorer.tsx index f849f9f10..bcdb8fa49 100644 --- a/src/controller/explorer/explorer.tsx +++ b/src/controller/explorer/explorer.tsx @@ -2,7 +2,8 @@ import 'reflect-metadata'; import * as React from 'react'; import { Controller } from 'mo/react/controller'; import { container, singleton } from 'tsyringe'; -import { ExplorerView, FolderTreeView } from 'mo/workbench/sidebar/explore'; +import { connect } from 'mo'; +import { Explorer, FolderTreeView } from 'mo/workbench/sidebar/explore'; import { IMenuItem } from 'mo/components/menu'; import { MENU_VIEW_SIDEBAR } from 'mo/model/workbench/menuBar'; import { IActivityBarItem } from 'mo/model/workbench/activityBar'; @@ -76,6 +77,8 @@ export class ExplorerController onCollapseToolbar: ctx.onCollapseToolbar, }; + const ExplorerView = connect(this.explorerService, Explorer); + const explorePane = { id: 'explore', title: 'EXPLORER', @@ -153,12 +156,12 @@ export class ExplorerController } }; - public renderFolderTree() { + public renderFolderTree = () => { return ( ); - } + }; } diff --git a/src/controller/index.ts b/src/controller/index.ts index b0bf4ceda..6be4d63a1 100644 --- a/src/controller/index.ts +++ b/src/controller/index.ts @@ -1,26 +1,9 @@ import { container } from 'tsyringe'; -// import { ActivityBarController } from './activityBar'; -// import { EditorController } from './editor'; -// import { ExplorerController } from './explorer/explorer'; -// import { FolderTreeController } from './explorer/folderTree'; -// import { SearchController } from './search/search'; -// import { MenuBarController } from './menuBar'; +import { ExplorerController } from './explorer/explorer'; +import { FolderTreeController } from './explorer/folderTree'; +import { SearchController } from './search/search'; import { NotificationController } from './notification'; -// import { PanelController } from './panel'; -// import { SettingsController } from './settings'; -// import { SidebarController } from './sidebar'; -// import { StatusBarController } from './statusBar'; -// import { WorkbenchController } from './workbench'; - -// export const activityBarController = container.resolve(ActivityBarController); -// export const editorController = container.resolve(EditorController); -// export const menuBarController = container.resolve(MenuBarController); -// export const panelController = container.resolve(PanelController); -// export const sidebarController = container.resolve(SidebarController); -// export const explorerController = container.resolve(ExplorerController); -// export const searchController = container.resolve(SearchController); -// export const statusBarController = container.resolve(StatusBarController); -// export const settingsController = container.resolve(SettingsController); -// export const folderTreeController = container.resolve(FolderTreeController); -// export const workbenchController = container.resolve(WorkbenchController); +export const explorerController = container.resolve(ExplorerController); +export const searchController = container.resolve(SearchController); +export const folderTreeController = container.resolve(FolderTreeController); export const notificationController = container.resolve(NotificationController); diff --git a/src/controller/search/search.tsx b/src/controller/search/search.tsx index d8e259ccc..83d68db4f 100644 --- a/src/controller/search/search.tsx +++ b/src/controller/search/search.tsx @@ -1,9 +1,9 @@ import 'reflect-metadata'; import { Controller } from 'mo/react/controller'; import { container, singleton } from 'tsyringe'; -import { IActivityBarItem } from 'mo'; +import { connect, IActivityBarItem } from 'mo'; import * as React from 'react'; -import { SearchPanelView } from 'mo/workbench/sidebar/search'; +import { SearchPanel } from 'mo/workbench/sidebar/search'; import { IActionBarItem } from 'mo/components/actionBar'; import { SEARCH_CASE_SENSITIVE_COMMAND_ID, @@ -17,6 +17,8 @@ import { ActivityBarService, IActivityBarService, ISearchService, + FolderTreeService, + IFolderTreeService, ISidebarService, SearchService, SidebarService, @@ -38,24 +40,43 @@ export class SearchController extends Controller implements ISearchController { private readonly activityBarService: IActivityBarService; private readonly sidebarService: ISidebarService; private readonly searchService: ISearchService; - private readonly searchController: ISearchController; + private readonly folderTreeService: IFolderTreeService; constructor() { super(); this.activityBarService = container.resolve(ActivityBarService); this.sidebarService = container.resolve(SidebarService); this.searchService = container.resolve(SearchService); - this.searchController = container.resolve(SearchController); + this.folderTreeService = container.resolve(FolderTreeService); this.initView(); } - private initView = () => { - const ctx = this; + private initView() { + const SearchPanelView = connect( + { + search: this.searchService, + folderTree: this.folderTreeService, + }, + SearchPanel + ); + + const searchEvent = { + setSearchValue: this.setSearchValue, + setReplaceValue: this.setReplaceValue, + onToggleAddon: this.onToggleAddon, + onToggleCaseSensitive: this.onToggleCaseSensitive, + onToggleWholeWord: this.onToggleWholeWord, + onToggleRegex: this.onToggleRegex, + onTogglePreserveCase: this.onTogglePreserveCase, + onToggleRepalceAll: this.onToggleRepalceAll, + convertFoldToSearchTree: this.convertFoldToSearchTree, + }; + const searchSidePane = { id: 'searchPane', title: 'SEARCH', render() { - return ; + return ; }, }; @@ -70,7 +91,7 @@ export class SearchController extends Controller implements ISearchController { }); } }); - }; + } public readonly setSearchValue = (value?: string) => { this.searchService.setSearchValue?.(value); diff --git a/src/workbench/sidebar/explore/index.tsx b/src/workbench/sidebar/explore/index.tsx index 70029ac60..3c94ffebe 100644 --- a/src/workbench/sidebar/explore/index.tsx +++ b/src/workbench/sidebar/explore/index.tsx @@ -1,21 +1,17 @@ import 'reflect-metadata'; import { connect } from 'mo/react'; import { container } from 'tsyringe'; -import { ExplorerService, FolderTreeService } from 'mo/services'; +import { FolderTreeService } from 'mo/services'; import { Explorer } from './explore'; import FolderTree from './folderTree'; -import { ExplorerController } from 'mo/controller/explorer/explorer'; import { FolderTreeController } from 'mo/controller/explorer/folderTree'; -const explorerService = container.resolve(ExplorerService); -const explorerController = container.resolve(ExplorerController); const folderTreeService = container.resolve(FolderTreeService); const folderTreeController = container.resolve(FolderTreeController); -const ExplorerView = connect(explorerService, Explorer, explorerController); const FolderTreeView = connect( folderTreeService, FolderTree, folderTreeController ); -export { ExplorerView, Explorer, FolderTreeView, FolderTree }; +export { Explorer, FolderTreeView, FolderTree }; diff --git a/src/workbench/sidebar/search/index.tsx b/src/workbench/sidebar/search/index.tsx index 65150c8db..32d29ca5c 100644 --- a/src/workbench/sidebar/search/index.tsx +++ b/src/workbench/sidebar/search/index.tsx @@ -1,20 +1,2 @@ -import 'reflect-metadata'; -import { connect } from 'mo/react'; import SearchPanel from './searchPanel'; -import { FolderTreeService, SearchService } from 'mo/services'; -import { container } from 'tsyringe'; -import { SearchController } from 'mo/controller/search/search'; - -const searchService = container.resolve(SearchService); -const folderTreeService = container.resolve(FolderTreeService); -const searchController = container.resolve(SearchController); - -const SearchPanelView = connect( - { - search: searchService, - folderTree: folderTreeService, - }, - SearchPanel, - searchController -); -export { SearchPanelView, SearchPanel }; +export { SearchPanel };