File: /home/dnlightw-124/dn.lightweb.kr/stubs/settings/screen.entity.list.stub
<?php
namespace DummyNamespace;
use Illuminate\Http\Request;
use Orchid\Screen\Actions\Link;
use Orchid\Screen\Screen;
use Orchid\Support\Facades\Toast;
use App\Settings\Entities\User\User;
use Illuminate\Support\Facades\Auth;
use App\Settings\Entities\DummyEntityName\Layouts\DummyEntityNameListLayout;
use App\Settings\Entities\DummyEntityName\DummyEntityName;
class DummyClass extends Screen
{
/**
* Fetch data to be displayed on the screen.
*
* @return array
*/
public function query(): iterable
{
return [
'dummyEntityPluralLowerCamel' => DummyEntityName::filters()->defaultSort('id')->paginate(),
];
}
/**
* The name of the screen displayed in the header.
*
* @return string|null
*/
public function name(): ?string
{
return __('DummyClass Management');
}
/**
* Display header description.
*/
public function description(): ?string
{
return __('A comprehensive list of all DummyClass');
}
/**
* The screen's action buttons.
*
* @return \Orchid\Screen\Action[]
*/
public function commandBar(): iterable
{
$commands = [];
/** @var User $user */
$user = Auth::user();
if($user->hasAccess('settings.entities.dummy_entity_plural_name.create')) $commands[] = Link::make(__('Create'))->icon('bs.plus-circle')->route('settings.entities.dummy_entity_plural_name.create');
return $commands;
}
/**
* The screen's layout elements.
*
* @return \Orchid\Screen\Layout[]|string[]
*/
public function layout(): iterable
{
return [
DummyEntityNameListLayout::class,
];
}
public function remove(Request $request): void
{
DummyEntityName::findOrFail($request->get('id'))->delete();
Toast::info(__('DummyEntityName was removed'));
}
}