@@ -6,7 +6,13 @@ import { editorService, explorerService } from 'mo';
6
6
import { EditorController } from 'mo/controller/editor' ;
7
7
import { IMenuItem } from 'mo/components/menu' ;
8
8
import Modal from 'mo/components/dialog' ;
9
- import { IFolderInputEvent , TreeNodeModel } from 'mo/model' ;
9
+ import {
10
+ IFolderInputEvent , TreeNodeModel ,
11
+ baseContextMenu , rootFolderContextMenu , fileContextMenu ,
12
+ NEW_FILE_COMMAND_ID , NEW_FOLDER_COMMAND_ID , RENAME_COMMAND_ID ,
13
+ REMOVE_COMMAND_ID , DELETE_COMMAND_ID , OPEN_TO_SIDE_COMMAND_ID ,
14
+ ADD_ROOT_FOLDER_COMMAND_ID
15
+ } from 'mo/model' ;
10
16
const confirm = Modal . confirm ;
11
17
12
18
export interface IFolderTreeController {
@@ -35,7 +41,7 @@ export class FolderTreeController
35
41
this . initView ( ) ;
36
42
}
37
43
38
- private initView ( ) { }
44
+ private initView ( ) { }
39
45
40
46
public readonly onSelectFile = ( file : ITreeNodeItem , isAuto ?: boolean ) => {
41
47
const tabData = {
@@ -90,14 +96,14 @@ export class FolderTreeController
90
96
const { id : nodeId , name } = node as any ;
91
97
console . log ( 'onClickContextMenu => Item' , item ) ;
92
98
switch ( menuId ) {
93
- case 'rename' : {
99
+ case RENAME_COMMAND_ID : {
94
100
explorerService . rename ( nodeId , ( ) => {
95
101
events ?. setValue ?.( name ) ;
96
102
events ?. onFocus ( ) ;
97
103
} ) ;
98
104
break ;
99
105
}
100
- case 'delete' : {
106
+ case DELETE_COMMAND_ID : {
101
107
confirm ( {
102
108
title : `Are you sure you want to delete '${ name } ' ?` ,
103
109
content : 'This action is irreversible!' ,
@@ -112,23 +118,23 @@ export class FolderTreeController
112
118
} ) ;
113
119
break ;
114
120
}
115
- case 'newFile' : {
121
+ case NEW_FILE_COMMAND_ID : {
116
122
explorerService . newFile ( nodeId , ( ) => {
117
123
events ?. onFocus ( ) ;
118
124
} ) ;
119
125
break ;
120
126
}
121
- case 'newFolder' : {
127
+ case NEW_FOLDER_COMMAND_ID : {
122
128
explorerService . newFolder ( nodeId , ( ) => {
123
129
events ?. onFocus ( ) ;
124
130
} ) ;
125
131
break ;
126
132
}
127
- case 'remove' : {
133
+ case REMOVE_COMMAND_ID : {
128
134
explorerService . removeRootFolder ( nodeId ) ;
129
135
break ;
130
136
}
131
- case 'addRootFolder' : {
137
+ case ADD_ROOT_FOLDER_COMMAND_ID : {
132
138
explorerService . addRootFolder ?.(
133
139
new TreeNodeModel ( {
134
140
name : `molecule_temp${ Math . random ( ) } ` ,
@@ -137,7 +143,7 @@ export class FolderTreeController
137
143
) ;
138
144
break ;
139
145
}
140
- case 'openTab' : {
146
+ case OPEN_TO_SIDE_COMMAND_ID : {
141
147
console . log ( 'OpenTab' ) ;
142
148
break ;
143
149
// editorService.open();
@@ -147,48 +153,20 @@ export class FolderTreeController
147
153
148
154
public readonly filterContextMenu = ( menus , node ) => {
149
155
let menu ;
150
- const baseContextMenu = [
151
- {
152
- id : 'newFile' ,
153
- name : 'New File' ,
154
- } ,
155
- {
156
- id : 'newFolder' ,
157
- name : 'New Folder' ,
158
- } ,
159
- ] ;
160
-
161
- const rootFolderContextMenu = [
162
- {
163
- id : 'remove' ,
164
- name : 'Remove Folder' ,
165
- } ,
166
- ] ;
167
-
168
- const folderContextMenu = baseContextMenu . concat ( menus ) ;
169
-
170
- const fileContextMenu = [
171
- {
172
- id : 'openToSide' ,
173
- name : 'Open to the side' ,
174
- } ,
175
- ] . concat ( menus ) ;
176
-
177
- const rootFodlerContextMenu = baseContextMenu . concat (
178
- rootFolderContextMenu
179
- ) ;
180
156
181
157
switch ( node . fileType ) {
182
158
case FileTypes . file : {
183
- menu = fileContextMenu ;
159
+ menu = fileContextMenu . concat ( menus ) ;
184
160
break ;
185
161
}
186
162
case FileTypes . folder : {
187
- menu = folderContextMenu ;
163
+ menu = baseContextMenu . concat ( menus ) ;
188
164
break ;
189
165
}
190
166
case FileTypes . rootFolder : {
191
- menu = rootFodlerContextMenu ;
167
+ menu = baseContextMenu . concat (
168
+ rootFolderContextMenu
169
+ ) ; ;
192
170
break ;
193
171
}
194
172
default :
0 commit comments