Skip to content

Commit 545d6a9

Browse files
committed
Update filebrowser.js
1 parent c9154ea commit 545d6a9

File tree

1 file changed

+40
-28
lines changed

1 file changed

+40
-28
lines changed

filebrowser.js

Lines changed: 40 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -560,6 +560,8 @@ async function renderSidebarHTML() {
560560
}
561561

562562

563+
protectModFileInSidebar(file.sha, file.name);
564+
563565
// add modified flag to file
564566
let modified = '';
565567
if (modifiedFiles[file.sha] &&
@@ -1316,35 +1318,17 @@ async function loadFileInHTML(fileEl, fileSha) {
13161318

13171319
}
13181320

1319-
1320-
// if file is not modified
1321-
if (!modifiedFiles[fileSha]) {
13221321

1323-
const fileName = fileEl.querySelector('.name').textContent.replaceAll('\n','');
1322+
const fileName = fileEl.querySelector('.name').textContent.replaceAll('\n','');
13241323

1325-
// check if old modified file
1326-
// with same name and directory exists
1327-
const oldModFile = Object.values(modifiedFiles).filter(modFile => (modFile.dir === treeLoc.join() && modFile.name === fileName && !modFile.eclipsed))[0];
1324+
protectModFileInSidebar(fileSha, fileName);
1325+
1326+
// if file is modified
1327+
if (modifiedFiles[fileSha] && !modifiedFiles[fileSha].eclipsed &&
1328+
!fileEl.classList.contains('modified')) {
13281329

1329-
if (oldModFile) {
1330-
1331-
const oldFileSha = oldModFile.sha;
1332-
1333-
// update old modified file with new sha
1334-
oldModFile.sha = fileSha;
1335-
1336-
// save new modified file in local storage
1337-
modifiedFiles[fileSha] = oldModFile;
1338-
1339-
// delete old modified file
1340-
delete modifiedFiles[oldFileSha];
1341-
1342-
updateModFilesLS();
1343-
1344-
// show modified file in HTML
1345-
fileEl.classList.add('modified');
1346-
1347-
}
1330+
// update file in HTML
1331+
fileEl.classList.add('modified');
13481332

13491333
}
13501334

@@ -1357,8 +1341,6 @@ async function loadFileInHTML(fileEl, fileSha) {
13571341
startLoading();
13581342
}
13591343

1360-
const fileName = fileEl.querySelector('.name').textContent.replaceAll('\n','');
1361-
13621344
// get file from git
13631345
let resp = await git.getFile(treeLoc, fileName);
13641346

@@ -2965,6 +2947,36 @@ function protectUnsavedCode() {
29652947

29662948
}
29672949

2950+
function protectModFileInSidebar(fileSha, fileName) {
2951+
2952+
// if file is not modified
2953+
if (!modifiedFiles[fileSha]) {
2954+
2955+
// check if old modified file
2956+
// with same name and directory exists
2957+
const oldModFile = Object.values(modifiedFiles).filter(modFile => (modFile.dir === treeLoc.join() && modFile.name === fileName && !modFile.eclipsed))[0];
2958+
2959+
if (oldModFile) {
2960+
2961+
const oldFileSha = oldModFile.sha;
2962+
2963+
// update old modified file with new sha
2964+
oldModFile.sha = fileSha;
2965+
2966+
// save new modified file in local storage
2967+
modifiedFiles[fileSha] = oldModFile;
2968+
2969+
// delete old modified file
2970+
delete modifiedFiles[oldFileSha];
2971+
2972+
updateModFilesLS();
2973+
2974+
}
2975+
2976+
}
2977+
2978+
}
2979+
29682980
function setupEditor() {
29692981

29702982
// if code in storage

0 commit comments

Comments
 (0)