sorting first commit

This commit is contained in:
Milos Holba
2020-12-05 17:08:57 +01:00
parent 6bc84d4b25
commit ec6087a03c
9 changed files with 274 additions and 192 deletions
+12 -1
View File
@@ -9,6 +9,7 @@ use Illuminate\Support\Str;
use Laravel\Scout\Searchable;
use TeamTNT\TNTSearch\Indexer\TNTIndexer;
use \Illuminate\Database\Eloquent\SoftDeletes;
use Kyslik\ColumnSortable\Sortable;
/**
* App\FileManagerFile
@@ -55,7 +56,7 @@ use \Illuminate\Database\Eloquent\SoftDeletes;
*/
class FileManagerFile extends Model
{
use Searchable, SoftDeletes;
use Searchable, SoftDeletes , Sortable;
public $public_access = null;
@@ -71,6 +72,16 @@ class FileManagerFile extends Model
'metadata' => 'array',
];
/**
* Sortable columns
*
* @var string[]
*/
public $sortable = [
'name',
'created_at',
];
/**
* Set routes with public access
*
+12 -1
View File
@@ -11,6 +11,7 @@ use RecursiveArrayIterator;
use RecursiveIteratorIterator;
use TeamTNT\TNTSearch\Indexer\TNTIndexer;
use \Illuminate\Database\Eloquent\SoftDeletes;
use Kyslik\ColumnSortable\Sortable;
/**
* App\FileManagerFolder
@@ -61,7 +62,7 @@ use \Illuminate\Database\Eloquent\SoftDeletes;
*/
class FileManagerFolder extends Model
{
use Searchable, SoftDeletes;
use Searchable, SoftDeletes , Sortable;
protected $guarded = [
'id'
@@ -71,6 +72,16 @@ class FileManagerFolder extends Model
'items', 'trashed_items'
];
/**
* Sortable columns
*
* @var string[]
*/
public $sortable = [
'name',
'created_at',
];
/**
* Index folder
*
@@ -148,13 +148,15 @@ class BrowseController extends Controller
$folders = FileManagerFolder::with(['parent', 'shared:token,id,item_id,permission,protected,expire_in'])
->where('user_id', $user_id)
->where('parent_id', $unique_id)
->orderBy('created_at', 'DESC')
// ->orderBy('created_at', 'DESC')
->sortable(['name', 'DESC'])
->get();
$files = FileManagerFile::with(['parent', 'shared:token,id,item_id,permission,protected,expire_in'])
->where('user_id', $user_id)
->where('folder_id', $unique_id)
->orderBy('created_at', 'DESC')
// ->orderBy('created_at', 'DESC')
->sortable(['name', 'DESC'])
->get();
// Collect folders and files to single array
+12
View File
@@ -0,0 +1,12 @@
<svg width="13px" height="15px" viewBox="0 0 13 15" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="VueFileManager" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round">
<g id="Storage-Alert-Copy" transform="translate(-888.000000, -238.000000)" stroke="#000000" stroke-width="1.6">
<g id="Sorting-Menu" transform="translate(865.000000, 67.000000)">
<g id="alphabet-icon" transform="translate(24.000000, 172.000000)">
<polyline id="Path" points="11.1999993 13.1999991 5.59999967 0.199999094 0 13.1999991 5.59999967 0.199999094"></polyline>
<line x1="2.25" y1="8" x2="8.75" y2="8" id="Line-2"></line>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 854 B

+18
View File
@@ -0,0 +1,18 @@
<svg v-if="source === 'preview'" size='19'
width="18px" height="18px" viewBox="0 0 18 18" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="VueFileManager" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round">
<g id="Storage-Alert-Copy" transform="translate(-1092.000000, -28.000000)" stroke="#000000" stroke-width="1.4">
<g id="Toolbar" transform="translate(331.000000, 19.000000)">
<g id="Tools" transform="translate(581.000000, 9.000000)">
<g id="sort-icon" transform="translate(181.000000, 1.000000)">
<rect id="Rectangle" x="9.77777778" y="0" width="6.22222222" height="6.22222222"></rect>
<rect id="Rectangle" x="9.77777778" y="9.77777778" width="6.22222222" height="6.22222222"></rect>
<line x1="0" y1="2" x2="6" y2="2" id="Path"></line>
<line x1="0" y1="8" x2="6" y2="8" id="Path"></line>
<line x1="0" y1="14" x2="6" y2="14" id="Path"></line>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

+13 -183
View File
@@ -27,9 +27,10 @@
"/chunks/database.js": "/chunks/database.js?id=0b21e6ff3bac5c963d9a",
"/chunks/dynamic-page.js": "/chunks/dynamic-page.js?id=464c8e70974d492ce7f6",
"/chunks/environment-setup.js": "/chunks/environment-setup.js?id=826fbaa6cc4acab69f5d",
"/chunks/files.js": "/chunks/files.js?id=12e6fd841d32ca1af12f",
"/chunks/files.js": "/chunks/files.js?id=4a8c342f4ebaff88b93c",
"/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=8ccd35de575e8a91d02f",
"/chunks/files~chunks/shared-files~chunks/shared-page.js": "/chunks/files~chunks/shared-files~chunks/shared-page.js?id=51133111dba51005238c",
"/chunks/files~chunks/shared-files.js": "/chunks/files~chunks/shared-files.js?id=89b1ef0899f60355a6ea",
"/chunks/files~chunks/shared-files~chunks/shared-page.js": "/chunks/files~chunks/shared-files~chunks/shared-page.js?id=6d26830448c5744bdcf8",
"/chunks/files~chunks/shared-page.js": "/chunks/files~chunks/shared-page.js?id=ed167949ea9398f0fbeb",
"/chunks/forgotten-password.js": "/chunks/forgotten-password.js?id=aba8c662fbc234892216",
"/chunks/installation-disclaimer.js": "/chunks/installation-disclaimer.js?id=7dfffa0f25308ba70b7a",
@@ -55,7 +56,7 @@
"/chunks/settings-storage.js": "/chunks/settings-storage.js?id=22e7978fe8a5cb488e52",
"/chunks/settings-subscription.js": "/chunks/settings-subscription.js?id=367c9478591c7a4a2889",
"/chunks/setup-wizard.js": "/chunks/setup-wizard.js?id=7da589bd335deefd5f65",
"/chunks/shared-files.js": "/chunks/shared-files.js?id=50538c88a0471fe4db6f",
"/chunks/shared-files.js": "/chunks/shared-files.js?id=07bf2c32935e1d8b9dac",
"/chunks/shared-page.js": "/chunks/shared-page.js?id=19e7fdb00a89d06ee29f",
"/chunks/sign-in.js": "/chunks/sign-in.js?id=703fbd23d18816590337",
"/chunks/sign-up.js": "/chunks/sign-up.js?id=cedca52c29abfb3c58f1",
@@ -75,184 +76,13 @@
"/chunks/user-storage.js": "/chunks/user-storage.js?id=a99910f95c3e39caa78b",
"/chunks/user-subscription.js": "/chunks/user-subscription.js?id=e8ea1e67f9ac0a835ed0",
"/chunks/users.js": "/chunks/users.js?id=aba8837f40fbb79f99b4",
"/chunks/files~chunks/shared-page.3ea0ca7f8dc09201c69f.hot-update.js": "/chunks/files~chunks/shared-page.3ea0ca7f8dc09201c69f.hot-update.js",
"/chunks/files~chunks/shared-page.6190c7b1e74deb924a72.hot-update.js": "/chunks/files~chunks/shared-page.6190c7b1e74deb924a72.hot-update.js",
"/js/main.7beb181e991b8f273d43.hot-update.js": "/js/main.7beb181e991b8f273d43.hot-update.js",
"/js/main.ae51ac28084228e77567.hot-update.js": "/js/main.ae51ac28084228e77567.hot-update.js",
"/js/main.f738f58d6800de51cea1.hot-update.js": "/js/main.f738f58d6800de51cea1.hot-update.js",
"/js/main.1f99d6d40066c5a94140.hot-update.js": "/js/main.1f99d6d40066c5a94140.hot-update.js",
"/js/main.29bd2a3ea56f248c1072.hot-update.js": "/js/main.29bd2a3ea56f248c1072.hot-update.js",
"/chunks/files~chunks/shared-page.97e066ce65be22d0f2f0.hot-update.js": "/chunks/files~chunks/shared-page.97e066ce65be22d0f2f0.hot-update.js",
"/chunks/files~chunks/shared-page.c3d67ff66ed725bcf483.hot-update.js": "/chunks/files~chunks/shared-page.c3d67ff66ed725bcf483.hot-update.js",
"/chunks/files~chunks/shared-page.57cf125f52c8b0446585.hot-update.js": "/chunks/files~chunks/shared-page.57cf125f52c8b0446585.hot-update.js",
"/chunks/files~chunks/shared-page.769fa1a2bcbefa5253b3.hot-update.js": "/chunks/files~chunks/shared-page.769fa1a2bcbefa5253b3.hot-update.js",
"/js/main.5cc4b881f0e6a030eb50.hot-update.js": "/js/main.5cc4b881f0e6a030eb50.hot-update.js",
"/js/main.76f2fce765e011c63700.hot-update.js": "/js/main.76f2fce765e011c63700.hot-update.js",
"/js/main.2a2ba4fe83813e7c2329.hot-update.js": "/js/main.2a2ba4fe83813e7c2329.hot-update.js",
"/js/main.d8bfd24bc3df63dc8857.hot-update.js": "/js/main.d8bfd24bc3df63dc8857.hot-update.js",
"/js/main.c22768bc2f3bb3ec2f41.hot-update.js": "/js/main.c22768bc2f3bb3ec2f41.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.480de0834aab5f65f147.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.480de0834aab5f65f147.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.7e8359aa293529992bb3.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.7e8359aa293529992bb3.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.b87439ebd031365be626.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.b87439ebd031365be626.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.640b6e4227f099b79f72.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.640b6e4227f099b79f72.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.fea04741525042b7b040.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.fea04741525042b7b040.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.fce1de2f852ab9576a6f.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.fce1de2f852ab9576a6f.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.5ec5d0831c13c939b429.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.5ec5d0831c13c939b429.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.26868e8730fb1f560c11.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.26868e8730fb1f560c11.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.91165b341a4deb4810b6.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.91165b341a4deb4810b6.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.ee371a01da60bda9c3b2.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.ee371a01da60bda9c3b2.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.9820f1ec75683c80470d.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.9820f1ec75683c80470d.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.e4682968b9fdd12aa145.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.e4682968b9fdd12aa145.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.b102416a62881e000f44.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.b102416a62881e000f44.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.7ae375b57ca8ff715783.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.7ae375b57ca8ff715783.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.8b7c8cd8aa5f93787de2.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.8b7c8cd8aa5f93787de2.hot-update.js",
"/js/main.96ff5e8fd7c2c51d6ab6.hot-update.js": "/js/main.96ff5e8fd7c2c51d6ab6.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.ba276dd3d3dc7803b9ae.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.ba276dd3d3dc7803b9ae.hot-update.js",
"/js/main.1031624400c3b6afd843.hot-update.js": "/js/main.1031624400c3b6afd843.hot-update.js",
"/js/main.e8f159c76d2f793fa84a.hot-update.js": "/js/main.e8f159c76d2f793fa84a.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.7c5936053338a189fd73.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.7c5936053338a189fd73.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.54b95b833be5d00535b5.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.54b95b833be5d00535b5.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.79dcca5b0df2c9ae8162.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.79dcca5b0df2c9ae8162.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.afcefba0227a3c15074a.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.afcefba0227a3c15074a.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.a548c23d2260c5328df4.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.a548c23d2260c5328df4.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.9afebae5388172863bc1.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.9afebae5388172863bc1.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.4c08da115deb9718b2e7.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.4c08da115deb9718b2e7.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.0c0b49d417445d2d0b5e.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.0c0b49d417445d2d0b5e.hot-update.js",
"/js/main.a1c4195e626ab12ad821.hot-update.js": "/js/main.a1c4195e626ab12ad821.hot-update.js",
"/chunks/admin-account.a1c4195e626ab12ad821.hot-update.js": "/chunks/admin-account.a1c4195e626ab12ad821.hot-update.js",
"/chunks/admin-account~chunks/app-setup~chunks/billings-detail~chunks/create-new-password~chunks/datab~3b77a26e.a1c4195e626ab12ad821.hot-update.js": "/chunks/admin-account~chunks/app-setup~chunks/billings-detail~chunks/create-new-password~chunks/datab~3b77a26e.a1c4195e626ab12ad821.hot-update.js",
"/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~8cc7d96f.a1c4195e626ab12ad821.hot-update.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~8cc7d96f.a1c4195e626ab12ad821.hot-update.js",
"/chunks/app-settings~chunks/dashboard~chunks/invoices~chunks/page-edit~chunks/pages~chunks/plan~chunk~8a0e1d25.a1c4195e626ab12ad821.hot-update.js": "/chunks/app-settings~chunks/dashboard~chunks/invoices~chunks/page-edit~chunks/pages~chunks/plan~chunk~8a0e1d25.a1c4195e626ab12ad821.hot-update.js",
"/chunks/app-setup.a1c4195e626ab12ad821.hot-update.js": "/chunks/app-setup.a1c4195e626ab12ad821.hot-update.js",
"/chunks/billings-detail.a1c4195e626ab12ad821.hot-update.js": "/chunks/billings-detail.a1c4195e626ab12ad821.hot-update.js",
"/chunks/contact-us.a1c4195e626ab12ad821.hot-update.js": "/chunks/contact-us.a1c4195e626ab12ad821.hot-update.js",
"/chunks/database.a1c4195e626ab12ad821.hot-update.js": "/chunks/database.a1c4195e626ab12ad821.hot-update.js",
"/chunks/environment-setup.a1c4195e626ab12ad821.hot-update.js": "/chunks/environment-setup.a1c4195e626ab12ad821.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.a1c4195e626ab12ad821.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.a1c4195e626ab12ad821.hot-update.js",
"/chunks/files~chunks/shared-page.a1c4195e626ab12ad821.hot-update.js": "/chunks/files~chunks/shared-page.a1c4195e626ab12ad821.hot-update.js",
"/chunks/installation-disclaimer.a1c4195e626ab12ad821.hot-update.js": "/chunks/installation-disclaimer.a1c4195e626ab12ad821.hot-update.js",
"/chunks/invoices.a1c4195e626ab12ad821.hot-update.js": "/chunks/invoices.a1c4195e626ab12ad821.hot-update.js",
"/chunks/landing-page.a1c4195e626ab12ad821.hot-update.js": "/chunks/landing-page.a1c4195e626ab12ad821.hot-update.js",
"/chunks/pages.a1c4195e626ab12ad821.hot-update.js": "/chunks/pages.a1c4195e626ab12ad821.hot-update.js",
"/chunks/plans.a1c4195e626ab12ad821.hot-update.js": "/chunks/plans.a1c4195e626ab12ad821.hot-update.js",
"/chunks/profile~chunks/settings-password.a1c4195e626ab12ad821.hot-update.js": "/chunks/profile~chunks/settings-password.a1c4195e626ab12ad821.hot-update.js",
"/chunks/purchase-code.a1c4195e626ab12ad821.hot-update.js": "/chunks/purchase-code.a1c4195e626ab12ad821.hot-update.js",
"/chunks/settings.a1c4195e626ab12ad821.hot-update.js": "/chunks/settings.a1c4195e626ab12ad821.hot-update.js",
"/chunks/shared-page.a1c4195e626ab12ad821.hot-update.js": "/chunks/shared-page.a1c4195e626ab12ad821.hot-update.js",
"/chunks/stripe-credentials.a1c4195e626ab12ad821.hot-update.js": "/chunks/stripe-credentials.a1c4195e626ab12ad821.hot-update.js",
"/chunks/subscription-plans.a1c4195e626ab12ad821.hot-update.js": "/chunks/subscription-plans.a1c4195e626ab12ad821.hot-update.js",
"/chunks/subscription-service.a1c4195e626ab12ad821.hot-update.js": "/chunks/subscription-service.a1c4195e626ab12ad821.hot-update.js",
"/chunks/upgrade.a1c4195e626ab12ad821.hot-update.js": "/chunks/upgrade.a1c4195e626ab12ad821.hot-update.js",
"/chunks/upgrade-billing~chunks/upgrade-plan.a1c4195e626ab12ad821.hot-update.js": "/chunks/upgrade-billing~chunks/upgrade-plan.a1c4195e626ab12ad821.hot-update.js",
"/chunks/users.a1c4195e626ab12ad821.hot-update.js": "/chunks/users.a1c4195e626ab12ad821.hot-update.js",
"/chunks/files~chunks/shared-page.422d77a654132ff1162b.hot-update.js": "/chunks/files~chunks/shared-page.422d77a654132ff1162b.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.404b12f50da9f0f9411f.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.404b12f50da9f0f9411f.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.2bda357a419b66157113.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.2bda357a419b66157113.hot-update.js",
"/js/main.920333698d85eecf7bc3.hot-update.js": "/js/main.920333698d85eecf7bc3.hot-update.js",
"/js/main.4dd07fb2f10de1a40d07.hot-update.js": "/js/main.4dd07fb2f10de1a40d07.hot-update.js",
"/js/main.fc612d60a444ab3617ec.hot-update.js": "/js/main.fc612d60a444ab3617ec.hot-update.js",
"/js/main.77c3bda4f6c9acea87be.hot-update.js": "/js/main.77c3bda4f6c9acea87be.hot-update.js",
"/js/main.2e3d6a050bb9da6b5214.hot-update.js": "/js/main.2e3d6a050bb9da6b5214.hot-update.js",
"/js/main.0ff62e87a7b00084896e.hot-update.js": "/js/main.0ff62e87a7b00084896e.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.ca0dae6bf07adea87c06.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.ca0dae6bf07adea87c06.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.dbe05c7715aeb548380b.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.dbe05c7715aeb548380b.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.92b399d62418089a6ae7.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.92b399d62418089a6ae7.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.def2f268ccfb64d283d3.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.def2f268ccfb64d283d3.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.79a89f59a5e16f227377.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.79a89f59a5e16f227377.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.0972c3ed79bd045c5998.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.0972c3ed79bd045c5998.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.3b3579b8c2a237e4c270.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.3b3579b8c2a237e4c270.hot-update.js",
"/js/main.669de1239f2b7dca05b0.hot-update.js": "/js/main.669de1239f2b7dca05b0.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.37a2a64b33a4b4455393.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.37a2a64b33a4b4455393.hot-update.js",
"/js/main.81e0bda4a383bed7a7cb.hot-update.js": "/js/main.81e0bda4a383bed7a7cb.hot-update.js",
"/js/main.e43e4e78edbbab166af3.hot-update.js": "/js/main.e43e4e78edbbab166af3.hot-update.js",
"/js/main.6e5ccc4b12fbcde5f9a2.hot-update.js": "/js/main.6e5ccc4b12fbcde5f9a2.hot-update.js",
"/js/main.852e77039e11331d2b75.hot-update.js": "/js/main.852e77039e11331d2b75.hot-update.js",
"/js/main.7943dce133a3db64ce62.hot-update.js": "/js/main.7943dce133a3db64ce62.hot-update.js",
"/js/main.57b5462076dd0836c98b.hot-update.js": "/js/main.57b5462076dd0836c98b.hot-update.js",
"/js/main.5b5892a118e219e9cd0c.hot-update.js": "/js/main.5b5892a118e219e9cd0c.hot-update.js",
"/js/main.6af3a3366db7e1113e88.hot-update.js": "/js/main.6af3a3366db7e1113e88.hot-update.js",
"/js/main.6073e55a45f5e438e326.hot-update.js": "/js/main.6073e55a45f5e438e326.hot-update.js",
"/js/main.20e9b71635ae419e9e2f.hot-update.js": "/js/main.20e9b71635ae419e9e2f.hot-update.js",
"/js/main.2f599e69b98e849da14d.hot-update.js": "/js/main.2f599e69b98e849da14d.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.3516b34b8482490fb26b.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.3516b34b8482490fb26b.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.9cdd3cc511801a35dbd1.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.9cdd3cc511801a35dbd1.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.e7ce1b323a6f505db42b.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.e7ce1b323a6f505db42b.hot-update.js",
"/js/main.f2891ebfe5c12f67543b.hot-update.js": "/js/main.f2891ebfe5c12f67543b.hot-update.js",
"/js/main.203f4b690856e2fea8fc.hot-update.js": "/js/main.203f4b690856e2fea8fc.hot-update.js",
"/js/main.6ce298ef53f5947eb015.hot-update.js": "/js/main.6ce298ef53f5947eb015.hot-update.js",
"/js/main.18bb244f129227d55df4.hot-update.js": "/js/main.18bb244f129227d55df4.hot-update.js",
"/js/main.b9f41bec6466525008af.hot-update.js": "/js/main.b9f41bec6466525008af.hot-update.js",
"/js/main.ad0419d91f0cb9ac4783.hot-update.js": "/js/main.ad0419d91f0cb9ac4783.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.47e373d236402278f9fe.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.47e373d236402278f9fe.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.c8ea3ce9dc15d0d4870c.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.c8ea3ce9dc15d0d4870c.hot-update.js",
"/js/main.50b137da3db67ef4e306.hot-update.js": "/js/main.50b137da3db67ef4e306.hot-update.js",
"/js/main.c15998d32c0455bdba5f.hot-update.js": "/js/main.c15998d32c0455bdba5f.hot-update.js",
"/js/main.dd3e98ec99ee3c91a3e2.hot-update.js": "/js/main.dd3e98ec99ee3c91a3e2.hot-update.js",
"/js/main.b009b4752dbdf3c5614b.hot-update.js": "/js/main.b009b4752dbdf3c5614b.hot-update.js",
"/js/main.a29bcf35ff442bbb48dc.hot-update.js": "/js/main.a29bcf35ff442bbb48dc.hot-update.js",
"/js/main.02620d9ea73372cf1e92.hot-update.js": "/js/main.02620d9ea73372cf1e92.hot-update.js",
"/js/main.cb392eeb311a3450efa6.hot-update.js": "/js/main.cb392eeb311a3450efa6.hot-update.js",
"/js/main.7dc6c8021c7790a265ee.hot-update.js": "/js/main.7dc6c8021c7790a265ee.hot-update.js",
"/js/main.95461813df3da7c29418.hot-update.js": "/js/main.95461813df3da7c29418.hot-update.js",
"/js/main.a7a2ea89e692140492ff.hot-update.js": "/js/main.a7a2ea89e692140492ff.hot-update.js",
"/js/main.a391ab2c5ee083a03575.hot-update.js": "/js/main.a391ab2c5ee083a03575.hot-update.js",
"/js/main.b8e29efd2a256a723eab.hot-update.js": "/js/main.b8e29efd2a256a723eab.hot-update.js",
"/js/main.f0b0eb51c54bcb1bbc78.hot-update.js": "/js/main.f0b0eb51c54bcb1bbc78.hot-update.js",
"/js/main.4a0d91d5bf37715b207e.hot-update.js": "/js/main.4a0d91d5bf37715b207e.hot-update.js",
"/js/main.27331fa21a51011f55a3.hot-update.js": "/js/main.27331fa21a51011f55a3.hot-update.js",
"/js/main.89d88cd3137f0fc7a962.hot-update.js": "/js/main.89d88cd3137f0fc7a962.hot-update.js",
"/js/main.783413c68c98a7454e3e.hot-update.js": "/js/main.783413c68c98a7454e3e.hot-update.js",
"/js/main.76182162f944a547d76c.hot-update.js": "/js/main.76182162f944a547d76c.hot-update.js",
"/js/main.d9d79e6ebbfe0c435f30.hot-update.js": "/js/main.d9d79e6ebbfe0c435f30.hot-update.js",
"/js/main.ac0e98364986af5abc1a.hot-update.js": "/js/main.ac0e98364986af5abc1a.hot-update.js",
"/js/main.a5102164804b6b88312b.hot-update.js": "/js/main.a5102164804b6b88312b.hot-update.js",
"/js/main.1728d1958465ea2611e4.hot-update.js": "/js/main.1728d1958465ea2611e4.hot-update.js",
"/js/main.9724db5ee29967cfa45a.hot-update.js": "/js/main.9724db5ee29967cfa45a.hot-update.js",
"/js/main.fd64fcfd705dd8a7e1ef.hot-update.js": "/js/main.fd64fcfd705dd8a7e1ef.hot-update.js",
"/js/main.e11a8c140aa8e041811e.hot-update.js": "/js/main.e11a8c140aa8e041811e.hot-update.js",
"/js/main.663ed5fdb6a7148b980d.hot-update.js": "/js/main.663ed5fdb6a7148b980d.hot-update.js",
"/js/main.0aca91ec2da9fb1e2d53.hot-update.js": "/js/main.0aca91ec2da9fb1e2d53.hot-update.js",
"/js/main.10ba1a4f46317ab617d2.hot-update.js": "/js/main.10ba1a4f46317ab617d2.hot-update.js",
"/js/main.4f643631871b873b5c75.hot-update.js": "/js/main.4f643631871b873b5c75.hot-update.js",
"/js/main.8b01f011bc2e522449b0.hot-update.js": "/js/main.8b01f011bc2e522449b0.hot-update.js",
"/js/main.7138a4cf6df2acdff3d2.hot-update.js": "/js/main.7138a4cf6df2acdff3d2.hot-update.js",
"/js/main.fa1364731479bf9ec130.hot-update.js": "/js/main.fa1364731479bf9ec130.hot-update.js",
"/js/main.84ce4223fb2bc69bfc09.hot-update.js": "/js/main.84ce4223fb2bc69bfc09.hot-update.js",
"/js/main.ec50a152b4df776758ee.hot-update.js": "/js/main.ec50a152b4df776758ee.hot-update.js",
"/js/main.f8a5b6420191743aa3e5.hot-update.js": "/js/main.f8a5b6420191743aa3e5.hot-update.js",
"/js/main.5a5835cdcb397d03b4e3.hot-update.js": "/js/main.5a5835cdcb397d03b4e3.hot-update.js",
"/js/main.baa181a26f9656444cbb.hot-update.js": "/js/main.baa181a26f9656444cbb.hot-update.js",
"/js/main.565f106e3cee6cfa9489.hot-update.js": "/js/main.565f106e3cee6cfa9489.hot-update.js",
"/js/main.3975c81cc6d0fa868245.hot-update.js": "/js/main.3975c81cc6d0fa868245.hot-update.js",
"/js/main.d238d4491157f14ad1d3.hot-update.js": "/js/main.d238d4491157f14ad1d3.hot-update.js",
"/js/main.bcb996a7bbfeb8bc6ff9.hot-update.js": "/js/main.bcb996a7bbfeb8bc6ff9.hot-update.js",
"/js/main.417b96e1be4710c56aff.hot-update.js": "/js/main.417b96e1be4710c56aff.hot-update.js",
"/js/main.dc5ab7a8982f74d9459d.hot-update.js": "/js/main.dc5ab7a8982f74d9459d.hot-update.js",
"/js/main.e6946e16dc5411cf4a6b.hot-update.js": "/js/main.e6946e16dc5411cf4a6b.hot-update.js",
"/js/main.c9e83c927343c03a2c35.hot-update.js": "/js/main.c9e83c927343c03a2c35.hot-update.js",
"/js/main.908bf08788c3bb8d2752.hot-update.js": "/js/main.908bf08788c3bb8d2752.hot-update.js",
"/js/main.eb3d12ad8a5a0028418f.hot-update.js": "/js/main.eb3d12ad8a5a0028418f.hot-update.js",
"/js/main.64afec2f2ecaa3aeead5.hot-update.js": "/js/main.64afec2f2ecaa3aeead5.hot-update.js",
"/js/main.5018f5af703ff0f018d2.hot-update.js": "/js/main.5018f5af703ff0f018d2.hot-update.js",
"/js/main.d300d5e108b8aca21244.hot-update.js": "/js/main.d300d5e108b8aca21244.hot-update.js",
"/js/main.fa0ec19ffbde25f400fe.hot-update.js": "/js/main.fa0ec19ffbde25f400fe.hot-update.js",
"/js/main.f1eff0b3168f092c9cf4.hot-update.js": "/js/main.f1eff0b3168f092c9cf4.hot-update.js",
"/js/main.6cf49fb10823bb054724.hot-update.js": "/js/main.6cf49fb10823bb054724.hot-update.js",
"/js/main.8e795c68414776eec78d.hot-update.js": "/js/main.8e795c68414776eec78d.hot-update.js",
"/js/main.27153a7815e5370bb4d9.hot-update.js": "/js/main.27153a7815e5370bb4d9.hot-update.js",
"/js/main.726962464ec4a7c39140.hot-update.js": "/js/main.726962464ec4a7c39140.hot-update.js",
"/js/main.0055e2fd997f2c1ec563.hot-update.js": "/js/main.0055e2fd997f2c1ec563.hot-update.js",
"/js/main.58ff92715d131de9f0b8.hot-update.js": "/js/main.58ff92715d131de9f0b8.hot-update.js",
"/js/main.5c1cf8d96717ff651abb.hot-update.js": "/js/main.5c1cf8d96717ff651abb.hot-update.js",
"/js/main.8e49785ccf37d1937a7c.hot-update.js": "/js/main.8e49785ccf37d1937a7c.hot-update.js",
"/js/main.235275b55fb8d743f50f.hot-update.js": "/js/main.235275b55fb8d743f50f.hot-update.js",
"/js/main.6abe082801559ee91419.hot-update.js": "/js/main.6abe082801559ee91419.hot-update.js",
"/js/main.fd96b2dae266ad9f84c3.hot-update.js": "/js/main.fd96b2dae266ad9f84c3.hot-update.js",
"/js/main.e7336bc082eb0c2f9a25.hot-update.js": "/js/main.e7336bc082eb0c2f9a25.hot-update.js",
"/js/main.fcbb88022321bac2a133.hot-update.js": "/js/main.fcbb88022321bac2a133.hot-update.js",
"/js/main.24a7cbde3771f8e06ed0.hot-update.js": "/js/main.24a7cbde3771f8e06ed0.hot-update.js",
"/js/main.cfe3a5ddd46f551b311a.hot-update.js": "/js/main.cfe3a5ddd46f551b311a.hot-update.js",
"/js/main.7e6223e27d420faece4a.hot-update.js": "/js/main.7e6223e27d420faece4a.hot-update.js",
"/js/main.e774ea59ce9ff87d05df.hot-update.js": "/js/main.e774ea59ce9ff87d05df.hot-update.js",
"/js/main.f56621e66dcb1684dc16.hot-update.js": "/js/main.f56621e66dcb1684dc16.hot-update.js"
"/chunks/files~chunks/shared-files.cb2c4953e6755ff42b2f.hot-update.js": "/chunks/files~chunks/shared-files.cb2c4953e6755ff42b2f.hot-update.js",
"/chunks/files~chunks/shared-files.02f748077714fecfe13e.hot-update.js": "/chunks/files~chunks/shared-files.02f748077714fecfe13e.hot-update.js",
"/chunks/files~chunks/shared-files.b2d9e82249a0816b2259.hot-update.js": "/chunks/files~chunks/shared-files.b2d9e82249a0816b2259.hot-update.js",
"/chunks/files~chunks/shared-files.df5cc314bc28acdf4ecc.hot-update.js": "/chunks/files~chunks/shared-files.df5cc314bc28acdf4ecc.hot-update.js",
"/chunks/files~chunks/shared-files.6c3d3b165272b08d5a2a.hot-update.js": "/chunks/files~chunks/shared-files.6c3d3b165272b08d5a2a.hot-update.js",
"/chunks/files~chunks/shared-files.f7d46158c86c074e9345.hot-update.js": "/chunks/files~chunks/shared-files.f7d46158c86c074e9345.hot-update.js",
"/js/main.e955e25c70758fdb15b8.hot-update.js": "/js/main.e955e25c70758fdb15b8.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.62aa119dfea85a9796d6.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.62aa119dfea85a9796d6.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.4a8cbac6db0d7b697883.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.4a8cbac6db0d7b697883.hot-update.js"
}
@@ -81,11 +81,11 @@
<!--View options-->
<div class="toolbar-button-wrapper">
<ToolbarButton
:source="preview"
:action="$t('actions.preview')"
@click.native="$store.dispatch('changePreviewType')"
/>
<img
src="/assets/icons/sorting-icon.svg" size="17"
:class="{ active: fileInfoVisible }"
>
<ToolbarButton
:class="{ active: fileInfoVisible }"
@click.native="$store.dispatch('fileInfoToggle')"
@@ -0,0 +1,195 @@
<template>
<div :style="{ top: positionY + 'px', left: positionX + 'px' }" @click="closeAndResetContextMenu" class="contextmenu" ref="contextmenu" >
<!-- ContextMenu for File Preview -->
<div class="menu-options" id="menu-list">
<ul class="menu-option-group">
<li class="menu-option">
<div class="icon">
<corner-down-right-icon size="17"></corner-down-right-icon>
</div>
<div class="text-label">
Grid View
</div>
</li>
<li class="menu-option">
<div class="icon">
<link-icon size="17"></link-icon>
</div>
<div class="text-label">
List View
</div>
</li>
</ul>
<ul class="menu-option-group">
<li class="menu-option" >
<div class="icon">
<trash-2-icon size="17"></trash-2-icon>
</div>
<div class="text-label">
Sort By Date
</div>
</li>
<li class="menu-option" >
<div class="icon">
<img src="/assets/icons/alphabet.svg" size="17">
</div>
<div class="text-label">
Sort By Aplhabet
</div>
</li>
</ul>
</div>
</div>
</template>
<script>
import ToolbarButton from "@/components/FilesView/ToolbarButton";
import { mapGetters } from 'vuex'
import { events } from '@/bus'
export default {
name: 'ContextMenu',
components: {
ToolbarButton
},
computed: {
...mapGetters(['user', 'fileInfoDetail']),
},
data() {
return {
showFromPreview: false,
item: undefined,
isVisible: false,
positionX: 0,
positionY: 0
}
},
methods: {
closeAndResetContextMenu() {
// Close context menu
this.isVisible = false
// Reset item container
this.item = undefined
},
showFolderActionsMenu() {
let container = document.getElementById('folder-actions')
this.positionX = container.offsetLeft + 16
this.positionY = container.offsetTop + 30
// Show context menu
this.isVisible = true
},
},
}
</script>
<style scoped lang="scss">
@import "@assets/vue-file-manager/_variables";
@import "@assets/vue-file-manager/_mixins";
.filePreviewFixed {
position: fixed !important;
display: flex;
}
.menu-option {
display: flex;
align-items: center;
.icon {
margin-right: 20px;
line-height: 0;
}
.text-label {
@include font-size(16);
}
}
.contextmenu {
min-width: 250px;
position: absolute;
z-index: 99;
box-shadow: $shadow;
background: white;
border-radius: 8px;
overflow: hidden;
&.showed {
display: block;
}
}
.menu-options {
list-style: none;
width: 100%;
margin: 0;
padding: 0;
.menu-option-group {
padding: 5px 0;
border-bottom: 1px solid $light_mode_border;
&:first-child {
padding-top: 0;
}
&:last-child {
padding-bottom: 0;
border-bottom: none;
}
}
.menu-option {
white-space: nowrap;
font-weight: 700;
@include font-size(14);
padding: 15px 20px;
cursor: pointer;
width: 100%;
color: $text;
&:hover {
background: $light_background;
.text-label {
color: $theme;
}
path,
line,
polyline,
rect,
circle,
polygon {
stroke: $theme;
}
}
}
}
@media (prefers-color-scheme: dark) {
.contextmenu {
background: $dark_mode_foreground;
.menu-options {
.menu-option-group {
border-color: $dark_mode_border_color;
}
.menu-option {
color: $dark_mode_text_primary;
&:hover {
background: rgba($theme, 0.1);
}
}
}
}
}
</style>
@@ -3,12 +3,14 @@
@contextmenu.prevent.capture="contextMenu($event, undefined)"
id="files-view">
<ContextMenu/>
<SortingAndPreview/>
<DesktopToolbar/>
<FileBrowser/>
</div>
</template>
<script>
import SortingAndPreview from '@/components/FilesView/SortingAndPreview'
import DesktopToolbar from '@/components/FilesView/DesktopToolbar'
import FileBrowser from '@/components/FilesView/FileBrowser'
import ContextMenu from '@/components/FilesView/ContextMenu'
@@ -18,6 +20,7 @@
export default {
name: 'FilesView',
components: {
SortingAndPreview,
DesktopToolbar,
FileBrowser,
ContextMenu,