fix: select item after copy and move modal action

This commit is contained in:
Ramires Viana 2025-07-25 01:17:29 -03:00 committed by Henrique Dias
parent cefb31dbb7
commit 228070977c
2 changed files with 7 additions and 2 deletions

View File

@ -62,6 +62,7 @@ import FileList from "./FileList.vue";
import { files as api } from "@/api"; import { files as api } from "@/api";
import buttons from "@/utils/buttons"; import buttons from "@/utils/buttons";
import * as upload from "@/utils/upload"; import * as upload from "@/utils/upload";
import { removePrefix } from "@/api/utils";
export default { export default {
name: "copy", name: "copy",
@ -76,7 +77,7 @@ export default {
computed: { computed: {
...mapState(useFileStore, ["req", "selected"]), ...mapState(useFileStore, ["req", "selected"]),
...mapState(useAuthStore, ["user"]), ...mapState(useAuthStore, ["user"]),
...mapWritableState(useFileStore, ["reload"]), ...mapWritableState(useFileStore, ["reload", "preselect"]),
}, },
methods: { methods: {
...mapActions(useLayoutStore, ["showHover", "closeHovers"]), ...mapActions(useLayoutStore, ["showHover", "closeHovers"]),
@ -100,6 +101,7 @@ export default {
.copy(items, overwrite, rename) .copy(items, overwrite, rename)
.then(() => { .then(() => {
buttons.success("copy"); buttons.success("copy");
this.preselect = removePrefix(items[0].to);
if (this.$route.path === this.dest) { if (this.$route.path === this.dest) {
this.reload = true; this.reload = true;

View File

@ -55,7 +55,7 @@
</template> </template>
<script> <script>
import { mapActions, mapState } from "pinia"; import { mapActions, mapState, mapWritableState } from "pinia";
import { useFileStore } from "@/stores/file"; import { useFileStore } from "@/stores/file";
import { useLayoutStore } from "@/stores/layout"; import { useLayoutStore } from "@/stores/layout";
import { useAuthStore } from "@/stores/auth"; import { useAuthStore } from "@/stores/auth";
@ -63,6 +63,7 @@ import FileList from "./FileList.vue";
import { files as api } from "@/api"; import { files as api } from "@/api";
import buttons from "@/utils/buttons"; import buttons from "@/utils/buttons";
import * as upload from "@/utils/upload"; import * as upload from "@/utils/upload";
import { removePrefix } from "@/api/utils";
export default { export default {
name: "move", name: "move",
@ -77,6 +78,7 @@ export default {
computed: { computed: {
...mapState(useFileStore, ["req", "selected"]), ...mapState(useFileStore, ["req", "selected"]),
...mapState(useAuthStore, ["user"]), ...mapState(useAuthStore, ["user"]),
...mapWritableState(useFileStore, ["preselect"]),
excludedFolders() { excludedFolders() {
return this.selected return this.selected
.filter((idx) => this.req.items[idx].isDir) .filter((idx) => this.req.items[idx].isDir)
@ -104,6 +106,7 @@ export default {
.move(items, overwrite, rename) .move(items, overwrite, rename)
.then(() => { .then(() => {
buttons.success("move"); buttons.success("move");
this.preselect = removePrefix(items[0].to);
this.$router.push({ path: this.dest }); this.$router.push({ path: this.dest });
}) })
.catch((e) => { .catch((e) => {