From 59fe129fd0b6fa23704b2302fe8d8ce4d4c13ba3 Mon Sep 17 00:00:00 2001 From: Alexander Gabriel Date: Sun, 8 Feb 2026 15:07:34 +0000 Subject: [PATCH] ein paar resourcen --- .../Resources/Users/Pages/CreateUser.php | 11 +++ .../Resources/Users/Pages/EditUser.php | 19 +++++ .../Resources/Users/Pages/ListUsers.php | 19 +++++ .../DocumentsRelationManager.php | 77 +++++++++++++++++++ .../Resources/Users/Schemas/UserForm.php | 27 +++++++ .../Resources/Users/Tables/UsersTable.php | 46 +++++++++++ app/Filament/Resources/Users/UserResource.php | 50 ++++++++++++ 7 files changed, 249 insertions(+) create mode 100644 app/Filament/Resources/Users/Pages/CreateUser.php create mode 100644 app/Filament/Resources/Users/Pages/EditUser.php create mode 100644 app/Filament/Resources/Users/Pages/ListUsers.php create mode 100644 app/Filament/Resources/Users/RelationManagers/DocumentsRelationManager.php create mode 100644 app/Filament/Resources/Users/Schemas/UserForm.php create mode 100644 app/Filament/Resources/Users/Tables/UsersTable.php create mode 100644 app/Filament/Resources/Users/UserResource.php diff --git a/app/Filament/Resources/Users/Pages/CreateUser.php b/app/Filament/Resources/Users/Pages/CreateUser.php new file mode 100644 index 0000000..125b3ff --- /dev/null +++ b/app/Filament/Resources/Users/Pages/CreateUser.php @@ -0,0 +1,11 @@ +components([ + TextInput::make('name') + ->required(), + TextInput::make('documentable_type') + ->required(), + TextInput::make('documentable_id') + ->required() + ->numeric(), + ]); + } + + public function table(Table $table): Table + { + return $table + ->recordTitleAttribute('name') + ->columns([ + TextColumn::make('name') + ->searchable(), + TextColumn::make('documentable_type') + ->searchable(), + TextColumn::make('documentable_id') + ->numeric() + ->sortable(), + TextColumn::make('created_at') + ->dateTime() + ->sortable() + ->toggleable(isToggledHiddenByDefault: true), + TextColumn::make('updated_at') + ->dateTime() + ->sortable() + ->toggleable(isToggledHiddenByDefault: true), + ]) + ->filters([ + // + ]) + ->headerActions([ + CreateAction::make(), + AssociateAction::make(), + ]) + ->recordActions([ + EditAction::make(), + DissociateAction::make(), + DeleteAction::make(), + ]) + ->toolbarActions([ + BulkActionGroup::make([ + DissociateBulkAction::make(), + DeleteBulkAction::make(), + ]), + ]); + } +} diff --git a/app/Filament/Resources/Users/Schemas/UserForm.php b/app/Filament/Resources/Users/Schemas/UserForm.php new file mode 100644 index 0000000..a2b16c5 --- /dev/null +++ b/app/Filament/Resources/Users/Schemas/UserForm.php @@ -0,0 +1,27 @@ +components([ + TextInput::make('name') + ->required(), + TextInput::make('email') + ->label('Email address') + ->email() + ->required(), + DateTimePicker::make('email_verified_at'), + TextInput::make('password') + ->password() + ->required(), + ]); + } +} diff --git a/app/Filament/Resources/Users/Tables/UsersTable.php b/app/Filament/Resources/Users/Tables/UsersTable.php new file mode 100644 index 0000000..e0da462 --- /dev/null +++ b/app/Filament/Resources/Users/Tables/UsersTable.php @@ -0,0 +1,46 @@ +columns([ + TextColumn::make('name') + ->searchable(), + TextColumn::make('email') + ->label('Email address') + ->searchable(), + TextColumn::make('email_verified_at') + ->dateTime() + ->sortable(), + TextColumn::make('created_at') + ->dateTime() + ->sortable() + ->toggleable(isToggledHiddenByDefault: true), + TextColumn::make('updated_at') + ->dateTime() + ->sortable() + ->toggleable(isToggledHiddenByDefault: true), + ]) + ->filters([ + // + ]) + ->recordActions([ + EditAction::make(), + ]) + ->toolbarActions([ + BulkActionGroup::make([ + DeleteBulkAction::make(), + ]), + ]); + } +} diff --git a/app/Filament/Resources/Users/UserResource.php b/app/Filament/Resources/Users/UserResource.php new file mode 100644 index 0000000..fff49d9 --- /dev/null +++ b/app/Filament/Resources/Users/UserResource.php @@ -0,0 +1,50 @@ + ListUsers::route('/'), + 'create' => CreateUser::route('/create'), + 'edit' => EditUser::route('/{record}/edit'), + ]; + } +}