Skip to content

Commit df0b1a2

Browse files
committed
Fix check for trailing or leading spaces while typing.
1 parent 338cbf6 commit df0b1a2

File tree

1 file changed

+20
-19
lines changed

1 file changed

+20
-19
lines changed

web_src/js/features/repo-editor.ts

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,9 @@ export function initRepoEditor() {
7777
const parts = filenameInput.value.split('/');
7878
const links = Array.from(document.querySelectorAll('.breadcrumb span.section'));
7979
const dividers = Array.from(document.querySelectorAll('.breadcrumb .breadcrumb-divider'));
80+
let warningDiv = document.querySelector('.ui.warning.message.flash-message.flash-warning.space-related');
81+
let containSpace = false;
8082
if (parts.length > 1) {
81-
let containSpace = false;
8283
for (let i = 0; i < parts.length; ++i) {
8384
const value = parts[i];
8485
const trimValue = value.trim();
@@ -111,25 +112,25 @@ export function initRepoEditor() {
111112
this.setSelectionRange(0, 0);
112113
containSpace |= (trimValue !== value && trimValue !== '');
113114
}
114-
let warningDiv = document.querySelector('.ui.warning.message.flash-message.flash-warning.space-related');
115-
containSpace |= Array.from(links).some((link) => {
116-
const value = link.querySelector('a').textContent;
117-
return value.trim() !== value;
118-
});
119-
if (containSpace) {
120-
if (!warningDiv) {
121-
warningDiv = document.createElement('div');
122-
warningDiv.classList.add('ui', 'warning', 'message', 'flash-message', 'flash-warning', 'space-related');
123-
warningDiv.innerHTML = '<p>Parent directory contains leading or trailing whitespace.</p>';
124-
// Add display 'block' because display is set to 'none' in formantic\build\semantic.css
125-
warningDiv.style.display = 'block';
126-
const inputContainer = document.querySelector('.repo-editor-header');
127-
inputContainer.insertAdjacentElement('beforebegin', warningDiv);
128-
}
129-
showElem(warningDiv);
130-
} else if (warningDiv) {
131-
hideElem(warningDiv);
115+
}
116+
containSpace |= Array.from(links).some((link) => {
117+
const value = link.querySelector('a').textContent;
118+
return value.trim() !== value;
119+
});
120+
containSpace |= parts[parts.length - 1].trim() !== parts[parts.length - 1];
121+
if (containSpace) {
122+
if (!warningDiv) {
123+
warningDiv = document.createElement('div');
124+
warningDiv.classList.add('ui', 'warning', 'message', 'flash-message', 'flash-warning', 'space-related');
125+
warningDiv.innerHTML = '<p>File path contains leading or trailing whitespace.</p>';
126+
// Add display 'block' because display is set to 'none' in formantic\build\semantic.css
127+
warningDiv.style.display = 'block';
128+
const inputContainer = document.querySelector('.repo-editor-header');
129+
inputContainer.insertAdjacentElement('beforebegin', warningDiv);
132130
}
131+
showElem(warningDiv);
132+
} else if (warningDiv) {
133+
hideElem(warningDiv);
133134
}
134135
joinTreePath();
135136
});

0 commit comments

Comments
 (0)