mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-05-25 14:14:42 +00:00
bulk-version v0.1 contextMenu Mobile version selecting
This commit is contained in:
@@ -156,7 +156,7 @@ class Editor
|
|||||||
if ($file['type'] !== 'folder') {
|
if ($file['type'] !== 'folder') {
|
||||||
|
|
||||||
// Get file
|
// Get file
|
||||||
$file = FileManagerFile::withTrashed()
|
$item = FileManagerFile::withTrashed()
|
||||||
->where('user_id', $user->id)
|
->where('user_id', $user->id)
|
||||||
->where('unique_id', $unique_id)
|
->where('unique_id', $unique_id)
|
||||||
->first();
|
->first();
|
||||||
@@ -176,20 +176,20 @@ class Editor
|
|||||||
if ($file['force_delete']) {
|
if ($file['force_delete']) {
|
||||||
|
|
||||||
// Delete file
|
// Delete file
|
||||||
Storage::delete('/file-manager/' . $file->basename);
|
Storage::delete('/file-manager/' . $item->basename);
|
||||||
|
|
||||||
// Delete thumbnail if exist
|
// Delete thumbnail if exist
|
||||||
if ($file->thumbnail) Storage::delete('/file-manager/' . $file->getRawOriginal('thumbnail'));
|
if ($item->thumbnail) Storage::delete('/file-manager/' . $item->getRawOriginal('thumbnail'));
|
||||||
|
|
||||||
// Delete file permanently
|
// Delete file permanently
|
||||||
$file->forceDelete();
|
$item->forceDelete();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Soft delete file
|
// Soft delete file
|
||||||
if (!$file['force_delete']) {
|
if (!$file['force_delete']) {
|
||||||
|
|
||||||
// Soft delete file
|
// Soft delete file
|
||||||
$file->delete();
|
$item->delete();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+94
-113
@@ -29,7 +29,7 @@
|
|||||||
"/chunks/environment-setup.js": "/chunks/environment-setup.js?id=405847df44edd86e301a",
|
"/chunks/environment-setup.js": "/chunks/environment-setup.js?id=405847df44edd86e301a",
|
||||||
"/chunks/files.js": "/chunks/files.js?id=e0e01c40a7c37f170270",
|
"/chunks/files.js": "/chunks/files.js?id=e0e01c40a7c37f170270",
|
||||||
"/chunks/files~chunks/settings-subscription~chunks/shared-files~chunks/shared-page~chunks/trash~chunks~3ea7670b.js": "/chunks/files~chunks/settings-subscription~chunks/shared-files~chunks/shared-page~chunks/trash~chunks~3ea7670b.js?id=6cafd70cb9e5ae25f02a",
|
"/chunks/files~chunks/settings-subscription~chunks/shared-files~chunks/shared-page~chunks/trash~chunks~3ea7670b.js": "/chunks/files~chunks/settings-subscription~chunks/shared-files~chunks/shared-page~chunks/trash~chunks~3ea7670b.js?id=6cafd70cb9e5ae25f02a",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.js?id=8c15cc5895d59467a5a5",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.js?id=195540d080e3889ca57f",
|
||||||
"/chunks/forgotten-password.js": "/chunks/forgotten-password.js?id=aba8c662fbc234892216",
|
"/chunks/forgotten-password.js": "/chunks/forgotten-password.js?id=aba8c662fbc234892216",
|
||||||
"/chunks/installation-disclaimer.js": "/chunks/installation-disclaimer.js?id=ecceaa6cdf5768826b36",
|
"/chunks/installation-disclaimer.js": "/chunks/installation-disclaimer.js?id=ecceaa6cdf5768826b36",
|
||||||
"/chunks/invoices.js": "/chunks/invoices.js?id=248503ac5967fe8370f9",
|
"/chunks/invoices.js": "/chunks/invoices.js?id=248503ac5967fe8370f9",
|
||||||
@@ -75,116 +75,97 @@
|
|||||||
"/chunks/user-storage.js": "/chunks/user-storage.js?id=a99910f95c3e39caa78b",
|
"/chunks/user-storage.js": "/chunks/user-storage.js?id=a99910f95c3e39caa78b",
|
||||||
"/chunks/user-subscription.js": "/chunks/user-subscription.js?id=e8ea1e67f9ac0a835ed0",
|
"/chunks/user-subscription.js": "/chunks/user-subscription.js?id=e8ea1e67f9ac0a835ed0",
|
||||||
"/chunks/users.js": "/chunks/users.js?id=cdba7af8fb0cd8e64c40",
|
"/chunks/users.js": "/chunks/users.js?id=cdba7af8fb0cd8e64c40",
|
||||||
"/js/main.767420ad569a3b38d5db.hot-update.js": "/js/main.767420ad569a3b38d5db.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.54ec103f70b873e41cec.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.54ec103f70b873e41cec.hot-update.js",
|
||||||
"/js/main.edbf0aedbe6659b65142.hot-update.js": "/js/main.edbf0aedbe6659b65142.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.563f12d5491b3692c446.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.563f12d5491b3692c446.hot-update.js",
|
||||||
"/js/main.99c48b2298fb77086daa.hot-update.js": "/js/main.99c48b2298fb77086daa.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.79bba5275cfddb7e45a9.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.79bba5275cfddb7e45a9.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.ddd3f919f4b010f40e21.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.ddd3f919f4b010f40e21.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.80a94659f344a23f709e.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.80a94659f344a23f709e.hot-update.js",
|
||||||
"/js/main.f5d02f49d57902a88035.hot-update.js": "/js/main.f5d02f49d57902a88035.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.c59bb8914b5280984209.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.c59bb8914b5280984209.hot-update.js",
|
||||||
"/js/main.76b2e9cf380709948f07.hot-update.js": "/js/main.76b2e9cf380709948f07.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.b8267bc97292ebcb4063.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.b8267bc97292ebcb4063.hot-update.js",
|
||||||
"/js/main.d97c1122943516d7a0e5.hot-update.js": "/js/main.d97c1122943516d7a0e5.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.8a76d14976f16978c363.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.8a76d14976f16978c363.hot-update.js",
|
||||||
"/js/main.bfff5064d9fc36a7567c.hot-update.js": "/js/main.bfff5064d9fc36a7567c.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.9fc5de6987ac9d477256.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.9fc5de6987ac9d477256.hot-update.js",
|
||||||
"/js/main.6094c2d1968f2b0b6a96.hot-update.js": "/js/main.6094c2d1968f2b0b6a96.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.6fe307c9fecc5dad94f3.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.6fe307c9fecc5dad94f3.hot-update.js",
|
||||||
"/js/main.ae354bbe50594e027c22.hot-update.js": "/js/main.ae354bbe50594e027c22.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.b7d46284d36fedfba167.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.b7d46284d36fedfba167.hot-update.js",
|
||||||
"/js/main.661a9c6d3aec8b6a2dcc.hot-update.js": "/js/main.661a9c6d3aec8b6a2dcc.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.528b6b5eacda717e9300.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.528b6b5eacda717e9300.hot-update.js",
|
||||||
"/js/main.82c1e136025af897fead.hot-update.js": "/js/main.82c1e136025af897fead.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.ebfda0436eb8cbb6c2e4.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.ebfda0436eb8cbb6c2e4.hot-update.js",
|
||||||
"/js/main.fbe893a7903076a0d102.hot-update.js": "/js/main.fbe893a7903076a0d102.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.6357c20e6d9afc737dfe.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.6357c20e6d9afc737dfe.hot-update.js",
|
||||||
"/js/main.f500898e669e6ba9b1d6.hot-update.js": "/js/main.f500898e669e6ba9b1d6.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.d8ee20c8a649a81e905e.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.d8ee20c8a649a81e905e.hot-update.js",
|
||||||
"/js/main.c075f5a7350d5f510c93.hot-update.js": "/js/main.c075f5a7350d5f510c93.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.4fe6774ac6f8a734501d.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.4fe6774ac6f8a734501d.hot-update.js",
|
||||||
"/js/main.25ba42e17dd00816f45e.hot-update.js": "/js/main.25ba42e17dd00816f45e.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.aea520fb886e7ff1d9fd.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.aea520fb886e7ff1d9fd.hot-update.js",
|
||||||
"/js/main.1bed513db9df73d56c9e.hot-update.js": "/js/main.1bed513db9df73d56c9e.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.d48afaf6a7df3c261032.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.d48afaf6a7df3c261032.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.5179bfbbb2e773dc4849.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.5179bfbbb2e773dc4849.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.2a79957127f4d98d1a3c.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.2a79957127f4d98d1a3c.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.3ef510c31ca8bf2cd0be.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.3ef510c31ca8bf2cd0be.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.3cb82486fd504d5b36ef.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.3cb82486fd504d5b36ef.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.5f55fa5cff653365891c.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.5f55fa5cff653365891c.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.492fe6f8cccc2f4c29cd.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.492fe6f8cccc2f4c29cd.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.fbbe3f1cf88f9d9c9cb3.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.fbbe3f1cf88f9d9c9cb3.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.34954c5294b8a2d111d6.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.34954c5294b8a2d111d6.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.1312b84a60a390d87eb9.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.1312b84a60a390d87eb9.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.1e4370966249719addb8.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.1e4370966249719addb8.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.55425050d57e1041ada5.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.55425050d57e1041ada5.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.0196560cbae6a86783f6.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.0196560cbae6a86783f6.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.6ceb360b7f9234b5f680.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.6ceb360b7f9234b5f680.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.32e904c5f0d3516b6879.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.32e904c5f0d3516b6879.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.293219c557e44e0a25f3.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.293219c557e44e0a25f3.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.0724ce848b7000717508.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.0724ce848b7000717508.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.20cd6bad24f7e8c9bb2d.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.20cd6bad24f7e8c9bb2d.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.defb35ef884b9cd5f102.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.defb35ef884b9cd5f102.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.06f2c0a9de8ef70a5f80.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.06f2c0a9de8ef70a5f80.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.dbc81d63d8395ed820f1.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.dbc81d63d8395ed820f1.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.49d13efab03021d732bc.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.49d13efab03021d732bc.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.3b48f2371b7435a5fb35.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.3b48f2371b7435a5fb35.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.18ed5aa55df070f2c1e6.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.18ed5aa55df070f2c1e6.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.25bbb8ab3b43d9c43c7a.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.25bbb8ab3b43d9c43c7a.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.78b3f0bfea1aa54d5ca7.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.78b3f0bfea1aa54d5ca7.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.c3ff280241d262e60ee3.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.c3ff280241d262e60ee3.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.2052d98a167e8a7afa9c.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.2052d98a167e8a7afa9c.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.7f8305c28cf78535d445.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.7f8305c28cf78535d445.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.c9d00fe85b607aa704f1.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.c9d00fe85b607aa704f1.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.309eb2bc4b7ab5b0a711.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.309eb2bc4b7ab5b0a711.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.b49f906a324f974a3f9c.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.b49f906a324f974a3f9c.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.1488f86f85ae657d0164.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.1488f86f85ae657d0164.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.1756e15e6082b077f3f8.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.1756e15e6082b077f3f8.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.72a1d8cd251bc359aadf.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.72a1d8cd251bc359aadf.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.15902fc6d5f851ff7c85.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.15902fc6d5f851ff7c85.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.1aa47c62665052cd5aa8.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.1aa47c62665052cd5aa8.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.112a34244469015b97e2.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.112a34244469015b97e2.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.294868b8272f84bd853d.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.294868b8272f84bd853d.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.d9dad9a582a8c3b76656.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.d9dad9a582a8c3b76656.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.a777aa4a8cafd231aa64.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.a777aa4a8cafd231aa64.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.18275bc6579379290dfb.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.18275bc6579379290dfb.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.fe92eb08f49ef63d8bec.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.fe92eb08f49ef63d8bec.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.8989d79da20e6506a108.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.8989d79da20e6506a108.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.26c4e5b67127929269b7.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.26c4e5b67127929269b7.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.dd3932ed3fb7d3048fef.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.dd3932ed3fb7d3048fef.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.41641ddb8a12fab550b9.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.41641ddb8a12fab550b9.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.d25a6f231107ad2352ba.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.d25a6f231107ad2352ba.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.a17b10e95c351fda92c4.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.a17b10e95c351fda92c4.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.676760d93688df1bc60d.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.676760d93688df1bc60d.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.ac34d8a7b3e2f6ad737e.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.ac34d8a7b3e2f6ad737e.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.3d29134874ea46e6821f.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.3d29134874ea46e6821f.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.576f23535fbb6c85726a.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.576f23535fbb6c85726a.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.d1212486baec3577ff88.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.d1212486baec3577ff88.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.8c5c03da42760f16a535.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.8c5c03da42760f16a535.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.28bcabb140b8e5cee2fe.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.28bcabb140b8e5cee2fe.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.e37491b898d385ecdad6.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.e37491b898d385ecdad6.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.cb17b426afa8f73555e3.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.cb17b426afa8f73555e3.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.5c8879f16479bd6ec420.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.5c8879f16479bd6ec420.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.58da1a3b8c3aa3482e98.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.58da1a3b8c3aa3482e98.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.207e3bcce5c5b3da542e.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.207e3bcce5c5b3da542e.hot-update.js",
|
||||||
"/js/main.645dea579c04e2141567.hot-update.js": "/js/main.645dea579c04e2141567.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.bfdfbcb5edca622eedea.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.bfdfbcb5edca622eedea.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.ea94e22857c0d0849444.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.ea94e22857c0d0849444.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.2a0c8c4e84ca1b9ee95e.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.2a0c8c4e84ca1b9ee95e.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.0eaf094148b9c0491eb1.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.0eaf094148b9c0491eb1.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.94e8a38549b297435ee5.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.94e8a38549b297435ee5.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.cf74b01887084c3e84b1.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.cf74b01887084c3e84b1.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.e76245ff3c16b13f44bf.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.e76245ff3c16b13f44bf.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.5c36b257837f1ea30d0a.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.5c36b257837f1ea30d0a.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.0b2e2de040afdb262d9b.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.0b2e2de040afdb262d9b.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.e328124cb8af7fa50844.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.e328124cb8af7fa50844.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.271715031a174ddeda1c.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.271715031a174ddeda1c.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.ae405b773b88de15c9ea.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.ae405b773b88de15c9ea.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.7a0274443cd3ab4953cc.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.7a0274443cd3ab4953cc.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.db9ab1ef04a4a7c967a5.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.db9ab1ef04a4a7c967a5.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.8ad0ad4b45544efb5de5.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.8ad0ad4b45544efb5de5.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.52db9770dc779bfd5503.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.52db9770dc779bfd5503.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.5d049a8bb77a1f46542e.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.5d049a8bb77a1f46542e.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.c1bb3ec6439b72bde5d3.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.c1bb3ec6439b72bde5d3.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.5e71b3186667c411c6d4.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.5e71b3186667c411c6d4.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.46d3b2e81a99c58d1bf6.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.46d3b2e81a99c58d1bf6.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.714f427830b71c14f095.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.714f427830b71c14f095.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.077ff036661a6d077588.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.077ff036661a6d077588.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.1c1f433790dd85951870.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.1c1f433790dd85951870.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.94973678b87c1b6d214c.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.94973678b87c1b6d214c.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.821fe7ec17d4a94b1c44.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.821fe7ec17d4a94b1c44.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.eb0337f1b7cbbd526c42.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.eb0337f1b7cbbd526c42.hot-update.js",
|
"/js/main.7054c1d534099f14e2c5.hot-update.js": "/js/main.7054c1d534099f14e2c5.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.6b4d108876871e2d4e84.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.6b4d108876871e2d4e84.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.9f5541d01b708634db8e.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.9f5541d01b708634db8e.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.6cd4449aec8b0ac127df.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.6cd4449aec8b0ac127df.hot-update.js",
|
"/js/main.6b52d77464ee33d6c492.hot-update.js": "/js/main.6b52d77464ee33d6c492.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.c5d2de27e505c2db1144.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.c5d2de27e505c2db1144.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.72acf123fa2658bfbe81.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.72acf123fa2658bfbe81.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.00145056ad30cfd4e514.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.00145056ad30cfd4e514.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.0afd0192d5927daa4f0e.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.0afd0192d5927daa4f0e.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.c1b2c792d07650fa2839.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.c1b2c792d07650fa2839.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.50829359ab16b8029230.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.50829359ab16b8029230.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.4afc66748d13d73c70cd.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.4afc66748d13d73c70cd.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.abfe41dd63d515c7a954.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.abfe41dd63d515c7a954.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.0dde9896ad98c1e682de.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.0dde9896ad98c1e682de.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.a72b108240b191c11144.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.a72b108240b191c11144.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.84a56838f4636f3cc93f.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.84a56838f4636f3cc93f.hot-update.js",
|
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.676b1fd2792e520b26bb.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.676b1fd2792e520b26bb.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.5d7a6e6fadf3c0e1bd3e.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.5d7a6e6fadf3c0e1bd3e.hot-update.js",
|
"/js/main.ed987f9d05b65bf70dcd.hot-update.js": "/js/main.ed987f9d05b65bf70dcd.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.8d89e1b299b47dc17724.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.8d89e1b299b47dc17724.hot-update.js",
|
"/js/main.d0919bdbf17c0f1d5b87.hot-update.js": "/js/main.d0919bdbf17c0f1d5b87.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.1f1b9bac774d856eabf7.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.1f1b9bac774d856eabf7.hot-update.js",
|
"/js/main.53a80409b67cdbfbedcf.hot-update.js": "/js/main.53a80409b67cdbfbedcf.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.5ffb59c316e393f0b67c.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.5ffb59c316e393f0b67c.hot-update.js",
|
"/js/main.d2c71c38edafc5dfaecf.hot-update.js": "/js/main.d2c71c38edafc5dfaecf.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.da2cc0bee54f5a082221.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.da2cc0bee54f5a082221.hot-update.js",
|
"/js/main.c57a080c5589c335d9e0.hot-update.js": "/js/main.c57a080c5589c335d9e0.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.1c4e81f7767e572e67f4.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.1c4e81f7767e572e67f4.hot-update.js",
|
"/js/main.9c066075cbb8091c9e0a.hot-update.js": "/js/main.9c066075cbb8091c9e0a.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.f318634df4fa8cb57b5f.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.f318634df4fa8cb57b5f.hot-update.js",
|
"/js/main.2a114e8abe5c6d7e8896.hot-update.js": "/js/main.2a114e8abe5c6d7e8896.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.27576ccd2504ba0a2cea.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.27576ccd2504ba0a2cea.hot-update.js",
|
"/js/main.c7ac33f16f118cbfe017.hot-update.js": "/js/main.c7ac33f16f118cbfe017.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.f46761a661ab749be221.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.f46761a661ab749be221.hot-update.js",
|
"/js/main.3cc69c262f7137761036.hot-update.js": "/js/main.3cc69c262f7137761036.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.48f11cd4756b08f0bf86.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.48f11cd4756b08f0bf86.hot-update.js",
|
"/js/main.8094e875b61411f96230.hot-update.js": "/js/main.8094e875b61411f96230.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.05c67abc8ce7bad61ae7.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.05c67abc8ce7bad61ae7.hot-update.js",
|
"/js/main.f60c01ffaec31a785554.hot-update.js": "/js/main.f60c01ffaec31a785554.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.4c5cf15c42e991ef7c69.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.4c5cf15c42e991ef7c69.hot-update.js",
|
"/js/main.159b31616c34942b3c84.hot-update.js": "/js/main.159b31616c34942b3c84.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.c709efeabbaa4312d154.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.c709efeabbaa4312d154.hot-update.js",
|
"/js/main.c2a2d71d6852099f6aaa.hot-update.js": "/js/main.c2a2d71d6852099f6aaa.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.a7958ca5b4b1574534ff.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.a7958ca5b4b1574534ff.hot-update.js",
|
"/js/main.ad3b2e53dc9b57fd10f1.hot-update.js": "/js/main.ad3b2e53dc9b57fd10f1.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.0c77603041fa411356ec.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.0c77603041fa411356ec.hot-update.js",
|
"/js/main.88275a29639d9180e75b.hot-update.js": "/js/main.88275a29639d9180e75b.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.514451ec9049c3462bc3.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.514451ec9049c3462bc3.hot-update.js",
|
"/js/main.0c8b7652845cbe4cad9c.hot-update.js": "/js/main.0c8b7652845cbe4cad9c.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.bc7cc680fa16e86d9eef.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.bc7cc680fa16e86d9eef.hot-update.js",
|
"/js/main.54cc33e0ee38f66b69ce.hot-update.js": "/js/main.54cc33e0ee38f66b69ce.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.b914a492918b73cc0869.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.b914a492918b73cc0869.hot-update.js",
|
"/js/main.e8c018f7bca738fc325a.hot-update.js": "/js/main.e8c018f7bca738fc325a.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.a22c571a909722e954a6.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.a22c571a909722e954a6.hot-update.js",
|
"/js/main.5ae0fe848a68174ca0bf.hot-update.js": "/js/main.5ae0fe848a68174ca0bf.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.82dcbd7e0629de2e235d.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.82dcbd7e0629de2e235d.hot-update.js",
|
"/js/main.fb9428cb35d59ab8ca81.hot-update.js": "/js/main.fb9428cb35d59ab8ca81.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.704d6d31a8120878427e.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.704d6d31a8120878427e.hot-update.js",
|
"/js/main.ef77c7046301c8970dd8.hot-update.js": "/js/main.ef77c7046301c8970dd8.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.a1fe7aefb4d59c234948.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.a1fe7aefb4d59c234948.hot-update.js",
|
"/js/main.8a6788d630719009432e.hot-update.js": "/js/main.8a6788d630719009432e.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.a629bc8d6a0e9120502e.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.a629bc8d6a0e9120502e.hot-update.js",
|
"/js/main.7d494e25bb499a6e25f2.hot-update.js": "/js/main.7d494e25bb499a6e25f2.hot-update.js",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.cf035a357754f498e0b8.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.cf035a357754f498e0b8.hot-update.js",
|
"/js/main.554f1eb7892632c68312.hot-update.js": "/js/main.554f1eb7892632c68312.hot-update.js"
|
||||||
"/js/main.8bf5e9ca516b2cff6f32.hot-update.js": "/js/main.8bf5e9ca516b2cff6f32.hot-update.js",
|
|
||||||
"/chunks/app-others.8bf5e9ca516b2cff6f32.hot-update.js": "/chunks/app-others.8bf5e9ca516b2cff6f32.hot-update.js",
|
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.8bf5e9ca516b2cff6f32.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.8bf5e9ca516b2cff6f32.hot-update.js",
|
|
||||||
"/js/main.82565d0ff10a52d8a721.hot-update.js": "/js/main.82565d0ff10a52d8a721.hot-update.js",
|
|
||||||
"/chunks/app-others.82565d0ff10a52d8a721.hot-update.js": "/chunks/app-others.82565d0ff10a52d8a721.hot-update.js",
|
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.82565d0ff10a52d8a721.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.82565d0ff10a52d8a721.hot-update.js",
|
|
||||||
"/js/main.e9a41033e7b11fab8d60.hot-update.js": "/js/main.e9a41033e7b11fab8d60.hot-update.js",
|
|
||||||
"/chunks/app-others.e9a41033e7b11fab8d60.hot-update.js": "/chunks/app-others.e9a41033e7b11fab8d60.hot-update.js",
|
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.e9a41033e7b11fab8d60.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.e9a41033e7b11fab8d60.hot-update.js",
|
|
||||||
"/js/main.8e5724e1bf2542aefedb.hot-update.js": "/js/main.8e5724e1bf2542aefedb.hot-update.js",
|
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.8e5724e1bf2542aefedb.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.8e5724e1bf2542aefedb.hot-update.js",
|
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.6e05a68f5ae202d91bc4.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.6e05a68f5ae202d91bc4.hot-update.js",
|
|
||||||
"/js/main.e36c6dc8382e3d5fe133.hot-update.js": "/js/main.e36c6dc8382e3d5fe133.hot-update.js",
|
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.e36c6dc8382e3d5fe133.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.e36c6dc8382e3d5fe133.hot-update.js",
|
|
||||||
"/chunks/settings-subscription.e36c6dc8382e3d5fe133.hot-update.js": "/chunks/settings-subscription.e36c6dc8382e3d5fe133.hot-update.js",
|
|
||||||
"/chunks/settings-subscription~chunks/user-subscription.js": "/chunks/settings-subscription~chunks/user-subscription.js?id=d58c4e02afae33b7cc85",
|
|
||||||
"/chunks/user-subscription.e36c6dc8382e3d5fe133.hot-update.js": "/chunks/user-subscription.e36c6dc8382e3d5fe133.hot-update.js",
|
|
||||||
"/js/main.1c56b7e701300e0d9ed4.hot-update.js": "/js/main.1c56b7e701300e0d9ed4.hot-update.js",
|
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.1c56b7e701300e0d9ed4.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.1c56b7e701300e0d9ed4.hot-update.js"
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -49,7 +49,7 @@
|
|||||||
$isThisLocation(['trash', 'trash-root']) && $checkPermission('master') && !showFromPreview
|
$isThisLocation(['trash', 'trash-root']) && $checkPermission('master') && !showFromPreview
|
||||||
" id="menu-list" class="menu-options">
|
" id="menu-list" class="menu-options">
|
||||||
<ul class="menu-option-group">
|
<ul class="menu-option-group">
|
||||||
<li class="menu-option" @click="$store.dispatch('restoreItem', item)" v-if="item">
|
<li class="menu-option" @click="$store.dispatch('restoreItem', item)" v-if="item && multiSelectContextMenu ">
|
||||||
<div class="icon">
|
<div class="icon">
|
||||||
<life-buoy-icon size="17"></life-buoy-icon>
|
<life-buoy-icon size="17"></life-buoy-icon>
|
||||||
</div>
|
</div>
|
||||||
@@ -74,7 +74,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<ul class="menu-option-group" v-if="item">
|
<ul class="menu-option-group" v-if="item && multiSelectContextMenu">
|
||||||
<li class="menu-option" @click="ItemDetail">
|
<li class="menu-option" @click="ItemDetail">
|
||||||
<div class="icon">
|
<div class="icon">
|
||||||
<eye-icon size="17"></eye-icon>
|
<eye-icon size="17"></eye-icon>
|
||||||
@@ -96,7 +96,7 @@
|
|||||||
|
|
||||||
<!--ContextMenu for Base location with MASTER permission-->
|
<!--ContextMenu for Base location with MASTER permission-->
|
||||||
<div v-if="$isThisLocation(['shared']) && $checkPermission('master') && !showFromPreview" id="menu-list" class="menu-options">
|
<div v-if="$isThisLocation(['shared']) && $checkPermission('master') && !showFromPreview" id="menu-list" class="menu-options">
|
||||||
<ul class="menu-option-group" v-if="item && isFolder">
|
<ul class="menu-option-group" v-if="item && isFolder && multiSelectContextMenu">
|
||||||
<li class="menu-option" @click="addToFavourites">
|
<li class="menu-option" @click="addToFavourites">
|
||||||
<div class="icon">
|
<div class="icon">
|
||||||
<star-icon size="17"></star-icon>
|
<star-icon size="17"></star-icon>
|
||||||
@@ -111,7 +111,7 @@
|
|||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<ul class="menu-option-group" v-if="item">
|
<ul class="menu-option-group" v-if="item">
|
||||||
<li class="menu-option" @click="shareItem">
|
<li class="menu-option" @click="shareItem" v-if="multiSelectContextMenu">
|
||||||
<div class="icon">
|
<div class="icon">
|
||||||
<link-icon size="17"></link-icon>
|
<link-icon size="17"></link-icon>
|
||||||
</div>
|
</div>
|
||||||
@@ -132,7 +132,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<ul class="menu-option-group" v-if="item">
|
<ul class="menu-option-group" v-if="item && multiSelectContextMenu">
|
||||||
<li class="menu-option" @click="ItemDetail" v-if="item">
|
<li class="menu-option" @click="ItemDetail" v-if="item">
|
||||||
<div class="icon">
|
<div class="icon">
|
||||||
<eye-icon size="17"></eye-icon>
|
<eye-icon size="17"></eye-icon>
|
||||||
@@ -158,7 +158,7 @@
|
|||||||
$checkPermission('master') && !showFromPreview
|
$checkPermission('master') && !showFromPreview
|
||||||
" id="menu-list" class="menu-options">
|
" id="menu-list" class="menu-options">
|
||||||
<ul class="menu-option-group" v-if="!$isThisLocation(['participant_uploads', 'latest'])">
|
<ul class="menu-option-group" v-if="!$isThisLocation(['participant_uploads', 'latest'])">
|
||||||
<li class="menu-option" @click="addToFavourites" v-if="item && isFolder">
|
<li class="menu-option" @click="addToFavourites" v-if="item && isFolder && multiSelectContextMenu">
|
||||||
<div class="icon">
|
<div class="icon">
|
||||||
<star-icon size="17"></star-icon>
|
<star-icon size="17"></star-icon>
|
||||||
</div>
|
</div>
|
||||||
@@ -188,7 +188,7 @@
|
|||||||
{{ $t('context_menu.move') }}
|
{{ $t('context_menu.move') }}
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li class="menu-option" @click="shareItem">
|
<li class="menu-option" @click="shareItem" v-if="multiSelectContextMenu">
|
||||||
<div class="icon">
|
<div class="icon">
|
||||||
<link-icon size="17"></link-icon>
|
<link-icon size="17"></link-icon>
|
||||||
</div>
|
</div>
|
||||||
@@ -209,7 +209,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<ul class="menu-option-group" v-if="item">
|
<ul class="menu-option-group" v-if="item && multiSelectContextMenu">
|
||||||
<li class="menu-option" @click="ItemDetail">
|
<li class="menu-option" @click="ItemDetail">
|
||||||
<div class="icon">
|
<div class="icon">
|
||||||
<eye-icon size="17"></eye-icon>
|
<eye-icon size="17"></eye-icon>
|
||||||
@@ -230,7 +230,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!--ContextMenu for Base location with EDITOR permission-->
|
<!--ContextMenu for Base location with EDITOR permission-->
|
||||||
<div v-if="$isThisLocation(['base', 'public']) && $checkPermission('editor') && !showFromPreview" id="menu-list" class="menu-options">
|
<div v-if="$isThisLocation(['base', 'public']) && $checkPermission('editor') && !showFromPreview " id="menu-list" class="menu-options">
|
||||||
<ul class="menu-option-group">
|
<ul class="menu-option-group">
|
||||||
<li class="menu-option" @click="createFolder">
|
<li class="menu-option" @click="createFolder">
|
||||||
<div class="icon">
|
<div class="icon">
|
||||||
@@ -259,7 +259,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<ul class="menu-option-group" v-if="item">
|
<ul class="menu-option-group" v-if="item && multiSelectContextMenu ">
|
||||||
<li class="menu-option" @click="ItemDetail">
|
<li class="menu-option" @click="ItemDetail">
|
||||||
<div class="icon">
|
<div class="icon">
|
||||||
<eye-icon size="17"></eye-icon>
|
<eye-icon size="17"></eye-icon>
|
||||||
@@ -281,9 +281,9 @@
|
|||||||
|
|
||||||
<!--ContextMenu for Base location with VISITOR permission-->
|
<!--ContextMenu for Base location with VISITOR permission-->
|
||||||
<div v-if="
|
<div v-if="
|
||||||
$isThisLocation(['base', 'public']) && $checkPermission('visitor') && !showFromPreview
|
$isThisLocation(['base', 'public']) && $checkPermission('visitor') && !showFromPreview
|
||||||
" id="menu-list" class="menu-options">
|
" id="menu-list" class="menu-options">
|
||||||
<ul class="menu-option-group" v-if="item">
|
<ul class="menu-option-group" v-if="item && multiSelectContextMenu">
|
||||||
<li class="menu-option" @click="ItemDetail">
|
<li class="menu-option" @click="ItemDetail">
|
||||||
<div class="icon">
|
<div class="icon">
|
||||||
<eye-icon size="17"></eye-icon>
|
<eye-icon size="17"></eye-icon>
|
||||||
@@ -321,7 +321,6 @@ import {
|
|||||||
import { mapGetters } from 'vuex'
|
import { mapGetters } from 'vuex'
|
||||||
import { events } from '@/bus'
|
import { events } from '@/bus'
|
||||||
|
|
||||||
<<<<<<< HEAD
|
|
||||||
export default {
|
export default {
|
||||||
name: 'ContextMenu',
|
name: 'ContextMenu',
|
||||||
components: {
|
components: {
|
||||||
@@ -334,22 +333,18 @@ export default {
|
|||||||
TrashIcon,
|
TrashIcon,
|
||||||
LinkIcon,
|
LinkIcon,
|
||||||
StarIcon,
|
StarIcon,
|
||||||
EyeIcon
|
EyeIcon,
|
||||||
=======
|
|
||||||
// Show panel if is not open
|
|
||||||
this.$store.dispatch("fileInfoToggle", true);
|
|
||||||
},
|
|
||||||
deleteItem() {
|
|
||||||
// Dispatch remove item
|
|
||||||
this.$store.dispatch("deleteItem");
|
|
||||||
},
|
|
||||||
createFolder() {
|
|
||||||
// Create folder
|
|
||||||
this.$createFolder(this.$t("popup_create_folder.folder_default_name"));
|
|
||||||
>>>>>>> 559bee6 (bulk-operations v0.1 setup bulk delete,move items and FileInfoPanel)
|
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
...mapGetters(['user']),
|
...mapGetters(['user', 'fileInfoDetail']),
|
||||||
|
multiSelectContextMenu() {
|
||||||
|
if(this.fileInfoDetail.length > 1 && this.fileInfoDetail.includes(this.item)) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
if(this.fileInfoDetail.length < 2 || !this.fileInfoDetail.includes(this.item)) {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
},
|
||||||
favourites() {
|
favourites() {
|
||||||
return this.user.relationships.favourites.data.attributes.folders
|
return this.user.relationships.favourites.data.attributes.folders
|
||||||
},
|
},
|
||||||
@@ -402,7 +397,7 @@ export default {
|
|||||||
},
|
},
|
||||||
moveItem() {
|
moveItem() {
|
||||||
// Open move item popup
|
// Open move item popup
|
||||||
events.$emit('popup:open', { name: 'move', item: this.item })
|
events.$emit('popup:open', { name: 'move', item: [this.item] })
|
||||||
},
|
},
|
||||||
shareItem() {
|
shareItem() {
|
||||||
if (this.item.shared) {
|
if (this.item.shared) {
|
||||||
|
|||||||
@@ -175,13 +175,16 @@ export default {
|
|||||||
]);
|
]);
|
||||||
},
|
},
|
||||||
canShareInView() {
|
canShareInView() {
|
||||||
return !this.$isThisLocation([
|
let location = !this.$isThisLocation([
|
||||||
"base",
|
"base",
|
||||||
"participant_uploads",
|
"participant_uploads",
|
||||||
"latest",
|
"latest",
|
||||||
"shared",
|
"shared",
|
||||||
"public",
|
"public",
|
||||||
]);
|
]);
|
||||||
|
if(location || this.fileInfoDetail.length > 1) {
|
||||||
|
return true
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
|||||||
@@ -206,7 +206,7 @@
|
|||||||
|
|
||||||
// On items delete
|
// On items delete
|
||||||
events.$on('items:delete', () => {
|
events.$on('items:delete', () => {
|
||||||
this.$store.dispatch('deleteItem', this.fileInfoDetail)
|
this.$store.dispatch('deleteItem')
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,8 +14,15 @@
|
|||||||
@dragleave="dragLeave"
|
@dragleave="dragLeave"
|
||||||
@dragover.prevent="dragEnter"
|
@dragover.prevent="dragEnter"
|
||||||
class="file-item"
|
class="file-item"
|
||||||
:class="{ 'is-clicked': this.isClicked, 'is-dragenter': area }"
|
:class="{'is-clicked' : isClicked , 'no-clicked' : !isClicked, 'is-dragenter': area }"
|
||||||
>
|
>
|
||||||
|
|
||||||
|
<div class="check-select" v-if="mobileMultiSelect">
|
||||||
|
<div class="select-box" :class="{'select-box-active' : isClicked } ">
|
||||||
|
<CheckIcon v-if="isClicked" class="icon" size="17"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!--Thumbnail for item-->
|
<!--Thumbnail for item-->
|
||||||
<div class="icon-item">
|
<div class="icon-item">
|
||||||
<!--If is file or image, then link item-->
|
<!--If is file or image, then link item-->
|
||||||
@@ -60,7 +67,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!--Go Next icon-->
|
<!--Go Next icon-->
|
||||||
<div class="actions" v-if="$isMobile() && !($checkPermission('visitor') && isFolder)">
|
<div class="actions" v-if="$isMobile() && !($checkPermission('visitor') && isFolder || mobileMultiSelect)">
|
||||||
<span @click.stop="showItemActions" class="show-actions">
|
<span @click.stop="showItemActions" class="show-actions">
|
||||||
<FontAwesomeIcon icon="ellipsis-v" class="icon-action"></FontAwesomeIcon>
|
<FontAwesomeIcon icon="ellipsis-v" class="icon-action"></FontAwesomeIcon>
|
||||||
</span>
|
</span>
|
||||||
@@ -70,7 +77,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { LinkIcon, UserPlusIcon } from 'vue-feather-icons'
|
import { LinkIcon, UserPlusIcon , CheckIcon } from 'vue-feather-icons'
|
||||||
import { debounce } from 'lodash'
|
import { debounce } from 'lodash'
|
||||||
import { mapGetters } from 'vuex'
|
import { mapGetters } from 'vuex'
|
||||||
import { events } from '@/bus'
|
import { events } from '@/bus'
|
||||||
@@ -80,13 +87,15 @@ export default {
|
|||||||
props: ['data'],
|
props: ['data'],
|
||||||
components: {
|
components: {
|
||||||
UserPlusIcon,
|
UserPlusIcon,
|
||||||
LinkIcon
|
LinkIcon,
|
||||||
|
CheckIcon,
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
...mapGetters(['FilePreviewType', 'fileInfoDetail' ]),
|
...mapGetters(['FilePreviewType', 'fileInfoDetail' ]),
|
||||||
...mapGetters({allData: 'data'}),
|
...mapGetters({allData: 'data'}),
|
||||||
isClicked() {
|
isClicked() {
|
||||||
if(this.fileInfoDetail.some(element => element.unique_id == this.data.unique_id)){
|
if(this.fileInfoDetail.some(element => element.unique_id == this.data.unique_id)){
|
||||||
|
console.log('som tu')
|
||||||
return true
|
return true
|
||||||
}else {
|
}else {
|
||||||
return false
|
return false
|
||||||
@@ -139,12 +148,14 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
area: false,
|
area: false,
|
||||||
itemName: undefined
|
itemName: undefined,
|
||||||
|
mobileMultiSelect:false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
showItemActions() {
|
showItemActions() {
|
||||||
// Load file info detail
|
// Load file info detail
|
||||||
|
this.$store.commit('CLEAR_FILEINFO_DETAIL')
|
||||||
this.$store.commit('GET_FILEINFO_DETAIL', this.data)
|
this.$store.commit('GET_FILEINFO_DETAIL', this.data)
|
||||||
|
|
||||||
events.$emit('mobileMenu:show')
|
events.$emit('mobileMenu:show')
|
||||||
@@ -159,57 +170,68 @@ export default {
|
|||||||
},
|
},
|
||||||
clickedItem(e) {
|
clickedItem(e) {
|
||||||
events.$emit('contextMenu:hide')
|
events.$emit('contextMenu:hide')
|
||||||
|
if(!this.$isMobile()) {
|
||||||
if(e.ctrlKey && !e.shiftKey) {
|
if(e.ctrlKey && !e.shiftKey) {
|
||||||
// Click + Ctrl
|
// Click + Ctrl
|
||||||
|
|
||||||
if(this.fileInfoDetail.some(item => item.unique_id === this.data.unique_id)){
|
if(this.fileInfoDetail.some(item => item.unique_id === this.data.unique_id)){
|
||||||
this.$store.commit('REMOVE_ITEM_FILEINFO_DETAIL',this.data )
|
this.$store.commit('REMOVE_ITEM_FILEINFO_DETAIL',this.data )
|
||||||
|
}else {
|
||||||
|
console.log(this.data.name)
|
||||||
|
this.$store.commit('GET_FILEINFO_DETAIL', this.data)
|
||||||
|
}
|
||||||
|
}else if (e.shiftKey){
|
||||||
|
// Click + Shift
|
||||||
|
|
||||||
|
let lastItem = this.allData.indexOf(this.fileInfoDetail[this.fileInfoDetail.length -1])
|
||||||
|
let clickedItem = this.allData.indexOf(this.data)
|
||||||
|
|
||||||
|
// If Click + Shift + Ctrl dont remove already selected items
|
||||||
|
if(!e.ctrlKey) {
|
||||||
|
this.$store.commit('CLEAR_FILEINFO_DETAIL')
|
||||||
|
}
|
||||||
|
|
||||||
|
if(lastItem < clickedItem) {
|
||||||
|
for(let i=lastItem ; i<=clickedItem; i++ ) {
|
||||||
|
this.$store.commit('GET_FILEINFO_DETAIL', this.allData[i])
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
for(let i=clickedItem ; i<=lastItem; i++ ) {
|
||||||
|
this.$store.commit('GET_FILEINFO_DETAIL', this.allData[i])
|
||||||
|
}
|
||||||
|
}
|
||||||
}else {
|
}else {
|
||||||
console.log(this.data.name)
|
// Click
|
||||||
|
events.$emit('fileItem:deselect')
|
||||||
|
this.$store.commit('CLEAR_FILEINFO_DETAIL')
|
||||||
this.$store.commit('GET_FILEINFO_DETAIL', this.data)
|
this.$store.commit('GET_FILEINFO_DETAIL', this.data)
|
||||||
}
|
}
|
||||||
}else if (e.shiftKey){
|
}
|
||||||
// Click + Shift
|
|
||||||
|
|
||||||
let lastItem = this.allData.indexOf(this.fileInfoDetail[this.fileInfoDetail.length -1])
|
if(!this.mobileMultiSelect && this.$isMobile()){
|
||||||
let clickedItem = this.allData.indexOf(this.data)
|
// Open in mobile version on first click
|
||||||
|
if (this.$isMobile() && this.isFolder) {
|
||||||
// If Click + Shift + Ctrl dont remove already selected items
|
// Go to folder
|
||||||
if(!e.ctrlKey) {
|
if (this.$isThisLocation('public')) {
|
||||||
this.$store.commit('CLEAR_FILEINFO_DETAIL')
|
this.$store.dispatch('browseShared', [{ folder: this.data, back: false, init: false }])
|
||||||
}
|
} else {
|
||||||
|
this.$store.dispatch('getFolder', [{ folder: this.data, back: false, init: false }])
|
||||||
if(lastItem < clickedItem) {
|
|
||||||
for(let i=lastItem ; i<=clickedItem; i++ ) {
|
|
||||||
this.$store.commit('GET_FILEINFO_DETAIL', this.allData[i])
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.$isMobile()) {
|
||||||
|
if (this.isImage || this.isVideo || this.isAudio) {
|
||||||
|
events.$emit('fileFullPreview:show')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(this.mobileMultiSelect && this.$isMobile()) {
|
||||||
|
if(this.fileInfoDetail.some(item => item.unique_id === this.data.unique_id)) {
|
||||||
|
this.$store.commit('REMOVE_ITEM_FILEINFO_DETAIL', this.data )
|
||||||
|
console.log(this.data)
|
||||||
}else {
|
}else {
|
||||||
for(let i=clickedItem ; i<=lastItem; i++ ) {
|
this.$store.commit('GET_FILEINFO_DETAIL', this.data)
|
||||||
this.$store.commit('GET_FILEINFO_DETAIL', this.allData[i])
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}else {
|
|
||||||
// Click
|
|
||||||
|
|
||||||
events.$emit('fileItem:deselect')
|
|
||||||
this.$store.commit('CLEAR_FILEINFO_DETAIL')
|
|
||||||
this.$store.commit('GET_FILEINFO_DETAIL', this.data)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Open in mobile version on first click
|
|
||||||
if (this.$isMobile() && this.isFolder) {
|
|
||||||
// Go to folder
|
|
||||||
if (this.$isThisLocation('public')) {
|
|
||||||
this.$store.dispatch('browseShared', [{ folder: this.data, back: false, init: false }])
|
|
||||||
} else {
|
|
||||||
this.$store.dispatch('getFolder', [{ folder: this.data, back: false, init: false }])
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this.$isMobile()) {
|
|
||||||
if (this.isImage || this.isVideo || this.isAudio) {
|
|
||||||
events.$emit('fileFullPreview:show')
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -247,6 +269,11 @@ export default {
|
|||||||
created() {
|
created() {
|
||||||
this.itemName = this.data.name
|
this.itemName = this.data.name
|
||||||
|
|
||||||
|
events.$on('mobileSelecting-start', () => {
|
||||||
|
this.mobileMultiSelect = !this.mobileMultiSelect
|
||||||
|
this.$store.commit('CLEAR_FILEINFO_DETAIL')
|
||||||
|
})
|
||||||
|
|
||||||
events.$on('fileItem:deselect', () => {
|
events.$on('fileItem:deselect', () => {
|
||||||
// Deselect file
|
// Deselect file
|
||||||
this.$store.commit('CLEAR_FILEINFO_DETAIL')
|
this.$store.commit('CLEAR_FILEINFO_DETAIL')
|
||||||
@@ -264,6 +291,27 @@ export default {
|
|||||||
@import '@assets/vue-file-manager/_variables';
|
@import '@assets/vue-file-manager/_variables';
|
||||||
@import '@assets/vue-file-manager/_mixins';
|
@import '@assets/vue-file-manager/_mixins';
|
||||||
|
|
||||||
|
.check-select {
|
||||||
|
margin-right: 10px;
|
||||||
|
margin-left: 3px;
|
||||||
|
.select-box {
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
background-color: $light_background;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
border-radius: 5px;
|
||||||
|
box-shadow: 0 3px 15px 2px hsla(220, 36%, 16%, 0.05);
|
||||||
|
}
|
||||||
|
.select-box-active {
|
||||||
|
background-color: $text !important;
|
||||||
|
.icon {
|
||||||
|
stroke: white;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.file-wrapper {
|
.file-wrapper {
|
||||||
user-select: none;
|
user-select: none;
|
||||||
position: relative;
|
position: relative;
|
||||||
@@ -429,16 +477,21 @@ export default {
|
|||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding: 7px;
|
padding: 7px;
|
||||||
|
// background-color: white ;
|
||||||
|
|
||||||
&.is-dragenter {
|
&.is-dragenter {
|
||||||
border: 2px dashed $theme;
|
border: 2px dashed $theme;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&.no-clicked {
|
||||||
|
background: white !important;
|
||||||
|
}
|
||||||
|
|
||||||
&:hover,
|
&:hover,
|
||||||
&.is-clicked {
|
&.is-clicked {
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
background: $light_background;
|
background: $light_background ;
|
||||||
|
|
||||||
.item-name .name {
|
.item-name .name {
|
||||||
color: $theme;
|
color: $theme;
|
||||||
@@ -448,6 +501,18 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@media (prefers-color-scheme: dark) {
|
@media (prefers-color-scheme: dark) {
|
||||||
|
.check-select {
|
||||||
|
.select-box {
|
||||||
|
background-color: $dark_mode_foreground;
|
||||||
|
}
|
||||||
|
.select-box-active {
|
||||||
|
background-color: $dark_mode_text_primary !important;
|
||||||
|
.icon {
|
||||||
|
stroke: $text;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.file-wrapper {
|
.file-wrapper {
|
||||||
.icon-item {
|
.icon-item {
|
||||||
.file-icon {
|
.file-icon {
|
||||||
@@ -467,6 +532,9 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.file-item {
|
.file-item {
|
||||||
|
&.no-clicked {
|
||||||
|
background: $dark_mode_background !important;
|
||||||
|
}
|
||||||
&:hover,
|
&:hover,
|
||||||
&.is-clicked {
|
&.is-clicked {
|
||||||
background: $dark_mode_foreground;
|
background: $dark_mode_foreground;
|
||||||
|
|||||||
@@ -89,7 +89,9 @@ import {split} from 'lodash'
|
|||||||
export default {
|
export default {
|
||||||
name: 'ImageMetaData',
|
name: 'ImageMetaData',
|
||||||
computed: {
|
computed: {
|
||||||
...mapGetters(['fileInfoDetail']),
|
fileInfoDetail() {
|
||||||
|
return this.$store.getters.fileInfoDetail[0]
|
||||||
|
},
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
formatGps(location, ref) {
|
formatGps(location, ref) {
|
||||||
|
|||||||
@@ -19,6 +19,9 @@
|
|||||||
<MobileActionButtonUpload>
|
<MobileActionButtonUpload>
|
||||||
{{ $t('context_menu.upload') }}
|
{{ $t('context_menu.upload') }}
|
||||||
</MobileActionButtonUpload>
|
</MobileActionButtonUpload>
|
||||||
|
<MobileMultiSelectButton @click.native="mobileSelecting">
|
||||||
|
Select
|
||||||
|
</MobileMultiSelectButton>
|
||||||
<MobileActionButton @click.native="switchPreview" :icon="previewIcon">
|
<MobileActionButton @click.native="switchPreview" :icon="previewIcon">
|
||||||
{{ previewText }}
|
{{ previewText }}
|
||||||
</MobileActionButton>
|
</MobileActionButton>
|
||||||
@@ -38,6 +41,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import MobileActionButtonUpload from '@/components/FilesView/MobileActionButtonUpload'
|
import MobileActionButtonUpload from '@/components/FilesView/MobileActionButtonUpload'
|
||||||
|
import MobileMultiSelectButton from '@/components/FilesView/MobileMultiSelectButton'
|
||||||
import MobileActionButton from '@/components/FilesView/MobileActionButton'
|
import MobileActionButton from '@/components/FilesView/MobileActionButton'
|
||||||
import UploadProgress from '@/components/FilesView/UploadProgress'
|
import UploadProgress from '@/components/FilesView/UploadProgress'
|
||||||
import {mapGetters} from 'vuex'
|
import {mapGetters} from 'vuex'
|
||||||
@@ -48,6 +52,7 @@
|
|||||||
name: 'MobileActions',
|
name: 'MobileActions',
|
||||||
components: {
|
components: {
|
||||||
MobileActionButtonUpload,
|
MobileActionButtonUpload,
|
||||||
|
MobileMultiSelectButton,
|
||||||
MobileActionButton,
|
MobileActionButton,
|
||||||
UploadProgress,
|
UploadProgress,
|
||||||
},
|
},
|
||||||
@@ -61,6 +66,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
mobileSelecting() {
|
||||||
|
events.$emit('mobileSelecting-start')
|
||||||
|
},
|
||||||
switchPreview() {
|
switchPreview() {
|
||||||
this.$store.dispatch('changePreviewType')
|
this.$store.dispatch('changePreviewType')
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -7,11 +7,30 @@
|
|||||||
class="options"
|
class="options"
|
||||||
@click="closeAndResetContextMenu"
|
@click="closeAndResetContextMenu"
|
||||||
>
|
>
|
||||||
|
|
||||||
<div class="menu-wrapper">
|
<div class="menu-wrapper">
|
||||||
|
|
||||||
|
<div class="mobile-selected-menu" v-if="mobileMultiSelect">
|
||||||
|
<ToolbarButton
|
||||||
|
source="move"
|
||||||
|
|
||||||
|
:action="$t('actions.move')"
|
||||||
|
@click.native="moveItem"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<ToolbarButton
|
||||||
|
source="trash"
|
||||||
|
|
||||||
|
:action="$t('actions.move')"
|
||||||
|
@click.native="moveItem"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!--Item Thumbnail-->
|
<!--Item Thumbnail-->
|
||||||
<ThumbnailItem
|
<ThumbnailItem
|
||||||
|
v-if="!mobileMultiSelect"
|
||||||
class="item-thumbnail"
|
class="item-thumbnail"
|
||||||
:item="fileInfoDetail"
|
:item="fileInfoDetail[0]"
|
||||||
info="metadata"
|
info="metadata"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
@@ -19,15 +38,15 @@
|
|||||||
<div
|
<div
|
||||||
v-if="
|
v-if="
|
||||||
$isThisLocation(['trash', 'trash-root']) &&
|
$isThisLocation(['trash', 'trash-root']) &&
|
||||||
$checkPermission('master')
|
$checkPermission('master') && !mobileMultiSelect
|
||||||
"
|
"
|
||||||
class="menu-options"
|
class="menu-options"
|
||||||
>
|
>
|
||||||
<ul class="menu-option-group">
|
<ul class="menu-option-group">
|
||||||
<li
|
<li
|
||||||
class="menu-option"
|
class="menu-option"
|
||||||
@click="$store.dispatch('restoreItem', fileInfoDetail)"
|
@click="$store.dispatch('restoreItem', fileInfoDetail[0])"
|
||||||
v-if="fileInfoDetail"
|
v-if="fileInfoDetail[0]"
|
||||||
>
|
>
|
||||||
<div class="icon">
|
<div class="icon">
|
||||||
<life-buoy-icon size="17"></life-buoy-icon>
|
<life-buoy-icon size="17"></life-buoy-icon>
|
||||||
@@ -39,7 +58,7 @@
|
|||||||
<li
|
<li
|
||||||
class="menu-option delete"
|
class="menu-option delete"
|
||||||
@click="deleteItem"
|
@click="deleteItem"
|
||||||
v-if="fileInfoDetail"
|
v-if="fileInfoDetail[0]"
|
||||||
>
|
>
|
||||||
<div class="icon">
|
<div class="icon">
|
||||||
<trash-2-icon size="17"></trash-2-icon>
|
<trash-2-icon size="17"></trash-2-icon>
|
||||||
@@ -64,14 +83,14 @@
|
|||||||
|
|
||||||
<!--Mobile for Base location-->
|
<!--Mobile for Base location-->
|
||||||
<div
|
<div
|
||||||
v-if="$isThisLocation(['shared']) && $checkPermission('master')"
|
v-if="$isThisLocation(['shared']) && $checkPermission('master') && !mobileMultiSelect"
|
||||||
class="menu-options"
|
class="menu-options"
|
||||||
>
|
>
|
||||||
<ul class="menu-option-group">
|
<ul class="menu-option-group">
|
||||||
<li
|
<li
|
||||||
class="menu-option"
|
class="menu-option"
|
||||||
@click="addToFavourites"
|
@click="addToFavourites"
|
||||||
v-if="fileInfoDetail && isFolder"
|
v-if="fileInfoDetail[0] && isFolder"
|
||||||
>
|
>
|
||||||
<div class="icon">
|
<div class="icon">
|
||||||
<star-icon size="17"></star-icon>
|
<star-icon size="17"></star-icon>
|
||||||
@@ -87,7 +106,7 @@
|
|||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<ul class="menu-option-group">
|
<ul class="menu-option-group">
|
||||||
<li class="menu-option" @click="renameItem" v-if="fileInfoDetail">
|
<li class="menu-option" @click="renameItem" v-if="fileInfoDetail[0]">
|
||||||
<div class="icon">
|
<div class="icon">
|
||||||
<edit-2-icon size="17"></edit-2-icon>
|
<edit-2-icon size="17"></edit-2-icon>
|
||||||
</div>
|
</div>
|
||||||
@@ -95,13 +114,13 @@
|
|||||||
{{ $t("context_menu.rename") }}
|
{{ $t("context_menu.rename") }}
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li class="menu-option" @click="shareItem" v-if="fileInfoDetail">
|
<li class="menu-option" @click="shareItem" v-if="fileInfoDetail[0]">
|
||||||
<div class="icon">
|
<div class="icon">
|
||||||
<link-icon size="17"></link-icon>
|
<link-icon size="17"></link-icon>
|
||||||
</div>
|
</div>
|
||||||
<div class="text-label">
|
<div class="text-label">
|
||||||
{{
|
{{
|
||||||
fileInfoDetail.shared
|
fileInfoDetail[0].shared
|
||||||
? $t("context_menu.share_edit")
|
? $t("context_menu.share_edit")
|
||||||
: $t("context_menu.share")
|
: $t("context_menu.share")
|
||||||
}}
|
}}
|
||||||
@@ -110,7 +129,7 @@
|
|||||||
<li
|
<li
|
||||||
class="menu-option delete"
|
class="menu-option delete"
|
||||||
@click="deleteItem"
|
@click="deleteItem"
|
||||||
v-if="fileInfoDetail"
|
v-if="fileInfoDetail[0]"
|
||||||
>
|
>
|
||||||
<div class="icon">
|
<div class="icon">
|
||||||
<trash-2-icon size="17"></trash-2-icon>
|
<trash-2-icon size="17"></trash-2-icon>
|
||||||
@@ -137,11 +156,11 @@
|
|||||||
<div
|
<div
|
||||||
v-if="
|
v-if="
|
||||||
$isThisLocation(['base', 'participant_uploads', 'latest']) &&
|
$isThisLocation(['base', 'participant_uploads', 'latest']) &&
|
||||||
$checkPermission('master')
|
$checkPermission('master') && !mobileMultiSelect
|
||||||
"
|
"
|
||||||
class="menu-options"
|
class="menu-options"
|
||||||
>
|
>
|
||||||
<ul class="menu-option-group" v-if="fileInfoDetail && isFolder">
|
<ul class="menu-option-group" v-if="fileInfoDetail[0] && isFolder">
|
||||||
<li class="menu-option" @click="addToFavourites">
|
<li class="menu-option" @click="addToFavourites">
|
||||||
<div class="icon">
|
<div class="icon">
|
||||||
<star-icon size="17"></star-icon>
|
<star-icon size="17"></star-icon>
|
||||||
@@ -157,7 +176,7 @@
|
|||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<ul class="menu-option-group">
|
<ul class="menu-option-group">
|
||||||
<li class="menu-option" @click="renameItem" v-if="fileInfoDetail">
|
<li class="menu-option" @click="renameItem" v-if="fileInfoDetail[0]">
|
||||||
<div class="icon">
|
<div class="icon">
|
||||||
<edit-2-icon size="17"></edit-2-icon>
|
<edit-2-icon size="17"></edit-2-icon>
|
||||||
</div>
|
</div>
|
||||||
@@ -165,7 +184,7 @@
|
|||||||
{{ $t("context_menu.rename") }}
|
{{ $t("context_menu.rename") }}
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li class="menu-option" @click="moveItem" v-if="fileInfoDetail">
|
<li class="menu-option" @click="moveItem" v-if="fileInfoDetail[0]">
|
||||||
<div class="icon">
|
<div class="icon">
|
||||||
<corner-down-right-icon size="17"></corner-down-right-icon>
|
<corner-down-right-icon size="17"></corner-down-right-icon>
|
||||||
</div>
|
</div>
|
||||||
@@ -173,13 +192,13 @@
|
|||||||
{{ $t("context_menu.move") }}
|
{{ $t("context_menu.move") }}
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li class="menu-option" @click="shareItem" v-if="fileInfoDetail">
|
<li class="menu-option" @click="shareItem" v-if="fileInfoDetail[0]">
|
||||||
<div class="icon">
|
<div class="icon">
|
||||||
<link-icon size="17"></link-icon>
|
<link-icon size="17"></link-icon>
|
||||||
</div>
|
</div>
|
||||||
<div class="text-label">
|
<div class="text-label">
|
||||||
{{
|
{{
|
||||||
fileInfoDetail.shared
|
fileInfoDetail[0].shared
|
||||||
? $t("context_menu.share_edit")
|
? $t("context_menu.share_edit")
|
||||||
: $t("context_menu.share")
|
: $t("context_menu.share")
|
||||||
}}
|
}}
|
||||||
@@ -188,7 +207,7 @@
|
|||||||
<li
|
<li
|
||||||
class="menu-option delete"
|
class="menu-option delete"
|
||||||
@click="deleteItem"
|
@click="deleteItem"
|
||||||
v-if="fileInfoDetail"
|
v-if="fileInfoDetail[0]"
|
||||||
>
|
>
|
||||||
<div class="icon">
|
<div class="icon">
|
||||||
<trash-2-icon size="17"></trash-2-icon>
|
<trash-2-icon size="17"></trash-2-icon>
|
||||||
@@ -214,12 +233,12 @@
|
|||||||
<!--Mobile for Base location with EDITOR permission-->
|
<!--Mobile for Base location with EDITOR permission-->
|
||||||
<div
|
<div
|
||||||
v-if="
|
v-if="
|
||||||
$isThisLocation(['base', 'public']) && $checkPermission('editor')
|
$isThisLocation(['base', 'public']) && $checkPermission('editor') && !mobileMultiSelect
|
||||||
"
|
"
|
||||||
class="menu-options"
|
class="menu-options"
|
||||||
>
|
>
|
||||||
<ul class="menu-option-group">
|
<ul class="menu-option-group">
|
||||||
<li class="menu-option" @click="renameItem" v-if="fileInfoDetail">
|
<li class="menu-option" @click="renameItem" v-if="fileInfoDetail[0]">
|
||||||
<div class="icon">
|
<div class="icon">
|
||||||
<edit-2-icon size="17"></edit-2-icon>
|
<edit-2-icon size="17"></edit-2-icon>
|
||||||
</div>
|
</div>
|
||||||
@@ -227,7 +246,7 @@
|
|||||||
{{ $t("context_menu.rename") }}
|
{{ $t("context_menu.rename") }}
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li class="menu-option" @click="moveItem" v-if="fileInfoDetail">
|
<li class="menu-option" @click="moveItem" v-if="fileInfoDetail[0]">
|
||||||
<div class="icon">
|
<div class="icon">
|
||||||
<corner-down-right-icon size="17"></corner-down-right-icon>
|
<corner-down-right-icon size="17"></corner-down-right-icon>
|
||||||
</div>
|
</div>
|
||||||
@@ -260,7 +279,7 @@
|
|||||||
<!--Mobile for Base location with VISITOR permission-->
|
<!--Mobile for Base location with VISITOR permission-->
|
||||||
<div
|
<div
|
||||||
v-if="
|
v-if="
|
||||||
$isThisLocation(['base', 'public']) && $checkPermission('visitor')
|
$isThisLocation(['base', 'public']) && $checkPermission('visitor') && !mobileMultiSelect
|
||||||
"
|
"
|
||||||
class="menu-options"
|
class="menu-options"
|
||||||
>
|
>
|
||||||
@@ -280,7 +299,7 @@
|
|||||||
</transition>
|
</transition>
|
||||||
<transition name="fade">
|
<transition name="fade">
|
||||||
<div
|
<div
|
||||||
v-show="isVisible"
|
v-show="isVisible && !mobileMultiSelect"
|
||||||
class="vignette"
|
class="vignette"
|
||||||
@click="closeAndResetContextMenu"
|
@click="closeAndResetContextMenu"
|
||||||
></div>
|
></div>
|
||||||
@@ -290,6 +309,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import ThumbnailItem from "@/components/Others/ThumbnailItem";
|
import ThumbnailItem from "@/components/Others/ThumbnailItem";
|
||||||
|
import ToolbarButton from "@/components/FilesView/ToolbarButton";
|
||||||
import {
|
import {
|
||||||
CornerDownRightIcon,
|
CornerDownRightIcon,
|
||||||
DownloadCloudIcon,
|
DownloadCloudIcon,
|
||||||
@@ -311,6 +331,7 @@ export default {
|
|||||||
CornerDownRightIcon,
|
CornerDownRightIcon,
|
||||||
DownloadCloudIcon,
|
DownloadCloudIcon,
|
||||||
FolderPlusIcon,
|
FolderPlusIcon,
|
||||||
|
ToolbarButton,
|
||||||
ThumbnailItem,
|
ThumbnailItem,
|
||||||
LifeBuoyIcon,
|
LifeBuoyIcon,
|
||||||
Trash2Icon,
|
Trash2Icon,
|
||||||
@@ -327,47 +348,53 @@ export default {
|
|||||||
},
|
},
|
||||||
isInFavourites() {
|
isInFavourites() {
|
||||||
return this.favourites.find(
|
return this.favourites.find(
|
||||||
(el) => el.unique_id == this.fileInfoDetail.unique_id
|
(el) => el.unique_id == this.fileInfoDetail[0].unique_id
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
isFile() {
|
isFile() {
|
||||||
return (
|
return (
|
||||||
this.fileInfoDetail &&
|
this.fileInfoDetail[0] &&
|
||||||
this.fileInfoDetail.type !== "folder" &&
|
this.fileInfoDetail[0].type !== "folder" &&
|
||||||
this.fileInfoDetail &&
|
this.fileInfoDetail[0] &&
|
||||||
this.fileInfoDetail.type !== "image"
|
this.fileInfoDetail[0].type !== "image"
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
isImage() {
|
isImage() {
|
||||||
return this.fileInfoDetail && this.fileInfoDetail.type === "image";
|
return this.fileInfoDetail[0] && this.fileInfoDetail[0].type === "image";
|
||||||
},
|
},
|
||||||
isFolder() {
|
isFolder() {
|
||||||
return this.fileInfoDetail && this.fileInfoDetail.type === "folder";
|
return this.fileInfoDetail[0] && this.fileInfoDetail[0].type === "folder";
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
isVisible: false,
|
isVisible: false,
|
||||||
showFromMediaPreview: false,
|
showFromMediaPreview: false,
|
||||||
|
mobileMultiSelect:false
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
moveItem() {
|
moveItem() {
|
||||||
// Open move item popup
|
// Open move item popup
|
||||||
events.$emit("popup:open", { name: "move", item: this.fileInfoDetail });
|
if(!this.mobileMultiSelect) {
|
||||||
|
events.$emit("popup:open", { name: "move", item: [this.fileInfoDetail[0]] });
|
||||||
|
}
|
||||||
|
if(this.mobileMultiSelect) {
|
||||||
|
events.$emit("popup:open", { name: "move", item: null });
|
||||||
|
}
|
||||||
},
|
},
|
||||||
shareItem() {
|
shareItem() {
|
||||||
if (this.fileInfoDetail.shared) {
|
if (this.fileInfoDetail[0].shared) {
|
||||||
// Open share item popup
|
// Open share item popup
|
||||||
events.$emit("popup:open", {
|
events.$emit("popup:open", {
|
||||||
name: "share-edit",
|
name: "share-edit",
|
||||||
item: this.fileInfoDetail,
|
item: this.fileInfoDetail[0],
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
// Open share item popup
|
// Open share item popup
|
||||||
events.$emit("popup:open", {
|
events.$emit("popup:open", {
|
||||||
name: "share-create",
|
name: "share-create",
|
||||||
item: this.fileInfoDetail,
|
item: this.fileInfoDetail[0],
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -375,33 +402,33 @@ export default {
|
|||||||
if (
|
if (
|
||||||
this.favourites &&
|
this.favourites &&
|
||||||
!this.favourites.find(
|
!this.favourites.find(
|
||||||
(el) => el.unique_id == this.fileInfoDetail.unique_id
|
(el) => el.unique_id == this.fileInfoDetail[0].unique_id
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
this.$store.dispatch("addToFavourites", this.fileInfoDetail);
|
this.$store.dispatch("addToFavourites", this.fileInfoDetail[0]);
|
||||||
} else {
|
} else {
|
||||||
this.$store.dispatch("removeFromFavourites", this.fileInfoDetail);
|
this.$store.dispatch("removeFromFavourites", this.fileInfoDetail[0]);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
downloadItem() {
|
downloadItem() {
|
||||||
this.$downloadFile(
|
this.$downloadFile(
|
||||||
this.fileInfoDetail.file_url,
|
this.fileInfoDetail[0].file_url,
|
||||||
this.fileInfoDetail.name + "." + this.fileInfoDetail.mimetype
|
this.fileInfoDetail[0].name + "." + this.fileInfoDetail[0].mimetype
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
deleteItem() {
|
deleteItem() {
|
||||||
this.$store.dispatch("deleteItem", this.fileInfoDetail);
|
this.$store.dispatch("deleteItem", this.fileInfoDetail[0]);
|
||||||
},
|
},
|
||||||
renameItem() {
|
renameItem() {
|
||||||
let itemName = prompt(
|
let itemName = prompt(
|
||||||
this.$t("popup_rename.title"),
|
this.$t("popup_rename.title"),
|
||||||
this.fileInfoDetail.name
|
this.fileInfoDetail[0].name
|
||||||
);
|
);
|
||||||
|
|
||||||
if (itemName && itemName !== "") {
|
if (itemName && itemName !== "") {
|
||||||
let item = {
|
let item = {
|
||||||
unique_id: this.fileInfoDetail.unique_id,
|
unique_id: this.fileInfoDetail[0].unique_id,
|
||||||
type: this.fileInfoDetail.type,
|
type: this.fileInfoDetail[0].type,
|
||||||
name: itemName,
|
name: itemName,
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -428,6 +455,10 @@ export default {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
events.$on('mobileSelecting-start' , () => {
|
||||||
|
this.mobileMultiSelect = !this.mobileMultiSelect
|
||||||
|
this.isVisible = !this.isVisible
|
||||||
|
})
|
||||||
// Show context menu
|
// Show context menu
|
||||||
events.$on("mobileMenu:show", (showFromMedia) => {
|
events.$on("mobileMenu:show", (showFromMedia) => {
|
||||||
//If emit come from MediaFullPreview
|
//If emit come from MediaFullPreview
|
||||||
|
|||||||
@@ -0,0 +1,101 @@
|
|||||||
|
<template>
|
||||||
|
<button class="mobile-action-button">
|
||||||
|
<div class="flex" :class="{'active' : mobileSelectingActive}">
|
||||||
|
<CheckSquareIcon size="15" class="icon"></CheckSquareIcon>
|
||||||
|
<span class="label">
|
||||||
|
<slot></slot>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</button>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {CheckSquareIcon} from "vue-feather-icons";
|
||||||
|
import {events} from '@/bus'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'MobileActionButton',
|
||||||
|
props: [
|
||||||
|
'icon'
|
||||||
|
],
|
||||||
|
components: {
|
||||||
|
CheckSquareIcon
|
||||||
|
},
|
||||||
|
data () {
|
||||||
|
return {
|
||||||
|
mobileSelectingActive: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
events.$on('mobileSelecting-start' , () => {
|
||||||
|
this.mobileSelectingActive = !this.mobileSelectingActive
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
@import '@assets/vue-file-manager/_variables';
|
||||||
|
@import '@assets/vue-file-manager/_mixins';
|
||||||
|
|
||||||
|
.mobile-action-button {
|
||||||
|
background: $light_background;
|
||||||
|
margin-right: 15px;
|
||||||
|
border-radius: 8px;
|
||||||
|
padding: 7px 10px;
|
||||||
|
cursor: pointer;
|
||||||
|
border: none;
|
||||||
|
@include transition(150ms);
|
||||||
|
|
||||||
|
.flex {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon {
|
||||||
|
margin-right: 10px;
|
||||||
|
@include font-size(14);
|
||||||
|
|
||||||
|
path, line, polyline, rect, circle {
|
||||||
|
@include transition(150ms);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.label {
|
||||||
|
@include transition(150ms);
|
||||||
|
@include font-size(14);
|
||||||
|
font-weight: 700;
|
||||||
|
color: $text;
|
||||||
|
}
|
||||||
|
|
||||||
|
.active {
|
||||||
|
// @include transform(scale(0.95));
|
||||||
|
background: rgba($theme, 0.1);
|
||||||
|
|
||||||
|
.icon {
|
||||||
|
path, line, polyline, rect, circle {
|
||||||
|
stroke: $theme;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.label {
|
||||||
|
color: $theme;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
.mobile-action-button {
|
||||||
|
background: $dark_mode_foreground;
|
||||||
|
|
||||||
|
path, line, polyline, rect, circle {
|
||||||
|
stroke: $theme;
|
||||||
|
}
|
||||||
|
|
||||||
|
.label {
|
||||||
|
color: $dark_mode_text_primary;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="wrapper">
|
<div :class="this.moveItem ? 'move-item' : 'wrapper'">
|
||||||
<div class="icon-wrapper">
|
<div class="icon-wrapper">
|
||||||
<CheckSquareIcon class="icon" size="21"/>
|
<CheckSquareIcon class="icon" size="21"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="text">
|
<div class="text">
|
||||||
@@ -16,6 +16,7 @@ import {mapGetters} from 'vuex'
|
|||||||
|
|
||||||
export default {
|
export default {
|
||||||
name:'MultiSelected',
|
name:'MultiSelected',
|
||||||
|
props: ['moveItem'],
|
||||||
components: {CheckSquareIcon},
|
components: {CheckSquareIcon},
|
||||||
computed: {
|
computed: {
|
||||||
...mapGetters(['fileInfoDetail'])
|
...mapGetters(['fileInfoDetail'])
|
||||||
@@ -60,6 +61,45 @@ import {mapGetters} from 'vuex'
|
|||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
outline: none;
|
outline: none;
|
||||||
border: none;
|
border: none;
|
||||||
|
.icon {
|
||||||
|
stroke: $text;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.move-item {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
.text{
|
||||||
|
padding-left: 10px;
|
||||||
|
width: 100%;
|
||||||
|
word-break: break-all;
|
||||||
|
|
||||||
|
.title {
|
||||||
|
@include font-size(14);
|
||||||
|
font-weight: 700;
|
||||||
|
line-height: 1.4;
|
||||||
|
display: block;
|
||||||
|
color: $text;
|
||||||
|
}
|
||||||
|
.count {
|
||||||
|
@include font-size(12);
|
||||||
|
font-weight: 600;
|
||||||
|
color: $text-muted;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.icon-wrapper {
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
padding: 0;
|
||||||
|
text-align: center;
|
||||||
|
white-space: nowrap;
|
||||||
|
outline: none;
|
||||||
|
border: none;
|
||||||
|
.icon {
|
||||||
|
stroke: $theme;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@media (prefers-color-scheme: dark) {
|
@media (prefers-color-scheme: dark) {
|
||||||
@@ -70,5 +110,15 @@ import {mapGetters} from 'vuex'
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.move-item {
|
||||||
|
.text {
|
||||||
|
.title {
|
||||||
|
color: $dark_mode_text_primary;
|
||||||
|
}
|
||||||
|
.count {
|
||||||
|
color: $dark_mode_text_secondary;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -11,7 +11,10 @@
|
|||||||
|
|
||||||
<!--Folder tree-->
|
<!--Folder tree-->
|
||||||
<div v-if="! isLoadingTree && navigation">
|
<div v-if="! isLoadingTree && navigation">
|
||||||
<ThumbnailItem class="item-thumbnail" :item="pickedItem" info="location"/>
|
<ThumbnailItem v-if="fileInfoDetail.length < 2 || noSelectedItem" class="item-thumbnail" :item="pickedItem" info="location"/>
|
||||||
|
|
||||||
|
<MultiSelected class="multiple-selected" moveItem="true" v-if="fileInfoDetail.length > 1 && !noSelectedItem"/>
|
||||||
|
|
||||||
<TreeMenu :disabled-by-id="pickedItem.unique_id" :depth="1" :nodes="items" v-for="items in navigation" :key="items.unique_id"/>
|
<TreeMenu :disabled-by-id="pickedItem.unique_id" :depth="1" :nodes="items" v-for="items in navigation" :key="items.unique_id"/>
|
||||||
</div>
|
</div>
|
||||||
</PopupContent>
|
</PopupContent>
|
||||||
@@ -37,6 +40,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import PopupWrapper from '@/components/Others/Popup/PopupWrapper'
|
import PopupWrapper from '@/components/Others/Popup/PopupWrapper'
|
||||||
import PopupActions from '@/components/Others/Popup/PopupActions'
|
import PopupActions from '@/components/Others/Popup/PopupActions'
|
||||||
|
import MultiSelected from '@/components/FilesView/MultiSelected'
|
||||||
import PopupContent from '@/components/Others/Popup/PopupContent'
|
import PopupContent from '@/components/Others/Popup/PopupContent'
|
||||||
import PopupHeader from '@/components/Others/Popup/PopupHeader'
|
import PopupHeader from '@/components/Others/Popup/PopupHeader'
|
||||||
import ThumbnailItem from '@/components/Others/ThumbnailItem'
|
import ThumbnailItem from '@/components/Others/ThumbnailItem'
|
||||||
@@ -51,6 +55,7 @@
|
|||||||
components: {
|
components: {
|
||||||
ThumbnailItem,
|
ThumbnailItem,
|
||||||
PopupWrapper,
|
PopupWrapper,
|
||||||
|
MultiSelected,
|
||||||
PopupActions,
|
PopupActions,
|
||||||
PopupContent,
|
PopupContent,
|
||||||
PopupHeader,
|
PopupHeader,
|
||||||
@@ -59,13 +64,14 @@
|
|||||||
Spinner,
|
Spinner,
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
...mapGetters(['navigation']),
|
...mapGetters(['navigation', 'fileInfoDetail']),
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
selectedFolder: undefined,
|
selectedFolder: undefined,
|
||||||
pickedItem: undefined,
|
pickedItem: undefined,
|
||||||
isLoadingTree: true,
|
isLoadingTree: true,
|
||||||
|
noSelectedItem: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
@@ -75,8 +81,13 @@
|
|||||||
if (! this.selectedFolder) return
|
if (! this.selectedFolder) return
|
||||||
|
|
||||||
// Move item
|
// Move item
|
||||||
this.$store.dispatch('moveItem', [this.pickedItem, this.selectedFolder])
|
if(!this.noSelectedItem){
|
||||||
|
this.$store.dispatch('moveItem', {to_item:this.selectedFolder ,noSelectedItem: null})
|
||||||
|
}
|
||||||
|
|
||||||
|
if(this.noSelectedItem){
|
||||||
|
this.$store.dispatch('moveItem', {to_item:this.selectedFolder ,noSelectedItem:this.pickedItem})
|
||||||
|
}
|
||||||
// Close popup
|
// Close popup
|
||||||
events.$emit('popup:close')
|
events.$emit('popup:close')
|
||||||
},
|
},
|
||||||
@@ -97,7 +108,7 @@
|
|||||||
events.$on('popup:open', args => {
|
events.$on('popup:open', args => {
|
||||||
|
|
||||||
if (args.name !== 'move') return
|
if (args.name !== 'move') return
|
||||||
|
// console.log(args.item[0])
|
||||||
// Show tree spinner
|
// Show tree spinner
|
||||||
this.isLoadingTree = true
|
this.isLoadingTree = true
|
||||||
|
|
||||||
@@ -107,7 +118,17 @@
|
|||||||
})
|
})
|
||||||
|
|
||||||
// Store picked item
|
// Store picked item
|
||||||
this.pickedItem = args.item
|
if(!this.fileInfoDetail.includes(args.item[0])){
|
||||||
|
this.pickedItem = args.item[0]
|
||||||
|
this.noSelectedItem = true
|
||||||
|
}
|
||||||
|
if(this.fileInfoDetail.includes(args.item[0])){
|
||||||
|
this.pickedItem = this.fileInfoDetail[0]
|
||||||
|
this.noSelectedItem = false
|
||||||
|
}
|
||||||
|
|
||||||
|
// this.pickedItem = args.item[0]
|
||||||
|
// this.totalItems = args.item
|
||||||
})
|
})
|
||||||
|
|
||||||
// Close popup
|
// Close popup
|
||||||
@@ -127,4 +148,8 @@
|
|||||||
.item-thumbnail {
|
.item-thumbnail {
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
}
|
}
|
||||||
|
.multiple-selected {
|
||||||
|
padding: 0 20px;;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
+32
-16
@@ -6,18 +6,27 @@ import axios from 'axios'
|
|||||||
import { Store } from 'vuex'
|
import { Store } from 'vuex'
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
moveItem: ({commit, getters, dispatch}, [undefined, to_item]) => {
|
moveItem: ({commit, getters, dispatch}, {to_item ,noSelectedItem}) => {
|
||||||
|
|
||||||
let items = []
|
|
||||||
|
|
||||||
getters.fileInfoDetail.forEach((data) => {
|
let itemsToMove = []
|
||||||
items.push({
|
let items = [noSelectedItem]
|
||||||
|
|
||||||
|
//If coming no selected item dont get items to move from fileInfoDetail
|
||||||
|
if(!noSelectedItem) {
|
||||||
|
items = getters.fileInfoDetail
|
||||||
|
}
|
||||||
|
|
||||||
|
items.forEach((data) => {
|
||||||
|
itemsToMove.push({
|
||||||
'force_delete': data.deleted_at ? true : false,
|
'force_delete': data.deleted_at ? true : false,
|
||||||
'type': data.type,
|
'type': data.type,
|
||||||
"unique_id": data.unique_id
|
"unique_id": data.unique_id
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
console.log(items)
|
||||||
|
|
||||||
// Get route
|
// Get route
|
||||||
let route = getters.sharedDetail && ! getters.sharedDetail.protected
|
let route = getters.sharedDetail && ! getters.sharedDetail.protected
|
||||||
? '/api/move/public' + router.currentRoute.params.token
|
? '/api/move/public' + router.currentRoute.params.token
|
||||||
@@ -27,10 +36,10 @@ const actions = {
|
|||||||
.post(route, {
|
.post(route, {
|
||||||
_method: 'post',
|
_method: 'post',
|
||||||
to_unique_id:to_item.unique_id,
|
to_unique_id:to_item.unique_id,
|
||||||
items: items
|
items: itemsToMove
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
items.forEach(item=> {
|
itemsToMove.forEach(item=> {
|
||||||
commit('REMOVE_ITEM', item.unique_id)
|
commit('REMOVE_ITEM', item.unique_id)
|
||||||
commit('INCREASE_FOLDER_ITEM', to_item.unique_id)
|
commit('INCREASE_FOLDER_ITEM', to_item.unique_id)
|
||||||
|
|
||||||
@@ -183,12 +192,18 @@ const actions = {
|
|||||||
})
|
})
|
||||||
.catch(() => isSomethingWrong())
|
.catch(() => isSomethingWrong())
|
||||||
},
|
},
|
||||||
deleteItem: ({commit, getters, dispatch}) => {
|
deleteItem: ({commit, getters, dispatch}, noSelectedItem) => {
|
||||||
|
|
||||||
let items = []
|
let itemsToDelete = []
|
||||||
|
let items = [noSelectedItem]
|
||||||
getters.fileInfoDetail.forEach((data) => {
|
|
||||||
items.push({
|
//If coming no selected item dont get items to move from fileInfoDetail
|
||||||
|
if(!noSelectedItem) {
|
||||||
|
items = getters.fileInfoDetail
|
||||||
|
}
|
||||||
|
|
||||||
|
items.forEach((data) => {
|
||||||
|
itemsToDelete.push({
|
||||||
'force_delete': data.deleted_at ? true : false,
|
'force_delete': data.deleted_at ? true : false,
|
||||||
'type': data.type,
|
'type': data.type,
|
||||||
"unique_id": data.unique_id
|
"unique_id": data.unique_id
|
||||||
@@ -212,12 +227,13 @@ const actions = {
|
|||||||
|
|
||||||
if (data.type === 'folder')
|
if (data.type === 'folder')
|
||||||
commit('REMOVE_ITEM_FROM_FAVOURITES', data)
|
commit('REMOVE_ITEM_FROM_FAVOURITES', data)
|
||||||
}
|
}
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
// Remove file preview
|
// Remove file preview
|
||||||
commit('CLEAR_FILEINFO_DETAIL')
|
if(!noSelectedItem){
|
||||||
|
commit('CLEAR_FILEINFO_DETAIL')
|
||||||
|
}
|
||||||
|
|
||||||
// Get route
|
// Get route
|
||||||
let route = getters.sharedDetail && ! getters.sharedDetail.protected
|
let route = getters.sharedDetail && ! getters.sharedDetail.protected
|
||||||
@@ -227,11 +243,11 @@ const actions = {
|
|||||||
axios
|
axios
|
||||||
.post(route, {
|
.post(route, {
|
||||||
_method: 'post',
|
_method: 'post',
|
||||||
data: items
|
data: itemsToDelete
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
|
|
||||||
items.forEach(data => {
|
itemsToDelete.forEach(data => {
|
||||||
|
|
||||||
// If is folder, update app data
|
// If is folder, update app data
|
||||||
if (data.type === 'folder') {
|
if (data.type === 'folder') {
|
||||||
|
|||||||
Reference in New Issue
Block a user