@@ -69,7 +69,7 @@ export function TextEditorView() {
6969 }
7070 } , [ updateFileContent , saveFile , instanceParams , openedEntry ] ) ;
7171
72- const onDiscardClick = useCallback ( ( ) => {
72+ const onRevertChangesClicked = useCallback ( ( ) => {
7373 if ( openedEntryContents ) {
7474 setUpdateFileContent ( openedEntryContents ) ;
7575 }
@@ -83,39 +83,22 @@ export function TextEditorView() {
8383 mountedRef . current = [ editor , monaco ] ;
8484 } , [ mountedRef , onSaveClick ] ) ;
8585
86- useEffect ( ( ) => {
87- if ( ! mountedRef . current ) {
88- return ;
89- }
90- const [ editor , monaco ] = mountedRef . current ;
91- const disposables = [
92- editor . addAction ( {
93- id : 'save-file' ,
94- label : 'Save Changes' ,
95- keybindings : [ monaco . KeyMod . CtrlCmd | monaco . KeyCode . KeyS ] ,
96- run : onSaveClick ,
97- } ) ,
98- editor . addAction ( {
99- id : 'revert-file' ,
100- label : 'Revert File' ,
101- run : onDiscardClick ,
102- } ) ,
103- ] ;
104- return ( ) => {
105- for ( const disposable of disposables ) {
106- disposable ?. dispose ( ) ;
107- }
108- } ;
109- } , [ mountedRef , onSaveClick , onDiscardClick ] ) ;
110-
11186 const {
11287 toggled : isAddingDirectory ,
11388 toggleOn : onAddDirectoryClicked ,
11489 toggleOff : hideAddingDirectory ,
11590 } = useToggler ( false ) ;
11691 const { toggled : isAddingFile , toggleOn : onAddFileClicked , toggleOff : hideAddingFile } = useToggler ( false ) ;
117- const { toggled : isDeleteDirectoryOrFileClicked , toggleOn : onDeleteClick , setToggled : setIsDeleteDirectoryOrFileClicked } = useToggler ( false ) ;
118- const { toggled : isRedeployApplicationClicked , toggleOn : onRedeployClicked , setToggled : setIsRedeployApplicationClicked } = useToggler ( false ) ;
92+ const {
93+ toggled : isDeleteDirectoryOrFileClicked ,
94+ toggleOn : onDeleteClick ,
95+ setToggled : setIsDeleteDirectoryOrFileClicked ,
96+ } = useToggler ( false ) ;
97+ const {
98+ toggled : isRedeployApplicationClicked ,
99+ toggleOn : onRedeployClicked ,
100+ setToggled : setIsRedeployApplicationClicked ,
101+ } = useToggler ( false ) ;
119102
120103 const onHideAddDirectoryModal = useCallback ( ( ) => {
121104 hideAddingDirectory ( ) ;
@@ -164,6 +147,48 @@ export function TextEditorView() {
164147 || openedEntry . package ?. includes ( 'github.com/HarperFast/status-check-fabric' ) ;
165148 } , [ openedEntry ?. package ] ) ;
166149
150+ useEffect ( ( ) => {
151+ if ( ! mountedRef . current ) {
152+ return ;
153+ }
154+ const [ editor , monaco ] = mountedRef . current ;
155+ const disposables = [
156+ editor . addAction ( {
157+ id : 'new-file' ,
158+ label : 'New File' ,
159+ keybindings : [ monaco . KeyMod . WinCtrl | monaco . KeyMod . Alt | monaco . KeyCode . KeyN ] ,
160+ run : onAddFileClicked ,
161+ } ) ,
162+ editor . addAction ( {
163+ id : 'new-directory' ,
164+ label : 'New Directory' ,
165+ keybindings : [ monaco . KeyMod . WinCtrl | monaco . KeyMod . Alt | monaco . KeyMod . Shift | monaco . KeyCode . KeyN ] ,
166+ run : onAddDirectoryClicked ,
167+ } ) ,
168+ editor . addAction ( {
169+ id : 'save-file' ,
170+ label : 'Save Changes' ,
171+ keybindings : [ monaco . KeyMod . CtrlCmd | monaco . KeyCode . KeyS ] ,
172+ run : onSaveClick ,
173+ } ) ,
174+ editor . addAction ( {
175+ id : 'revert-file' ,
176+ label : 'Revert File' ,
177+ run : onRevertChangesClicked ,
178+ } ) ,
179+ editor . addAction ( {
180+ id : 'delete-file' ,
181+ label : 'Delete File' ,
182+ run : onDeleteClick ,
183+ } ) ,
184+ ] ;
185+ return ( ) => {
186+ for ( const disposable of disposables ) {
187+ disposable ?. dispose ( ) ;
188+ }
189+ } ;
190+ } , [ mountedRef , onSaveClick , onRevertChangesClicked ] ) ;
191+
167192 if ( ! openedEntry ) {
168193 return null ;
169194 }
@@ -205,7 +230,6 @@ export function TextEditorView() {
205230 updateFileContent === openedEntryContents ||
206231 isSavingFile
207232 }
208- accessKey = "s"
209233 >
210234 < SaveIcon />
211235 < span className = "hidden lg:inline-block" > < u > S</ u > ave</ span >
@@ -220,7 +244,6 @@ export function TextEditorView() {
220244 updateFileContent === openedEntryContents ||
221245 isSavingFile
222246 }
223- accessKey = "s"
224247 >
225248 < PencilIcon />
226249 < span className = "hidden lg:inline-block" > < u > R</ u > ename</ span >
@@ -230,7 +253,6 @@ export function TextEditorView() {
230253 variant = "ghost"
231254 className = "rounded-none"
232255 onClick = { onAddFileClicked }
233- accessKey = "n"
234256 >
235257 < FileIcon />
236258 < span className = "hidden lg:inline-block" > < u > N</ u > ew File</ span >
@@ -240,7 +262,6 @@ export function TextEditorView() {
240262 variant = "ghost"
241263 className = "rounded-none"
242264 onClick = { onAddDirectoryClicked }
243- accessKey = "n"
244265 >
245266 < FolderIcon />
246267 < span className = "hidden lg:inline-block" > < u > A</ u > dd Directory</ span >
@@ -250,7 +271,6 @@ export function TextEditorView() {
250271 variant = "ghost"
251272 className = "rounded-none"
252273 onClick = { onRedeployClicked }
253- accessKey = "n"
254274 >
255275 < PackageIcon />
256276 < span > Redeploy < u > P</ u > ackage</ span >
@@ -270,7 +290,6 @@ export function TextEditorView() {
270290 variant = "destructiveGhost"
271291 className = "rounded-none"
272292 onClick = { onDeleteClick }
273- accessKey = "n"
274293 >
275294 < TrashIcon />
276295 < span className = "hidden xl:inline-block" > < u > D</ u > elete</ span >
@@ -279,16 +298,15 @@ export function TextEditorView() {
279298 { ! isDirectory ( openedEntry ) && ! openedEntry . package && < Button
280299 variant = "ghost"
281300 className = "rounded-none"
282- onClick = { onDiscardClick }
301+ onClick = { onRevertChangesClicked }
283302 disabled = {
284303 updateFileContent === undefined ||
285304 updateFileContent === openedEntryContents ||
286305 isSavingFile
287306 }
288- accessKey = "d"
289307 >
290308 < Undo2Icon />
291- < span className = "hidden xl:inline-block" > < u > D </ u > iscard Changes</ span >
309+ < span className = "hidden xl:inline-block" > Revert Changes</ span >
292310 </ Button > }
293311
294312 </ div >
0 commit comments