Skip to content

Commit ffc19bd

Browse files
committed
fix error
1 parent a98b818 commit ffc19bd

File tree

4 files changed

+29
-49
lines changed

4 files changed

+29
-49
lines changed

templates/repo/home.tmpl

Lines changed: 16 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -58,31 +58,28 @@
5858
</div>
5959
{{end}}
6060
{{template "repo/sub_menu" .}}
61-
{{if $showTree}}
61+
{{if $showTree}}
6262
<div class="tree-container">
6363
<div id="view-file-tree" class="file-tree tree-left tw-hidden not-mobile"></div>
64-
<script>
65-
const viewTreeVisible = localStorage?.getItem('view_file_tree_visible') !== 'false';
66-
if (viewTreeVisible) document.getElementById('view-file-tree').classList.remove('tw-hidden');
67-
</script>
6864
<div class="tree-right">
6965
{{end}}
7066
<div class="repo-button-row" data-is-homepage="{{$isHomepage}}">
7167
<div class="repo-button-row-left">
72-
{{if $showTree}}
73-
<button class="view-toggle-file-tree-button not-mobile btn interact-fg" data-show-text="{{ctx.Locale.Tr "repo.view.show_file_tree"}}" data-hide-text="{{ctx.Locale.Tr "repo.view.hide_file_tree"}}">
74-
{{/* the icon meaning is reversed here, "octicon-sidebar-collapse" means show the file tree */}}
75-
{{svg "octicon-sidebar-collapse" 20 "icon tw-hidden"}}
76-
{{svg "octicon-sidebar-expand" 20 "icon tw-hidden"}}
77-
</button>
78-
<script>
79-
// Default to true if unset
80-
const viewTreeBtn = document.querySelector('.view-toggle-file-tree-button');
81-
const viewTreeIcon = `.octicon-sidebar-${viewTreeVisible ? 'expand' : 'collapse'}`;
82-
viewTreeBtn.querySelector(viewTreeIcon).classList.remove('tw-hidden');
83-
viewTreeBtn.setAttribute('data-tooltip-content', viewTreeBtn.getAttribute(viewTreeVisible ? 'data-hide-text' : 'data-show-text'));
84-
</script>
85-
{{end}}
68+
{{if $showTree}}
69+
<button class="view-toggle-file-tree-button ui compact basic button icon not-mobile" data-show-text="{{ctx.Locale.Tr "repo.diff.show_file_tree"}}" data-hide-text="{{ctx.Locale.Tr "repo.diff.hide_file_tree"}}">
70+
{{/* the icon meaning is reversed here, "octicon-sidebar-collapse" means show the file tree */}}
71+
{{svg "octicon-sidebar-collapse" 20 "icon tw-hidden"}}
72+
{{svg "octicon-sidebar-expand" 20 "icon tw-hidden"}}
73+
</button>
74+
<script>
75+
// Default to false
76+
const viewTreeVisible = false;
77+
const viewTreeBtn = document.querySelector('.view-toggle-file-tree-button');
78+
const viewTreeIcon = `.octicon-sidebar-${viewTreeVisible ? 'expand' : 'collapse'}`;
79+
viewTreeBtn.querySelector(viewTreeIcon).classList.remove('tw-hidden');
80+
viewTreeBtn.setAttribute('data-tooltip-content', viewTreeBtn.getAttribute(viewTreeVisible ? 'data-hide-text' : 'data-show-text'));
81+
</script>
82+
{{end}}
8683
{{$branchDropdownCurrentRefType := "branch"}}
8784
{{$branchDropdownCurrentRefShortName := .BranchName}}
8885
{{if .IsViewTag}}

web_src/js/components/DiffFileTree.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,11 +146,11 @@ function getIconForDiffType(pType) {
146146

147147
<template>
148148
<FileTree
149+
v-if="store.fileTreeIsVisible"
149150
id="diff-file-tree"
150151
:is-loading="false"
151152
:files="fileTree"
152153
:collapsed="false"
153-
:visible="store.fileTreeIsVisible"
154154
:selected="store.selectedItem"
155155
:file-class-getter="(selected, item) => ({'selected': selected === '#tree-node-' + item.file.NameHash, 'viewed': item.file.IsViewed})"
156156
:file-url-getter="item => '#tree-node-' + item.file.NameHash"

web_src/js/components/FileTree.vue

Lines changed: 9 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,25 @@
11
<script lang="ts" setup>
22
import {SvgIcon} from '../svg.ts';
33
import FileTreeItem from './FileTreeItem.vue';
4-
// import {toggleElem} from '../utils/dom.ts';
5-
// import {setFileFolding} from '../features/file-fold.ts';
64
75
defineProps<{
86
id: string,
97
files: any[],
10-
visible: boolean,
118
selected: string,
129
isLoading: boolean,
1310
collapsed: boolean,
1411
fileUrlGetter: any,
1512
fileClassGetter?: any,
1613
loadChildren?: any
1714
}>();
18-
19-
// function expandSelectedFile() {
20-
// // expand file if the selected file is folded
21-
// if (props.selected) {
22-
// const box = document.querySelector(props.selected);
23-
// const folded = box?.getAttribute('data-folded') === 'true';
24-
// if (folded) setFileFolding(box, box.querySelector('.fold-file'), false);
25-
// }
26-
// }
27-
28-
// function toggleVisibility() {
29-
// updateState(!props.visible);
30-
// }
31-
32-
// function updateState(visible) {
33-
// toggleElem(document.querySelector(`#${props.id}`), visible);
34-
// }
3515
</script>
3616

3717
<template>
38-
<div v-if="visible" class="file-tree-items">
39-
<!-- only render the tree if we're visible. in many cases this is something that doesn't change very often -->
40-
<SvgIcon v-if="isLoading" name="octicon-sync" class="job-status-rotate"/>
18+
<div v-if="isLoading" class="file-tree-loading">
19+
<SvgIcon name="octicon-sync" class="job-status-rotate"/>
20+
</div>
21+
<div v-else class="file-tree-items">
4122
<FileTreeItem
42-
v-else
4323
v-for="item in files"
4424
:key="item.name"
4525
:item="item"
@@ -58,10 +38,15 @@ defineProps<{
5838
</template>
5939

6040
<style scoped>
41+
.file-tree-loading {
42+
margin-top: 8px;
43+
text-align: center;
44+
}
6145
.file-tree-items {
6246
display: flex;
6347
flex-direction: column;
6448
gap: 1px;
49+
margin-top: 8px;
6550
margin-right: .5rem;
6651
}
6752
</style>

web_src/js/components/ViewFileTree.vue

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ const store = viewTreeStore();
1313
const isLoading = ref(false);
1414
1515
onMounted(async () => {
16-
// Default to true if unset
17-
updateVisibility(localStorage.getItem(LOCAL_STORAGE_KEY) !== 'false');
16+
// Default to false
17+
updateVisibility(false);
1818
document.querySelector('.view-toggle-file-tree-button').addEventListener('click', toggleVisibility);
1919
2020
hashChangeListener();
@@ -24,8 +24,6 @@ onMounted(async () => {
2424
const files = await loadChildren();
2525
store.files = files;
2626
isLoading.value = false;
27-
28-
window.localStorage.setItem(`${LOCAL_STORAGE_KEY}-/`, files);
2927
});
3028
3129
onUnmounted(() => {
@@ -81,11 +79,11 @@ async function loadChildren(item?) {
8179

8280
<template>
8381
<FileTree
82+
v-if="store.fileTreeIsVisible"
8483
id="view-file-tree"
8584
:is-loading="isLoading"
8685
:files="store.files"
8786
:collapsed="true"
88-
:visible="store.fileTreeIsVisible"
8987
:selected="store.selectedItem"
9088
:file-url-getter="item => item.file.html_url"
9189
:load-children="loadChildren"

0 commit comments

Comments
 (0)