mirror of
https://github.com/SukkaW/Surge.git
synced 2025-12-12 09:10:35 +08:00
Chore: hide more folder in list page
This commit is contained in:
parent
807fc19a46
commit
a6f8cd53ac
@ -32,6 +32,11 @@ const priorityOrder: Record<'default' | string & {}, number> = {
|
|||||||
default: Number.MAX_VALUE
|
default: Number.MAX_VALUE
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const closedRootFolders = [
|
||||||
|
'Mock',
|
||||||
|
'Internal'
|
||||||
|
];
|
||||||
|
|
||||||
async function copyDirContents(srcDir: string, destDir: string, promises: Array<Promise<VoidOrVoidArray>> = []): Promise<Array<Promise<VoidOrVoidArray>>> {
|
async function copyDirContents(srcDir: string, destDir: string, promises: Array<Promise<VoidOrVoidArray>> = []): Promise<Array<Promise<VoidOrVoidArray>>> {
|
||||||
for await (const entry of await fsp.opendir(srcDir)) {
|
for await (const entry of await fsp.opendir(srcDir)) {
|
||||||
const src = path.join(srcDir, entry.name);
|
const src = path.join(srcDir, entry.name);
|
||||||
@ -104,15 +109,18 @@ export const buildPublic = task(require.main === module, __filename)(async (span
|
|||||||
|
|
||||||
const prioritySorter = (a: TreeType, b: TreeType) => ((priorityOrder[a.name] || priorityOrder.default) - (priorityOrder[b.name] || priorityOrder.default)) || fastStringCompare(a.name, b.name);
|
const prioritySorter = (a: TreeType, b: TreeType) => ((priorityOrder[a.name] || priorityOrder.default) - (priorityOrder[b.name] || priorityOrder.default)) || fastStringCompare(a.name, b.name);
|
||||||
|
|
||||||
function treeHtml(tree: TreeTypeArray, level = 0) {
|
function treeHtml(tree: TreeTypeArray, level = 0, closedFolderList: string[] = []): string {
|
||||||
let result = '';
|
let result = '';
|
||||||
tree.sort(prioritySorter);
|
tree.sort(prioritySorter);
|
||||||
|
|
||||||
for (let i = 0, len = tree.length; i < len; i++) {
|
for (let i = 0, len = tree.length; i < len; i++) {
|
||||||
const entry = tree[i];
|
const entry = tree[i];
|
||||||
|
const open = closedFolderList.includes(entry.name) ? '' : (level === 0 ? 'open' : '');
|
||||||
|
|
||||||
if (entry.type === TreeFileType.DIRECTORY) {
|
if (entry.type === TreeFileType.DIRECTORY) {
|
||||||
result += html`
|
result += html`
|
||||||
<li class="folder">
|
<li class="folder">
|
||||||
<details ${level === 0 ? 'open' : ''}>
|
<details ${open}>
|
||||||
<summary>${entry.name}</summary>
|
<summary>${entry.name}</summary>
|
||||||
<ul>${treeHtml(entry.children, level + 1)}</ul>
|
<ul>${treeHtml(entry.children, level + 1)}</ul>
|
||||||
</details>
|
</details>
|
||||||
@ -708,7 +716,7 @@ function generateHtml(tree: TreeTypeArray) {
|
|||||||
<p>Last Build: ${new Date().toISOString()}</p>
|
<p>Last Build: ${new Date().toISOString()}</p>
|
||||||
<br>
|
<br>
|
||||||
<ul class="tree">
|
<ul class="tree">
|
||||||
${treeHtml(tree)}
|
${treeHtml(tree, 0, closedRootFolders)}
|
||||||
</ul>
|
</ul>
|
||||||
</main>
|
</main>
|
||||||
</body>
|
</body>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user