mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-04-05 18:23:48 +00:00
- fixed create menu items
- reload team folder after update team member
This commit is contained in:
@@ -341,7 +341,7 @@ return [
|
||||
'context_menu.detail' => 'Detail',
|
||||
'context_menu.download' => 'Download',
|
||||
'context_menu.copy' => 'Copy',
|
||||
'context_menu.empty_trash' => 'Empty Trash',
|
||||
'context_menu.empty_trash' => 'Flush',
|
||||
'context_menu.log_out' => 'Log Out',
|
||||
'context_menu.move' => 'Move',
|
||||
'context_menu.no_options' => 'No Options Available',
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"/js/main.js": "/js/main.js",
|
||||
"/chunks/request.js": "/chunks/request.js?id=2af67d8c5c43f134",
|
||||
"/chunks/request-upload.js": "/chunks/request-upload.js?id=e0449cbbcda80b90",
|
||||
"/chunks/request.js": "/chunks/request.js?id=e962b17f1de9db87",
|
||||
"/chunks/request-upload.js": "/chunks/request-upload.js?id=838bc706adb900ab",
|
||||
"/chunks/setup-wizard.js": "/chunks/setup-wizard.js?id=19a0784e59d768ec",
|
||||
"/chunks/status-check.js": "/chunks/status-check.js?id=0bcc38e60d97631d",
|
||||
"/chunks/purchase-code.js": "/chunks/purchase-code.js?id=8ce2150648a811b5",
|
||||
@@ -9,13 +9,13 @@
|
||||
"/chunks/environment-setup.js": "/chunks/environment-setup.js?id=7f6a9af36bfcd706",
|
||||
"/chunks/app-setup.js": "/chunks/app-setup.js?id=0df2494d2269a949",
|
||||
"/chunks/admin-account.js": "/chunks/admin-account.js?id=2d131d1d784c98b9",
|
||||
"/chunks/shared.js": "/chunks/shared.js?id=f2c192c97391371f",
|
||||
"/chunks/shared/browser.js": "/chunks/shared/browser.js?id=a6f7ccd14ebd2a9d",
|
||||
"/chunks/shared.js": "/chunks/shared.js?id=fc95b374dd3eabba",
|
||||
"/chunks/shared/browser.js": "/chunks/shared/browser.js?id=7bb384461baaf4f2",
|
||||
"/chunks/shared/single-file.js": "/chunks/shared/single-file.js?id=34e05a8b937a1436",
|
||||
"/chunks/shared/authenticate.js": "/chunks/shared/authenticate.js?id=2b7cf12984397d27",
|
||||
"/chunks/not-found.js": "/chunks/not-found.js?id=36763aa314e00327",
|
||||
"/chunks/temporary-unavailable.js": "/chunks/temporary-unavailable.js?id=a3906226272982b1",
|
||||
"/chunks/admin.js": "/chunks/admin.js?id=5cd297961893d763",
|
||||
"/chunks/admin.js": "/chunks/admin.js?id=b5c1b1ee97b4f303",
|
||||
"/chunks/dashboard.js": "/chunks/dashboard.js?id=0ba6b75f07f739e2",
|
||||
"/chunks/invoices.js": "/chunks/invoices.js?id=f89964a5a55ace45",
|
||||
"/chunks/subscriptions.js": "/chunks/subscriptions.js?id=62582c26b6288d7d",
|
||||
@@ -57,18 +57,18 @@
|
||||
"/chunks/sign-up.js": "/chunks/sign-up.js?id=849c274b322f055b",
|
||||
"/chunks/forgotten-password.js": "/chunks/forgotten-password.js?id=3c5ba5865e21da37",
|
||||
"/chunks/create-new-password.js": "/chunks/create-new-password.js?id=8654bf89e7d9685b",
|
||||
"/chunks/settings.js": "/chunks/settings.js?id=00ec853ab596df83",
|
||||
"/chunks/settings.js": "/chunks/settings.js?id=b6ce85c1860aa6dc",
|
||||
"/chunks/profile.js": "/chunks/profile.js?id=4ba370c98d374788",
|
||||
"/chunks/settings-password.js": "/chunks/settings-password.js?id=11e766eb42e485cf",
|
||||
"/chunks/settings-storage.js": "/chunks/settings-storage.js?id=90ba712f3728443b",
|
||||
"/chunks/billing.js": "/chunks/billing.js?id=f04fe6a3e9fb5c13",
|
||||
"/chunks/platform.js": "/chunks/platform.js?id=1507ffb767e1051e",
|
||||
"/chunks/files.js": "/chunks/files.js?id=d565a247722b32cf",
|
||||
"/chunks/recent-uploads.js": "/chunks/recent-uploads.js?id=cb4e1ea0d8542f6e",
|
||||
"/chunks/my-shared-items.js": "/chunks/my-shared-items.js?id=bb6515223ac84b96",
|
||||
"/chunks/trash.js": "/chunks/trash.js?id=0194fc6ef35b095a",
|
||||
"/chunks/team-folders.js": "/chunks/team-folders.js?id=34775c03f776bf7e",
|
||||
"/chunks/shared-with-me.js": "/chunks/shared-with-me.js?id=5021255692372515",
|
||||
"/chunks/platform.js": "/chunks/platform.js?id=232b0afb07ca0258",
|
||||
"/chunks/files.js": "/chunks/files.js?id=6f7a94e2ce0d29d2",
|
||||
"/chunks/recent-uploads.js": "/chunks/recent-uploads.js?id=84e3cbbe6b2225e7",
|
||||
"/chunks/my-shared-items.js": "/chunks/my-shared-items.js?id=6f9959c2b460d9e8",
|
||||
"/chunks/trash.js": "/chunks/trash.js?id=0e983296c0297aee",
|
||||
"/chunks/team-folders.js": "/chunks/team-folders.js?id=7e8b7a3637b13831",
|
||||
"/chunks/shared-with-me.js": "/chunks/shared-with-me.js?id=4671542d649a73a9",
|
||||
"/chunks/invitation.js": "/chunks/invitation.js?id=d9f64dbf0aad8554",
|
||||
"/css/tailwind.css": "/css/tailwind.css",
|
||||
"/css/app.css": "/css/app.css"
|
||||
|
||||
@@ -13,29 +13,43 @@
|
||||
/>
|
||||
<PopoverItem name="desktop-create" side="left">
|
||||
<OptionGroup
|
||||
:title="$t('Upload')"
|
||||
:class="{
|
||||
'is-inactive': canUploadInView || isTeamFolderHomepage || isSharedWithMeHomepage,
|
||||
}"
|
||||
:title="$t('Frequently Used')"
|
||||
>
|
||||
<OptionUpload :title="$t('actions.upload')" type="file" />
|
||||
<OptionUpload :title="$t('actions.upload_folder')" type="folder" />
|
||||
</OptionGroup>
|
||||
<OptionGroup :title="$t('Create')">
|
||||
<OptionUpload
|
||||
:title="$t('actions.upload')"
|
||||
type="file"
|
||||
:class="{
|
||||
'is-inactive': (isSharedWithMe && !canEdit) || canUploadInView || isTeamFolderHomepage || isSharedWithMeHomepage,
|
||||
}"
|
||||
/>
|
||||
<Option
|
||||
@click.native="$createFolder"
|
||||
:class="{
|
||||
'is-inactive': canCreateFolder || isTeamFolderHomepage || isSharedWithMeHomepage,
|
||||
'is-inactive': (isSharedWithMe && !canEdit) || canCreateFolder || isTeamFolderHomepage || isSharedWithMeHomepage,
|
||||
}"
|
||||
:title="$t('actions.create_folder')"
|
||||
icon="folder-plus"
|
||||
/>
|
||||
</OptionGroup>
|
||||
<OptionGroup :title="$t('Others')">
|
||||
<OptionUpload
|
||||
:class="{
|
||||
'is-inactive': (isSharedWithMe && !canEdit) || canUploadFolderInView || isTeamFolderHomepage || isSharedWithMeHomepage,
|
||||
}"
|
||||
:title="$t('actions.upload_folder')"
|
||||
type="folder"
|
||||
/>
|
||||
<Option
|
||||
@click.stop.native="$createTeamFolder"
|
||||
:class="{ 'is-inactive': canCreateTeamFolder || isSharedWithMeHomepage }"
|
||||
:class="{ 'is-inactive': canCreateTeamFolder }"
|
||||
:title="$t('Create Team Folder')"
|
||||
icon="users"
|
||||
/>
|
||||
<Option
|
||||
@click.native="$createFileRequest"
|
||||
:title="$t('Create File Request')"
|
||||
icon="upload-cloud"
|
||||
/>
|
||||
</OptionGroup>
|
||||
</PopoverItem>
|
||||
</PopoverWrapper>
|
||||
@@ -185,7 +199,7 @@ export default {
|
||||
'user',
|
||||
]),
|
||||
canEdit() {
|
||||
if (this.currentTeamFolder && this.user && this.clipboard[0]) {
|
||||
if (this.currentTeamFolder && this.user) {
|
||||
let member = this.currentTeamFolder.data.relationships.members.data.find(
|
||||
(member) => member.data.id === this.user.data.id
|
||||
)
|
||||
@@ -201,6 +215,9 @@ export default {
|
||||
isTeamFolderHomepage() {
|
||||
return this.$isThisRoute(this.$route, ['TeamFolders']) && !this.$route.params.id
|
||||
},
|
||||
isSharedWithMe() {
|
||||
return this.$isThisRoute(this.$route, ['SharedWithMe'])
|
||||
},
|
||||
isSharedWithMeHomepage() {
|
||||
return this.$isThisRoute(this.$route, ['SharedWithMe']) && !this.$route.params.id
|
||||
},
|
||||
@@ -211,6 +228,9 @@ export default {
|
||||
return this.$isThisRoute(this.$route, ['Files', 'MySharedItems'])
|
||||
},
|
||||
canUploadInView() {
|
||||
return !this.$isThisRoute(this.$route, ['Files', 'RecentUploads', 'Public', 'TeamFolders', 'SharedWithMe'])
|
||||
},
|
||||
canUploadFolderInView() {
|
||||
return !this.$isThisRoute(this.$route, ['Files', 'Public', 'TeamFolders', 'SharedWithMe'])
|
||||
},
|
||||
canDeleteInView() {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<li
|
||||
class="flex items-center justify-between py-3.5 px-5"
|
||||
class="flex items-center justify-between lg:py-3.5 py-4 px-5"
|
||||
:class="{ 'group cursor-pointer hover:bg-light-background dark:hover:bg-4x-dark-foreground': !isHoverDisabled }"
|
||||
>
|
||||
<div class="flex items-center">
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<template>
|
||||
<label
|
||||
class="group flex cursor-pointer items-center py-4 px-5 hover:bg-light-background dark:hover:bg-4x-dark-foreground"
|
||||
class="flex items-center lg:py-3.5 py-4 px-5"
|
||||
:class="{'group cursor-pointer hover:bg-light-background dark:hover:bg-4x-dark-foreground': !isHoverDisabled }"
|
||||
>
|
||||
<div class="mr-4">
|
||||
<upload-cloud-icon v-if="type === 'file'" size="17" class="vue-feather group-hover-text-theme" />
|
||||
@@ -38,7 +39,7 @@ import { UploadCloudIcon } from 'vue-feather-icons'
|
||||
|
||||
export default {
|
||||
name: 'Option',
|
||||
props: ['title', 'type'],
|
||||
props: ['title', 'type', 'isHoverDisabled'],
|
||||
components: {
|
||||
FolderUploadIcon,
|
||||
UploadCloudIcon,
|
||||
|
||||
@@ -16,35 +16,6 @@
|
||||
v-slot="{ invalid }"
|
||||
tag="form"
|
||||
>
|
||||
<!--Send Request by Email-->
|
||||
<AppInputSwitch
|
||||
:title="$t('Send Request by Email')"
|
||||
:description="$t('Send your file request on recipients email')"
|
||||
>
|
||||
<SwitchInput v-model="shareViaEmail" :state="shareViaEmail" />
|
||||
</AppInputSwitch>
|
||||
|
||||
<!--Set email-->
|
||||
<ValidationProvider
|
||||
v-if="shareViaEmail"
|
||||
tag="div"
|
||||
mode="passive"
|
||||
name="Email"
|
||||
rules="required"
|
||||
v-slot="{ errors }"
|
||||
>
|
||||
<AppInputText :error="errors[0]" class="-mt-2">
|
||||
<input
|
||||
v-model="form.email"
|
||||
:class="{ '!border-rose-600': errors[0] }"
|
||||
type="text"
|
||||
ref="input"
|
||||
class="focus-border-theme input-dark"
|
||||
:placeholder="$t('Type email...')"
|
||||
/>
|
||||
</AppInputText>
|
||||
</ValidationProvider>
|
||||
|
||||
<!--Set name-->
|
||||
<ValidationProvider
|
||||
tag="div"
|
||||
@@ -52,7 +23,7 @@
|
||||
name="Name"
|
||||
v-slot="{ errors }"
|
||||
>
|
||||
<AppInputText :title="$t('Folder Name (optional)')" :description="$t('Created folder with files will be named with your own name.')" :error="errors[0]" class="-mt-2">
|
||||
<AppInputText :title="$t('Folder Name (optional)')" :description="$t('Created folder with files will be named with your own name.')" :error="errors[0]">
|
||||
<input
|
||||
v-model="form.name"
|
||||
:class="{ '!border-rose-600': errors[0] }"
|
||||
@@ -66,7 +37,7 @@
|
||||
|
||||
<!--Set note-->
|
||||
<ValidationProvider tag="div" mode="passive" name="Note" v-slot="{ errors }">
|
||||
<AppInputText :title="$t('Message (optional)')" :description="$t('This message will be showed for your email recipient or in the upload page.')" :error="errors[0]" :is-last="true">
|
||||
<AppInputText :title="$t('Message (optional)')" :description="$t('This message will be showed for your email recipient or in the upload page.')" :error="errors[0]">
|
||||
<textarea
|
||||
v-model="form.notes"
|
||||
rows="2"
|
||||
@@ -77,6 +48,36 @@
|
||||
:placeholder="$t('Type message for recipient...')"
|
||||
></textarea>
|
||||
</AppInputText>
|
||||
</ValidationProvider>
|
||||
|
||||
<!--Send Request by Email-->
|
||||
<AppInputSwitch
|
||||
:title="$t('Send Request by Email')"
|
||||
:description="$t('Send your file request on recipients email')"
|
||||
:is-last="! shareViaEmail"
|
||||
>
|
||||
<SwitchInput v-model="shareViaEmail" :state="shareViaEmail" />
|
||||
</AppInputSwitch>
|
||||
|
||||
<!--Set email-->
|
||||
<ValidationProvider
|
||||
v-if="shareViaEmail"
|
||||
tag="div"
|
||||
mode="passive"
|
||||
name="Email"
|
||||
rules="required"
|
||||
v-slot="{ errors }"
|
||||
>
|
||||
<AppInputText :error="errors[0]" class="-mt-2" :is-last="true">
|
||||
<input
|
||||
v-model="form.email"
|
||||
:class="{ '!border-rose-600': errors[0] }"
|
||||
type="text"
|
||||
ref="input"
|
||||
class="focus-border-theme input-dark"
|
||||
:placeholder="$t('Type email...')"
|
||||
/>
|
||||
</AppInputText>
|
||||
</ValidationProvider>
|
||||
</ValidationObserver>
|
||||
|
||||
|
||||
@@ -135,6 +135,7 @@ export default {
|
||||
})
|
||||
.then((response) => {
|
||||
this.$store.commit('UPDATE_ITEM', response.data)
|
||||
this.$store.commit('SET_CURRENT_TEAM_FOLDER', response.data)
|
||||
|
||||
events.$emit('toaster', {
|
||||
type: 'success',
|
||||
|
||||
@@ -1,17 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<MobileContextMenu>
|
||||
<OptionGroup v-if="item && isFolder">
|
||||
<Option
|
||||
@click.native="$toggleFavourites(item)"
|
||||
:title="
|
||||
isInFavourites
|
||||
? $t('context_menu.remove_from_favourites')
|
||||
: $t('context_menu.add_to_favourites')
|
||||
"
|
||||
icon="favourites"
|
||||
/>
|
||||
</OptionGroup>
|
||||
<OptionGroup v-if="item">
|
||||
<Option @click.native="$renameFileOrFolder(item)" :title="$t('context_menu.rename')" icon="rename" />
|
||||
<Option @click.native="$moveFileOrFolder(item)" :title="$t('context_menu.move')" icon="move-item" />
|
||||
@@ -43,21 +32,12 @@
|
||||
</MobileContextMenu>
|
||||
|
||||
<MobileCreateMenu>
|
||||
<OptionGroup :title="$t('Upload')">
|
||||
<OptionGroup :title="$t('Frequently Used')">
|
||||
<OptionUpload
|
||||
:title="$t('actions.upload')"
|
||||
type="file"
|
||||
:is-hover-disabled="true"
|
||||
/>
|
||||
<OptionUpload :title="$t('actions.upload_folder')" type="folder" />
|
||||
</OptionGroup>
|
||||
<OptionGroup :title="$t('Create')">
|
||||
<Option
|
||||
@click.stop.native="$createTeamFolder"
|
||||
:title="$t('Create Team Folder')"
|
||||
icon="users"
|
||||
:is-hover-disabled="true"
|
||||
/>
|
||||
<Option
|
||||
@click.stop.native="$createFolderByPopup"
|
||||
:title="$t('actions.create_folder')"
|
||||
@@ -65,6 +45,20 @@
|
||||
:is-hover-disabled="true"
|
||||
/>
|
||||
</OptionGroup>
|
||||
<OptionGroup :title="$t('Others')">
|
||||
<Option
|
||||
@click.stop.native="$createTeamFolder"
|
||||
:title="$t('Create Team Folder')"
|
||||
icon="users"
|
||||
:is-hover-disabled="true"
|
||||
/>
|
||||
<Option
|
||||
@click.native="$createFileRequest"
|
||||
:title="$t('Create File Request')"
|
||||
icon="upload-cloud"
|
||||
:is-hover-disabled="true"
|
||||
/>
|
||||
</OptionGroup>
|
||||
</MobileCreateMenu>
|
||||
|
||||
<MobileMultiSelectToolbar>
|
||||
|
||||
@@ -63,17 +63,6 @@
|
||||
</ContextMenu>
|
||||
|
||||
<MobileContextMenu>
|
||||
<OptionGroup v-if="isFolder">
|
||||
<Option
|
||||
@click.native="$toggleFavourites(item)"
|
||||
:title="
|
||||
isInFavourites
|
||||
? $t('context_menu.remove_from_favourites')
|
||||
: $t('context_menu.add_to_favourites')
|
||||
"
|
||||
icon="favourites"
|
||||
/>
|
||||
</OptionGroup>
|
||||
<OptionGroup>
|
||||
<Option @click.native="$renameFileOrFolder(item)" :title="$t('context_menu.rename')" icon="rename" />
|
||||
<Option @click.native="$deleteFileOrFolder(item)" :title="$t('context_menu.delete')" icon="trash" />
|
||||
|
||||
@@ -12,11 +12,8 @@
|
||||
</MobileContextMenu>
|
||||
|
||||
<MobileCreateMenu>
|
||||
<OptionGroup :title="$t('Upload')">
|
||||
<OptionGroup :title="$t('Frequently Used')">
|
||||
<OptionUpload :title="$t('actions.upload')" type="file" :is-hover-disabled="true" />
|
||||
<OptionUpload :title="$t('actions.upload_folder')" type="folder" :is-hover-disabled="true" />
|
||||
</OptionGroup>
|
||||
<OptionGroup :title="$t('Create')">
|
||||
<Option
|
||||
@click.stop.native="createFolder"
|
||||
:title="$t('actions.create_folder')"
|
||||
|
||||
@@ -1,18 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<MobileContextMenu>
|
||||
<OptionGroup v-if="item && isFolder">
|
||||
<Option
|
||||
@click.native="$toggleFavourites(item)"
|
||||
:title="
|
||||
isInFavourites
|
||||
? $t('context_menu.remove_from_favourites')
|
||||
: $t('context_menu.add_to_favourites')
|
||||
"
|
||||
icon="favourites"
|
||||
/>
|
||||
</OptionGroup>
|
||||
|
||||
<OptionGroup v-if="item">
|
||||
<Option @click.native="$renameFileOrFolder(item)" :title="$t('context_menu.rename')" icon="rename" />
|
||||
<Option @click.native="$moveFileOrFolder(item)" :title="$t('context_menu.move')" icon="move-item" />
|
||||
@@ -26,10 +14,16 @@
|
||||
/>
|
||||
<Option
|
||||
@click.native="$updateTeamFolder(item)"
|
||||
v-if="isFolder"
|
||||
v-if="isFolder && (isTeamFolderHomepage || currentTeamFolder.data.id === item.data.id)"
|
||||
:title="$t('Edit Team Members')"
|
||||
icon="users"
|
||||
/>
|
||||
<Option
|
||||
@click.native="$createFileRequest(item)"
|
||||
v-if="isFolder"
|
||||
:title="$t('File Request')"
|
||||
icon="upload-cloud"
|
||||
/>
|
||||
</OptionGroup>
|
||||
|
||||
<OptionGroup v-if="item">
|
||||
@@ -38,21 +32,21 @@
|
||||
</MobileContextMenu>
|
||||
|
||||
<MobileCreateMenu>
|
||||
<OptionGroup :title="$t('Upload')">
|
||||
<OptionUpload :title="$t('actions.upload')" type="file" :is-hover-disabled="true" />
|
||||
<OptionUpload :title="$t('actions.upload_folder')" type="folder" :is-hover-disabled="true" />
|
||||
</OptionGroup>
|
||||
<OptionGroup :title="$t('Create')">
|
||||
<Option
|
||||
@click.stop.native="$createTeamFolder"
|
||||
:title="$t('Create Team Folder')"
|
||||
icon="users"
|
||||
:is-hover-disabled="true"
|
||||
/>
|
||||
<OptionGroup :title="$t('Frequently Used')">
|
||||
<OptionUpload :title="$t('actions.upload')" type="file" :is-hover-disabled="true" :class="{'is-inactive': isTeamFolderHomepage}" />
|
||||
<Option
|
||||
@click.stop.native="$createFolderByPopup"
|
||||
:title="$t('actions.create_folder')"
|
||||
icon="folder-plus"
|
||||
:is-hover-disabled="true"
|
||||
:class="{'is-inactive': isTeamFolderHomepage}"
|
||||
/>
|
||||
</OptionGroup>
|
||||
<OptionGroup :title="$t('Others')">
|
||||
<Option
|
||||
@click.stop.native="$createTeamFolder"
|
||||
:title="$t('Create Team Folder')"
|
||||
icon="users"
|
||||
:is-hover-disabled="true"
|
||||
/>
|
||||
</OptionGroup>
|
||||
@@ -139,6 +133,12 @@
|
||||
:title="$t('Edit Team Members')"
|
||||
icon="users"
|
||||
/>
|
||||
<Option
|
||||
@click.native="$createFileRequest(item)"
|
||||
v-if="isFolder"
|
||||
:title="$t('File Request')"
|
||||
icon="upload-cloud"
|
||||
/>
|
||||
</OptionGroup>
|
||||
<OptionGroup>
|
||||
<Option @click.native="$openInDetailPanel(item)" :title="$t('context_menu.detail')" icon="detail" />
|
||||
|
||||
@@ -1221,7 +1221,7 @@ class SetupDevEnvironment extends Command
|
||||
[
|
||||
'parent_id' => $folder->id,
|
||||
'user_id' => $johan->id,
|
||||
'permission' => 'owner',
|
||||
'permission' => 'can-edit',
|
||||
],
|
||||
]);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user