Files
vuefilemanager/resources/js/views/UploadRequest.vue
T
Čarodej 9720d34d6a Merge remote-tracking branch 'origin/master' into light
# Conflicts:
#	.env.testing
#	README.md
#	composer.json
#	composer.lock
#	config/language-translations.php
#	config/vuefilemanager.php
#	public/chunks/admin.js
#	public/chunks/database.js
#	public/chunks/demo.js
#	public/chunks/files.js
#	public/chunks/my-shared-items.js
#	public/chunks/platform.js
#	public/chunks/recent-uploads.js
#	public/chunks/settings-storage.js
#	public/chunks/settings.js
#	public/chunks/shared.js
#	public/chunks/shared/browser.js
#	public/chunks/shared/single-file.js
#	public/chunks/sign-in.js
#	public/chunks/status-check.js
#	public/chunks/trash.js
#	public/chunks/user-storage.js
#	public/css/tailwind.css
#	public/js/main.js
#	public/mix-manifest.json
#	resources/js/components/Subscription/UserFixedSubscriptionDetail.vue
#	resources/js/store/modules/userAuth.js
#	resources/js/views/Admin.vue
#	resources/js/views/Admin/PaymentSettings/PaymentSettingsTab/Payments.vue
#	resources/js/views/Admin/Plans.vue
#	resources/js/views/Admin/Plans/Create/CreateFixedPlan.vue
#	resources/js/views/Admin/Settings/AppSettingsTabs/SignInUp.vue
#	resources/js/views/Demo.vue
#	resources/js/views/Frontpage/Homepage.vue
#	resources/js/views/Platform.vue
#	resources/views/index.blade.php
#	src/App/Console/Commands/SetupWebsocketEnvironment.php
#	src/App/Users/Models/UserLimitation.php
#	src/Domain/RemoteUpload/Controllers/RemoteUploadFileController.php
#	src/Domain/RemoteUpload/Controllers/UploadFilesRemotelyForUploadRequestController.php
#	src/Domain/RemoteUpload/Controllers/VisitorRemoteUploadFileController.php
#	src/Domain/RemoteUpload/Requests/RemoteUploadRequest.php
#	src/Domain/Settings/Controllers/StoreBroadcastServiceCredentialsController.php
#	src/Domain/Settings/Controllers/StorePaymentServiceCredentialsController.php
#	src/Domain/SetupWizard/Controllers/StoreEnvironmentSettingsController.php
#	src/Domain/UploadRequest/Controllers/UploadFilesForUploadRequestController.php
#	src/Support/Upgrading/Controllers/UpgradingVersionsController.php
2022-05-10 16:06:09 +02:00

113 lines
3.7 KiB
Vue

<template>
<div class="lg:flex h-screen lg:overflow-hidden w-full">
<!--On Top of App Components-->
<FilePreview />
<Spotlight />
<ConfirmPopup />
<!--Popups-->
<CreateFolderPopup />
<RemoteUploadPopup />
<RenameItemPopup />
<MoveItemPopup />
<!--Mobile components-->
<FileSortingMobile />
<FileFilterMobile />
<!--Others-->
<DragUI />
<div
@contextmenu.prevent.capture="contextMenu($event, undefined)"
class="lg:flex lg:flex-col lg:w-full lg:px-3.5"
>
<DesktopUploadRequestToolbar v-if="canShowUI" />
<MobileUploadRequestToolBar v-if="canShowUI" />
<!--File list & info sidebar-->
<div class="flex space-x-3 lg:overflow-hidden grow" @drop.stop.prevent="uploadDroppedItems($event)" @dragenter.prevent @dragover.prevent>
<router-view id="file-view" class="relative w-full" :key="$route.fullPath" />
<InfoSidebarUploadRequest v-if="canShowUI && isVisibleSidebar" />
</div>
</div>
</div>
</template>
<script>
import DesktopUploadRequestToolbar from '../components/Layout/Toolbars/DesktopUploadRequestToolbar'
import MobileUploadRequestToolBar from "../components/Layout/Toolbars/MobileUploadRequestToolbar"
import InfoSidebarUploadRequest from "../components/Layout/Sidebars/InfoSidebarUploadRequest"
import FileSortingMobile from '../components/Menus/FileSortingMobile'
import FileFilterMobile from '../components/Menus/FileFilterMobile'
import CreateFolderPopup from '../components/Popups/CreateFolderPopup'
import DesktopToolbar from '../components/Layout/Toolbars/DesktopToolbar'
import ConfirmPopup from "../components/Popups/ConfirmPopup"
import RenameItemPopup from '../components/Popups/RenameItemPopup'
import FilePreview from '../components/FilePreview/FilePreview'
import MoveItemPopup from '../components/Popups/MoveItemPopup'
import Spotlight from '../components/Spotlight/Spotlight'
import DragUI from '../components/UI/Others/DragUI'
import { mapGetters } from 'vuex'
import { events } from '../bus'
import RemoteUploadPopup from "../components/RemoteUpload/RemoteUploadPopup";
export default {
name: 'UploadRequest',
components: {
RemoteUploadPopup,
DesktopUploadRequestToolbar,
MobileUploadRequestToolBar,
InfoSidebarUploadRequest,
CreateFolderPopup,
FileSortingMobile,
FileFilterMobile,
RenameItemPopup,
DesktopToolbar,
MoveItemPopup,
ConfirmPopup,
FilePreview,
Spotlight,
DragUI,
},
computed: {
...mapGetters(['isVisibleSidebar', 'config', 'uploadRequest', 'fileQueue', 'currentFolder']),
canShowUI() {
return (this.uploadRequest && this.uploadRequest.data.attributes.status === 'filling') || this.fileQueue.length > 0
}
},
data() {
return {
isScaledDown: false,
}
},
methods: {
uploadDroppedItems(event) {
this.$uploadDraggedFiles(event, this.currentFolder?.data.id)
},
contextMenu(event, item) {
events.$emit('context-menu:show', event, item)
},
},
mounted() {
// TODO: new scaledown effect
events.$on('mobile-menu:show', () => (this.isScaledDown = true))
events.$on('mobile-menu:hide', () => (this.isScaledDown = false))
events.$on('action:confirmed', (data) => {
if (data.operation === 'close-upload-request')
this.$store.dispatch('closeUploadRequest')
})
this.$store.dispatch('getUploadRequestDetail')
.then((response) => {
if (! this.$route.params.id && response.data.data.attributes.status === 'filling') {
this.$store.dispatch('getUploadRequestFolder')
}
})
},
}
</script>