1. Go to this page and download the library: Download inlayphp/inlay library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
inlayphp / inlay example snippets
use Inlay\MediaManager\MediaManagerPlugin;
use Inlay\PermissionManager\PermissionManagerPlugin;
return $panel->plugins([
PermissionManagerPlugin::make(),
MediaManagerPlugin::make(),
]);
namespace App\Inlay\Resources;
use App\Models\User;
use App\Validation\UserRules;
use Illuminate\Database\Eloquent\Model;
use Inlay\Actions\Action;
use Inlay\Forms\Fields\Select;
use Inlay\Forms\Fields\TextInput;
use Inlay\Forms\Fields\Toggle;
use Inlay\Forms\Form;
use Inlay\Resources\Resource;
use Inlay\Resources\ResourceOperation;
use Inlay\Tables\Columns\BadgeColumn;
use Inlay\Tables\Columns\TextColumn;
use Inlay\Tables\Filters\SelectFilter;
use Inlay\Tables\Table;
final class UserResource extends Resource
{
protected static string $model = User::class;
protected static ?string $navigationIcon = 'users';
protected static bool $usesLaravelPolicy = true;
public static function table(Table $table): Table
{
return $table
->columns([
TextColumn::make('name')->searchable()->sortable(),
TextColumn::make('email')->searchable(),
BadgeColumn::make('status')->colors([
'active' => 'success',
'suspended' => 'danger',
]),
])
->filters([
SelectFilter::make('status')->options([
'active' => 'Active',
'suspended' => 'Suspended',
]),
])
->actions([
Action::make('delete')
->url('/users/{id}')
->method('delete')
->color('danger')
->
use Inlay\Resources\Pages\ListRecords;
final class ListUsers extends ListRecords
{
protected static string $resource = UserResource::class;
protected static string $component = 'users/index';
}
use App\Inlay\Resources\UserResource;
use Illuminate\Foundation\Http\Middleware\HandlePrecognitiveRequests;
use Inlay\Resources\Facades\InlayResources;
InlayResources::routes([UserResource::class], [
'middleware' => ['auth'],
'mutationMiddleware' => [HandlePrecognitiveRequests::class],
]);
use Inlay\Forms\Fields\Select;
use Inlay\Forms\Fields\TextInput;
use Inlay\Forms\Fields\Toggle;
use Inlay\Forms\Form;
use Inlay\Schemas\Components\Grid;
use Inlay\Schemas\Components\Section;
$form = Form::make('create-user')
->action(route('users.store'))
->method('post')
->validation(UserRules::class, 'create')
->precognitive(mode: 'blur', debounce: 350)
->schema([
Section::make('account')->label('Account')->schema([
Grid::make(2)->schema([
TextInput::make('name')->::make('active')->default(true),
]),
]),
]);
return inertia('users/create', ['form' => $form]);
use Illuminate\Validation\Rule;
use Inlay\Validation\ValidationContext;
use Inlay\Validation\Validation;
final class UserRules extends Validation
{
public function rules(ValidationContext $context): array
{
return [
'name' => [' public function prepare(array $data, ValidationContext $context): array
{
$data['email'] = strtolower(trim((string) ($data['email'] ?? '')));
return $data;
}
}