fix: stay in the same position after renaming or deleting (#3039)

This commit is contained in:
niubility000 2024-03-07 18:14:40 +08:00 committed by GitHub
parent e167c3e1ef
commit cdf8def330
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 14 additions and 8 deletions

View File

@ -45,6 +45,7 @@ export default {
submit: async function () {
buttons.loading("delete");
window.sessionStorage.setItem("modified", "true");
try {
if (!this.isListing) {
await api.remove(this.$route.path);

View File

@ -88,6 +88,7 @@ export default {
newLink =
url.removeLastDir(oldLink) + "/" + encodeURIComponent(this.name);
window.sessionStorage.setItem("modified", "true");
try {
await api.move([{ from: oldLink, to: newLink }]);
if (!this.isListing) {

View File

@ -54,8 +54,7 @@ export default {
currentView() {
if (this.req.type == undefined || this.req.isDir) {
return null;
}
else if (
} else if (
this.req.type === "text" ||
this.req.type === "textImmutable"
) {
@ -72,11 +71,11 @@ export default {
$route: function (to, from) {
if (from.path.endsWith("/")) {
if (to.path.endsWith("/")) {
window.sessionStorage.setItem('listFrozen', "false");
window.sessionStorage.setItem("listFrozen", "false");
this.fetchData();
return;
} else {
window.sessionStorage.setItem('listFrozen', "true");
window.sessionStorage.setItem("listFrozen", "true");
this.fetchData();
return;
}
@ -117,7 +116,7 @@ export default {
this.$store.commit("closeHovers");
// Set loading to true and reset the error.
if (window.sessionStorage.getItem('listFrozen') !=="true"){
if (window.sessionStorage.getItem("listFrozen") !=="true" && window.sessionStorage.getItem("modified") !=="true"){
this.setLoading(true);
}
this.error = null;

View File

@ -1,5 +1,9 @@
<template>
<div id="editor-container">
<div
id="editor-container"
@touchmove.prevent.stop
@wheel.prevent.stop
>
<header-bar>
<action icon="close" :label="$t('buttons.close')" @action="close()" />
<title>{{ req.name }}</title>

View File

@ -383,7 +383,7 @@ export default {
},
watch: {
req: function () {
if (window.sessionStorage.getItem('listFrozen') !=="true"){
if (window.sessionStorage.getItem("listFrozen") !=="true" && window.sessionStorage.getItem("modified") !=="true"){
// Reset the show value
this.showLimit = 50;
@ -397,7 +397,8 @@ export default {
});
}
if (this.req.isDir) {
window.sessionStorage.setItem('listFrozen', "false");
window.sessionStorage.setItem("listFrozen", "false");
window.sessionStorage.setItem("modified", "false");
}
},
},