mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-04-05 18:23:48 +00:00
- emoji refactoring
This commit is contained in:
@@ -116,9 +116,8 @@ class EditItemsController extends Controller
|
||||
}
|
||||
|
||||
// If request have a change folder icon values set the folder icon
|
||||
if ($request->type === 'folder' && $request->filled('icon')) {
|
||||
|
||||
Editor::set_folder_icon($request->folder_icon, $id);
|
||||
if ($request->type === 'folder' && $request->filled('emoji')) {
|
||||
Editor::set_folder_icon($request, $id);
|
||||
}
|
||||
|
||||
// Rename Item
|
||||
|
||||
@@ -29,40 +29,37 @@ class Editor
|
||||
/**
|
||||
* Store folder icon
|
||||
*
|
||||
* @param $icon
|
||||
* @param $unique_id
|
||||
* @param $shared
|
||||
* @param $request
|
||||
* @param $id
|
||||
*/
|
||||
public static function set_folder_icon($icon, $unique_id, $shared = null)
|
||||
public static function set_folder_icon($request, $id)
|
||||
{
|
||||
$user_id = is_null($shared) ? Auth::id() : $shared->user_id;
|
||||
|
||||
// Get folder
|
||||
$folder = Folder::where('user_id', $user_id)
|
||||
->where('unique_id', $unique_id)
|
||||
->first();
|
||||
$folder = Folder::find($id);
|
||||
|
||||
// Set default folder icon
|
||||
if ($icon === 'default') {
|
||||
$folder->icon_emoji = null;
|
||||
$folder->icon_color = null;
|
||||
if ($request->emoji === 'default') {
|
||||
$folder->update([
|
||||
'emoji' => null,
|
||||
'color' => null,
|
||||
]);
|
||||
}
|
||||
|
||||
// If request have emoji set folder icon emoji
|
||||
if (isset($icon['emoji'])) {
|
||||
$folder->icon_emoji = $icon['emoji'];
|
||||
$folder->icon_color = null;
|
||||
// Set emoji
|
||||
if ($request->filled('emoji')) {
|
||||
$folder->update([
|
||||
'emoji' => $request->emoji,
|
||||
'color' => null,
|
||||
]);
|
||||
}
|
||||
|
||||
// If request have color set folder icon color
|
||||
if (isset($icon['color'])) {
|
||||
$folder->icon_emoji = null;
|
||||
$folder->icon_color = $icon['color'];
|
||||
// Set color
|
||||
if ($request->filled('color')) {
|
||||
$folder->update([
|
||||
'emoji' => null,
|
||||
'color' => $request->color,
|
||||
]);
|
||||
}
|
||||
|
||||
// Save changes
|
||||
$folder->save();
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -23,7 +23,7 @@ class Folder extends Model
|
||||
];
|
||||
|
||||
protected $casts = [
|
||||
'icon_emoji' => 'object',
|
||||
'emoji' => 'array',
|
||||
];
|
||||
|
||||
/**
|
||||
|
||||
@@ -19,7 +19,7 @@ class CreateFileManagerFolders extends Migration
|
||||
$table->uuid('parent_id')->nullable();
|
||||
$table->text('name');
|
||||
$table->string('color')->nullable();
|
||||
$table->string('emoji')->nullable();
|
||||
$table->longText('emoji')->nullable();
|
||||
$table->enum('user_scope', ['master', 'editor', 'visitor'])->default('master');
|
||||
$table->softDeletes();
|
||||
$table->timestamps();
|
||||
|
||||
@@ -78,9 +78,42 @@ class FolderTest extends TestCase
|
||||
]);
|
||||
}
|
||||
|
||||
public function it_set_folder_emoji()
|
||||
/**
|
||||
* @test
|
||||
*/
|
||||
public function it_set_folder_icon()
|
||||
{
|
||||
$folder = Folder::factory(Folder::class)
|
||||
->create();
|
||||
|
||||
$user = User::factory(User::class)
|
||||
->create();
|
||||
|
||||
Sanctum::actingAs($user);
|
||||
|
||||
// TODO: pridat do api skupiny
|
||||
$this->patchJson("/api/rename/{$folder->id}", [
|
||||
'name' => 'Renamed Folder',
|
||||
'type' => 'folder',
|
||||
'emoji' => [
|
||||
'category' => 'Smileys & Emotion (face-smiling)',
|
||||
'char' => '😁',
|
||||
'name' => 'beaming face with smiling eyes',
|
||||
]
|
||||
])
|
||||
->assertStatus(200)
|
||||
->assertJsonFragment([
|
||||
'name' => 'Renamed Folder',
|
||||
'emoji' => [
|
||||
'category' => 'Smileys & Emotion (face-smiling)',
|
||||
'char' => '😁',
|
||||
'name' => 'beaming face with smiling eyes',
|
||||
]
|
||||
]);
|
||||
|
||||
$this->assertDatabaseMissing('folders', [
|
||||
'emoji' => null
|
||||
]);
|
||||
}
|
||||
|
||||
public function it_set_folder_color()
|
||||
|
||||
Reference in New Issue
Block a user