Skip to content

Commit 5509ac5

Browse files
author
John Wesely
committed
add copyable form link
1 parent 9eb6e03 commit 5509ac5

File tree

5 files changed

+31
-7
lines changed

5 files changed

+31
-7
lines changed

config/filament-form-builder.php

+2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
return [
66
'filament-form-user-show-route' => 'filament-form-users.show',
77

8+
'filament-form-show-route' => 'filament-form-builder.show',
9+
810
'resources' => [
911
'FilamentFormResource' => FilamentFormResource::class,
1012
],

src/Filament/Resources/FilamentFormResource.php

+12
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
use Filament\Tables\Table;
99
use Filament\Resources\Resource;
1010
use Filament\Forms\Components\Toggle;
11+
use Filament\Tables\Columns\IconColumn;
1112
use Tapp\FilamentFormBuilder\Models\FilamentForm;
1213
use Tapp\FilamentFormBuilder\Filament\Resources\FilamentFormResource\Pages\EditFilamentForm;
1314
use Tapp\FilamentFormBuilder\Filament\Resources\FilamentFormResource\Pages\ListFilamentForms;
@@ -75,7 +76,18 @@ public static function table(Table $table): Table
7576
->sortable()
7677
->toggleable(isToggledHiddenByDefault: true),
7778
Tables\Columns\TextColumn::make('name')
79+
->sortable()
7880
->searchable(),
81+
Tables\Columns\TextColumn::make('form_link')
82+
->copyable()
83+
->copyMessage('Form link copied to clipboard')
84+
->copyMessageDuration(1500),
85+
IconColumn::make('permit_guest_entries')
86+
->sortable()
87+
->getStateUsing(function ($record) {
88+
return (bool) $record->permit_guest_entries;
89+
})
90+
->boolean(),
7991
])
8092
->filters([
8193
//

src/Filament/Resources/FilamentFormResource/Pages/ListFilamentForms.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ class ListFilamentForms extends ListRecords
1212

1313
public function getTitle(): string
1414
{
15-
return config('filament-form-builder.admin-panel-resource-name');
15+
return config('filament-form-builder.admin-panel-resource-name-plural');
1616
}
1717

1818
protected function getHeaderActions(): array

src/Filament/Resources/FilamentFormResource/RelationManagers/FilamentFormUsersRelationManager.php

+11-6
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,16 @@
33
namespace Tapp\FilamentFormBuilder\Filament\Resources\FilamentFormResource\RelationManagers;
44

55
use Filament\Forms;
6-
use Filament\Forms\Form;
7-
use Filament\Resources\RelationManagers\RelationManager;
86
use Filament\Tables;
9-
use Filament\Tables\Actions\BulkAction;
7+
use Filament\Forms\Form;
108
use Filament\Tables\Table;
11-
use Illuminate\Database\Eloquent\Collection;
12-
use Illuminate\Database\Eloquent\Model;
9+
use Filament\Tables\Filters\Filter;
1310
use Maatwebsite\Excel\Facades\Excel;
11+
use Filament\Tables\Actions\BulkAction;
12+
use Illuminate\Database\Eloquent\Model;
13+
use Illuminate\Database\Eloquent\Builder;
14+
use Illuminate\Database\Eloquent\Collection;
15+
use Filament\Resources\RelationManagers\RelationManager;
1416
use Tapp\FilamentFormBuilder\Exports\FilamentFormUsersExport;
1517

1618
class FilamentFormUsersRelationManager extends RelationManager
@@ -53,7 +55,10 @@ public function table(Table $table): Table
5355
])
5456
->recordUrl(fn ($record) => route(config('filament-form-builder.filament-form-user-show-route'), $record))
5557
->filters([
56-
//
58+
Filter::make('guest_entries')
59+
->query(fn (Builder $query): Builder => $query->whereNull('user_id')),
60+
Filter::make('user_entries')
61+
->query(fn (Builder $query): Builder => $query->whereNotNull('user_id'))
5762
])
5863
->headerActions([
5964
])

src/Models/FilamentForm.php

+5
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,9 @@ public function filamentFormUsers(): HasMany
2929
{
3030
return $this->hasMany(FilamentFormUser::class);
3131
}
32+
33+
public function getFormLinkAttribute(): string
34+
{
35+
return route(config('filament-form-builder.filament-form-show-route'), $this->id);
36+
}
3237
}

0 commit comments

Comments
 (0)