diff options
author | wxiaoguang <wxiaoguang@gmail.com> | 2023-05-30 18:53:15 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-30 18:53:15 +0800 |
commit | ee99cf6313ba565523b3c43f61ffda4b71e2c39b (patch) | |
tree | 176d0044803285f2cdbcf04cbf87edd2f0d07a1a /web_src/js/modules | |
parent | 32185efc1484c1d6ea3a5262a3c9779e8edb0b09 (diff) | |
download | gitea-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.js | 11 |
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; +} |