Skip to content

Commit 113ae62

Browse files
committed
finalUpdate
1 parent d2dd25b commit 113ae62

File tree

2 files changed

+31
-3
lines changed

2 files changed

+31
-3
lines changed

client/src/components/files/operations/FileOperationBase.vue

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,10 +68,21 @@
6868
<ion-text v-if="props.status === FileOperationEvents.Failed">
6969
{{ $msTranslate('FoldersPage.FileOperations.failed') }}
7070
</ion-text>
71-
<ion-text class="element-details-info__workspace">
71+
<ion-text
72+
class="element-details-info__workspace"
73+
v-if="!isHovered"
74+
>
7275
<span v-if="props.status === FileOperationEvents.Failed || props.status === FileOperationEvents.Cancelled"> &bull; </span>
7376
{{ operationData.workspaceName }}
7477
</ion-text>
78+
<ion-text
79+
class="hover-state"
80+
v-if="
81+
props.status === FileOperationEvents.Finished && isHovered && props.operationData.type !== FileOperationDataType.Download
82+
"
83+
>
84+
{{ $msTranslate('FoldersPage.ImportFile.browse') }}
85+
</ion-text>
7586
</div>
7687
</div>
7788

@@ -118,15 +129,15 @@
118129
<!-- done -->
119130
<ion-icon
120131
class="folder-icon"
121-
v-if="props.status === FileOperationEvents.Finished && props.operationData.type !== FileOperationDataType.Download"
132+
v-if="props.status === FileOperationEvents.Finished && showDestinationFolderIcon"
122133
:icon="folder"
123134
@click="$emit('click', operationData, props.status, eventData)"
124135
@mouseover="isHovered = true"
125136
@mouseleave="isHovered = false"
126137
/>
127138
<ion-icon
128139
class="checkmark-icon"
129-
v-if="props.status === FileOperationEvents.Finished && props.operationData.type === FileOperationDataType.Download"
140+
v-if="props.status === FileOperationEvents.Finished && !showDestinationFolderIcon"
130141
:icon="checkmarkCircle"
131142
/>
132143

@@ -243,6 +254,13 @@ const singleEntry = computed(() => {
243254
return undefined;
244255
});
245256
257+
const showDestinationFolderIcon = computed(() => {
258+
return (
259+
props.operationData.type !== FileOperationDataType.Download &&
260+
!(props.operationData.type === FileOperationDataType.Restore && (props.operationData as FileOperationRestoreData).entries.length > 1)
261+
);
262+
});
263+
246264
const emits = defineEmits<{
247265
(event: 'cancel', operationData: FileOperationData): void;
248266
(event: 'click', operationData: FileOperationData, status: FileOperationEvents, eventData?: FileOperationEventData): void;

client/src/views/files/FileOperationMenu.vue

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ import {
9292
FileOperationDataType,
9393
FileOperationImportData,
9494
FileOperationMoveData,
95+
FileOperationRestoreData,
9596
} from '@/services/fileOperation';
9697
import { FileEventRegistrationCanceller, FileOperationEventData, FileOperationEvents } from '@/services/fileOperation/events';
9798
import { FileOperationManager, FileOperationManagerKey } from '@/services/fileOperation/manager';
@@ -260,6 +261,15 @@ async function onOperationClick(
260261
selectFile: op.sources.length === 1 ? op.sources.at(0)?.name : undefined,
261262
},
262263
});
264+
} else if (operation.type === FileOperationDataType.Restore && (operation as FileOperationRestoreData).entries.length === 1) {
265+
const op = operation as FileOperationRestoreData;
266+
await navigateTo(Routes.Documents, {
267+
query: {
268+
workspaceHandle: operation.workspaceHandle,
269+
documentPath: op.entries[0].path,
270+
selectFile: op.entries.length === 1 ? op.entries.at(0)?.name : undefined,
271+
},
272+
});
263273
}
264274
}
265275

0 commit comments

Comments
 (0)