Skip to content

Commit

Permalink
Implement copy&paste logic
Browse files Browse the repository at this point in the history
  • Loading branch information
lookacat committed Jun 7, 2022
1 parent f3f1b47 commit 238a2a1
Show file tree
Hide file tree
Showing 2 changed files with 83 additions and 7 deletions.
69 changes: 63 additions & 6 deletions packages/web-app-files/src/helpers/resource/move.ts
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,56 @@ export const move = async (
showMessage,
$gettext,
$gettextInterpolate,
$ngettext
$ngettext,
) => {
return await copyMoveResource(
resourcesToMove,
targetFolder,
client,
createModal,
hideModal,
showMessage,
$gettext,
$gettextInterpolate,
$ngettext,
false
)
}
export const copy = async (
resourcesToMove,
targetFolder,
client,
createModal,
hideModal,
showMessage,
$gettext,
$gettextInterpolate,
$ngettext,
) => {
return await copyMoveResource(
resourcesToMove,
targetFolder,
client,
createModal,
hideModal,
showMessage,
$gettext,
$gettextInterpolate,
$ngettext,
true
)
}
export const copyMoveResource = async (
resourcesToMove,
targetFolder,
client,
createModal,
hideModal,
showMessage,
$gettext,
$gettextInterpolate,
$ngettext,
copy=false
) => {
const errors = []
const resolvedConflicts = await resolveAllConflicts(
Expand Down Expand Up @@ -206,11 +255,19 @@ export const move = async (
}
}
try {
await client.files.move(
resource.webDavPath,
join(targetFolder.webDavPath, targetName),
overwriteTarget
)
if(copy) {
await client.files.copy(
resource.webDavPath,
join(targetFolder.webDavPath, targetName),
overwriteTarget
)
}else {
await client.files.move(
resource.webDavPath,
join(targetFolder.webDavPath, targetName),
overwriteTarget
)
}
movedResources.push(resource)
} catch (error) {
console.error(error)
Expand Down
21 changes: 20 additions & 1 deletion packages/web-app-files/src/store/actions.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import {
buildSpace
} from '../helpers/resources'
import { $gettext, $gettextInterpolate } from '../gettext'
import { loadPreview, move } from '../helpers/resource'
import { loadPreview, move, copy } from '../helpers/resource'
import { avatarUrl } from '../helpers/user'
import { has } from 'lodash-es'
import { ShareTypes, SpacePeopleShareRoles } from '../helpers/share'
Expand Down Expand Up @@ -77,6 +77,25 @@ export default {
)
upsertResource(movedResources[0])
}
if (context.state.clipboardAction === 'copy') {
const movedResources = await copy(
context.state.clipboardResources,
context.state.currentFolder,
client,
createModal,
hideModal,
showMessage,
$gettext,
$gettextInterpolate,
$ngettext
)
context.commit('CLEAR_CLIPBOARD')
movedResources[0].path = pathUtil.join(
context.state.currentFolder.path,
movedResources[0].name
)
upsertResource(movedResources[0])
}
},
resetFileSelection(context) {
context.commit('RESET_SELECTION')
Expand Down

0 comments on commit 238a2a1

Please sign in to comment.