Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 3 additions & 6 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,11 @@
},
"require": {
"php": "^8.2",
"bezhansalleh/filament-shield": "^3.3",
"bezhansalleh/filament-shield": "^4.0",
"datalinx/php-utils": "^2.5",
"eclipsephp/common": "dev-main",
"filament/filament": "^3.3",
"filament/spatie-laravel-translatable-plugin": "^3.3",
"filament/filament": "^4.0",
"lara-zeus/spatie-translatable": "^1.0",
"laravel/framework": "^11.0|^12.0",
"spatie/laravel-package-tools": "^1.19",
"spatie/laravel-translatable": "^6.11"
Expand Down Expand Up @@ -88,8 +88,5 @@
"Eclipse\\World\\EclipseWorldServiceProvider"
]
}
},
"suggest": {
"tangodev-it/filament-emoji-picker": "Show a emoji picker for country flag input"
}
}
2 changes: 1 addition & 1 deletion src/Filament/Clusters/World.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

class World extends Cluster
{
protected static ?string $navigationIcon = 'heroicon-s-map';
protected static string|\BackedEnum|null $navigationIcon = 'heroicon-s-map';

public static function getNavigationLabel(): string
{
Expand Down
50 changes: 27 additions & 23 deletions src/Filament/Clusters/World/Resources/CountryResource.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,45 +3,49 @@
namespace Eclipse\World\Filament\Clusters\World\Resources;

use BezhanSalleh\FilamentShield\Contracts\HasShieldPermissions;
use Closure;
use Eclipse\World\Filament\Clusters\World;
use Eclipse\World\Filament\Clusters\World\Resources\CountryResource\Pages;
use Eclipse\World\Filament\Clusters\World\Resources\CountryResource\Pages\ListCountries;
use Eclipse\World\Models\Country;
use Eclipse\World\Models\CountryInSpecialRegion;
use Eclipse\World\Models\Region;
use Filament\Actions\ActionGroup;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteAction;
use Filament\Actions\DeleteBulkAction;
use Filament\Actions\EditAction;
use Filament\Actions\ForceDeleteAction;
use Filament\Actions\ForceDeleteBulkAction;
use Filament\Actions\RestoreAction;
use Filament\Actions\RestoreBulkAction;
use Filament\Forms\Components\DatePicker;
use Filament\Forms\Components\Repeater;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Form;
use Filament\Resources\Resource;
use Filament\Tables\Actions\ActionGroup;
use Filament\Tables\Actions\BulkActionGroup;
use Filament\Tables\Actions\DeleteAction;
use Filament\Tables\Actions\DeleteBulkAction;
use Filament\Tables\Actions\EditAction;
use Filament\Tables\Actions\ForceDeleteAction;
use Filament\Tables\Actions\ForceDeleteBulkAction;
use Filament\Tables\Actions\RestoreAction;
use Filament\Tables\Actions\RestoreBulkAction;
use Filament\Schemas\Schema;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Filters\SelectFilter;
use Filament\Tables\Filters\TrashedFilter;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
use TangoDevIt\FilamentEmojiPicker\EmojiPickerAction;

class CountryResource extends Resource implements HasShieldPermissions
{
protected static ?string $model = Country::class;

protected static ?string $slug = 'countries';

protected static ?string $navigationIcon = 'heroicon-o-rectangle-stack';
protected static string|\BackedEnum|null $navigationIcon = 'heroicon-o-rectangle-stack';

protected static ?string $cluster = World::class;

public static function form(Form $form): Form
public static function form(Schema $schema): Schema
{
return $form
->schema([
return $schema
->components([
TextInput::make('id')
->required()
->length(2)
Expand All @@ -57,7 +61,7 @@ public static function form(Form $form): Form
->label(__('eclipse-world::countries.form.flag.label'))
->suffixAction(function () {
if (class_exists('\TangoDevIt\FilamentEmojiPicker\EmojiPickerAction')) {
return \TangoDevIt\FilamentEmojiPicker\EmojiPickerAction::make('emoji-flag');
return EmojiPickerAction::make('emoji-flag');
}

return null;
Expand Down Expand Up @@ -98,7 +102,7 @@ public static function form(Form $form): Form
->label(__('eclipse-world::countries.form.special_regions.region_label'))
->rules([
function ($get) {
return function (string $attribute, $value, \Closure $fail) use ($get) {
return function (string $attribute, $value, Closure $fail) use ($get) {
if (! $value) {
return;
}
Expand All @@ -111,7 +115,7 @@ function ($get) {
}

// Check for any existing membership with same country and region
$query = \Eclipse\World\Models\CountryInSpecialRegion::where('country_id', $countryId)
$query = CountryInSpecialRegion::where('country_id', $countryId)
->where('region_id', $value);

// Exclude current record when editing
Expand All @@ -120,7 +124,7 @@ function ($get) {
}

if ($query->exists()) {
$regionName = \Eclipse\World\Models\Region::find($value)?->name ?? __('eclipse-world::countries.validation.unknown_region');
$regionName = Region::find($value)?->name ?? __('eclipse-world::countries.validation.unknown_region');
$fail(__('eclipse-world::countries.validation.duplicate_special_region_membership', [
'region' => $regionName,
]));
Expand Down Expand Up @@ -195,7 +199,7 @@ public static function table(Table $table): Table
SelectFilter::make('special_regions')
->label(__('eclipse-world::countries.filters.special_region.label'))
->options(function () {
return \Eclipse\World\Models\Region::where('is_special', true)
return Region::where('is_special', true)
->pluck('name', 'id')
->toArray();
})
Expand All @@ -217,7 +221,7 @@ public static function table(Table $table): Table
->preload(),
TrashedFilter::make(),
])
->actions([
->recordActions([
EditAction::make()
->label(__('eclipse-world::countries.actions.edit.label'))
->modalHeading(__('eclipse-world::countries.actions.edit.heading')),
Expand All @@ -236,7 +240,7 @@ public static function table(Table $table): Table
])),
]),
])
->bulkActions([
->toolbarActions([
BulkActionGroup::make([
DeleteBulkAction::make()
->label(__('eclipse-world::countries.actions.delete.label')),
Expand All @@ -251,7 +255,7 @@ public static function table(Table $table): Table
public static function getPages(): array
{
return [
'index' => Pages\ListCountries::route('/'),
'index' => ListCountries::route('/'),
];
}

Expand Down
36 changes: 18 additions & 18 deletions src/Filament/Clusters/World/Resources/CurrencyResource.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,21 @@

use BezhanSalleh\FilamentShield\Contracts\HasShieldPermissions;
use Eclipse\World\Filament\Clusters\World;
use Eclipse\World\Filament\Clusters\World\Resources\CurrencyResource\Pages;
use Eclipse\World\Filament\Clusters\World\Resources\CurrencyResource\Pages\ListCurrencies;
use Eclipse\World\Models\Currency;
use Filament\Actions\ActionGroup;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteAction;
use Filament\Actions\DeleteBulkAction;
use Filament\Actions\EditAction;
use Filament\Actions\ForceDeleteAction;
use Filament\Actions\ForceDeleteBulkAction;
use Filament\Actions\RestoreAction;
use Filament\Actions\RestoreBulkAction;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Components\Toggle;
use Filament\Forms\Form;
use Filament\Resources\Resource;
use Filament\Tables\Actions\ActionGroup;
use Filament\Tables\Actions\BulkActionGroup;
use Filament\Tables\Actions\DeleteAction;
use Filament\Tables\Actions\DeleteBulkAction;
use Filament\Tables\Actions\EditAction;
use Filament\Tables\Actions\ForceDeleteAction;
use Filament\Tables\Actions\ForceDeleteBulkAction;
use Filament\Tables\Actions\RestoreAction;
use Filament\Tables\Actions\RestoreBulkAction;
use Filament\Schemas\Schema;
use Filament\Tables\Columns\IconColumn;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Filters\TrashedFilter;
Expand All @@ -32,14 +32,14 @@ class CurrencyResource extends Resource implements HasShieldPermissions

protected static ?string $slug = 'currencies';

protected static ?string $navigationIcon = 'heroicon-o-banknotes';
protected static string|\BackedEnum|null $navigationIcon = 'heroicon-o-banknotes';

protected static ?string $cluster = World::class;

public static function form(Form $form): Form
public static function form(Schema $schema): Schema
{
return $form
->schema([
return $schema
->components([
TextInput::make('id')
->required()
->length(3)
Expand Down Expand Up @@ -83,7 +83,7 @@ public static function table(Table $table): Table
->filters([
TrashedFilter::make(),
])
->actions([
->recordActions([
EditAction::make()
->label(__('eclipse-world::currencies.actions.edit.label'))
->modalHeading(__('eclipse-world::currencies.actions.edit.heading')),
Expand All @@ -102,7 +102,7 @@ public static function table(Table $table): Table
])),
]),
])
->bulkActions([
->toolbarActions([
BulkActionGroup::make([
DeleteBulkAction::make()
->label(__('eclipse-world::currencies.actions.delete.label')),
Expand All @@ -117,7 +117,7 @@ public static function table(Table $table): Table
public static function getPages(): array
{
return [
'index' => Pages\ListCurrencies::route('/'),
'index' => ListCurrencies::route('/'),
];
}

Expand Down
37 changes: 19 additions & 18 deletions src/Filament/Clusters/World/Resources/PostResource.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,22 @@

use BezhanSalleh\FilamentShield\Contracts\HasShieldPermissions;
use Eclipse\World\Filament\Clusters\World;
use Eclipse\World\Filament\Clusters\World\Resources\PostResource\Pages\ListPosts;
use Eclipse\World\Models\Post;
use Filament\Actions\ActionGroup;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteAction;
use Filament\Actions\DeleteBulkAction;
use Filament\Actions\EditAction;
use Filament\Actions\ForceDeleteAction;
use Filament\Actions\ForceDeleteBulkAction;
use Filament\Actions\RestoreAction;
use Filament\Actions\RestoreBulkAction;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Form;
use Filament\Forms\Get;
use Filament\Resources\Resource;
use Filament\Tables\Actions\ActionGroup;
use Filament\Tables\Actions\BulkActionGroup;
use Filament\Tables\Actions\DeleteAction;
use Filament\Tables\Actions\DeleteBulkAction;
use Filament\Tables\Actions\EditAction;
use Filament\Tables\Actions\ForceDeleteAction;
use Filament\Tables\Actions\ForceDeleteBulkAction;
use Filament\Tables\Actions\RestoreAction;
use Filament\Tables\Actions\RestoreBulkAction;
use Filament\Schemas\Components\Utilities\Get;
use Filament\Schemas\Schema;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Filters\SelectFilter;
use Filament\Tables\Filters\TrashedFilter;
Expand All @@ -33,14 +34,14 @@ class PostResource extends Resource implements HasShieldPermissions

protected static ?string $slug = 'posts';

protected static ?string $navigationIcon = 'heroicon-o-rectangle-stack';
protected static string|\BackedEnum|null $navigationIcon = 'heroicon-o-rectangle-stack';

protected static ?string $cluster = World::class;

public static function form(Form $form): Form
public static function form(Schema $schema): Schema
{
return $form
->schema([
return $schema
->components([
Select::make('country_id')
->relationship('country', 'name')
->searchable()
Expand Down Expand Up @@ -96,7 +97,7 @@ public static function table(Table $table): Table
->preload(),
TrashedFilter::make(),
])
->actions([
->recordActions([
EditAction::make()
->label(__('eclipse-world::posts.actions.edit.label'))
->modalHeading(__('eclipse-world::posts.actions.edit.heading')),
Expand All @@ -115,7 +116,7 @@ public static function table(Table $table): Table
])),
]),
])
->bulkActions([
->toolbarActions([
BulkActionGroup::make([
DeleteBulkAction::make()
->label(__('eclipse-world::posts.actions.delete.label')),
Expand All @@ -130,7 +131,7 @@ public static function table(Table $table): Table
public static function getPages(): array
{
return [
'index' => PostResource\Pages\ListPosts::route('/'),
'index' => ListPosts::route('/'),
];
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ protected function getHeaderActions(): array
Action::make('import_posts')
->label(__('eclipse-world::posts.import.action_label'))
->icon('heroicon-o-arrow-down-tray')
->form([
->schema([
Select::make('country_id')
->label(__('eclipse-world::posts.import.country_label'))
->helperText(__('eclipse-world::posts.import.country_helper'))
Expand Down
Loading