vue frontend update

This commit is contained in:
carodej
2020-04-20 09:01:54 +02:00
parent 506c39896a
commit 8740cc7685
21 changed files with 416 additions and 237 deletions

View File

@@ -2,7 +2,10 @@
namespace App\Http\Controllers;
use App\FileManagerFile;
use App\FileManagerFolder;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Str;
class FileSharingController extends Controller
@@ -27,4 +30,25 @@ class FileSharingController extends Controller
return $request->all();
}
public function get_shared(Request $request) {
// Get user
$user_id = Auth::id();
// Get folders and files
$folders = FileManagerFolder::with('parent')
->where('user_id', $user_id)
->where('parent_id', 0)
->get();
$files = FileManagerFile::with('parent')
->where('user_id', $user_id)
->where('folder_id', 0)
->get();
// Collect folders and files to single array
return collect([$folders, $files])->collapse();
}
}

View File

@@ -1,160 +1,71 @@
{
"/js/main.js": "/js/main.js",
"/css/app.css": "/css/app.css",
"/js/main.45b2667847dcbcbacd6c.hot-update.js": "/js/main.45b2667847dcbcbacd6c.hot-update.js",
"/js/main.62c5cc2efcbf0d1f3d41.hot-update.js": "/js/main.62c5cc2efcbf0d1f3d41.hot-update.js",
"/js/main.f5178d917441e5670da1.hot-update.js": "/js/main.f5178d917441e5670da1.hot-update.js",
"/js/main.e19949b4ab90da976bbe.hot-update.js": "/js/main.e19949b4ab90da976bbe.hot-update.js",
"/js/main.960ccae31fd3ed497280.hot-update.js": "/js/main.960ccae31fd3ed497280.hot-update.js",
"/js/main.406ceecb66439f3f666b.hot-update.js": "/js/main.406ceecb66439f3f666b.hot-update.js",
"/js/main.a2fcc113dfe5c7f6e92e.hot-update.js": "/js/main.a2fcc113dfe5c7f6e92e.hot-update.js",
"/js/main.9ca13a12526522d88362.hot-update.js": "/js/main.9ca13a12526522d88362.hot-update.js",
"/js/main.c229b6a816917bebb5b5.hot-update.js": "/js/main.c229b6a816917bebb5b5.hot-update.js",
"/js/main.21c162035729fed110ca.hot-update.js": "/js/main.21c162035729fed110ca.hot-update.js",
"/js/main.40a17d8faff3f17c1c92.hot-update.js": "/js/main.40a17d8faff3f17c1c92.hot-update.js",
"/js/main.ed521bbc6a64cb55c015.hot-update.js": "/js/main.ed521bbc6a64cb55c015.hot-update.js",
"/js/main.532b35d72123575de690.hot-update.js": "/js/main.532b35d72123575de690.hot-update.js",
"/js/main.0dbc01ade0f34310012e.hot-update.js": "/js/main.0dbc01ade0f34310012e.hot-update.js",
"/js/main.d99afa857d33da6397cf.hot-update.js": "/js/main.d99afa857d33da6397cf.hot-update.js",
"/js/main.6099c72b40714248291c.hot-update.js": "/js/main.6099c72b40714248291c.hot-update.js",
"/js/main.56e79dc3fd40e683684d.hot-update.js": "/js/main.56e79dc3fd40e683684d.hot-update.js",
"/js/main.b5562439014533bf3ff2.hot-update.js": "/js/main.b5562439014533bf3ff2.hot-update.js",
"/js/main.78d46ab68efecb60d70c.hot-update.js": "/js/main.78d46ab68efecb60d70c.hot-update.js",
"/js/main.039aafe71e0927391a9c.hot-update.js": "/js/main.039aafe71e0927391a9c.hot-update.js",
"/js/main.ef8fe842f7680c572fab.hot-update.js": "/js/main.ef8fe842f7680c572fab.hot-update.js",
"/js/main.1fdf649d3ccbdce05837.hot-update.js": "/js/main.1fdf649d3ccbdce05837.hot-update.js",
"/js/main.e7c7d96caa245e1bb123.hot-update.js": "/js/main.e7c7d96caa245e1bb123.hot-update.js",
"/js/main.6bc39b87ec372cfa3dc8.hot-update.js": "/js/main.6bc39b87ec372cfa3dc8.hot-update.js",
"/js/main.ebe195c44f56007eef1d.hot-update.js": "/js/main.ebe195c44f56007eef1d.hot-update.js",
"/js/main.f37be265024e0905fdb1.hot-update.js": "/js/main.f37be265024e0905fdb1.hot-update.js",
"/js/main.2ff5bc2e3fc33bb10ae8.hot-update.js": "/js/main.2ff5bc2e3fc33bb10ae8.hot-update.js",
"/js/main.c1fea30dd4b2ae2f5ee4.hot-update.js": "/js/main.c1fea30dd4b2ae2f5ee4.hot-update.js",
"/js/main.524c8af30cc872a60dbc.hot-update.js": "/js/main.524c8af30cc872a60dbc.hot-update.js",
"/js/main.38f17119314e4cf7ee30.hot-update.js": "/js/main.38f17119314e4cf7ee30.hot-update.js",
"/js/main.000365b3771096c22493.hot-update.js": "/js/main.000365b3771096c22493.hot-update.js",
"/js/main.5058b71aee8180779088.hot-update.js": "/js/main.5058b71aee8180779088.hot-update.js",
"/js/main.28a6e654db8570610bcc.hot-update.js": "/js/main.28a6e654db8570610bcc.hot-update.js",
"/js/main.01d58ffd9ede26b4c7e8.hot-update.js": "/js/main.01d58ffd9ede26b4c7e8.hot-update.js",
"/js/main.a47698cf5dcdb2d76743.hot-update.js": "/js/main.a47698cf5dcdb2d76743.hot-update.js",
"/js/main.0deb25a3a78ab4daa09d.hot-update.js": "/js/main.0deb25a3a78ab4daa09d.hot-update.js",
"/js/main.6d287221e3051a0e8b19.hot-update.js": "/js/main.6d287221e3051a0e8b19.hot-update.js",
"/js/main.03545060f23e17d4713e.hot-update.js": "/js/main.03545060f23e17d4713e.hot-update.js",
"/js/main.4ab8325d22ec6abd7b0f.hot-update.js": "/js/main.4ab8325d22ec6abd7b0f.hot-update.js",
"/js/main.00fed1dd652c91f7f1ed.hot-update.js": "/js/main.00fed1dd652c91f7f1ed.hot-update.js",
"/js/main.5df7c1faa518dd9e7374.hot-update.js": "/js/main.5df7c1faa518dd9e7374.hot-update.js",
"/js/main.3240217125bf1aaab215.hot-update.js": "/js/main.3240217125bf1aaab215.hot-update.js",
"/js/main.b829d78aae8e8943c38a.hot-update.js": "/js/main.b829d78aae8e8943c38a.hot-update.js",
"/js/main.ec038eace3860c991d40.hot-update.js": "/js/main.ec038eace3860c991d40.hot-update.js",
"/js/main.9dd62ce81e1450f065c8.hot-update.js": "/js/main.9dd62ce81e1450f065c8.hot-update.js",
"/js/main.628d9147c15e44160305.hot-update.js": "/js/main.628d9147c15e44160305.hot-update.js",
"/js/main.b39e39c8ec53f2a9ecca.hot-update.js": "/js/main.b39e39c8ec53f2a9ecca.hot-update.js",
"/js/main.a09f85c1baf4d028887a.hot-update.js": "/js/main.a09f85c1baf4d028887a.hot-update.js",
"/js/main.61dddfacfee5c8a77667.hot-update.js": "/js/main.61dddfacfee5c8a77667.hot-update.js",
"/js/main.ee62efcb284edede4f58.hot-update.js": "/js/main.ee62efcb284edede4f58.hot-update.js",
"/js/main.19b541f808631fef7b7f.hot-update.js": "/js/main.19b541f808631fef7b7f.hot-update.js",
"/js/main.75c1b183cc04db369604.hot-update.js": "/js/main.75c1b183cc04db369604.hot-update.js",
"/js/main.f91ca827a024ad1b9e98.hot-update.js": "/js/main.f91ca827a024ad1b9e98.hot-update.js",
"/js/main.b543fd24ddf34dc69882.hot-update.js": "/js/main.b543fd24ddf34dc69882.hot-update.js",
"/js/main.b4772a0733f53e1c6a39.hot-update.js": "/js/main.b4772a0733f53e1c6a39.hot-update.js",
"/js/main.af68b834210e123e14c7.hot-update.js": "/js/main.af68b834210e123e14c7.hot-update.js",
"/js/main.53a01851e7713425ec46.hot-update.js": "/js/main.53a01851e7713425ec46.hot-update.js",
"/js/main.06d1129f0be150e1154f.hot-update.js": "/js/main.06d1129f0be150e1154f.hot-update.js",
"/js/main.fc265c9c466f48229905.hot-update.js": "/js/main.fc265c9c466f48229905.hot-update.js",
"/js/main.93d73da79cd8b4b7a6a4.hot-update.js": "/js/main.93d73da79cd8b4b7a6a4.hot-update.js",
"/js/main.e0293848e03669e8c954.hot-update.js": "/js/main.e0293848e03669e8c954.hot-update.js",
"/js/main.6e70caff0ff123768e56.hot-update.js": "/js/main.6e70caff0ff123768e56.hot-update.js",
"/js/main.88b731ba24fba095863f.hot-update.js": "/js/main.88b731ba24fba095863f.hot-update.js",
"/js/main.245cc75ac6bc6c5fdda3.hot-update.js": "/js/main.245cc75ac6bc6c5fdda3.hot-update.js",
"/js/main.a51faf0bcad8e93f6a60.hot-update.js": "/js/main.a51faf0bcad8e93f6a60.hot-update.js",
"/js/main.f75d45ce3a4071deb3eb.hot-update.js": "/js/main.f75d45ce3a4071deb3eb.hot-update.js",
"/js/main.0da2bc38a9c17f7da812.hot-update.js": "/js/main.0da2bc38a9c17f7da812.hot-update.js",
"/js/main.3f2257dc78861e76cbd9.hot-update.js": "/js/main.3f2257dc78861e76cbd9.hot-update.js",
"/js/main.3dcef8f17c75125345b0.hot-update.js": "/js/main.3dcef8f17c75125345b0.hot-update.js",
"/js/main.b117a2c638971ac84268.hot-update.js": "/js/main.b117a2c638971ac84268.hot-update.js",
"/js/main.4bf80b5a98d048b19695.hot-update.js": "/js/main.4bf80b5a98d048b19695.hot-update.js",
"/js/main.c0587c1799dd105b8f06.hot-update.js": "/js/main.c0587c1799dd105b8f06.hot-update.js",
"/js/main.d6ce19d1db5909a2bd5b.hot-update.js": "/js/main.d6ce19d1db5909a2bd5b.hot-update.js",
"/js/main.3cc9faf0401241b3e048.hot-update.js": "/js/main.3cc9faf0401241b3e048.hot-update.js",
"/js/main.c03bc3a1e01506572f77.hot-update.js": "/js/main.c03bc3a1e01506572f77.hot-update.js",
"/js/main.2cb9f7a624da6378e8f1.hot-update.js": "/js/main.2cb9f7a624da6378e8f1.hot-update.js",
"/js/main.5203503b49254ae57b54.hot-update.js": "/js/main.5203503b49254ae57b54.hot-update.js",
"/js/main.6be457bcad68d70a1adf.hot-update.js": "/js/main.6be457bcad68d70a1adf.hot-update.js",
"/js/main.f366a0af0158f83a41d3.hot-update.js": "/js/main.f366a0af0158f83a41d3.hot-update.js",
"/js/main.0064e8a3066adf5ac021.hot-update.js": "/js/main.0064e8a3066adf5ac021.hot-update.js",
"/js/main.4e54ef87ab2545505191.hot-update.js": "/js/main.4e54ef87ab2545505191.hot-update.js",
"/js/main.2fa133eeaaaa33ba84ab.hot-update.js": "/js/main.2fa133eeaaaa33ba84ab.hot-update.js",
"/js/main.b7287bff96140dcf41c2.hot-update.js": "/js/main.b7287bff96140dcf41c2.hot-update.js",
"/js/main.59d4f07c707c45f90460.hot-update.js": "/js/main.59d4f07c707c45f90460.hot-update.js",
"/js/main.33e725bc42c4cf38e7e4.hot-update.js": "/js/main.33e725bc42c4cf38e7e4.hot-update.js",
"/js/main.4e722435b423aa82857d.hot-update.js": "/js/main.4e722435b423aa82857d.hot-update.js",
"/js/main.1136db92d52691c471d3.hot-update.js": "/js/main.1136db92d52691c471d3.hot-update.js",
"/js/main.dd31325ca820b342d735.hot-update.js": "/js/main.dd31325ca820b342d735.hot-update.js",
"/js/main.bdf334ccc5eca22b3f5b.hot-update.js": "/js/main.bdf334ccc5eca22b3f5b.hot-update.js",
"/js/main.7e8276e3feeb929dcce1.hot-update.js": "/js/main.7e8276e3feeb929dcce1.hot-update.js",
"/js/main.0308b12b1f1eb3efe683.hot-update.js": "/js/main.0308b12b1f1eb3efe683.hot-update.js",
"/js/main.8cb3460b3923a30a8ae5.hot-update.js": "/js/main.8cb3460b3923a30a8ae5.hot-update.js",
"/js/main.b9e3f9e983c99811e94d.hot-update.js": "/js/main.b9e3f9e983c99811e94d.hot-update.js",
"/js/main.9dbdfaa763040e52d396.hot-update.js": "/js/main.9dbdfaa763040e52d396.hot-update.js",
"/js/main.fde767d3f7b0771781e1.hot-update.js": "/js/main.fde767d3f7b0771781e1.hot-update.js",
"/js/main.7a961f271dce3dbff59b.hot-update.js": "/js/main.7a961f271dce3dbff59b.hot-update.js",
"/js/main.f77291d2e605a33650f2.hot-update.js": "/js/main.f77291d2e605a33650f2.hot-update.js",
"/js/main.5b4ddbd60a78a4c2dc8b.hot-update.js": "/js/main.5b4ddbd60a78a4c2dc8b.hot-update.js",
"/js/main.d86b987275b9c5756dcc.hot-update.js": "/js/main.d86b987275b9c5756dcc.hot-update.js",
"/js/main.868816b50cf2e8e4f191.hot-update.js": "/js/main.868816b50cf2e8e4f191.hot-update.js",
"/js/main.18355b098cdaa38c0930.hot-update.js": "/js/main.18355b098cdaa38c0930.hot-update.js",
"/js/main.b32cfff8a52466b61225.hot-update.js": "/js/main.b32cfff8a52466b61225.hot-update.js",
"/js/main.1993377815652ba309fd.hot-update.js": "/js/main.1993377815652ba309fd.hot-update.js",
"/js/main.fe4028eff94af9a2bf88.hot-update.js": "/js/main.fe4028eff94af9a2bf88.hot-update.js",
"/js/main.08dc41013d4cc7939976.hot-update.js": "/js/main.08dc41013d4cc7939976.hot-update.js",
"/js/main.80a7d45a34fa8668a4cf.hot-update.js": "/js/main.80a7d45a34fa8668a4cf.hot-update.js",
"/js/main.2d6d0f1aae82e0df42f8.hot-update.js": "/js/main.2d6d0f1aae82e0df42f8.hot-update.js",
"/js/main.85f1c5f01b37914d6d6f.hot-update.js": "/js/main.85f1c5f01b37914d6d6f.hot-update.js",
"/js/main.c7d70a2e5bada81377d5.hot-update.js": "/js/main.c7d70a2e5bada81377d5.hot-update.js",
"/js/main.9d41fbc28b830e37de0d.hot-update.js": "/js/main.9d41fbc28b830e37de0d.hot-update.js",
"/js/main.d014a0642bc91b6c99a0.hot-update.js": "/js/main.d014a0642bc91b6c99a0.hot-update.js",
"/js/main.e0998058ab9ee490f113.hot-update.js": "/js/main.e0998058ab9ee490f113.hot-update.js",
"/js/main.0cd5a95891b3d2a30d01.hot-update.js": "/js/main.0cd5a95891b3d2a30d01.hot-update.js",
"/js/main.cdc6ab5486c3de2989ca.hot-update.js": "/js/main.cdc6ab5486c3de2989ca.hot-update.js",
"/js/main.0366f168bde7215a81f5.hot-update.js": "/js/main.0366f168bde7215a81f5.hot-update.js",
"/js/main.63176e7e6fc742804a08.hot-update.js": "/js/main.63176e7e6fc742804a08.hot-update.js",
"/js/main.39d6b27892fc6363587c.hot-update.js": "/js/main.39d6b27892fc6363587c.hot-update.js",
"/js/main.a790ca39feedf2af0b92.hot-update.js": "/js/main.a790ca39feedf2af0b92.hot-update.js",
"/js/main.7db25e07f15cfb581128.hot-update.js": "/js/main.7db25e07f15cfb581128.hot-update.js",
"/js/main.87b661d365bd9adbfb09.hot-update.js": "/js/main.87b661d365bd9adbfb09.hot-update.js",
"/js/main.5884a13a2b4f3076e708.hot-update.js": "/js/main.5884a13a2b4f3076e708.hot-update.js",
"/js/main.d08aa3e62dd4f0b7125a.hot-update.js": "/js/main.d08aa3e62dd4f0b7125a.hot-update.js",
"/js/main.08930a79faad10ca5ae5.hot-update.js": "/js/main.08930a79faad10ca5ae5.hot-update.js",
"/js/main.3852385059eaf25596ce.hot-update.js": "/js/main.3852385059eaf25596ce.hot-update.js",
"/js/main.d401d0dba62fd43758f8.hot-update.js": "/js/main.d401d0dba62fd43758f8.hot-update.js",
"/js/main.9ac63b64bbe3d715f73a.hot-update.js": "/js/main.9ac63b64bbe3d715f73a.hot-update.js",
"/js/main.29b25d87761afe9deda1.hot-update.js": "/js/main.29b25d87761afe9deda1.hot-update.js",
"/js/main.e97f2cc4e121eccaced8.hot-update.js": "/js/main.e97f2cc4e121eccaced8.hot-update.js",
"/js/main.6688b2fa8b07b72c00a5.hot-update.js": "/js/main.6688b2fa8b07b72c00a5.hot-update.js",
"/js/main.f98aa05a83ee48c7095d.hot-update.js": "/js/main.f98aa05a83ee48c7095d.hot-update.js",
"/js/main.69a434849703a9c4835a.hot-update.js": "/js/main.69a434849703a9c4835a.hot-update.js",
"/js/main.3b667b3ed35e0d663643.hot-update.js": "/js/main.3b667b3ed35e0d663643.hot-update.js",
"/js/main.0d696ab53807ff69c8e6.hot-update.js": "/js/main.0d696ab53807ff69c8e6.hot-update.js",
"/js/main.0540d9a5f02fae3e2d11.hot-update.js": "/js/main.0540d9a5f02fae3e2d11.hot-update.js",
"/js/main.3976628bbd6e48b63263.hot-update.js": "/js/main.3976628bbd6e48b63263.hot-update.js",
"/js/main.12ac2eba6a990651f796.hot-update.js": "/js/main.12ac2eba6a990651f796.hot-update.js",
"/js/main.9526e857eddc882a0586.hot-update.js": "/js/main.9526e857eddc882a0586.hot-update.js",
"/js/main.da0dcd2c8116fa937c70.hot-update.js": "/js/main.da0dcd2c8116fa937c70.hot-update.js",
"/js/main.b4780116904dd809e0b2.hot-update.js": "/js/main.b4780116904dd809e0b2.hot-update.js",
"/js/main.99c984516e593db7344f.hot-update.js": "/js/main.99c984516e593db7344f.hot-update.js",
"/js/main.0f0812654b82b48f46ce.hot-update.js": "/js/main.0f0812654b82b48f46ce.hot-update.js",
"/js/main.961e3e3fa905b0856176.hot-update.js": "/js/main.961e3e3fa905b0856176.hot-update.js",
"/js/main.29e365ef73f45c925a53.hot-update.js": "/js/main.29e365ef73f45c925a53.hot-update.js",
"/js/main.60f3cc9526aa07f76b92.hot-update.js": "/js/main.60f3cc9526aa07f76b92.hot-update.js",
"/js/main.efd59b161078632b87e7.hot-update.js": "/js/main.efd59b161078632b87e7.hot-update.js",
"/js/main.d314b501f03773483b7b.hot-update.js": "/js/main.d314b501f03773483b7b.hot-update.js",
"/js/main.7142fa80d2d0bc8d87b2.hot-update.js": "/js/main.7142fa80d2d0bc8d87b2.hot-update.js",
"/js/main.81965d3c889e7772119c.hot-update.js": "/js/main.81965d3c889e7772119c.hot-update.js",
"/js/main.398343de9241f273f4c7.hot-update.js": "/js/main.398343de9241f273f4c7.hot-update.js",
"/js/main.6e395602900d2a3cc85c.hot-update.js": "/js/main.6e395602900d2a3cc85c.hot-update.js",
"/js/main.50508c2caf36b35e114c.hot-update.js": "/js/main.50508c2caf36b35e114c.hot-update.js",
"/js/main.f3addf09487bb7a2bf69.hot-update.js": "/js/main.f3addf09487bb7a2bf69.hot-update.js",
"/js/main.e83c390ebbba1ab74aaf.hot-update.js": "/js/main.e83c390ebbba1ab74aaf.hot-update.js",
"/js/main.0454c8e796e648bbe937.hot-update.js": "/js/main.0454c8e796e648bbe937.hot-update.js",
"/js/main.34be65f36719f7eaeea6.hot-update.js": "/js/main.34be65f36719f7eaeea6.hot-update.js",
"/js/main.b97be0d2cb9221a5b358.hot-update.js": "/js/main.b97be0d2cb9221a5b358.hot-update.js"
"/js/main.7e9161693625acb57bcf.hot-update.js": "/js/main.7e9161693625acb57bcf.hot-update.js",
"/js/main.987c3e4498df1d118da2.hot-update.js": "/js/main.987c3e4498df1d118da2.hot-update.js",
"/js/main.a40fbe3eed27fc90b1e2.hot-update.js": "/js/main.a40fbe3eed27fc90b1e2.hot-update.js",
"/js/main.7a5a1814d3a02ef067d9.hot-update.js": "/js/main.7a5a1814d3a02ef067d9.hot-update.js",
"/js/main.e2df40ed1f9a5560f20e.hot-update.js": "/js/main.e2df40ed1f9a5560f20e.hot-update.js",
"/js/main.5cfccce115a0ed922869.hot-update.js": "/js/main.5cfccce115a0ed922869.hot-update.js",
"/js/main.7db75f2c81783305757c.hot-update.js": "/js/main.7db75f2c81783305757c.hot-update.js",
"/js/main.6989d8ca52ab33f39e69.hot-update.js": "/js/main.6989d8ca52ab33f39e69.hot-update.js",
"/js/main.6e44c31cb6f99d3330cd.hot-update.js": "/js/main.6e44c31cb6f99d3330cd.hot-update.js",
"/js/main.da1ab17556140889f100.hot-update.js": "/js/main.da1ab17556140889f100.hot-update.js",
"/js/main.3572f6f7831b831e9b54.hot-update.js": "/js/main.3572f6f7831b831e9b54.hot-update.js",
"/js/main.5372486c92c251b646c1.hot-update.js": "/js/main.5372486c92c251b646c1.hot-update.js",
"/js/main.8f756e17c052ec672901.hot-update.js": "/js/main.8f756e17c052ec672901.hot-update.js",
"/js/main.3ebf1ab82a10e44fa358.hot-update.js": "/js/main.3ebf1ab82a10e44fa358.hot-update.js",
"/js/main.c4894466962f57802943.hot-update.js": "/js/main.c4894466962f57802943.hot-update.js",
"/js/main.46bca7fb02572608cbe8.hot-update.js": "/js/main.46bca7fb02572608cbe8.hot-update.js",
"/js/main.715f67b09ca41d03a457.hot-update.js": "/js/main.715f67b09ca41d03a457.hot-update.js",
"/js/main.aff84531b8db5533bb6f.hot-update.js": "/js/main.aff84531b8db5533bb6f.hot-update.js",
"/js/main.8f201d83c20947c67d2e.hot-update.js": "/js/main.8f201d83c20947c67d2e.hot-update.js",
"/js/main.279d8c87134c791ceac1.hot-update.js": "/js/main.279d8c87134c791ceac1.hot-update.js",
"/js/main.d187642b4f091564f4ee.hot-update.js": "/js/main.d187642b4f091564f4ee.hot-update.js",
"/js/main.ece4398887cceea769b1.hot-update.js": "/js/main.ece4398887cceea769b1.hot-update.js",
"/js/main.ff14e9b1d7252130b887.hot-update.js": "/js/main.ff14e9b1d7252130b887.hot-update.js",
"/js/main.9969dd9da75f062e431a.hot-update.js": "/js/main.9969dd9da75f062e431a.hot-update.js",
"/js/main.c2e0646fed55fe0f84fc.hot-update.js": "/js/main.c2e0646fed55fe0f84fc.hot-update.js",
"/js/main.27e7d8971b3249f487fb.hot-update.js": "/js/main.27e7d8971b3249f487fb.hot-update.js",
"/js/main.7bb41d8795de4fb9e9b1.hot-update.js": "/js/main.7bb41d8795de4fb9e9b1.hot-update.js",
"/js/main.6cc132b1314887cb0a25.hot-update.js": "/js/main.6cc132b1314887cb0a25.hot-update.js",
"/js/main.9d1159e1b80612d351ee.hot-update.js": "/js/main.9d1159e1b80612d351ee.hot-update.js",
"/js/main.aaf7688d2b55607a4932.hot-update.js": "/js/main.aaf7688d2b55607a4932.hot-update.js",
"/js/main.d33e67a4d98740ec0496.hot-update.js": "/js/main.d33e67a4d98740ec0496.hot-update.js",
"/js/main.555618f8bd757bff9d82.hot-update.js": "/js/main.555618f8bd757bff9d82.hot-update.js",
"/js/main.9c2e37b36662dab38a65.hot-update.js": "/js/main.9c2e37b36662dab38a65.hot-update.js",
"/js/main.ee47e0af675d059f283c.hot-update.js": "/js/main.ee47e0af675d059f283c.hot-update.js",
"/js/main.51f351a7d6d58f683546.hot-update.js": "/js/main.51f351a7d6d58f683546.hot-update.js",
"/js/main.42590b5e642261c106f0.hot-update.js": "/js/main.42590b5e642261c106f0.hot-update.js",
"/js/main.b8070818a64d03de2db4.hot-update.js": "/js/main.b8070818a64d03de2db4.hot-update.js",
"/js/main.b079cdcbdc39fecde220.hot-update.js": "/js/main.b079cdcbdc39fecde220.hot-update.js",
"/js/main.bb65ebd58ac9256e12f1.hot-update.js": "/js/main.bb65ebd58ac9256e12f1.hot-update.js",
"/js/main.674d8948d58824997a3d.hot-update.js": "/js/main.674d8948d58824997a3d.hot-update.js",
"/js/main.46d9fd525f37e4202b5e.hot-update.js": "/js/main.46d9fd525f37e4202b5e.hot-update.js",
"/js/main.04f2379ff46bec0a8a23.hot-update.js": "/js/main.04f2379ff46bec0a8a23.hot-update.js",
"/js/main.6e7100b4a9c4097b8b0a.hot-update.js": "/js/main.6e7100b4a9c4097b8b0a.hot-update.js",
"/js/main.5e35c40769bc5ed7a701.hot-update.js": "/js/main.5e35c40769bc5ed7a701.hot-update.js",
"/js/main.9789eaad174abbec4830.hot-update.js": "/js/main.9789eaad174abbec4830.hot-update.js",
"/js/main.9ea2e3ccfc26b4251cc9.hot-update.js": "/js/main.9ea2e3ccfc26b4251cc9.hot-update.js",
"/js/main.fbf8d04378624a73b13e.hot-update.js": "/js/main.fbf8d04378624a73b13e.hot-update.js",
"/js/main.70ffe26807eaabd6a5c9.hot-update.js": "/js/main.70ffe26807eaabd6a5c9.hot-update.js",
"/js/main.96ee5a89db89e4995d64.hot-update.js": "/js/main.96ee5a89db89e4995d64.hot-update.js",
"/js/main.1dc8adf4e56f198645c6.hot-update.js": "/js/main.1dc8adf4e56f198645c6.hot-update.js",
"/js/main.1461ccfa9a7b972486b8.hot-update.js": "/js/main.1461ccfa9a7b972486b8.hot-update.js",
"/js/main.bd4bb3cdf79008bc4f39.hot-update.js": "/js/main.bd4bb3cdf79008bc4f39.hot-update.js",
"/js/main.9798f006b02c05b13732.hot-update.js": "/js/main.9798f006b02c05b13732.hot-update.js",
"/js/main.1884ae3ff7f1cb2583fb.hot-update.js": "/js/main.1884ae3ff7f1cb2583fb.hot-update.js",
"/js/main.c573379acdb883f75123.hot-update.js": "/js/main.c573379acdb883f75123.hot-update.js",
"/js/main.faf1eb5f87f23ef782a7.hot-update.js": "/js/main.faf1eb5f87f23ef782a7.hot-update.js",
"/js/main.d77027b5cdd9613c59c5.hot-update.js": "/js/main.d77027b5cdd9613c59c5.hot-update.js",
"/js/main.6cf73ea7b0a8da21d3e3.hot-update.js": "/js/main.6cf73ea7b0a8da21d3e3.hot-update.js",
"/js/main.7298d2627989dba610e6.hot-update.js": "/js/main.7298d2627989dba610e6.hot-update.js",
"/js/main.b788d5d978f78f7b020e.hot-update.js": "/js/main.b788d5d978f78f7b020e.hot-update.js",
"/js/main.521673210a92d008e657.hot-update.js": "/js/main.521673210a92d008e657.hot-update.js",
"/js/main.857d808c85abcb81e209.hot-update.js": "/js/main.857d808c85abcb81e209.hot-update.js",
"/js/main.3e6a766612fcec30c27b.hot-update.js": "/js/main.3e6a766612fcec30c27b.hot-update.js",
"/js/main.e42f73a1aff80626d361.hot-update.js": "/js/main.e42f73a1aff80626d361.hot-update.js",
"/js/main.099e582740355c2f1bca.hot-update.js": "/js/main.099e582740355c2f1bca.hot-update.js",
"/js/main.feca0a1aa3fc71608819.hot-update.js": "/js/main.feca0a1aa3fc71608819.hot-update.js",
"/js/main.45917de646170b07e78a.hot-update.js": "/js/main.45917de646170b07e78a.hot-update.js"
}

View File

@@ -7,7 +7,7 @@
ref="contextmenu"
>
<!--ContextMenu for trash location-->
<ul v-if="$isTrashLocation()" class="menu-options" ref="list">
<ul v-if="$isTrashLocation() && $checkPermission('master')" class="menu-options" ref="list">
<li class="menu-option" @click="removeItem" v-if="item">
{{ $t('context_menu.delete') }}
</li>
@@ -25,8 +25,8 @@
</li>
</ul>
<!--ContextMenu for Base location-->
<ul v-if="$isBaseLocation()" class="menu-options" ref="list">
<!--ContextMenu for Base location with MASTER permission-->
<ul v-if="$isBaseLocation() && $checkPermission('master')" class="menu-options" ref="list">
<li class="menu-option" @click="addToFavourites" v-if="item && isFolder">
{{ isInFavourites ? $t('context_menu.remove_from_favourites') : $t('context_menu.add_to_favourites') }}
</li>
@@ -49,6 +49,35 @@
{{ $t('context_menu.download') }}
</li>
</ul>
<!--ContextMenu for Base location with EDITOR permission-->
<ul v-if="$isBaseLocation() && $checkPermission('editor')" class="menu-options" ref="list">
<li class="menu-option" @click="createFolder">
{{ $t('context_menu.create_folder') }}
</li>
<li class="menu-option" @click="removeItem" v-if="item">
{{ $t('context_menu.delete') }}
</li>
<li class="menu-option" @click="moveItem" v-if="item">
{{ $t('context_menu.move') }}
</li>
<li class="menu-option" @click="ItemDetail" v-if="item">
{{ $t('context_menu.detail') }}
</li>
<li class="menu-option" @click="downloadItem" v-if="! isFolder && item">
{{ $t('context_menu.download') }}
</li>
</ul>
<!--ContextMenu for Base location with VISITOR permission-->
<ul v-if="$isBaseLocation() && $checkPermission('visitor')" class="menu-options" ref="list">
<li class="menu-option" @click="ItemDetail" v-if="item">
{{ $t('context_menu.detail') }}
</li>
<li class="menu-option" @click="downloadItem" v-if="! isFolder && item">
{{ $t('context_menu.download') }}
</li>
</ul>
</div>
</template>

View File

@@ -1,5 +1,5 @@
<template>
<div id="desktop-toolbar">
<div id="desktop-toolbar" v-if="! $isMinimalScale()">
<div class="toolbar-wrapper">
<!-- Go back-->
@@ -10,20 +10,26 @@
class="icon-back"
icon="chevron-left"
></FontAwesomeIcon>
<span class="back-directory-title">{{
directoryName
}}</span>
<span class="back-directory-title">
{{ directoryName }}
</span>
</div>
</div>
<!-- Tools-->
<div class="toolbar-tools">
<!--Search bar-->
<div class="toolbar-button-wrapper">
<SearchBar/>
</div>
<div class="toolbar-button-wrapper">
<ToolbarButtonUpload source="upload" action="Upload file"/>
<!--Files controlls-->
<div class="toolbar-button-wrapper" v-if="$checkPermission(['master', 'editor'])">
<ToolbarButtonUpload
source="upload"
action="Upload file"
/>
<ToolbarButton
source="trash-alt"
action="Delete"
@@ -36,6 +42,7 @@
/>
</div>
<!--View options-->
<div class="toolbar-button-wrapper">
<ToolbarButton
:source="preview"

View File

@@ -8,25 +8,20 @@
<div
class="files-container"
ref="fileContainer"
:class="{
'is-fileinfo-visible': fileInfoVisible && !$isMinimalScale()
}"
:class="{'is-fileinfo-visible': fileInfoVisible && !$isMinimalScale() }"
@click.self="filesContainerClick"
>
<!--MobileToolbar-->
<MobileToolbar v-if="$isMinimalScale()"/>
<MobileToolbar />
<!--Searchbar-->
<SearchBar v-if="$isMinimalScale()" class="mobile-search"/>
<!--Mobile Actions-->
<MobileActions v-if="$isMinimalScale()" />
<MobileActions />
<!--Item previews list-->
<div
v-if="isList"
class="file-list-wrapper"
>
<div v-if="isList" class="file-list-wrapper">
<transition-group
name="file"
tag="section"
@@ -76,20 +71,13 @@
/>
</div>
<div
v-if="!$isMinimalScale()"
class="file-info-container"
:class="{ 'is-fileinfo-visible': fileInfoVisible }"
>
<!--File Info Panel-->
<div v-if="! $isMinimalScale()" class="file-info-container" :class="{ 'is-fileinfo-visible': fileInfoVisible }">
<!--File info panel-->
<FileInfoPanel v-if="fileInfoDetail"/>
<!--If file info panel empty show message-->
<EmptyMessage
v-if="!fileInfoDetail"
:message="$t('messages.nothing_to_preview')"
icon="eye-slash"
/>
<EmptyMessage v-if="!fileInfoDetail" :message="$t('messages.nothing_to_preview')" icon="eye-slash"/>
</div>
</div>
</template>

View File

@@ -34,7 +34,7 @@
</li>
<!--Parent-->
<li class="list-info-item">
<li v-if="$checkPermission(['master', 'editor'])" class="list-info-item">
<b>{{ $t('file_detail.where') }}</b>
<div class="action-button" @click="moveItem">
<FontAwesomeIcon class="icon" icon="pencil-alt" />
@@ -43,7 +43,7 @@
</li>
<!--Parent-->
<li v-if="true" class="list-info-item">
<li v-if="$checkPermission('master')" class="list-info-item">
<b>Shared</b>
<div class="action-button" @click="shareItemOptions">
<FontAwesomeIcon class="icon" icon="user-edit" />

View File

@@ -42,7 +42,7 @@
<b
ref="name"
@input="changeItemName"
:contenteditable="!$isMobile()"
:contenteditable="canEditName"
class="name"
>
{{ itemName }}
@@ -50,9 +50,8 @@
<div class="item-info">
<!--Shared Icon-->
<div class="item-shared" v-if="true">
<div v-if="$checkPermission('master')" class="item-shared">
<FontAwesomeIcon class="shared-icon" icon="user-friends"/>
<span class="label">Shared, </span>
</div>
<!--Filesize-->
@@ -91,6 +90,9 @@
isImage() {
return this.data.type === 'image'
},
canEditName() {
return ! this.$isMobile() && ! this.$isTrashLocation() && ! this.$checkPermission('visitor')
},
timeStamp() {
return this.data.deleted_at ? this.$t('item_thumbnail.deleted_at', this.data.deleted_at) : this.data.created_at
},
@@ -247,7 +249,7 @@
}
.shared-icon {
@include font-size(10);
@include font-size(9);
path {
fill: $theme;

View File

@@ -40,7 +40,7 @@
<b
ref="name"
@input="changeItemName"
:contenteditable="!$isMobile() && !$isTrashLocation()"
:contenteditable="canEditName"
class="name"
>
{{ itemName }}
@@ -49,9 +49,8 @@
<div class="item-info">
<!--Shared Icon-->
<div class="item-shared" v-if="true">
<div v-if="$checkPermission('master')" class="item-shared">
<FontAwesomeIcon class="shared-icon" icon="user-friends"/>
<span class="label">Shared,</span>
</div>
<!--Filesize and timestamp-->
@@ -93,6 +92,9 @@
isImage() {
return this.data.type === 'image'
},
canEditName() {
return ! this.$isMobile() && ! this.$isTrashLocation() && ! this.$checkPermission('visitor')
},
timeStamp() {
return this.data.deleted_at ? this.$t('item_thumbnail.deleted_at', {time: this.data.deleted_at}) : this.data.created_at
},
@@ -260,7 +262,7 @@
}
.shared-icon {
@include font-size(10);
@include font-size(9);
path {
fill: $theme;

View File

@@ -1,7 +1,9 @@
<template>
<button class="mobile-action-button">
<FontAwesomeIcon class="icon" :icon="icon"></FontAwesomeIcon>
<span class="label">{{ text }}</span>
<span class="label">
<slot></slot>
</span>
</button>
</template>
@@ -9,7 +11,7 @@
export default {
name: 'MobileActionButton',
props: [
'icon', 'text'
'icon'
],
}
</script>

View File

@@ -2,7 +2,7 @@
<button class="mobile-action-button">
<FontAwesomeIcon class="icon" :icon="icon"></FontAwesomeIcon>
<label label="file" class="label button file-input button-base">
{{ text }}
<slot></slot>
<input
accept="*"
v-show="false"
@@ -20,7 +20,7 @@
export default {
name: 'MobileActionButtonUpload',
props: [
'icon', 'text'
'icon'
],
data() {
return {

View File

@@ -1,11 +1,37 @@
<template>
<div id="mobile-actions-wrapper">
<div class="mobile-actions">
<MobileActionButton v-if="! $isTrashLocation()" @click.native="createFolder" icon="folder-plus" :text="$t('context_menu.add_folder')"></MobileActionButton>
<MobileActionButtonUpload v-if="! $isTrashLocation()" @input.native="$uploadFiles" icon="upload" :text="$t('context_menu.upload')"></MobileActionButtonUpload>
<MobileActionButton @click.native="switchPreview" :icon="previewIcon" :text="previewText"></MobileActionButton>
<MobileActionButton v-if="$isTrashLocation()" @click.native="$store.dispatch('emptyTrash')" icon="trash-alt" :text="$t('context_menu.empty_trash')"></MobileActionButton>
<div id="mobile-actions-wrapper" v-if="$isMinimalScale()">
<!--Actions for trash location with MASTER permission--->
<div v-if="$isTrashLocation() && $checkPermission('master')" class="mobile-actions">
<MobileActionButton @click.native="switchPreview" :icon="previewIcon">
{{ previewText }}
</MobileActionButton>
<MobileActionButton @click.native="$store.dispatch('emptyTrash')" icon="trash-alt">
{{ $t('context_menu.empty_trash') }}
</MobileActionButton>
</div>
<!--ContextMenu for Base location with MASTER permission-->
<div v-if="$isBaseLocation() && $checkPermission(['master', 'editor'])" class="mobile-actions">
<MobileActionButton @click.native="createFolder" icon="folder-plus">
{{ $t('context_menu.add_folder') }}
</MobileActionButton>
<MobileActionButtonUpload @input.native="$uploadFiles" icon="upload">
{{ $t('context_menu.upload') }}
</MobileActionButtonUpload>
<MobileActionButton @click.native="switchPreview" :icon="previewIcon">
{{ previewText }}
</MobileActionButton>
</div>
<!--ContextMenu for Base location with VISITOR permission-->
<div v-if="$isBaseLocation() && $checkPermission('visitor')" class="mobile-actions">
<MobileActionButton @click.native="switchPreview" :icon="previewIcon">
{{ previewText }}
</MobileActionButton>
</div>
<!--Upload Progressbar-->
<UploadProgress />
</div>
</template>

View File

@@ -10,7 +10,7 @@
<div class="menu-wrapper">
<!--Mobile for trash location-->
<ul v-if="$isTrashLocation()" class="menu-options">
<ul v-if="$isTrashLocation() && $checkPermission('master')" class="menu-options">
<li class="menu-option" @click="$store.dispatch('restoreItem', fileInfoDetail)" v-if="fileInfoDetail">
{{ $t('context_menu.restore') }}
</li>
@@ -23,7 +23,7 @@
</ul>
<!--Mobile for Base location-->
<ul v-if="$isBaseLocation()" class="menu-options">
<ul v-if="$isBaseLocation() && $checkPermission('master')" class="menu-options">
<li class="menu-option" @click="addToFavourites" v-if="fileInfoDetail && isFolder">
{{ isInFavourites ? $t('context_menu.remove_from_favourites') : $t('context_menu.add_to_favourites') }}
</li>
@@ -43,15 +43,31 @@
{{ $t('context_menu.delete') }}
</li>
</ul>
<!--Mobile for Base location with EDITOR permission-->
<ul v-if="$isBaseLocation() && $checkPermission('editor')" class="menu-options">
<li class="menu-option" @click="renameItem" v-if="fileInfoDetail">
{{ $t('context_menu.rename') }}
</li>
<li class="menu-option" @click="moveItem" v-if="fileInfoDetail">
{{ $t('context_menu.move') }}
</li>
<li class="menu-option" @click="downloadItem" v-if="! isFolder">
{{ $t('context_menu.download') }}
</li>
</ul>
<!--Mobile for Base location with VISITOR permission-->
<ul v-if="$isBaseLocation() && $checkPermission('visitor')" class="menu-options">
<li class="menu-option" @click="downloadItem" v-if="! isFolder">
{{ $t('context_menu.download') }}
</li>
</ul>
</div>
</div>
</transition>
<transition name="fade">
<div
v-show="isVisible"
class="vignette"
@click="closeAndResetContextMenu"
></div>
<div v-show="isVisible" class="vignette" @click="closeAndResetContextMenu"></div>
</transition>
</div>
</template>
@@ -61,7 +77,7 @@
import {mapGetters} from 'vuex'
export default {
name: 'MobileOptionList',
name: 'MobileMenu',
computed: {
...mapGetters(['fileInfoDetail', 'app']),
isInFavourites() {

View File

@@ -1,5 +1,5 @@
<template>
<div class="mobile-toolbar">
<div class="mobile-toolbar" v-if="$isMinimalScale()">
<!-- Go back-->
<div @click="goBack" class="go-back-button">

View File

@@ -12,15 +12,15 @@
<div class="menu-list-wrapper">
<TextLabel>{{ $t('sidebar.locations') }}</TextLabel>
<ul class="menu-list">
<li class="menu-list-item" @click="goHome">
<li class="menu-list-item" :class="{'is-active': isBaseLocation}" @click="goHome">
<FontAwesomeIcon class="icon" icon="hdd"/>
<span class="label">{{ $t('locations.home') }}</span>
</li>
<li class="menu-list-item">
<li class="menu-list-item" :class="{'is-active': isSharedLocation}" @click="getShared">
<FontAwesomeIcon class="icon" icon="share"/>
<span class="label">Shared</span>
</li>
<li class="menu-list-item" @click="getTrash">
<li class="menu-list-item" :class="{'is-active': isTrashLocation}" @click="getTrash">
<FontAwesomeIcon class="icon" icon="trash-alt"/>
<span class="label">{{ $t('locations.trash') }}</span>
</li>
@@ -91,7 +91,16 @@
TextLabel,
},
computed: {
...mapGetters(['homeDirectory', 'app', 'appSize', 'config']),
...mapGetters(['homeDirectory', 'app', 'appSize', 'config', 'currentFolder']),
isTrashLocation() {
return this.currentFolder && this.currentFolder.location === 'trash-root' || this.currentFolder && this.currentFolder.location === 'trash'
},
isBaseLocation() {
return this.currentFolder && this.currentFolder.location === 'base'
},
isSharedLocation() {
return this.currentFolder && this.currentFolder.location === 'shared'
},
isSmallAppSize() {
return this.appSize === 'small'
}
@@ -104,6 +113,9 @@
}
},
methods: {
getShared() {
this.$store.dispatch('getShared')
},
getTrash() {
this.$store.dispatch('getTrash')
},
@@ -247,7 +259,8 @@
display: inline-block;
}
&:hover {
&:hover,
&.is-active {
background: rgba($theme, .1);
.icon {

View File

@@ -1,5 +1,5 @@
import store from './store/index'
import {debounce} from "lodash";
import {debounce, includes} from "lodash";
import {events} from './bus'
import axios from 'axios'
@@ -221,6 +221,19 @@ const Helpers = {
return store.getters.currentFolder && store.getters.currentFolder.location === 'base' ? true : false
}
Vue.prototype.$checkPermission = function(type) {
let currentPermission = store.getters.permission
// Check if type is object
if (typeof type === 'Object' || type instanceof Object) {
return includes(type, currentPermission)
} else {
return currentPermission === type
}
}
Vue.prototype.$isMobile = function() {
const toMatch = [
/Android/i,

View File

@@ -70,6 +70,43 @@ const actions = {
})
})
},
getShared: (context, back = false) => {
events.$emit('show:content')
// Go to files view
if (router.currentRoute.name !== 'Files') {
router.push({name: 'Files'})
}
if (! back) context.commit('FLUSH_BROWSER_HISTORY')
context.commit('FLUSH_DATA')
context.commit('LOADING_STATE', true)
// Create shared object for history
let trash = {
name: 'Shared',
unique_id: undefined,
location: 'shared',
}
axios
.get(context.getters.api + '/shared')
.then(response => {
context.commit('GET_DATA', response.data)
context.commit('LOADING_STATE', false)
context.commit('STORE_CURRENT_FOLDER', trash)
context.commit('ADD_BROWSER_HISTORY', trash)
events.$emit('scrollTop')
})
.catch(() => {
// Show error message
events.$emit('alert:open', {
title: i18n.t('popup_error.title'),
message: i18n.t('popup_error.message'),
})
})
},
getTrash: (context, back = false) => {
events.$emit('show:content')

View File

@@ -5,6 +5,7 @@ import router from '@/router'
const defaultState = {
authorized: undefined,
permission: 'master', // master | editor | visitor,
app: undefined,
}
@@ -138,8 +139,9 @@ const mutations = {
}
const getters = {
isLogged: state => state.authorized,
permission: state => state.permission,
isGuest: state => ! state.authorized,
isLogged: state => state.authorized,
app: state => state.app,
}

View File

@@ -1,15 +1,14 @@
<template>
<div @click="fileViewClick" @contextmenu.prevent.capture="contextMenu($event, undefined)" id="files-view" :class="filesViewWidth">
<ContextMenu />
<DesktopToolbar v-if="! $isMinimalScale()"/>
<FilesContainer/>
<DesktopToolbar />
<FileBrowser />
</div>
</template>
<script>
import UploadProgress from '@/components/VueFileManagerComponents/FilesView/UploadProgress'
import FilesContainer from '@/components/VueFileManagerComponents/FilesView/FilesContainer'
import DesktopToolbar from '@/components/VueFileManagerComponents/FilesView/DesktopToolbar'
import FileBrowser from '@/components/VueFileManagerComponents/FilesView/FileBrowser'
import ContextMenu from '@/components/VueFileManagerComponents/FilesView/ContextMenu'
import {ResizeSensor} from 'css-element-queries'
import {mapGetters} from 'vuex'
@@ -18,9 +17,8 @@
export default {
name: 'FilesView',
components: {
UploadProgress,
FilesContainer,
DesktopToolbar,
FileBrowser,
ContextMenu,
},
computed: {

View File

@@ -1,32 +1,99 @@
<template>
<div @click="fileViewClick" @contextmenu.prevent.capture="contextMenu($event, undefined)" id="files-view" :class="filesViewWidth">
<ContextMenu />
<DesktopToolbar v-if="! $isMinimalScale()"/>
<FilesContainer/>
<div id="shared-content">
<div id="single-file">
<div v-if="false" class="single-file-wrapper">
<FileItemGrid :data="item"/>
<ButtonBase @click.native="download" class="download-button" button-style="theme">
Download File
</ButtonBase>
</div>
</div>
<div
@contextmenu.prevent.capture="contextMenu($event, undefined)"
:class="filesViewWidth"
@click="fileViewClick"
id="files-view"
v-if="true"
>
<!--Move item window-->
<MoveItem/>
<!--Mobile Menu-->
<MobileMenu/>
<!--Background vignette-->
<Vignette/>
<!--Context menu-->
<ContextMenu/>
<!--Desktop Toolbar-->
<DesktopToolbar/>
<!--File browser-->
<FileBrowser/>
</div>
</div>
</template>
<script>
import UploadProgress from '@/components/VueFileManagerComponents/FilesView/UploadProgress'
import FilesContainer from '@/components/VueFileManagerComponents/FilesView/FilesContainer'
import DesktopToolbar from '@/components/VueFileManagerComponents/FilesView/DesktopToolbar'
import FileItemGrid from '@/components/VueFileManagerComponents/FilesView/FileItemGrid'
import FileBrowser from '@/components/VueFileManagerComponents/FilesView/FileBrowser'
import ContextMenu from '@/components/VueFileManagerComponents/FilesView/ContextMenu'
import ButtonBase from '@/components/VueFileManagerComponents/FilesView/ButtonBase'
import MobileMenu from '@/components/VueFileManagerComponents/FilesView/MobileMenu'
import Vignette from '@/components/VueFileManagerComponents/Others/Vignette'
import MoveItem from '@/components/VueFileManagerComponents/Others/MoveItem'
import {ResizeSensor} from 'css-element-queries'
import {mapGetters} from 'vuex'
import {events} from '@/bus'
export default {
name: 'FilesView',
name: 'SharedContent',
components: {
UploadProgress,
FilesContainer,
DesktopToolbar,
FileItemGrid,
FileBrowser,
ContextMenu,
MobileMenu,
ButtonBase,
Vignette,
MoveItem,
},
computed: {
...mapGetters(['config', 'filesViewWidth']),
},
data() {
return {
item: {
"id": 339,
"user_id": 3,
"unique_id": 421,
"folder_id": 0,
"thumbnail": null,
"name": "VueFileManager-0.0.1-mac",
"basename": "gF5GiO16GNgmkr7K-VueFileManager-0.0.1-mac.zip",
"mimetype": "zip",
"filesize": "95.78MB",
"type": "file",
"deleted_at": null,
"created_at": "11. April. 2020 at 17:11",
"updated_at": "2020-04-11 17:11:49",
"file_url": "https://vuefilemanager.hi5ve.digital/api/file/gF5GiO16GNgmkr7K-VueFileManager-0.0.1-mac.zip",
"parent": null
}
}
},
methods: {
download() {
console.log('penis');
this.$downloadFile(
this.item.file_url,
this.item.name + '.' + this.item.mimetype
)
},
fileViewClick() {
events.$emit('contextMenu:hide')
},
@@ -34,8 +101,7 @@
events.$emit('contextMenu:show', event, item)
},
handleContentResize() {
let filesView = document.getElementById('files-view')
.clientWidth
let filesView = document.getElementById('files-view').clientWidth
if (filesView >= 0 && filesView <= 690)
this.$store.commit('SET_FILES_VIEW_SIZE', 'minimal-scale')
@@ -70,6 +136,44 @@
<style lang="scss">
@import "@assets/app.scss";
#shared-content {
width: 100%;
height: 100%;
}
#single-file {
position: absolute;
bottom: 0;
right: 0;
left: 0;
top: 0;
display: grid;
.single-file-wrapper {
margin: auto;
text-align: center;
.download-button {
margin-top: 15px;
}
}
/deep/ .file-wrapper {
.file-item {
width: 290px;
&:hover, &.is-clicked {
background: transparent;
}
.item-shared {
display: none;
}
}
}
}
#files-view {
font-family: 'Nunito', sans-serif;
font-size: 16px;

View File

@@ -5,6 +5,10 @@
display: table-cell;
vertical-align: middle;
input {
min-width: 310px;
}
.additional-link {
a {

View File

@@ -64,4 +64,5 @@ Route::group(['middleware' => ['auth:api', 'auth.cookie']], function () {
// Sharing routes
Route::post('/share/generate', 'FileSharingController@generate_link');
Route::post('/share/check', 'FileSharingController@check_password');
Route::get('/shared', 'FileSharingController@get_shared');
});