mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-04-06 02:33:48 +00:00
- Folder tree in navigator now has correct ordering with folder list in file view
- added translation to alert popup - SCOUT_QUEUE default to true
This commit is contained in:
@@ -198,6 +198,7 @@ class User extends Authenticatable
|
||||
return FileManagerFolder::with(['folders.shared', 'shared:token,id,item_id,permission,protected,expire_in'])
|
||||
->where('parent_id', 0)
|
||||
->where('user_id', $this->id)
|
||||
->orderByDesc('created_at')
|
||||
->get();
|
||||
}
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ return [
|
||||
|
|
||||
*/
|
||||
|
||||
'queue' => env('SCOUT_QUEUE', false),
|
||||
'queue' => env('SCOUT_QUEUE', true),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
||||
@@ -1,65 +1,87 @@
|
||||
{
|
||||
"/chunks/files~chunks/shared-files~chunks/shared-page.js": "/chunks/files~chunks/shared-files~chunks/shared-page.js?id=41af466b1f4273001d7c",
|
||||
"/js/main.js": "/js/main.js?id=0d14ab3cf3a4d202ddad",
|
||||
"/css/app.css": "/css/app.css?id=f8c73c820aec223765b3",
|
||||
"/chunks/admin.js": "/chunks/admin.js?id=30267f37fc2ee75dbd7a",
|
||||
"/chunks/admin-account.js": "/chunks/admin-account.js?id=23a7cfd36a51c3108c97",
|
||||
"/chunks/app-appearance.js": "/chunks/app-appearance.js?id=6e9fb4caf19c3b9c37a2",
|
||||
"/chunks/app-billings.js": "/chunks/app-billings.js?id=5d361c9f75b7c7872983",
|
||||
"/chunks/app-email.js": "/chunks/app-email.js?id=8850f09b2db5fdc3277b",
|
||||
"/chunks/app-index.js": "/chunks/app-index.js?id=aca4089fe408efe5cffe",
|
||||
"/chunks/app-others.js": "/chunks/app-others.js?id=07873e46aeb50d72ff4d",
|
||||
"/chunks/app-payments.js": "/chunks/app-payments.js?id=1d4de15342581e2e8fd5",
|
||||
"/chunks/app-settings.js": "/chunks/app-settings.js?id=e3d9880ee3e81686d7a7",
|
||||
"/chunks/app-setup.js": "/chunks/app-setup.js?id=9f7296a31778d3f91d03",
|
||||
"/chunks/billings-detail.js": "/chunks/billings-detail.js?id=1f0a7d35c12bc9c55bf0",
|
||||
"/chunks/contact-us.js": "/chunks/contact-us.js?id=a5150dcf81c8e1ab23a4",
|
||||
"/chunks/create-new-password.js": "/chunks/create-new-password.js?id=58c543c4f92b5ca9a284",
|
||||
"/chunks/dashboard.js": "/chunks/dashboard.js?id=c7bc864167d4f66fe171",
|
||||
"/chunks/database.js": "/chunks/database.js?id=d9c01852701bebeb6823",
|
||||
"/chunks/dynamic-page.js": "/chunks/dynamic-page.js?id=08a0c2de8f93e0222600",
|
||||
"/chunks/environment-setup.js": "/chunks/environment-setup.js?id=e1b7c5899f04051746b2",
|
||||
"/chunks/files.js": "/chunks/files.js?id=1b7a8cdb019ffb1f4e01",
|
||||
"/chunks/forgotten-password.js": "/chunks/forgotten-password.js?id=7ff98232e7b4cc5d2c2a",
|
||||
"/chunks/installation-disclaimer.js": "/chunks/installation-disclaimer.js?id=4299b18a1c2e8d4290e9",
|
||||
"/chunks/invoices.js": "/chunks/invoices.js?id=38bb6599098c0546af78",
|
||||
"/chunks/landing-page.js": "/chunks/landing-page.js?id=193e04f070db423f74d0",
|
||||
"/chunks/not-found-shared.js": "/chunks/not-found-shared.js?id=53d4f9c58bdac1e568c7",
|
||||
"/chunks/page-edit.js": "/chunks/page-edit.js?id=43423a35c4cc6ff303d7",
|
||||
"/chunks/pages.js": "/chunks/pages.js?id=577701e480c9c4822d0e",
|
||||
"/chunks/plan.js": "/chunks/plan.js?id=847d80475259bf406a7b",
|
||||
"/chunks/plan-create.js": "/chunks/plan-create.js?id=4b0287960ac5a412a035",
|
||||
"/chunks/plan-delete.js": "/chunks/plan-delete.js?id=80045ea6ac5f363093ae",
|
||||
"/chunks/plan-settings.js": "/chunks/plan-settings.js?id=04ae9080882a5e768704",
|
||||
"/chunks/plan-subscribers.js": "/chunks/plan-subscribers.js?id=a3b7031fb88c457f2b04",
|
||||
"/chunks/plans.js": "/chunks/plans.js?id=eaad048a451823f8a446",
|
||||
"/chunks/profile.js": "/chunks/profile.js?id=7a7b9b376fb0063f0074",
|
||||
"/chunks/purchase-code.js": "/chunks/purchase-code.js?id=38fd64171bb89640c22d",
|
||||
"/chunks/settings.js": "/chunks/settings.js?id=da4b9c0158d113702541",
|
||||
"/chunks/settings-create-payment-methods.js": "/chunks/settings-create-payment-methods.js?id=591c3d3e6d9814e957bf",
|
||||
"/chunks/settings-invoices.js": "/chunks/settings-invoices.js?id=9168282b651f72d2f2aa",
|
||||
"/chunks/settings-password.js": "/chunks/settings-password.js?id=977cb91885e63a15b7ba",
|
||||
"/chunks/settings-payment-methods.js": "/chunks/settings-payment-methods.js?id=0b5cfc3e5290bdd2cc4f",
|
||||
"/chunks/settings-storage.js": "/chunks/settings-storage.js?id=380d3bfdfa2326444ef9",
|
||||
"/chunks/settings-subscription.js": "/chunks/settings-subscription.js?id=99682d85d30b2d6f46b7",
|
||||
"/chunks/setup-wizard.js": "/chunks/setup-wizard.js?id=47090233afc7b0cdf855",
|
||||
"/chunks/shared-files.js": "/chunks/shared-files.js?id=8206e3b2e1011455d406",
|
||||
"/chunks/shared-page.js": "/chunks/shared-page.js?id=6782abbfd2c43f37dad9",
|
||||
"/chunks/sign-in.js": "/chunks/sign-in.js?id=ec080714b24154cf1081",
|
||||
"/chunks/sign-up.js": "/chunks/sign-up.js?id=0d8b571bcf5a54f073fd",
|
||||
"/chunks/stripe-credentials.js": "/chunks/stripe-credentials.js?id=d62e8ecdbb0c45be9d27",
|
||||
"/chunks/subscription-plans.js": "/chunks/subscription-plans.js?id=01f83b986d87cf9d7c4e",
|
||||
"/chunks/subscription-service.js": "/chunks/subscription-service.js?id=f7ad97672e4c3aebaee6",
|
||||
"/chunks/upgrade.js": "/chunks/upgrade.js?id=b742eda77c2ba257a7a0",
|
||||
"/chunks/upgrade-billing.js": "/chunks/upgrade-billing.js?id=8b5dc6a6947384a903ea",
|
||||
"/chunks/upgrade-plan.js": "/chunks/upgrade-plan.js?id=001a77d89b37f23bc9d7",
|
||||
"/chunks/user.js": "/chunks/user.js?id=fbca3a769bd00a28c777",
|
||||
"/chunks/user-create.js": "/chunks/user-create.js?id=e78773c0c7a5da4f4e0a",
|
||||
"/chunks/user-delete.js": "/chunks/user-delete.js?id=ae185fc4ad035c7a4d99",
|
||||
"/chunks/user-detail.js": "/chunks/user-detail.js?id=08393537e5264c994764",
|
||||
"/chunks/user-invoices.js": "/chunks/user-invoices.js?id=f1fca4967545a2be5db9",
|
||||
"/chunks/user-password.js": "/chunks/user-password.js?id=646e5cb76aab50d51c16",
|
||||
"/chunks/user-storage.js": "/chunks/user-storage.js?id=c3f72412f350e51a9ecd",
|
||||
"/chunks/user-subscription.js": "/chunks/user-subscription.js?id=526de31006f799134093",
|
||||
"/chunks/users.js": "/chunks/users.js?id=9a0a7dc6fac9084764f8"
|
||||
"/js/main.js": "/js/main.js",
|
||||
"/css/app.css": "/css/app.css",
|
||||
"/chunks/admin.js": "/chunks/admin.js?id=5807ec412746448047f9",
|
||||
"/chunks/admin-account.js": "/chunks/admin-account.js?id=d820e99a25f40cc97570",
|
||||
"/chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chu~2d9ff916.js": "/chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chu~2d9ff916.js?id=1ad1b7b56512338223eb",
|
||||
"/chunks/admin-account~chunks/app-setup~chunks/billings-detail~chunks/create-new-password~chunks/datab~01aef58e.js": "/chunks/admin-account~chunks/app-setup~chunks/billings-detail~chunks/create-new-password~chunks/datab~01aef58e.js?id=6c02fe91a2e167b63a98",
|
||||
"/chunks/admin~chunks/files~chunks/settings~chunks/shared-files~chunks/shared-page.js": "/chunks/admin~chunks/files~chunks/settings~chunks/shared-files~chunks/shared-page.js?id=312acc0ff7daa010eea5",
|
||||
"/chunks/app-appearance.js": "/chunks/app-appearance.js?id=03e587de7dd10fba3ead",
|
||||
"/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~605f4c49.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~605f4c49.js?id=fd3c7242b5c765b469e4",
|
||||
"/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~8cc7d96f.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~8cc7d96f.js?id=ebb1b6ed1df237b56cd9",
|
||||
"/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~b9e5655a.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~b9e5655a.js?id=9df028786df5d3279ab9",
|
||||
"/chunks/app-billings.js": "/chunks/app-billings.js?id=2b87899e656ed382d260",
|
||||
"/chunks/app-email.js": "/chunks/app-email.js?id=2e5a1b525d335367cfc1",
|
||||
"/chunks/app-index.js": "/chunks/app-index.js?id=05747ca2c86a1daea9cd",
|
||||
"/chunks/app-others.js": "/chunks/app-others.js?id=55e1ec30bdca87c1adef",
|
||||
"/chunks/app-payments.js": "/chunks/app-payments.js?id=796c7c2cfb9c6c39c8a7",
|
||||
"/chunks/app-settings.js": "/chunks/app-settings.js?id=b85ce942737e25c37b8a",
|
||||
"/chunks/app-settings~chunks/dashboard~chunks/invoices~chunks/page-edit~chunks/pages~chunks/plan~chunk~8a0e1d25.js": "/chunks/app-settings~chunks/dashboard~chunks/invoices~chunks/page-edit~chunks/pages~chunks/plan~chunk~8a0e1d25.js?id=99eb5ed6af46738c97e0",
|
||||
"/chunks/app-setup.js": "/chunks/app-setup.js?id=78bbf0b2065cf270dbe6",
|
||||
"/chunks/billings-detail.js": "/chunks/billings-detail.js?id=573e29a00589cb5d3489",
|
||||
"/chunks/contact-us.js": "/chunks/contact-us.js?id=7ded3c3e9668eea6c15c",
|
||||
"/chunks/contact-us~chunks/dynamic-page~chunks/landing-page.js": "/chunks/contact-us~chunks/dynamic-page~chunks/landing-page.js?id=96ac1ede73f3fc9afa37",
|
||||
"/chunks/create-new-password.js": "/chunks/create-new-password.js?id=278eef02eace89698f20",
|
||||
"/chunks/dashboard.js": "/chunks/dashboard.js?id=67d8b906c2200d7ddeb0",
|
||||
"/chunks/dashboard~chunks/invoices~chunks/pages~chunks/plan-subscribers~chunks/plans~chunks/settings-i~0e2a0654.js": "/chunks/dashboard~chunks/invoices~chunks/pages~chunks/plan-subscribers~chunks/plans~chunks/settings-i~0e2a0654.js?id=d7795f20187163939276",
|
||||
"/chunks/database.js": "/chunks/database.js?id=c7aa7caa9126b1ecdffa",
|
||||
"/chunks/dynamic-page.js": "/chunks/dynamic-page.js?id=1d8ee4bfbcde69c97021",
|
||||
"/chunks/environment-setup.js": "/chunks/environment-setup.js?id=86093752b39920044fda",
|
||||
"/chunks/files.js": "/chunks/files.js?id=5b67bf937fbdaf671618",
|
||||
"/chunks/files~chunks/settings-subscription~chunks/shared-files~chunks/shared-page~chunks/user-subscription.js": "/chunks/files~chunks/settings-subscription~chunks/shared-files~chunks/shared-page~chunks/user-subscription.js?id=e285e842f58178d681c4",
|
||||
"/chunks/files~chunks/shared-files~chunks/shared-page.js": "/chunks/files~chunks/shared-files~chunks/shared-page.js?id=aa4de4e667af0da539c3",
|
||||
"/chunks/files~chunks/shared-page.js": "/chunks/files~chunks/shared-page.js?id=825fdc29b64056380220",
|
||||
"/chunks/forgotten-password.js": "/chunks/forgotten-password.js?id=06fc72f0d9a057bb8f18",
|
||||
"/chunks/installation-disclaimer.js": "/chunks/installation-disclaimer.js?id=8a5dfc3d2d07db1102db",
|
||||
"/chunks/invoices.js": "/chunks/invoices.js?id=ed09e9eb75df449d92da",
|
||||
"/chunks/landing-page.js": "/chunks/landing-page.js?id=dabf50b10edb2ae2f388",
|
||||
"/chunks/not-found-shared.js": "/chunks/not-found-shared.js?id=6666b81edc5ff6f60e82",
|
||||
"/chunks/page-edit.js": "/chunks/page-edit.js?id=f7e24a5841604313332a",
|
||||
"/chunks/pages.js": "/chunks/pages.js?id=fd95e621e5a9de421d34",
|
||||
"/chunks/plan.js": "/chunks/plan.js?id=cc041fb9c2cb9ad8f0ff",
|
||||
"/chunks/plan-create.js": "/chunks/plan-create.js?id=a66d8ae3a6edd08b755b",
|
||||
"/chunks/plan-delete.js": "/chunks/plan-delete.js?id=0732885b6e0839afe66e",
|
||||
"/chunks/plan-settings.js": "/chunks/plan-settings.js?id=445ca1affcefaf37cbfc",
|
||||
"/chunks/plan-subscribers.js": "/chunks/plan-subscribers.js?id=8372954a6c160302859d",
|
||||
"/chunks/plans.js": "/chunks/plans.js?id=33aeae014e80cf2dd177",
|
||||
"/chunks/profile.js": "/chunks/profile.js?id=b91a5757f57bdaee120d",
|
||||
"/chunks/profile~chunks/settings-password.js": "/chunks/profile~chunks/settings-password.js?id=a44394b1fa09f996a9fd",
|
||||
"/chunks/purchase-code.js": "/chunks/purchase-code.js?id=8c92667fa59dc9fd7ac7",
|
||||
"/chunks/settings.js": "/chunks/settings.js?id=0be829a409b9cbcb9bfc",
|
||||
"/chunks/settings-create-payment-methods.js": "/chunks/settings-create-payment-methods.js?id=25225a758b04d6d48617",
|
||||
"/chunks/settings-invoices.js": "/chunks/settings-invoices.js?id=c7499d2d79bf9620dfa5",
|
||||
"/chunks/settings-password.js": "/chunks/settings-password.js?id=015ead5623aee1a543cf",
|
||||
"/chunks/settings-payment-methods.js": "/chunks/settings-payment-methods.js?id=7c45369792974d83352e",
|
||||
"/chunks/settings-storage.js": "/chunks/settings-storage.js?id=013b6f15f907caaecd1e",
|
||||
"/chunks/settings-subscription.js": "/chunks/settings-subscription.js?id=6172a89afe3b27cb76cd",
|
||||
"/chunks/setup-wizard.js": "/chunks/setup-wizard.js?id=99b4f321902fe6b0eb23",
|
||||
"/chunks/shared-files.js": "/chunks/shared-files.js?id=a1262ec81010fb16f1e8",
|
||||
"/chunks/shared-page.js": "/chunks/shared-page.js?id=1843d4b70b6a1f2ee744",
|
||||
"/chunks/sign-in.js": "/chunks/sign-in.js?id=ddb0ae9561462e691ce3",
|
||||
"/chunks/sign-up.js": "/chunks/sign-up.js?id=be89f6dcf7372d23668f",
|
||||
"/chunks/stripe-credentials.js": "/chunks/stripe-credentials.js?id=0e09f1509a73646c3198",
|
||||
"/chunks/subscription-plans.js": "/chunks/subscription-plans.js?id=7a4e1ba1d08b0bb37453",
|
||||
"/chunks/subscription-service.js": "/chunks/subscription-service.js?id=f672876adcf877e6e126",
|
||||
"/chunks/upgrade.js": "/chunks/upgrade.js?id=1c94ed3f8c2c366f730b",
|
||||
"/chunks/upgrade-billing.js": "/chunks/upgrade-billing.js?id=638ac716c4995894563c",
|
||||
"/chunks/upgrade-billing~chunks/upgrade-plan.js": "/chunks/upgrade-billing~chunks/upgrade-plan.js?id=7e805915ede7c330c6d1",
|
||||
"/chunks/upgrade-plan.js": "/chunks/upgrade-plan.js?id=ecc3c773b7c8ff422cf7",
|
||||
"/chunks/user.js": "/chunks/user.js?id=1e0f9c8cab76e5ef871f",
|
||||
"/chunks/user-create.js": "/chunks/user-create.js?id=fb808e071ab049b55490",
|
||||
"/chunks/user-delete.js": "/chunks/user-delete.js?id=9c7eb4dab2be288cb884",
|
||||
"/chunks/user-detail.js": "/chunks/user-detail.js?id=43545e2d110b40a47756",
|
||||
"/chunks/user-invoices.js": "/chunks/user-invoices.js?id=b05dcb7e7ad2f4959e52",
|
||||
"/chunks/user-password.js": "/chunks/user-password.js?id=57fe622e9a03e834d6fa",
|
||||
"/chunks/user-storage.js": "/chunks/user-storage.js?id=76465e9a36a2ab78eff3",
|
||||
"/chunks/user-subscription.js": "/chunks/user-subscription.js?id=e9528debb38dc1654cef",
|
||||
"/chunks/users.js": "/chunks/users.js?id=05709c5a34d052a69d16",
|
||||
"/js/main.20bb95cdabea8a32786f.hot-update.js": "/js/main.20bb95cdabea8a32786f.hot-update.js",
|
||||
"/chunks/files.20bb95cdabea8a32786f.hot-update.js": "/chunks/files.20bb95cdabea8a32786f.hot-update.js",
|
||||
"/js/main.329e3330d9f1305fee55.hot-update.js": "/js/main.329e3330d9f1305fee55.hot-update.js",
|
||||
"/js/main.e9dde629c4e3bc2ee1e2.hot-update.js": "/js/main.e9dde629c4e3bc2ee1e2.hot-update.js",
|
||||
"/js/main.c654a85fd7545790ca68.hot-update.js": "/js/main.c654a85fd7545790ca68.hot-update.js",
|
||||
"/chunks/files.f866a861dfffb7a28cd5.hot-update.js": "/chunks/files.f866a861dfffb7a28cd5.hot-update.js",
|
||||
"/chunks/files.578c6cbac487a813c614.hot-update.js": "/chunks/files.578c6cbac487a813c614.hot-update.js",
|
||||
"/chunks/files.425c69829cf8b3d39b06.hot-update.js": "/chunks/files.425c69829cf8b3d39b06.hot-update.js",
|
||||
"/chunks/files.f31081ecd5aa4a951b9e.hot-update.js": "/chunks/files.f31081ecd5aa4a951b9e.hot-update.js"
|
||||
}
|
||||
|
||||
@@ -256,6 +256,7 @@
|
||||
},
|
||||
"alerts": {
|
||||
"error_confirm": "哦,出了个问题!",
|
||||
"leave_to_sign_in": "Do you really want to leave?",
|
||||
"success_confirm": "太棒了!"
|
||||
},
|
||||
"context_menu": {
|
||||
|
||||
@@ -258,6 +258,7 @@
|
||||
},
|
||||
"alerts": {
|
||||
"error_confirm": "That’s horrible!",
|
||||
"leave_to_sign_in": "Do you really want to leave?",
|
||||
"success_confirm": "Awesome!"
|
||||
},
|
||||
"context_menu": {
|
||||
|
||||
@@ -258,6 +258,7 @@
|
||||
},
|
||||
"alerts": {
|
||||
"error_confirm": "To je hrozné!",
|
||||
"leave_to_sign_in": "Naozaj chcete odísť?",
|
||||
"success_confirm": "Skvelé!"
|
||||
},
|
||||
"context_menu": {
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<template>
|
||||
<section id="viewport" v-if="user">
|
||||
<section id="viewport" v-if="user">
|
||||
|
||||
<ContentSidebar>
|
||||
|
||||
<!--Empty storage warning-->
|
||||
<ContentGroup v-if="config.storageLimit && storage.used > 95">
|
||||
<UpgradeSidebarBanner />
|
||||
<UpgradeSidebarBanner/>
|
||||
</ContentGroup>
|
||||
|
||||
<!--Locations-->
|
||||
@@ -19,8 +19,7 @@
|
||||
{{ $t('sidebar.home') }}
|
||||
</div>
|
||||
</a>
|
||||
<a class="menu-list-item link" :class="{'is-active': $isThisLocation(['latest'])}"
|
||||
@click="getLatest">
|
||||
<a class="menu-list-item link" :class="{'is-active': $isThisLocation(['latest'])}" @click="getLatest">
|
||||
<div class="icon">
|
||||
<upload-cloud-icon size="17"></upload-cloud-icon>
|
||||
</div>
|
||||
@@ -28,8 +27,7 @@
|
||||
{{ $t('sidebar.latest') }}
|
||||
</div>
|
||||
</a>
|
||||
<a class="menu-list-item link trash" :class="{'is-active-trash': $isThisLocation(['trash', 'trash-root'])}"
|
||||
@click="getTrash">
|
||||
<a class="menu-list-item link trash" :class="{'is-active-trash': $isThisLocation(['trash', 'trash-root'])}" @click="getTrash">
|
||||
<div class="icon">
|
||||
<trash2-icon size="17"></trash2-icon>
|
||||
</div>
|
||||
@@ -45,29 +43,19 @@
|
||||
<span class="empty-note navigator" v-if="tree.length == 0">
|
||||
{{ $t('sidebar.folders_empty') }}
|
||||
</span>
|
||||
<TreeMenuNavigator class="folder-tree" :depth="0" :nodes="items" v-for="items in tree"
|
||||
:key="items.unique_id"/>
|
||||
<TreeMenuNavigator class="folder-tree" :depth="0" :nodes="items" v-for="items in tree" :key="items.unique_id"/>
|
||||
</ContentGroup>
|
||||
|
||||
<!--Favourites-->
|
||||
<ContentGroup :title="$t('sidebar.favourites')" slug="favourites" :can-collapse="true">
|
||||
|
||||
<div class="menu-list-wrapper vertical favourites"
|
||||
:class="{ 'is-dragenter': area }"
|
||||
@dragover.prevent="dragEnter"
|
||||
@dragleave="dragLeave"
|
||||
@drop="dragFinish($event)"
|
||||
>
|
||||
<div class="menu-list-wrapper vertical favourites" :class="{ 'is-dragenter': area }" @dragover.prevent="dragEnter" @dragleave="dragLeave" @drop="dragFinish($event)">
|
||||
<transition-group tag="div" class="menu-list" name="folder-item">
|
||||
<span class="empty-note favourites" v-if="favourites.length == 0" :key="0">
|
||||
{{ $t('sidebar.favourites_empty') }}
|
||||
</span>
|
||||
|
||||
<a @click.stop="openFolder(folder)"
|
||||
class="menu-list-item"
|
||||
:class="{'is-current': (folder && currentFolder) && (currentFolder.unique_id === folder.unique_id)}"
|
||||
v-for="folder in favourites"
|
||||
:key="folder.unique_id">
|
||||
<a @click.stop="openFolder(folder)" class="menu-list-item" :class="{'is-current': (folder && currentFolder) && (currentFolder.unique_id === folder.unique_id)}" v-for="folder in favourites" :key="folder.unique_id">
|
||||
<div>
|
||||
<folder-icon size="17" class="folder-icon"></folder-icon>
|
||||
<span class="label">{{ folder.name }}</span>
|
||||
@@ -85,190 +73,190 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import UpgradeSidebarBanner from '@/components/Others/UpgradeSidebarBanner'
|
||||
import TreeMenuNavigator from '@/components/Others/TreeMenuNavigator'
|
||||
import MultiSelected from '@/components/FilesView/MultiSelected'
|
||||
import ContentFileView from '@/components/Others/ContentFileView'
|
||||
import ContentSidebar from '@/components/Sidebar/ContentSidebar'
|
||||
import ContentGroup from '@/components/Sidebar/ContentGroup'
|
||||
import {mapGetters} from 'vuex'
|
||||
import {events} from '@/bus'
|
||||
import {
|
||||
import UpgradeSidebarBanner from '@/components/Others/UpgradeSidebarBanner'
|
||||
import TreeMenuNavigator from '@/components/Others/TreeMenuNavigator'
|
||||
import MultiSelected from '@/components/FilesView/MultiSelected'
|
||||
import ContentFileView from '@/components/Others/ContentFileView'
|
||||
import ContentSidebar from '@/components/Sidebar/ContentSidebar'
|
||||
import ContentGroup from '@/components/Sidebar/ContentGroup'
|
||||
import { mapGetters } from 'vuex'
|
||||
import { events } from '@/bus'
|
||||
import {
|
||||
UploadCloudIcon,
|
||||
FolderIcon,
|
||||
Trash2Icon,
|
||||
HomeIcon,
|
||||
XIcon
|
||||
} from 'vue-feather-icons'
|
||||
|
||||
export default {
|
||||
name: 'FilesView',
|
||||
components: {
|
||||
UpgradeSidebarBanner,
|
||||
TreeMenuNavigator,
|
||||
ContentFileView,
|
||||
MultiSelected,
|
||||
ContentSidebar,
|
||||
UploadCloudIcon,
|
||||
ContentGroup,
|
||||
FolderIcon,
|
||||
Trash2Icon,
|
||||
HomeIcon,
|
||||
XIcon,
|
||||
} from 'vue-feather-icons'
|
||||
|
||||
export default {
|
||||
name: 'FilesView',
|
||||
components: {
|
||||
UpgradeSidebarBanner,
|
||||
TreeMenuNavigator,
|
||||
ContentFileView,
|
||||
MultiSelected,
|
||||
ContentSidebar,
|
||||
UploadCloudIcon,
|
||||
ContentGroup,
|
||||
FolderIcon,
|
||||
Trash2Icon,
|
||||
HomeIcon,
|
||||
XIcon,
|
||||
XIcon
|
||||
},
|
||||
computed: {
|
||||
...mapGetters(['user', 'homeDirectory', 'currentFolder', 'config', 'fileInfoDetail']),
|
||||
favourites() {
|
||||
return this.user.relationships.favourites.data.attributes.folders
|
||||
},
|
||||
computed: {
|
||||
...mapGetters(['user', 'homeDirectory', 'currentFolder', 'config', 'fileInfoDetail']),
|
||||
favourites() {
|
||||
return this.user.relationships.favourites.data.attributes.folders
|
||||
},
|
||||
tree() {
|
||||
return this.user.relationships.tree.data.attributes.folders
|
||||
},
|
||||
storage() {
|
||||
return this.$store.getters.user.relationships.storage.data.attributes
|
||||
}
|
||||
tree() {
|
||||
return this.user.relationships.tree.data.attributes.folders
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
area: false,
|
||||
draggedItem: undefined,
|
||||
}
|
||||
storage() {
|
||||
return this.$store.getters.user.relationships.storage.data.attributes
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
area: false,
|
||||
draggedItem: undefined
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
getTrash() {
|
||||
this.$store.dispatch('getTrash')
|
||||
},
|
||||
methods: {
|
||||
getTrash() {
|
||||
this.$store.dispatch('getTrash')
|
||||
},
|
||||
getLatest() {
|
||||
this.$store.dispatch('getLatest')
|
||||
},
|
||||
goHome() {
|
||||
this.$store.dispatch('getFolder', [{folder: this.homeDirectory, back: false, init: true}])
|
||||
},
|
||||
openFolder(folder) {
|
||||
this.$store.dispatch('getFolder', [{folder: folder, back: false, init: false}])
|
||||
},
|
||||
dragEnter() {
|
||||
if (this.draggedItem && this.draggedItem.type !== 'folder') return
|
||||
getLatest() {
|
||||
this.$store.dispatch('getLatest')
|
||||
},
|
||||
goHome() {
|
||||
this.$store.dispatch('getFolder', [{ folder: this.homeDirectory, back: false, init: true }])
|
||||
},
|
||||
openFolder(folder) {
|
||||
this.$store.dispatch('getFolder', [{ folder: folder, back: false, init: false }])
|
||||
},
|
||||
dragEnter() {
|
||||
if (this.draggedItem && this.draggedItem.type !== 'folder') return
|
||||
|
||||
if(this.fileInfoDetail.length > 0 && this.fileInfoDetail.find(item => item.type !== 'folder')) return
|
||||
if (this.fileInfoDetail.length > 0 && this.fileInfoDetail.find(item => item.type !== 'folder')) return
|
||||
|
||||
this.area = true
|
||||
},
|
||||
dragLeave() {
|
||||
this.area = false
|
||||
},
|
||||
dragFinish() {
|
||||
this.area = false
|
||||
this.area = true
|
||||
},
|
||||
dragLeave() {
|
||||
this.area = false
|
||||
},
|
||||
dragFinish() {
|
||||
this.area = false
|
||||
|
||||
events.$emit('drop')
|
||||
events.$emit('drop')
|
||||
|
||||
// Check if dragged item is folder
|
||||
if (this.draggedItem && this.draggedItem.type !== 'folder') return
|
||||
// Check if dragged item is folder
|
||||
if (this.draggedItem && this.draggedItem.type !== 'folder') return
|
||||
|
||||
// Check if folder exist in favourites
|
||||
if (this.favourites.find(folder => folder.unique_id == this.draggedItem.unique_id)) return
|
||||
// Check if folder exist in favourites
|
||||
if (this.favourites.find(folder => folder.unique_id == this.draggedItem.unique_id)) return
|
||||
|
||||
// Prevent to move folders to self
|
||||
if(this.fileInfoDetail.length > 0 && this.fileInfoDetail.find(item => item.type !== 'folder')) return
|
||||
|
||||
// Store favourites folder
|
||||
|
||||
//Add to favourites non selected folder
|
||||
if(!this.fileInfoDetail.includes(this.draggedItem)){
|
||||
// Prevent to move folders to self
|
||||
if (this.fileInfoDetail.length > 0 && this.fileInfoDetail.find(item => item.type !== 'folder')) return
|
||||
|
||||
// Store favourites folder
|
||||
|
||||
//Add to favourites non selected folder
|
||||
if (!this.fileInfoDetail.includes(this.draggedItem)) {
|
||||
this.$store.dispatch('addToFavourites', this.draggedItem)
|
||||
}
|
||||
|
||||
//Add to favourites selected folders
|
||||
if(this.fileInfoDetail.includes(this.draggedItem)) {
|
||||
this.$store.dispatch('addToFavourites', null)
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
removeFavourite(folder) {
|
||||
this.$store.dispatch('removeFromFavourites', folder)
|
||||
}
|
||||
|
||||
//Add to favourites selected folders
|
||||
if (this.fileInfoDetail.includes(this.draggedItem)) {
|
||||
this.$store.dispatch('addToFavourites', null)
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
created() {
|
||||
this.goHome()
|
||||
removeFavourite(folder) {
|
||||
this.$store.dispatch('removeFromFavourites', folder)
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.goHome()
|
||||
|
||||
// Listen for dragstart folder items
|
||||
events.$on('dragstart', (item) => { this.draggedItem = item , this.dragInProgress = true})
|
||||
// Listen for dragstart folder items
|
||||
events.$on('dragstart', (item) => {
|
||||
this.draggedItem = item , this.dragInProgress = true
|
||||
})
|
||||
|
||||
events.$on('drop', () => {
|
||||
this.dragInProgress = false
|
||||
})
|
||||
},
|
||||
beforeRouteLeave(to, from, next) {
|
||||
// Inquire user about his willing to step back to sign in page
|
||||
if (to.name === 'SignIn') {
|
||||
const answer = window.confirm('Do you really want to leave?')
|
||||
|
||||
if (answer) {
|
||||
next()
|
||||
} else {
|
||||
next(false)
|
||||
}
|
||||
} else {
|
||||
events.$on('drop', () => {
|
||||
this.dragInProgress = false
|
||||
})
|
||||
},
|
||||
beforeRouteLeave(to, from, next) {
|
||||
// Inquire user about his willing to step back to sign in page
|
||||
if (to.name === 'SignIn') {
|
||||
if (window.confirm(this.$t('alerts.leave_to_sign_in'))) {
|
||||
next()
|
||||
} else {
|
||||
next(false)
|
||||
}
|
||||
},
|
||||
} else {
|
||||
next()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
.empty-note {
|
||||
|
||||
&.navigator {
|
||||
padding: 5px 25px 10px;
|
||||
}
|
||||
|
||||
&.favourites {
|
||||
padding: 5px 23px 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.navigator {
|
||||
width: 100%;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 1024px) {
|
||||
|
||||
.empty-note {
|
||||
|
||||
&.navigator {
|
||||
padding: 5px 25px 10px;
|
||||
padding: 5px 20px 10px;
|
||||
}
|
||||
|
||||
&.favourites {
|
||||
padding: 5px 23px 10px;
|
||||
padding: 5px 18px 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.navigator {
|
||||
width: 100%;
|
||||
overflow-x: auto;
|
||||
}
|
||||
// Transition
|
||||
.folder-item-move {
|
||||
transition: transform 300s ease;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 1024px) {
|
||||
.folder-item-enter-active {
|
||||
transition: all 300ms ease;
|
||||
}
|
||||
|
||||
.empty-note {
|
||||
.folder-item-leave-active {
|
||||
transition: all 300ms;
|
||||
}
|
||||
|
||||
&.navigator {
|
||||
padding: 5px 20px 10px;
|
||||
}
|
||||
.folder-item-enter, .folder-item-leave-to /* .list-leave-active below version 2.1.8 */
|
||||
{
|
||||
opacity: 0;
|
||||
transform: translateX(30px);
|
||||
}
|
||||
|
||||
&.favourites {
|
||||
padding: 5px 18px 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Transition
|
||||
.folder-item-move {
|
||||
transition: transform 300s ease;
|
||||
}
|
||||
|
||||
.folder-item-enter-active {
|
||||
transition: all 300ms ease;
|
||||
}
|
||||
|
||||
.folder-item-leave-active {
|
||||
transition: all 300ms;
|
||||
}
|
||||
|
||||
.folder-item-enter, .folder-item-leave-to /* .list-leave-active below version 2.1.8 */
|
||||
{
|
||||
opacity: 0;
|
||||
transform: translateX(30px);
|
||||
}
|
||||
|
||||
.folder-item-leave-active {
|
||||
position: absolute;
|
||||
}
|
||||
.folder-item-leave-active {
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user