Skip to content

Commit 3576db6

Browse files
committed
Update filebrowser.js
1 parent f7c3288 commit 3576db6

File tree

1 file changed

+63
-25
lines changed

1 file changed

+63
-25
lines changed

filebrowser.js

Lines changed: 63 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2259,18 +2259,37 @@ function createNewRepoInHTML() {
22592259

22602260
// if another repo in the current directory
22612261
// has the same name, add a differentiating number
2262-
fileWrapper.querySelectorAll('.item.repo').forEach(repoElem => {
2263-
2264-
if (repoElem !== repoEl
2265-
&& (repoName === repoElem.querySelector('.name').textContent)) {
2266-
2267-
// add a differentiating number
2268-
// to repo name
2269-
repoName = repoName + '-1';
2270-
2271-
}
2272-
2273-
});
2262+
2263+
let nameIndex = 1;
2264+
2265+
while (repoNameExists(repoName)) {
2266+
2267+
// add a differentiating number
2268+
// to repo name
2269+
repoName = repoName + '-' + nameIndex;
2270+
2271+
nameIndex++;
2272+
2273+
}
2274+
2275+
function repoNameExists(name) {
2276+
2277+
fileWrapper.querySelectorAll('.item.repo').forEach(repoElem => {
2278+
2279+
const currRepoName = repoElem.querySelector('.name').textContent;
2280+
2281+
if (repoEl !== repoElem &&
2282+
name === currRepoName) {
2283+
2284+
return true;
2285+
2286+
}
2287+
2288+
});
2289+
2290+
return false;
2291+
2292+
}
22742293

22752294
repoEl.querySelector('.name').textContent = repoName;
22762295

@@ -2403,21 +2422,40 @@ function createNewFileInHTML() {
24032422

24042423
// if another file in the current directory
24052424
// has the same name, add a differentiating number
2406-
fileWrapper.querySelectorAll('.item.file').forEach(fileElem => {
2407-
2408-
if (fileElem !== fileEl
2409-
&& (fileName === fileElem.querySelector('.name').textContent)) {
2410-
2411-
// split extension from file name
2412-
fileName = splitFileName(fileName);
2413-
2414-
// add a differentiating number
2415-
// and reconstruct file name
2416-
fileName = fileName[0] + '-1' + (fileName[1] !== 'none' ? ('.' + fileName[1]) : '');
2425+
2426+
let nameIndex = 1;
2427+
2428+
while (fileNameExists(fileName)) {
2429+
2430+
// split extension from file name
2431+
fileName = splitFileName(fileName);
24172432

2418-
}
2433+
// add a differentiating number
2434+
// and reconstruct file name
2435+
fileName = fileName[0] + '-' + nameIndex + (fileName[1] !== 'none' ? ('.' + fileName[1]) : '');
24192436

2420-
});
2437+
nameIndex++;
2438+
2439+
}
2440+
2441+
function fileNameExists(name) {
2442+
2443+
fileWrapper.querySelectorAll('.item.file').forEach(fileElem => {
2444+
2445+
const currFileName = fileElem.querySelector('.name').textContent;
2446+
2447+
if (fileEl !== fileElem &&
2448+
name === currFileName) {
2449+
2450+
return true;
2451+
2452+
}
2453+
2454+
});
2455+
2456+
return false;
2457+
2458+
}
24212459

24222460

24232461
let commitMessage = 'Create ' + fileName;

0 commit comments

Comments
 (0)