Merge remote-tracking branch 'origin/version-v1.8.1' into version-v1.8.1

This commit is contained in:
Peter Papp
2021-01-17 13:30:27 +01:00
14 changed files with 37324 additions and 240 deletions

View File

@@ -115,6 +115,12 @@ class EditItemsController extends Controller
}
}
// If request have a change folder icon values set the folder icon
if ($request->type === 'folder' && $request->filled('folder_icon')) {
Editor::set_folder_icon($request->folder_icon, $unique_id);
}
// Rename Item
return Editor::rename_item($request, $unique_id);
}
@@ -151,6 +157,12 @@ class EditItemsController extends Controller
Guardian::check_item_access($item->folder_id, $shared);
}
// If request have a change folder icon values set the folder icon
if ($request->type === 'folder' && $request->filled('folder_icon')) {
Editor::set_folder_icon($request->folder_icon, $unique_id, $shared);
}
// Rename item
$item = Editor::rename_item($request, $unique_id, $shared);

View File

@@ -26,6 +26,39 @@ use Symfony\Component\HttpKernel\Exception\HttpException;
class Editor
{
/**
* Store folder icon
*
* @param $folder_iconL
* @param $unique_id
* @param $shared
*/
public static function set_folder_icon ($folder_icon, $unique_id, $shared = null)
{
$user_id = is_null($shared) ? Auth::id() : $shared->user_id;
// Get folder
$folder = FileManagerFolder::where('user_id', $user_id)
->where('unique_id', $unique_id)
->first();
// If request have emoji set folder icon emoji
if(isset($folder_icon['emoji'])) {
$folder->folder_icon_emoji = $folder_icon['emoji'];
$folder->folder_icon_color = null;
}
// If request have color set folder icon color
if(isset($folder_icon['color'])) {
$folder->folder_icon_emoji = null;
$folder->folder_icon_color = $folder_icon['color'];
}
// Save changes
$folder->save();
}
/**
* Zip requested folder
*

View File

@@ -0,0 +1,33 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class AddFolderIconOptionsToFileManagerFoldersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('file_manager_folders', function (Blueprint $table) {
$table->string('folder_icon_color')->after('user_scope')->nullable();
$table->string('folder_icon_emoji')->after('folder_icon_color')->nullable();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('file_manager_folders', function (Blueprint $table) {
//
});
}
}

View File

@@ -29,7 +29,7 @@
"/chunks/environment-setup.js": "/chunks/environment-setup.js?id=48efd0b887fbc804ac90",
"/chunks/files.js": "/chunks/files.js?id=6a283c2c9f8a02500bc6",
"/chunks/files~chunks/settings-subscription~chunks/shared-files~chunks/shared-page~chunks/user-subscription.js": "/chunks/files~chunks/settings-subscription~chunks/shared-files~chunks/shared-page~chunks/user-subscription.js?id=b646ec02fb9d6a497e74",
"/chunks/files~chunks/shared-files~chunks/shared-page.js": "/chunks/files~chunks/shared-files~chunks/shared-page.js?id=e2d1c1c0098efd3314c0",
"/chunks/files~chunks/shared-files~chunks/shared-page.js": "/chunks/files~chunks/shared-files~chunks/shared-page.js?id=e27d145b6f63719b336f",
"/chunks/files~chunks/shared-page.js": "/chunks/files~chunks/shared-page.js?id=47ade53389e84dd64310",
"/chunks/forgotten-password.js": "/chunks/forgotten-password.js?id=d5e39543eeb619cb5513",
"/chunks/installation-disclaimer.js": "/chunks/installation-disclaimer.js?id=f037ea11689d01ea489e",
@@ -75,233 +75,14 @@
"/chunks/user-storage.js": "/chunks/user-storage.js?id=5cfec8a8f8a8aef24ef2",
"/chunks/user-subscription.js": "/chunks/user-subscription.js?id=34603496ceacb8bd2da3",
"/chunks/users.js": "/chunks/users.js?id=6e68cb068f69fba3199c",
"/chunks/files~chunks/shared-files~chunks/shared-page.f806732c4c6ac53302e9.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.f806732c4c6ac53302e9.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.4220f427d2cce517694a.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.4220f427d2cce517694a.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.8a9599bd045e40e5fc0d.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.8a9599bd045e40e5fc0d.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.e7904116029a93128c0c.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.e7904116029a93128c0c.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.a3682ab19d6a93615bc9.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.a3682ab19d6a93615bc9.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.6b78f2f6453a8a933368.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.6b78f2f6453a8a933368.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.92d7056d592b2b00436a.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.92d7056d592b2b00436a.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.15f6fcfdd0c7c09584ed.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.15f6fcfdd0c7c09584ed.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.eb3a5bef278e8c611ca0.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.eb3a5bef278e8c611ca0.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.11f991f6e9468909262c.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.11f991f6e9468909262c.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.a9d2f97066827a607ccf.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.a9d2f97066827a607ccf.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.5e5c8e632d8cbb31a266.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.5e5c8e632d8cbb31a266.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.1ddf7140785431343dda.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.1ddf7140785431343dda.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.8367fb8b3c12ba91bf54.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.8367fb8b3c12ba91bf54.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.f3711292d9f324dbfaac.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.f3711292d9f324dbfaac.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.9ce77155019c1fe38f7c.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.9ce77155019c1fe38f7c.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.962f7dff73d70ac80255.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.962f7dff73d70ac80255.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.2e01e62c7342e3a2888b.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.2e01e62c7342e3a2888b.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.35be7dadbf0da121b27e.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.35be7dadbf0da121b27e.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.e502ff4c6c54b4256531.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.e502ff4c6c54b4256531.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.21f523839e174c8c8c97.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.21f523839e174c8c8c97.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.446851efbd4ec90c224c.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.446851efbd4ec90c224c.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.52f259e63c8138940f09.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.52f259e63c8138940f09.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.1e8ab30082f05b87e8e3.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.1e8ab30082f05b87e8e3.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.d3de5ec95eaff1e58c67.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.d3de5ec95eaff1e58c67.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.aa5cb8d218f495f97671.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.aa5cb8d218f495f97671.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.a20a8bf38e186c279c7d.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.a20a8bf38e186c279c7d.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.3fb2fae5d56b3a449b04.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.3fb2fae5d56b3a449b04.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.6853bf8809c8d4e78f2f.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.6853bf8809c8d4e78f2f.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.eb78a997f04978a13f12.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.eb78a997f04978a13f12.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.925c9dd6345eec6a5e1e.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.925c9dd6345eec6a5e1e.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.28cd444a55f6e5866012.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.28cd444a55f6e5866012.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.9ac2629d64b90c64c068.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.9ac2629d64b90c64c068.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.c99a1bd37235022accbb.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.c99a1bd37235022accbb.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.4ef751fdf599f38c04dd.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.4ef751fdf599f38c04dd.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.6e0cb2541a347d85e9bf.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.6e0cb2541a347d85e9bf.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.d464b5c8a1c392a80308.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.d464b5c8a1c392a80308.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.0442c3732e31d4351df5.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.0442c3732e31d4351df5.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.76e2551c35e95545220e.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.76e2551c35e95545220e.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.1668077f3dc8a91c471e.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.1668077f3dc8a91c471e.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.51dc2b7da36761d86d74.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.51dc2b7da36761d86d74.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.49434dd3d7aee3c01770.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.49434dd3d7aee3c01770.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.a4534a4afbebe460418b.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.a4534a4afbebe460418b.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.cbf5dae2e0d16b5753cf.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.cbf5dae2e0d16b5753cf.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.104577c699089a81adf1.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.104577c699089a81adf1.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.63f1822f597aae9c0007.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.63f1822f597aae9c0007.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.1d460779c241a6560f59.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.1d460779c241a6560f59.hot-update.js",
"/js/main.7147cfc9cf297f377ae6.hot-update.js": "/js/main.7147cfc9cf297f377ae6.hot-update.js",
"/js/main.6d83af915276caaa99ec.hot-update.js": "/js/main.6d83af915276caaa99ec.hot-update.js",
"/js/main.69e5b0b8957bd87cb4e3.hot-update.js": "/js/main.69e5b0b8957bd87cb4e3.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.dad99146b26e819c031f.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.dad99146b26e819c031f.hot-update.js",
"/js/main.c890bdf6bdb88f637e07.hot-update.js": "/js/main.c890bdf6bdb88f637e07.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.768139111ebf8feddda5.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.768139111ebf8feddda5.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.84f61230618fb49c0f82.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.84f61230618fb49c0f82.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.8007dadaaa48a5a3788c.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.8007dadaaa48a5a3788c.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.f28186b65165b90ef0f1.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.f28186b65165b90ef0f1.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.e96b6403a7c24dff509d.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.e96b6403a7c24dff509d.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.08b5fa14a8a4bde4312e.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.08b5fa14a8a4bde4312e.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.347ad810f77a78bbef8a.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.347ad810f77a78bbef8a.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.086434b1eef02e1575d2.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.086434b1eef02e1575d2.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.4171898e4081192912b3.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.4171898e4081192912b3.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.ce05e148825a82c2c30b.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.ce05e148825a82c2c30b.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.7066d70213f7b1a78fd7.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.7066d70213f7b1a78fd7.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.7e472070f0e4da81c484.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.7e472070f0e4da81c484.hot-update.js",
"/js/main.96fa991ec1a71d367b04.hot-update.js": "/js/main.96fa991ec1a71d367b04.hot-update.js",
"/js/main.72b3613e9da4780d12bb.hot-update.js": "/js/main.72b3613e9da4780d12bb.hot-update.js",
"/js/main.c12d1e0517e57833f869.hot-update.js": "/js/main.c12d1e0517e57833f869.hot-update.js",
"/js/main.8ef3474bc2c85ca485fd.hot-update.js": "/js/main.8ef3474bc2c85ca485fd.hot-update.js",
"/js/main.266e38c8c6cb9e27d827.hot-update.js": "/js/main.266e38c8c6cb9e27d827.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.37ca536faedccb83c061.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.37ca536faedccb83c061.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.1bdc31dd7846ca2ce91b.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.1bdc31dd7846ca2ce91b.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.a08101de7d1a1aa2dde7.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.a08101de7d1a1aa2dde7.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.dd4fd95e44a056ffcf0e.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.dd4fd95e44a056ffcf0e.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.57b7aec17e538f3f4d51.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.57b7aec17e538f3f4d51.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.c71604d064f2e1227dc5.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.c71604d064f2e1227dc5.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.969d71f57668ef73dafd.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.969d71f57668ef73dafd.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.74270b873b8de9547900.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.74270b873b8de9547900.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.7f8c5ce462cfd4de226b.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.7f8c5ce462cfd4de226b.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.cec0b21e6dcae4e484de.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.cec0b21e6dcae4e484de.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.a39dd2e70f170fe7dc40.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.a39dd2e70f170fe7dc40.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.f2597d818e89bbbae8bd.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.f2597d818e89bbbae8bd.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.a3b6554f47a368e41527.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.a3b6554f47a368e41527.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.4ae6a3d21c35f56f3cd7.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.4ae6a3d21c35f56f3cd7.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.e4dadccb8f55f66a87f0.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.e4dadccb8f55f66a87f0.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.1e79f64ec06eeb2b8556.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.1e79f64ec06eeb2b8556.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.301a44dca40bd4bd9fae.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.301a44dca40bd4bd9fae.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.90c800c8b4350bc51907.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.90c800c8b4350bc51907.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.6556b851671f95e2a5ed.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.6556b851671f95e2a5ed.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.5f173ca4d064a4c3fde4.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.5f173ca4d064a4c3fde4.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.c97753ecad531fd8a2e4.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.c97753ecad531fd8a2e4.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.9e8cd4ba58b3c74afbbb.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.9e8cd4ba58b3c74afbbb.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.cadfb49f0edee16ecff0.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.cadfb49f0edee16ecff0.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.4dc84b903fb1fa2668c8.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.4dc84b903fb1fa2668c8.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.f5444f3212f0a534f95f.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.f5444f3212f0a534f95f.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.a593342c86f5121e5b32.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.a593342c86f5121e5b32.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.e24072217202d3eac4a1.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.e24072217202d3eac4a1.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.07371fe2115600fbb2b7.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.07371fe2115600fbb2b7.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.496072951a0c2e78f5c6.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.496072951a0c2e78f5c6.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.268cb2506002fcd80b7e.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.268cb2506002fcd80b7e.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.679d7860dff82165ebaa.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.679d7860dff82165ebaa.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.c46e1f8b35916be37858.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.c46e1f8b35916be37858.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.3a9b2efe0828749d7bd2.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.3a9b2efe0828749d7bd2.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.a0fe304704d93a526bf1.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.a0fe304704d93a526bf1.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.62cf1e63ee458002572f.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.62cf1e63ee458002572f.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.d3fdfd27216784c1f151.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.d3fdfd27216784c1f151.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.c57ff1827b8f95253ffd.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.c57ff1827b8f95253ffd.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.7739698e1cb70054f906.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.7739698e1cb70054f906.hot-update.js",
"/js/main.fcd94381898376cc8569.hot-update.js": "/js/main.fcd94381898376cc8569.hot-update.js",
"/js/main.f46471933cd8ab1e4a78.hot-update.js": "/js/main.f46471933cd8ab1e4a78.hot-update.js",
"/js/main.fa7d4ebba0fd98182609.hot-update.js": "/js/main.fa7d4ebba0fd98182609.hot-update.js",
"/js/main.203150fb562d1445e197.hot-update.js": "/js/main.203150fb562d1445e197.hot-update.js",
"/js/main.200cb2b1e73cf49d35eb.hot-update.js": "/js/main.200cb2b1e73cf49d35eb.hot-update.js",
"/js/main.d5900d8e9e7bd7cf4c61.hot-update.js": "/js/main.d5900d8e9e7bd7cf4c61.hot-update.js",
"/js/main.e0d9c6dc7b747290b739.hot-update.js": "/js/main.e0d9c6dc7b747290b739.hot-update.js",
"/js/main.c038f2a4cd531be78894.hot-update.js": "/js/main.c038f2a4cd531be78894.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.c038f2a4cd531be78894.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.c038f2a4cd531be78894.hot-update.js",
"/chunks/profile.c038f2a4cd531be78894.hot-update.js": "/chunks/profile.c038f2a4cd531be78894.hot-update.js",
"/chunks/shared-page.c038f2a4cd531be78894.hot-update.js": "/chunks/shared-page.c038f2a4cd531be78894.hot-update.js",
"/js/main.88ed219d9b30be499f0e.hot-update.js": "/js/main.88ed219d9b30be499f0e.hot-update.js",
"/js/main.2f4f1f8e6cf108317669.hot-update.js": "/js/main.2f4f1f8e6cf108317669.hot-update.js",
"/js/main.4c0109310f2002c0d659.hot-update.js": "/js/main.4c0109310f2002c0d659.hot-update.js",
"/js/main.0c5d75d6189fe367998a.hot-update.js": "/js/main.0c5d75d6189fe367998a.hot-update.js",
"/js/main.a742ba01650e2b164252.hot-update.js": "/js/main.a742ba01650e2b164252.hot-update.js",
"/js/main.7f3ed9d313176e0ada39.hot-update.js": "/js/main.7f3ed9d313176e0ada39.hot-update.js",
"/js/main.f2e3c5f407459afc4f9b.hot-update.js": "/js/main.f2e3c5f407459afc4f9b.hot-update.js",
"/js/main.5aff432bf210527f2a36.hot-update.js": "/js/main.5aff432bf210527f2a36.hot-update.js",
"/js/main.7e84fb6e3ed6b854f311.hot-update.js": "/js/main.7e84fb6e3ed6b854f311.hot-update.js",
"/js/main.2aeae05eaaef0a631d78.hot-update.js": "/js/main.2aeae05eaaef0a631d78.hot-update.js",
"/js/main.09739f281cdebbae24aa.hot-update.js": "/js/main.09739f281cdebbae24aa.hot-update.js",
"/js/main.631a0e81c97874876f5e.hot-update.js": "/js/main.631a0e81c97874876f5e.hot-update.js",
"/js/main.eb7a65f564f9f0d4ba07.hot-update.js": "/js/main.eb7a65f564f9f0d4ba07.hot-update.js",
"/js/main.ed2185313b7c2c92f9f2.hot-update.js": "/js/main.ed2185313b7c2c92f9f2.hot-update.js",
"/js/main.eb435e9996e2f8f42724.hot-update.js": "/js/main.eb435e9996e2f8f42724.hot-update.js",
"/js/main.4b0b292fed01b478bed6.hot-update.js": "/js/main.4b0b292fed01b478bed6.hot-update.js",
"/js/main.9271c0c56efeb8e3a286.hot-update.js": "/js/main.9271c0c56efeb8e3a286.hot-update.js",
"/js/main.ed3fc5db2164142ef9c1.hot-update.js": "/js/main.ed3fc5db2164142ef9c1.hot-update.js",
"/js/main.5446b11bab30714631db.hot-update.js": "/js/main.5446b11bab30714631db.hot-update.js",
"/js/main.d7341566f45faa017e8c.hot-update.js": "/js/main.d7341566f45faa017e8c.hot-update.js",
"/js/main.67b0c7603bb80ae5f13f.hot-update.js": "/js/main.67b0c7603bb80ae5f13f.hot-update.js",
"/js/main.a15e72f284de7e56c94b.hot-update.js": "/js/main.a15e72f284de7e56c94b.hot-update.js",
"/js/main.918d35e4f99752585032.hot-update.js": "/js/main.918d35e4f99752585032.hot-update.js",
"/js/main.4f9b8e5f100170bbd18a.hot-update.js": "/js/main.4f9b8e5f100170bbd18a.hot-update.js",
"/js/main.eb222f2d5ff935d3200f.hot-update.js": "/js/main.eb222f2d5ff935d3200f.hot-update.js",
"/js/main.93d6e350abb5991b3aa9.hot-update.js": "/js/main.93d6e350abb5991b3aa9.hot-update.js",
"/js/main.2a0e429dec2f98056778.hot-update.js": "/js/main.2a0e429dec2f98056778.hot-update.js",
"/js/main.4646e2b062f8ddf9d575.hot-update.js": "/js/main.4646e2b062f8ddf9d575.hot-update.js",
"/js/main.f95fcfef2bf79d5529ea.hot-update.js": "/js/main.f95fcfef2bf79d5529ea.hot-update.js",
"/js/main.662fd594f74ca9249f18.hot-update.js": "/js/main.662fd594f74ca9249f18.hot-update.js",
"/js/main.072fd718974413008fb6.hot-update.js": "/js/main.072fd718974413008fb6.hot-update.js",
"/js/main.463fba1bcfcd6531aa1f.hot-update.js": "/js/main.463fba1bcfcd6531aa1f.hot-update.js",
"/js/main.1ec78206a493285af9d8.hot-update.js": "/js/main.1ec78206a493285af9d8.hot-update.js",
"/js/main.70a12f37cb99f4aaf251.hot-update.js": "/js/main.70a12f37cb99f4aaf251.hot-update.js",
"/js/main.af36db4bdbb8bbb4d700.hot-update.js": "/js/main.af36db4bdbb8bbb4d700.hot-update.js",
"/js/main.24532549c5a8d7c6447d.hot-update.js": "/js/main.24532549c5a8d7c6447d.hot-update.js",
"/js/main.5d65901915097c3bc2c5.hot-update.js": "/js/main.5d65901915097c3bc2c5.hot-update.js",
"/js/main.9adb0354572713a0ef36.hot-update.js": "/js/main.9adb0354572713a0ef36.hot-update.js",
"/js/main.30e310fc8a983b1851d0.hot-update.js": "/js/main.30e310fc8a983b1851d0.hot-update.js",
"/js/main.d0288aa9d27a18b65ff6.hot-update.js": "/js/main.d0288aa9d27a18b65ff6.hot-update.js",
"/js/main.54b0198fb23f9e4049a7.hot-update.js": "/js/main.54b0198fb23f9e4049a7.hot-update.js",
"/js/main.0c234486d5c9c1450596.hot-update.js": "/js/main.0c234486d5c9c1450596.hot-update.js",
"/js/main.47d1472e25abe15fde03.hot-update.js": "/js/main.47d1472e25abe15fde03.hot-update.js",
"/js/main.07f80066ab695124f705.hot-update.js": "/js/main.07f80066ab695124f705.hot-update.js",
"/js/main.17df0109ea8dc199448b.hot-update.js": "/js/main.17df0109ea8dc199448b.hot-update.js",
"/js/main.819a3213ccb803532f6b.hot-update.js": "/js/main.819a3213ccb803532f6b.hot-update.js",
"/js/main.a79cc99d166607be55aa.hot-update.js": "/js/main.a79cc99d166607be55aa.hot-update.js",
"/js/main.674e6018391145755d57.hot-update.js": "/js/main.674e6018391145755d57.hot-update.js",
"/js/main.8e732eec79b778ff843a.hot-update.js": "/js/main.8e732eec79b778ff843a.hot-update.js",
"/js/main.1d12214d2840c2752980.hot-update.js": "/js/main.1d12214d2840c2752980.hot-update.js",
"/js/main.33054f19a28ffe5c427b.hot-update.js": "/js/main.33054f19a28ffe5c427b.hot-update.js",
"/js/main.c4751884155092e88a5d.hot-update.js": "/js/main.c4751884155092e88a5d.hot-update.js",
"/js/main.04e1869afa48a13f001a.hot-update.js": "/js/main.04e1869afa48a13f001a.hot-update.js",
"/js/main.55346348d7e83c768029.hot-update.js": "/js/main.55346348d7e83c768029.hot-update.js",
"/js/main.1ba2ada5faf40d89b0e9.hot-update.js": "/js/main.1ba2ada5faf40d89b0e9.hot-update.js",
"/js/main.81fb744c045199ebfce8.hot-update.js": "/js/main.81fb744c045199ebfce8.hot-update.js",
"/js/main.11d6d3c8b5e37dd8a5d2.hot-update.js": "/js/main.11d6d3c8b5e37dd8a5d2.hot-update.js",
"/js/main.efcceb3885de0b119296.hot-update.js": "/js/main.efcceb3885de0b119296.hot-update.js",
"/js/main.9943c1693b589cca88c6.hot-update.js": "/js/main.9943c1693b589cca88c6.hot-update.js",
"/js/main.068d73a8dd73712acf2e.hot-update.js": "/js/main.068d73a8dd73712acf2e.hot-update.js",
"/js/main.f915c9c371bfb50479f4.hot-update.js": "/js/main.f915c9c371bfb50479f4.hot-update.js",
"/js/main.3e20c89203a9f9845e46.hot-update.js": "/js/main.3e20c89203a9f9845e46.hot-update.js",
"/js/main.6a2a6c31a66e01caff47.hot-update.js": "/js/main.6a2a6c31a66e01caff47.hot-update.js",
"/js/main.0e4c58ec3f14368033f8.hot-update.js": "/js/main.0e4c58ec3f14368033f8.hot-update.js",
"/js/main.b5bb0ea3ad6437532920.hot-update.js": "/js/main.b5bb0ea3ad6437532920.hot-update.js",
"/js/main.fe9728215fd7ef4df860.hot-update.js": "/js/main.fe9728215fd7ef4df860.hot-update.js",
"/js/main.81ea15970bffcd70ff7c.hot-update.js": "/js/main.81ea15970bffcd70ff7c.hot-update.js",
"/js/main.035497c097dc2a35978d.hot-update.js": "/js/main.035497c097dc2a35978d.hot-update.js",
"/js/main.32bd9a31ce4af0598684.hot-update.js": "/js/main.32bd9a31ce4af0598684.hot-update.js",
"/js/main.40e0d935df62bd8c0785.hot-update.js": "/js/main.40e0d935df62bd8c0785.hot-update.js",
"/js/main.3303ad73f0cc35a4ad5a.hot-update.js": "/js/main.3303ad73f0cc35a4ad5a.hot-update.js",
"/js/main.079ddafb35593c41e68b.hot-update.js": "/js/main.079ddafb35593c41e68b.hot-update.js",
"/js/main.d7d4f950ada99632ce24.hot-update.js": "/js/main.d7d4f950ada99632ce24.hot-update.js",
"/js/main.4ff2e0313dbe945f41c2.hot-update.js": "/js/main.4ff2e0313dbe945f41c2.hot-update.js",
"/js/main.637a5f6bca4938a89a77.hot-update.js": "/js/main.637a5f6bca4938a89a77.hot-update.js",
"/js/main.bf257971511a31a03ef6.hot-update.js": "/js/main.bf257971511a31a03ef6.hot-update.js",
"/js/main.d84fbf176199be05e85d.hot-update.js": "/js/main.d84fbf176199be05e85d.hot-update.js",
"/js/main.6340755a44a5855f2421.hot-update.js": "/js/main.6340755a44a5855f2421.hot-update.js",
"/js/main.b05bb01c88da1f3a6af5.hot-update.js": "/js/main.b05bb01c88da1f3a6af5.hot-update.js",
"/js/main.15073d992f17db6477da.hot-update.js": "/js/main.15073d992f17db6477da.hot-update.js",
"/js/main.34103742be71ea6383b9.hot-update.js": "/js/main.34103742be71ea6383b9.hot-update.js",
"/js/main.fc59fc217a967dfdbbaf.hot-update.js": "/js/main.fc59fc217a967dfdbbaf.hot-update.js",
"/js/main.5d9224d91a11b85a42ac.hot-update.js": "/js/main.5d9224d91a11b85a42ac.hot-update.js",
"/js/main.39b371c970363a38de66.hot-update.js": "/js/main.39b371c970363a38de66.hot-update.js",
"/js/main.2ed6fdc975a15fe42653.hot-update.js": "/js/main.2ed6fdc975a15fe42653.hot-update.js",
"/js/main.bc6fb2c3614a6d8aaaf3.hot-update.js": "/js/main.bc6fb2c3614a6d8aaaf3.hot-update.js",
"/js/main.10c86cb5c9174026394c.hot-update.js": "/js/main.10c86cb5c9174026394c.hot-update.js",
"/js/main.16bd4c54378f09cbcf92.hot-update.js": "/js/main.16bd4c54378f09cbcf92.hot-update.js",
"/js/main.5f2052dcf297e7715e44.hot-update.js": "/js/main.5f2052dcf297e7715e44.hot-update.js",
"/js/main.22039659d22fb3dba83a.hot-update.js": "/js/main.22039659d22fb3dba83a.hot-update.js",
"/js/main.a3e560542e0c2201d0d3.hot-update.js": "/js/main.a3e560542e0c2201d0d3.hot-update.js",
"/js/main.5c297f0be5b7d3627431.hot-update.js": "/js/main.5c297f0be5b7d3627431.hot-update.js",
"/js/main.98badc20e700335b1287.hot-update.js": "/js/main.98badc20e700335b1287.hot-update.js",
"/js/main.d6f59a6bead85b60812f.hot-update.js": "/js/main.d6f59a6bead85b60812f.hot-update.js",
"/js/main.6d4aa887a3d49ea1967d.hot-update.js": "/js/main.6d4aa887a3d49ea1967d.hot-update.js",
"/js/main.796516d9193da9d4a011.hot-update.js": "/js/main.796516d9193da9d4a011.hot-update.js",
"/js/main.fbb5580b7df042a97dbf.hot-update.js": "/js/main.fbb5580b7df042a97dbf.hot-update.js",
"/js/main.79526e1e6f900b3a81d4.hot-update.js": "/js/main.79526e1e6f900b3a81d4.hot-update.js",
"/js/main.70f16139d34c914e1235.hot-update.js": "/js/main.70f16139d34c914e1235.hot-update.js",
"/js/main.dfa4545dc5c3a4d633ed.hot-update.js": "/js/main.dfa4545dc5c3a4d633ed.hot-update.js",
"/js/main.21935ebee0220f9f051b.hot-update.js": "/js/main.21935ebee0220f9f051b.hot-update.js",
"/js/main.48abe9f33cdb692ce507.hot-update.js": "/js/main.48abe9f33cdb692ce507.hot-update.js",
"/js/main.36ac1e10ac06fcada9ba.hot-update.js": "/js/main.36ac1e10ac06fcada9ba.hot-update.js",
"/js/main.d732b4c264639ba17f6a.hot-update.js": "/js/main.d732b4c264639ba17f6a.hot-update.js",
"/js/main.0b6308fad12dfac4760f.hot-update.js": "/js/main.0b6308fad12dfac4760f.hot-update.js",
"/js/main.aed6ce7ff957ce689e3f.hot-update.js": "/js/main.aed6ce7ff957ce689e3f.hot-update.js",
"/js/main.899db4f3efe2389f2b07.hot-update.js": "/js/main.899db4f3efe2389f2b07.hot-update.js",
"/js/main.872d11e67b12e4560ff3.hot-update.js": "/js/main.872d11e67b12e4560ff3.hot-update.js",
"/js/main.c91bed29280eded62f9b.hot-update.js": "/js/main.c91bed29280eded62f9b.hot-update.js",
"/js/main.dd1113a52d68a1bddf63.hot-update.js": "/js/main.dd1113a52d68a1bddf63.hot-update.js",
"/js/main.b3d139d07349459e76fd.hot-update.js": "/js/main.b3d139d07349459e76fd.hot-update.js"
"/js/main.753b6ba10ed9d4d97a80.hot-update.js": "/js/main.753b6ba10ed9d4d97a80.hot-update.js",
"/js/main.af16f587f3c0df536787.hot-update.js": "/js/main.af16f587f3c0df536787.hot-update.js",
"/js/main.eaac5054084827fa9a6a.hot-update.js": "/js/main.eaac5054084827fa9a6a.hot-update.js",
"/js/main.a7987ebedc0bbe5feafe.hot-update.js": "/js/main.a7987ebedc0bbe5feafe.hot-update.js",
"/js/main.5a900c62703e5f640aba.hot-update.js": "/js/main.5a900c62703e5f640aba.hot-update.js",
"/js/main.ae1b4ff2f4ac363a8099.hot-update.js": "/js/main.ae1b4ff2f4ac363a8099.hot-update.js",
"/js/main.512897f81d528ca7db75.hot-update.js": "/js/main.512897f81d528ca7db75.hot-update.js",
"/js/main.dbfa2b0045d344f64eab.hot-update.js": "/js/main.dbfa2b0045d344f64eab.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.bb61eebd161e37562dc1.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.bb61eebd161e37562dc1.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.59ceede1786e8fe3fdfb.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.59ceede1786e8fe3fdfb.hot-update.js"
}

View File

@@ -26,7 +26,10 @@
<img loading="lazy" v-if="isImage && data.thumbnail" class="image" :src="data.thumbnail" :alt="data.name"/>
<!--Else show only folder icon-->
<FontAwesomeIcon v-if="isFolder" :class="{'is-deleted': isDeleted}" class="folder-icon" icon="folder"/>
<FontAwesomeIcon v-if="isFolder && !folderIconHandle" :ref="`folder${this.data.unique_id}`" :class="{'is-deleted': isDeleted}" class="folder-icon" icon="folder"/>
<!-- If folder have set emoji -->
<div class="emoji" v-if="isFolder && folderIconHandle"> {{folderIconHandle}}</div>
</div>
<!--Name-->
@@ -83,6 +86,21 @@ export default {
...mapGetters([
'FilePreviewType', 'sharedDetail', 'fileInfoDetail'
]),
folderIconHandle(){
// If folder have set some color
if(this.data.folder_icon_color) {
this.$nextTick(() => {
this.$refs[`folder${this.data.unique_id}`].firstElementChild.style.fill = `${this.data.folder_icon_color}`
})
return false
}
// If folder have set some emoji
if(this.data.folder_icon_emoji)
return JSON.parse(this.data.folder_icon_emoji).char
},
...mapGetters({ allData: 'data' }),
isClicked() {
return this.fileInfoDetail.some(element => element.unique_id == this.data.unique_id)
@@ -456,6 +474,11 @@ export default {
display: flex;
align-items: center;
.emoji {
@include font-size(55);
margin:auto;
}
.file-link {
display: block;
}

View File

@@ -27,8 +27,10 @@
<img loading="lazy" v-if="isImage && data.thumbnail" class="image" :src="data.thumbnail" :alt="data.name"/>
<!--Else show only folder icon-->
<FontAwesomeIcon v-if="isFolder" :class="{ 'is-deleted': isDeleted }" class="folder-icon" icon="folder"/>
<!-- <div v-if="isFolder" :class="{ 'is-deleted': isDeleted }" class="folder-icon">&#128034;</div> -->
<FontAwesomeIcon v-if="isFolder && !folderIconHandle" :ref="`folder${this.data.unique_id}`" :class="{ 'is-deleted': isDeleted }" class="folder-icon" icon="folder"/>
<!-- If folder have set emoji -->
<div class="emoji" v-if="isFolder && folderIconHandle"> {{folderIconHandle}}</div>
</div>
@@ -86,6 +88,21 @@ export default {
computed: {
...mapGetters(['FilePreviewType', 'fileInfoDetail']),
...mapGetters({ allData: 'data' }),
folderIconHandle(){
// If folder have set some icon color
if(this.data.folder_icon_color) {
this.$nextTick(() => {
this.$refs[`folder${this.data.unique_id}`].firstElementChild.style.fill = `${this.data.folder_icon_color}`
})
return false
}
// If folder have set some emoji
if(this.data.folder_icon_emoji)
return JSON.parse(this.data.folder_icon_emoji).char
},
isClicked() {
return this.fileInfoDetail.some(element => element.unique_id == this.data.unique_id)
},
@@ -447,6 +464,10 @@ export default {
line-height: 0;
margin-right: 20px;
.emoji {
@include font-size(35)
}
.folder-icon {
@include font-size(52);

View File

@@ -119,6 +119,7 @@
border-radius: 8px;
padding: 6px 20px;
box-shadow: 0 1px 5px rgba(0, 0, 0, 0.12);
cursor: text;
&.is-error {
border: 1px solid $danger;

View File

@@ -7,7 +7,7 @@
<PopupContent>
<!--Item Thumbnail-->
<ThumbnailItem class="item-thumbnail" :item="pickedItem" info="metadata"/>
<ThumbnailItem class="item-thumbnail" :item="pickedItem" info="metadata" :setFolderIcon="setFolderIcon"/>
<!--Form to set sharing-->
<ValidationObserver @submit.prevent="changeName" ref="renameForm" v-slot="{ invalid }" tag="form" class="form-wrapper">
@@ -18,7 +18,15 @@
<input v-model="pickedItem.name" :class="{'is-error': errors[0]}" ref="input" type="text" :placeholder="$t('popup_rename.placeholder')">
<span class="error-message" v-if="errors[0]">{{ errors[0] }}</span>
</ValidationProvider>
<SetFolderIcon v-if="isMoreOptions" :folderData="pickedItem" :unique_id="pickedItem.unique_id" />
<ActionButton v-if="pickedItem.type === 'folder'" @click.native.stop="moreOptions" :icon="isMoreOptions ? 'x' : 'pencil-alt'">{{ moreOptionsTitle }}</ActionButton>
</ValidationObserver>
</PopupContent>
<!--Actions-->
@@ -45,6 +53,7 @@
import PopupActions from '@/components/Others/Popup/PopupActions'
import PopupContent from '@/components/Others/Popup/PopupContent'
import PopupHeader from '@/components/Others/Popup/PopupHeader'
import SetFolderIcon from '@/components/Others/SetFolderIcon'
import ThumbnailItem from '@/components/Others/ThumbnailItem'
import ActionButton from '@/components/Others/ActionButton'
import ButtonBase from '@/components/FilesView/ButtonBase'
@@ -57,6 +66,7 @@
components: {
ValidationProvider,
ValidationObserver,
SetFolderIcon,
ThumbnailItem,
ActionButton,
PopupWrapper,
@@ -70,20 +80,31 @@
itemTypeTitle() {
return this.pickedItem && this.pickedItem.type === 'folder' ? this.$t('types.folder') : this.$t('types.file')
},
moreOptionsTitle() {
return this.isMoreOptions ? this.$t('shared_form.button_close_options') : this.$t('shared_form.button_folder_icon_open')
}
},
data() {
return {
pickedItem: undefined,
isMoreOptions:false,
setFolderIcon: undefined,
}
},
methods: {
moreOptions(){
this.isMoreOptions = ! this.isMoreOptions
this.setFolderIcon = undefined
},
changeName() {
if (this.pickedItem.name && this.pickedItem.name !== '') {
let item = {
unique_id: this.pickedItem.unique_id,
type: this.pickedItem.type,
name: this.pickedItem.name
name: this.pickedItem.name,
folder_icon: this.setFolderIcon ? this.setFolderIcon : null
}
// Rename item request
@@ -107,9 +128,17 @@
this.$refs.input.focus()
})
this.isMoreOptions = false
this.setFolderIcon = undefined
// Store picked item
this.pickedItem = args.item
})
events.$on('setFolderIcon', (icon) => {
this.setFolderIcon = icon.value
})
}
}
</script>

View File

@@ -0,0 +1,376 @@
<template>
<div class="set-folder-icon">
<div class="select-table">
<div @click="changeTab('emoji')" :class="{'active' : activeTab === 'emoji'}">
<smile-icon class="icon" size="17" />
<b class="select-tab-title">{{$t('popup_rename.tab_emoji_title')}}</b>
</div>
<div @click="changeTab('color')" :class="{'active' : activeTab === 'color'}">
<folder-icon class="icon" size="17"/>
<b class="select-tab-title"> {{$t('popup_rename.tab_color_title')}}</b>
</div>
</div>
<div class="select-emoji-wrapper" v-if="activeTab === 'emoji'">
<label class="main-label">Pick Yout Emoji Icon:</label>
<div @click="openMenu" v-if="!selectOpen" class="select-input-wrapper">
<div class="select-input" v-if="selectedEmoji">
<span>{{selectedEmoji.char}}</span>
<span>{{selectedEmoji.name}}</span>
</div>
<div class="not-selected" v-if="! selectedEmoji">
<span> {{$t('popup_rename.set_emoji_input_placeholder')}}</span>
</div>
<chevron-down-icon size="19" class="chevron-icon"/>
</div>
<transition v-if="selectOpen" name="slide-in">
<div class="emoji-wrapper">
<input v-model="searchEmoji" class="emoji-input" :placeholder="$t('popup_rename.search_emoji_input_placeholder')" >
<label class="object-label"> {{$t('popup_rename.emoji_list_label')}}</label>
<ul class="options-list">
<li @click="setIcon({'emoji':emoji})" class="option" v-for="(emoji,i) in allEmoji" :key="i">
{{emoji.char}}
</li>
<span class="not-found" v-if="allEmoji.length === 0"> {{$t('popup_rename.emoji_list_not_found')}}</span>
</ul>
</div>
</transition>
</div>
<div v-if="activeTab === 'color'" class="color-pick-wrapper">
<label class="main-label">{{$t('popup_rename.color_pick_label')}}</label>
<ul class="color-wrapper">
<li v-for="(color, index) in colors"
:key="index"
@click="setIcon({'color': color})"
class="single-color"
:class="{'active-color': color === selectedColor }"
:style="{background:color}" />
</ul>
</div>
</div>
</template>
<script>
import {SmileIcon, FolderIcon, ChevronDownIcon } from 'vue-feather-icons'
import emojis from '../../emoji.json'
import {events} from '@/bus'
export default {
name: "SetFolderIcon",
props: ['folderData', 'unique_id'],
components: {SmileIcon, FolderIcon, ChevronDownIcon },
computed: {
allEmoji() {
let emojisList = this.emojis
if(this.searchEmoji !== undefined) {
emojisList = this.emojis.filter(emoji => emoji.name.includes(this.searchEmoji))
}
return emojisList ? emojisList : "Not Found"
},
},
data () {
return {
selectedEmoji: undefined,
selectedColor: undefined,
searchEmoji: undefined,
activeTab: "emoji",
selectOpen: false,
emojis: emojis,
colors: ['#FF6633', '#FFB399', '#FF33FF', '#FFFF99', '#00B3E6',
'#E6B333', '#3366E6', '#999966', '#99FF99', '#B34D4D',
'#80B300', '#809900', '#E6B3B3', '#6680B3']
}
},
methods: {
changeTab(tab) {
this.activeTab = tab
this.selectedEmoji = undefined
this.selectedColor = undefined
},
openMenu() {
this.selectOpen = ! this.selectOpen
},
setIcon(value) {
if(value.emoji)
this.selectedEmoji = value.emoji
if(value.color)
this.selectedColor = value.color
events.$emit('setFolderIcon', {'value':value, 'unique_id':this.unique_id})
this.selectOpen = false
}
},
mounted () {
this.activeTab = "emoji"
this.selectOpen = false
this.viewEmojiList = false
}
}
</script>
<style scoped lang="scss">
@import "@assets/vue-file-manager/_inapp-forms.scss";
@import '@assets/vue-file-manager/_forms';
.color-pick-wrapper {
.color-wrapper {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-bottom: 20px;
.single-color {
width: 40px;
height: 40px;
list-style: none;
margin: 8px;
border-radius: 8px;
cursor: pointer;
&.active-color {
border: 2px solid $text;
}
&:hover {
border: 2px solid $text;
}
}
}
}
.select-emoji-wrapper{
margin-bottom: 20px;
}
.main-label {
@include font-size(14);
font-weight: 700;
margin-bottom: 8px;
display: block;
}
.emoji-wrapper {
width: 100%;
position: absolute;
border: 1px solid transparent;
box-shadow: 0 1px 5px rgba(0, 0, 0, 0.12);
border-radius: 8px;
background: white;
display: flex;
flex-direction: column;
padding: 10px;
top: 89px;
.emoji-input {
margin: auto;
width: 100%;
border-radius: 8px;
padding: 4px;
margin-bottom: 20px;
background: $light_background;
border: none;
padding: 13px 20px;
font-weight: 700;
&::placeholder {
font-weight: 700;
color: $light_text;
}
}
.options-list {
max-height: 200px;
display: flex;
flex-wrap: wrap;
overflow: hidden;
overflow-y: scroll;
padding: 0px;
.option {
list-style: none;
padding: 8px;
cursor: pointer;
@include font-size(30);
&:hover {
background: $light_background;
border-radius: 8px;
}
}
.not-found {
margin:auto;
font-weight: 700;
padding: 10px;
border-radius: 8px;
background:$light_background ;
box-shadow: 0 1px 5px rgba(0, 0, 0, 0.12);
}
}
.object-label {
@include font-size(14);
margin-bottom: 8px;
font-weight: 700;
}
}
.select-input-wrapper{
height: 48px;
padding: 13px 20px;
border: 1px solid transparent;
border-radius: 8px;
box-shadow: 0 1px 5px rgba(0, 0, 0, 0.12);
cursor: pointer;
display: flex;
justify-content: space-between;
align-items: center;
.select-input {
@include font-size(16);
font-weight: 700;
}
.not-selected {
span {
color: rgba($text, 0.5);
@include font-size(15);
font-weight: 700
}
}
}
.wrapper {
margin-bottom: 10px;
}
.select-table {
display: flex;
justify-content: center;
margin-bottom: 20px;
cursor: pointer;
& > * {
width: 100%;
height: 42px;
display: flex;
justify-content: center;
align-items: center;
background: $light_background;
color: $text;
}
& > :first-child {
border-top-left-radius: 8px;
border-bottom-left-radius: 8px;
}
& > :last-child {
border-top-right-radius: 8px;
border-bottom-right-radius: 8px;
}
.icon {
margin-right: 10px;
path,
circle,
line,
polyline {
color: $theme !important;
}
}
}
.set-folder-icon {
position: relative;
}
.select-table {
.active {
background: $text;
.select-tab-title {
color: $light_background !important;
}
}
}
.slide-in-enter-active {
transition: all 5s ease;
}
.slide-in-enter
{
opacity: 0;
transform: translateY(-50px);
}
@media (prefers-color-scheme: dark) {
.color-pick-wrapper{
.color-wrapper{
.single-color {
&.active-color {
border: 2px solid ;
}
&:hover {
border: 2px solid $dark_mode_text_primary;
}
}
}
}
.emoji-wrapper {
background: $dark_mode_background;
.emoji-input {
background: $dark_mode_foreground ;
}
.options-list {
.option {
&:hover {
background: $dark_mode_foreground;
}
}
.not-found {
background: $dark_mode_foreground;
}
}
}
.select-input-wrapper {
background: $dark_mode_foreground;
.not-selected {
span {
color:$dark_mode_text_secondary;
}
}
}
.select-table {
& > * {
background: $dark_mode_foreground;
color: $dark_mode_text_primary;
}
.active {
background: $dark_mode_text_primary;
.select-tab-title {
color: $dark_mode_foreground !important;
}
}
}
}
</style>

View File

@@ -14,7 +14,9 @@
<img v-if="isImage" class="image" :src="item.thumbnail" :alt="item.name"/>
<!--Else show only folder icon-->
<FontAwesomeIcon v-if="isFolder" class="folder-icon" icon="folder"/>
<FontAwesomeIcon ref="folderIcon" v-if="isFolder && !folderIconHandle" class="folder-icon" icon="folder"/>
<div v-if="isFolder && folderIconHandle" class="folder-emoji">{{folderIconHandle}}</div>
</div>
<!--Name-->
@@ -44,9 +46,43 @@
export default {
name: 'ThumbnailItem',
props: ['item', 'info'],
props: ['item', 'info', 'setFolderIcon'],
computed: {
...mapGetters(['currentFolder']),
folderIconHandle(){
let icon = undefined
// Set icon folder if set folder from rename popup
if(this.setFolderIcon){
if(this.setFolderIcon.color)
this.$nextTick(() => {
this.$refs.folderIcon.firstElementChild.style.fill = `${this.setFolderIcon.color}`
})
icon = false
if(this.setFolderIcon.emoji)
icon = this.setFolderIcon.emoji.char
}
// If folder have already set some icon
if(!this.setFolderIcon && (this.item.folder_icon_emoji || this.item.folder_icon_color)){
if(this.item.folder_icon_emoji !== null)
icon = JSON.parse(this.item.folder_icon_emoji).char
if(this.item.folder_icon_color !== null){
this.$nextTick(() => {
this.$refs.folderIcon.firstElementChild.style.fill = `${this.item.folder_icon_color}`
})
icon = false
}
}
return icon
},
isFolder() {
return this.item.type === 'folder'
},
@@ -106,6 +142,10 @@
text-align: center;
line-height: 0;
.folder-emoji {
@include font-size(32)
}
.file-icon {
@include font-size(35);

36722
resources/js/emoji.json Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -580,7 +580,15 @@
"popup_rename": {
"title": "Rename Your {item}",
"label": "Edit Name",
"placeholder": "Type your title"
"placeholder": "Type your title",
"tab_emoji_title": "Emoji as an Icon",
"tab_color_title": "Folder Color",
"set_emoji_input_placeholder": "Emojis List...",
"search_emoji_input_placeholder": "Search your emoji...",
"emoji_list_label": "Objects:",
"emoji_list_not_found": "Not Found",
"color_pick_label": "Pick Your Color:"
},
"popup_create_folder": {
"folder_default_name": "New Folder",
@@ -687,6 +695,7 @@
"shared_form": {
"button_more_options": "Set Expiration",
"button_close_options": "Close Options",
"button_folder_icon_open": "Customize Folder Icon",
"button_done": "Awesome, Im done!",
"button_generate": "Generate Link",
"label_password_protection": "Password Protected",

View File

@@ -227,7 +227,6 @@ const mutations = {
state.browseHistory.pop()
},
CHANGE_ITEM_NAME(state, updatedFile) {
// Rename filename in file info detail
if (state.fileInfoDetail && state.fileInfoDetail.unique_id == updatedFile.unique_id) {
state.fileInfoDetail = updatedFile
@@ -235,7 +234,11 @@ const mutations = {
// Rename item name in data view
state.data.find(item => {
if (item.unique_id == updatedFile.unique_id) item.name = updatedFile.name
if (item.unique_id == updatedFile.unique_id) {
item.name = updatedFile.name
item.folder_icon_color = updatedFile.folder_icon_color ? updatedFile.folder_icon_color : null
item.folder_icon_emoji = updatedFile.folder_icon_emoji ? updatedFile.folder_icon_emoji : null
}
})
},
REMOVE_ITEM_FILEINFO_DETAIL(state,item) {

View File

@@ -145,6 +145,7 @@ const actions = {
.post(route, {
name: data.name,
type: data.type,
folder_icon: data.folder_icon,
_method: 'patch'
})
.then(response => {