mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 07:21:36 +01:00 
			
		
		
		
	Modify Diff View FileTree to show all files ## Changes * removes Show Status button on diff * uses `git diff-tree` to generate the file tree for the diff * doesn't reload the diff tree each time we load more files in the preview * selecting and unloaded file will keep loading until that file is loaded * removes `DiffFileList.vue` and "Show Stats" in diff options ## Open Questions * selecting and unloaded file will keep loading until that file is loaded. Is this behaviour okay? It matches what github does. ### Demo In this demo I set `git.MAX_GIT_DIFF_FILES=1` in my `app.ini` to demonstrate a worst case example. In most cases the behaviour isn't nearly as jarring as we load a bunch of files at a time. https://github.com/user-attachments/assets/72f29663-d6fc-472d-94fa-7fb5950c2836 --------- Co-authored-by: silverwind <me@silverwind.io> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
		
			
				
	
	
		
			17 lines
		
	
	
		
			399 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			17 lines
		
	
	
		
			399 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import {reactive} from 'vue';
 | |
| import type {Reactive} from 'vue';
 | |
| 
 | |
| const {pageData} = window.config;
 | |
| 
 | |
| let diffTreeStoreReactive: Reactive<Record<string, any>>;
 | |
| export function diffTreeStore() {
 | |
|   if (!diffTreeStoreReactive) {
 | |
|     diffTreeStoreReactive = reactive({
 | |
|       files: pageData.DiffFiles,
 | |
|       fileTreeIsVisible: false,
 | |
|       selectedItem: '',
 | |
|     });
 | |
|   }
 | |
|   return diffTreeStoreReactive;
 | |
| }
 |