aboutsummaryrefslogtreecommitdiffstats
path: root/web_src/js/modules
diff options
context:
space:
mode:
authorwxiaoguang <wxiaoguang@gmail.com>2023-05-30 18:53:15 +0800
committerGitHub <noreply@github.com>2023-05-30 18:53:15 +0800
commitee99cf6313ba565523b3c43f61ffda4b71e2c39b (patch)
tree176d0044803285f2cdbcf04cbf87edd2f0d07a1a /web_src/js/modules
parent32185efc1484c1d6ea3a5262a3c9779e8edb0b09 (diff)
downloadgitea-ee99cf6313ba565523b3c43f61ffda4b71e2c39b.tar.gz
gitea-ee99cf6313ba565523b3c43f61ffda4b71e2c39b.zip
Refactor diffFileInfo / DiffTreeStore (#24998)
Follow #21012, #22399 Replace #24983, fix #24938 Help #24956 Now, the `window.config.pageData.diffFileInfo` itself is a reactive store, so it's quite easy to sync values/states by it, no need to do "doLoadMoreFiles" or "callback". Screenshot: these two buttons both work. After complete loading, the UI is also right. <details> ![image](https://github.com/go-gitea/gitea/assets/2114189/cc6310fd-7f27-45ea-ab4f-24952a87b421) ![image](https://github.com/go-gitea/gitea/assets/2114189/4c11dd67-ac03-4568-8541-91204d27a4e3) ![image](https://github.com/go-gitea/gitea/assets/2114189/38a22cec-41be-41e6-a209-f347b7a4c1de) </details>
Diffstat (limited to 'web_src/js/modules')
-rw-r--r--web_src/js/modules/stores.js11
1 files changed, 8 insertions, 3 deletions
diff --git a/web_src/js/modules/stores.js b/web_src/js/modules/stores.js
index 24b913ce11..1a0ed7eda1 100644
--- a/web_src/js/modules/stores.js
+++ b/web_src/js/modules/stores.js
@@ -1,5 +1,10 @@
import {reactive} from 'vue';
-export const DiffTreeStore = reactive({
- selectedItem: '',
-});
+let diffTreeStoreReactive;
+export function diffTreeStore() {
+ if (!diffTreeStoreReactive) {
+ diffTreeStoreReactive = reactive(window.config.pageData.diffFileInfo);
+ window.config.pageData.diffFileInfo = diffTreeStoreReactive;
+ }
+ return diffTreeStoreReactive;
+}