Skip to content

Commit cc3128c

Browse files
committed
move results.jinja js to utils.js
1 parent cb016be commit cc3128c

File tree

2 files changed

+56
-56
lines changed

2 files changed

+56
-56
lines changed

src/server/templates/components/result.jinja

Lines changed: 0 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,3 @@
1-
<script>
2-
function getFileName(element) {
3-
const indentSize = 4;
4-
let path = "";
5-
let prevIndentLevel = null;
6-
7-
while (element) {
8-
const line = element.textContent;
9-
const index = line.search(/[a-zA-Z0-9_.-]/);
10-
const indentLevel = index / indentSize;
11-
12-
// Stop when we reach or go above the top-level directory
13-
if (indentLevel <= 1) {
14-
break;
15-
}
16-
17-
// Only include directories that are one level above the previous
18-
if (prevIndentLevel === null || indentLevel === prevIndentLevel - 1) {
19-
const fileName = line.substring(index).trim();
20-
path = fileName + path;
21-
prevIndentLevel = indentLevel;
22-
}
23-
24-
element = element.previousElementSibling;
25-
}
26-
27-
return path;
28-
}
29-
30-
function toggleFile(element) {
31-
const patternInput = document.getElementById("pattern");
32-
const patternFiles = patternInput.value ? patternInput.value.split(",").map(item => item.trim()) : [];
33-
34-
const directoryContainer = document.getElementById("directory-structure-container");
35-
const treeLineElements = Array.from(directoryContainer.children).filter(child => child.tagName === "PRE");
36-
37-
// Skip the first two tree lines (header and repository name)
38-
if (treeLineElements[0] === element || treeLineElements[1] === element) {
39-
return;
40-
}
41-
42-
element.classList.toggle('line-through');
43-
element.classList.toggle('text-gray-500');
44-
45-
const fileName = getFileName(element);
46-
const fileIndex = patternFiles.indexOf(fileName);
47-
48-
if (fileIndex !== -1) {
49-
patternFiles.splice(fileIndex, 1);
50-
} else {
51-
patternFiles.push(fileName);
52-
}
53-
54-
patternInput.value = patternFiles.join(", ");
55-
}
56-
</script>
571
<div class="mt-10">
582
<!-- Error Message (hidden by default) -->
593
<div id="results-error" style="display:none"></div>

src/static/js/utils.js

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,59 @@
1+
function getFileName(element) {
2+
const indentSize = 4;
3+
let path = '';
4+
let prevIndentLevel = null;
5+
6+
while (element) {
7+
const line = element.textContent;
8+
const index = line.search(/[a-zA-Z0-9_.-]/);
9+
const indentLevel = index / indentSize;
10+
11+
// Stop when we reach or go above the top-level directory
12+
if (indentLevel <= 1) {
13+
break;
14+
}
15+
16+
// Only include directories that are one level above the previous
17+
if (prevIndentLevel === null || indentLevel === prevIndentLevel - 1) {
18+
const fileName = line.substring(index).trim();
19+
20+
path = fileName + path;
21+
prevIndentLevel = indentLevel;
22+
}
23+
24+
element = element.previousElementSibling;
25+
}
26+
27+
return path;
28+
}
29+
30+
function toggleFile(element) {
31+
const patternInput = document.getElementById('pattern');
32+
const patternFiles = patternInput.value ? patternInput.value.split(',').map((item) => item.trim()) : [];
33+
34+
const directoryContainer = document.getElementById('directory-structure-container');
35+
const treeLineElements = Array.from(directoryContainer.children).filter((child) => child.tagName === 'PRE');
36+
37+
// Skip the first two tree lines (header and repository name)
38+
if (treeLineElements[0] === element || treeLineElements[1] === element) {
39+
return;
40+
}
41+
42+
element.classList.toggle('line-through');
43+
element.classList.toggle('text-gray-500');
44+
45+
const fileName = getFileName(element);
46+
const fileIndex = patternFiles.indexOf(fileName);
47+
48+
if (fileIndex !== -1) {
49+
patternFiles.splice(fileIndex, 1);
50+
} else {
51+
patternFiles.push(fileName);
52+
}
53+
54+
patternInput.value = patternFiles.join(', ');
55+
}
56+
157
// Copy functionality
258
function copyText(className) {
359
let textToCopy;

0 commit comments

Comments
 (0)