Skip to content

Commit 69bbb75

Browse files
authored
fix: fix cycle file, extract connect to controller (#126)
fix cycle file, extract connect to controller
1 parent 5a9dba2 commit 69bbb75

File tree

5 files changed

+44
-59
lines changed

5 files changed

+44
-59
lines changed

src/controller/explorer/explorer.tsx

+6-3
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@ import 'reflect-metadata';
22
import * as React from 'react';
33
import { Controller } from 'mo/react/controller';
44
import { container, singleton } from 'tsyringe';
5-
import { ExplorerView, FolderTreeView } from 'mo/workbench/sidebar/explore';
5+
import { connect } from 'mo';
6+
import { Explorer, FolderTreeView } from 'mo/workbench/sidebar/explore';
67
import { IMenuItem } from 'mo/components/menu';
78
import { MENU_VIEW_SIDEBAR } from 'mo/model/workbench/menuBar';
89
import { IActivityBarItem } from 'mo/model/workbench/activityBar';
@@ -76,6 +77,8 @@ export class ExplorerController
7677
onCollapseToolbar: ctx.onCollapseToolbar,
7778
};
7879

80+
const ExplorerView = connect(this.explorerService, Explorer);
81+
7982
const explorePane = {
8083
id: 'explore',
8184
title: 'EXPLORER',
@@ -153,12 +156,12 @@ export class ExplorerController
153156
}
154157
};
155158

156-
public renderFolderTree() {
159+
public renderFolderTree = () => {
157160
return (
158161
<FolderTreeView
159162
{...this.folderTreeService.getState()?.folderTree}
160163
{...this.folderTreeController}
161164
/>
162165
);
163-
}
166+
};
164167
}

src/controller/index.ts

+6-23
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,9 @@
11
import { container } from 'tsyringe';
2-
// import { ActivityBarController } from './activityBar';
3-
// import { EditorController } from './editor';
4-
// import { ExplorerController } from './explorer/explorer';
5-
// import { FolderTreeController } from './explorer/folderTree';
6-
// import { SearchController } from './search/search';
7-
// import { MenuBarController } from './menuBar';
2+
import { ExplorerController } from './explorer/explorer';
3+
import { FolderTreeController } from './explorer/folderTree';
4+
import { SearchController } from './search/search';
85
import { NotificationController } from './notification';
9-
// import { PanelController } from './panel';
10-
// import { SettingsController } from './settings';
11-
// import { SidebarController } from './sidebar';
12-
// import { StatusBarController } from './statusBar';
13-
// import { WorkbenchController } from './workbench';
14-
15-
// export const activityBarController = container.resolve(ActivityBarController);
16-
// export const editorController = container.resolve(EditorController);
17-
// export const menuBarController = container.resolve(MenuBarController);
18-
// export const panelController = container.resolve(PanelController);
19-
// export const sidebarController = container.resolve(SidebarController);
20-
// export const explorerController = container.resolve(ExplorerController);
21-
// export const searchController = container.resolve(SearchController);
22-
// export const statusBarController = container.resolve(StatusBarController);
23-
// export const settingsController = container.resolve(SettingsController);
24-
// export const folderTreeController = container.resolve(FolderTreeController);
25-
// export const workbenchController = container.resolve(WorkbenchController);
6+
export const explorerController = container.resolve(ExplorerController);
7+
export const searchController = container.resolve(SearchController);
8+
export const folderTreeController = container.resolve(FolderTreeController);
269
export const notificationController = container.resolve(NotificationController);

src/controller/search/search.tsx

+29-8
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import 'reflect-metadata';
22
import { Controller } from 'mo/react/controller';
33
import { container, singleton } from 'tsyringe';
4-
import { IActivityBarItem } from 'mo';
4+
import { connect, IActivityBarItem } from 'mo';
55
import * as React from 'react';
6-
import { SearchPanelView } from 'mo/workbench/sidebar/search';
6+
import { SearchPanel } from 'mo/workbench/sidebar/search';
77
import { IActionBarItem } from 'mo/components/actionBar';
88
import {
99
SEARCH_CASE_SENSITIVE_COMMAND_ID,
@@ -17,6 +17,8 @@ import {
1717
ActivityBarService,
1818
IActivityBarService,
1919
ISearchService,
20+
FolderTreeService,
21+
IFolderTreeService,
2022
ISidebarService,
2123
SearchService,
2224
SidebarService,
@@ -38,24 +40,43 @@ export class SearchController extends Controller implements ISearchController {
3840
private readonly activityBarService: IActivityBarService;
3941
private readonly sidebarService: ISidebarService;
4042
private readonly searchService: ISearchService;
41-
private readonly searchController: ISearchController;
43+
private readonly folderTreeService: IFolderTreeService;
4244

4345
constructor() {
4446
super();
4547
this.activityBarService = container.resolve(ActivityBarService);
4648
this.sidebarService = container.resolve(SidebarService);
4749
this.searchService = container.resolve(SearchService);
48-
this.searchController = container.resolve(SearchController);
50+
this.folderTreeService = container.resolve(FolderTreeService);
4951
this.initView();
5052
}
5153

52-
private initView = () => {
53-
const ctx = this;
54+
private initView() {
55+
const SearchPanelView = connect(
56+
{
57+
search: this.searchService,
58+
folderTree: this.folderTreeService,
59+
},
60+
SearchPanel
61+
);
62+
63+
const searchEvent = {
64+
setSearchValue: this.setSearchValue,
65+
setReplaceValue: this.setReplaceValue,
66+
onToggleAddon: this.onToggleAddon,
67+
onToggleCaseSensitive: this.onToggleCaseSensitive,
68+
onToggleWholeWord: this.onToggleWholeWord,
69+
onToggleRegex: this.onToggleRegex,
70+
onTogglePreserveCase: this.onTogglePreserveCase,
71+
onToggleRepalceAll: this.onToggleRepalceAll,
72+
convertFoldToSearchTree: this.convertFoldToSearchTree,
73+
};
74+
5475
const searchSidePane = {
5576
id: 'searchPane',
5677
title: 'SEARCH',
5778
render() {
58-
return <SearchPanelView {...ctx.searchController} />;
79+
return <SearchPanelView {...searchEvent} />;
5980
},
6081
};
6182

@@ -70,7 +91,7 @@ export class SearchController extends Controller implements ISearchController {
7091
});
7192
}
7293
});
73-
};
94+
}
7495

7596
public readonly setSearchValue = (value?: string) => {
7697
this.searchService.setSearchValue?.(value);
+2-6
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,17 @@
11
import 'reflect-metadata';
22
import { connect } from 'mo/react';
33
import { container } from 'tsyringe';
4-
import { ExplorerService, FolderTreeService } from 'mo/services';
4+
import { FolderTreeService } from 'mo/services';
55
import { Explorer } from './explore';
66
import FolderTree from './folderTree';
7-
import { ExplorerController } from 'mo/controller/explorer/explorer';
87
import { FolderTreeController } from 'mo/controller/explorer/folderTree';
98

10-
const explorerService = container.resolve(ExplorerService);
11-
const explorerController = container.resolve(ExplorerController);
129
const folderTreeService = container.resolve(FolderTreeService);
1310
const folderTreeController = container.resolve(FolderTreeController);
1411

15-
const ExplorerView = connect(explorerService, Explorer, explorerController);
1612
const FolderTreeView = connect(
1713
folderTreeService,
1814
FolderTree,
1915
folderTreeController
2016
);
21-
export { ExplorerView, Explorer, FolderTreeView, FolderTree };
17+
export { Explorer, FolderTreeView, FolderTree };
+1-19
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,2 @@
1-
import 'reflect-metadata';
2-
import { connect } from 'mo/react';
31
import SearchPanel from './searchPanel';
4-
import { FolderTreeService, SearchService } from 'mo/services';
5-
import { container } from 'tsyringe';
6-
import { SearchController } from 'mo/controller/search/search';
7-
8-
const searchService = container.resolve(SearchService);
9-
const folderTreeService = container.resolve(FolderTreeService);
10-
const searchController = container.resolve(SearchController);
11-
12-
const SearchPanelView = connect(
13-
{
14-
search: searchService,
15-
folderTree: folderTreeService,
16-
},
17-
SearchPanel,
18-
searchController
19-
);
20-
export { SearchPanelView, SearchPanel };
2+
export { SearchPanel };

0 commit comments

Comments
 (0)