Skip to content

Commit 6e11a1d

Browse files
committed
Update filebrowser.js
1 parent a09b807 commit 6e11a1d

File tree

1 file changed

+35
-41
lines changed

1 file changed

+35
-41
lines changed

filebrowser.js

Lines changed: 35 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1351,15 +1351,48 @@ async function loadFileInHTML(fileEl, fileSha) {
13511351
let resp = await git.getFile(treeLoc, fileName);
13521352

13531353

1354+
const currSelectedFileName = fileWrapper.querySelector('.selected .name').textContent.replaceAll('\n','');
1355+
13541356
// if switched file or directory while loading, return
1355-
if (selectedFile.name !== fileName ||
1356-
selectedFile.dir !== fileDir) {
1357+
if (treeLoc.join() !== fileDir ||
1358+
currSelectedFileName !== fileName) {
13571359

13581360
return;
13591361

13601362
}
13611363

13621364

1365+
// if file dosen't exist
1366+
if (resp.message && resp.message === 'Not Found') {
1367+
1368+
// stop loading
1369+
stopLoading();
1370+
1371+
// remove file from HTML
1372+
if (fileEl) fileEl.remove();
1373+
1374+
// if previous file selection exists
1375+
if (selectedFile.sha) {
1376+
1377+
const prevSelFileEl = fileWrapper.querySelector('.item[sha="'+ selectedFile.sha +'"]');
1378+
1379+
// if previous file selection exists in HTML
1380+
if (prevSelFileEl) {
1381+
1382+
// load previous selected file
1383+
loadFileInHTML(prevSelFileEl, selectedFile.sha);
1384+
1385+
}
1386+
1387+
}
1388+
1389+
showMessage('Hmm... that file dosen\'t exist.', 5000);
1390+
1391+
return;
1392+
1393+
}
1394+
1395+
13631396
// if file is over 1MB
13641397
if (resp.size >= 1000000 && resp.content === '') {
13651398

@@ -2988,45 +3021,6 @@ async function protectUnsavedCode() {
29883021
// scroll to pos in code
29893022
cd.scrollTo(scrollPos[0], scrollPos[1]);
29903023

2991-
} else {
2992-
2993-
// if the selected file was deleted,
2994-
// protect unsaved code by clearing codeit
2995-
2996-
// clear codeit contents
2997-
cd.textContent = '\r\n';
2998-
2999-
// change codeit lang
3000-
cd.lang = '';
3001-
3002-
// clear codeit history
3003-
cd.history.records = [{ html: cd.innerHTML, pos: cd.getSelection() }];
3004-
cd.history.pos = 0;
3005-
3006-
// update line numbers
3007-
updateLineNumbersHTML();
3008-
3009-
// if on mobile, show sidebar
3010-
if (isMobile) {
3011-
3012-
// don't transition
3013-
body.classList.add('notransition');
3014-
3015-
// show sidebar
3016-
toggleSidebar(true);
3017-
saveSidebarStateLS();
3018-
3019-
onNextFrame(() => {
3020-
3021-
body.classList.remove('notransition');
3022-
3023-
});
3024-
3025-
}
3026-
3027-
// change selected file to empty file
3028-
changeSelectedFile('', '', '', '', '', [0, 0], [0, 0], false);
3029-
30303024
}
30313025

30323026
} else {

0 commit comments

Comments
 (0)