From 2223e7563d35a81e3b3b982b34428afd05fd6925 Mon Sep 17 00:00:00 2001 From: Fady Mondy Date: Mon, 8 Jul 2024 13:41:55 +0300 Subject: [PATCH] Glitch in the UI while create migrations #19 --- lang/en/messages.php | 55 ------------------- resources/lang/ar/messages.php | 4 ++ resources/lang/en/messages.php | 5 ++ resources/lang/nl/messages.php | 4 ++ src/Pages/Plugins.php | 29 +++++----- src/Resources/TableResource.php | 23 ++++++-- .../TableResource/Pages/ListTables.php | 12 ++-- 7 files changed, 54 insertions(+), 78 deletions(-) delete mode 100644 lang/en/messages.php diff --git a/lang/en/messages.php b/lang/en/messages.php deleted file mode 100644 index 952e90d..0000000 --- a/lang/en/messages.php +++ /dev/null @@ -1,55 +0,0 @@ - - [ - 'save' => 'Save', - 'delete' => 'Delete', - 'cancel' => 'Cancel', - 'edit' => 'Edit', - 'updated_successfully' => 'updated successfully', - 'deleted_successfully' => 'deleted successfully', - 'create' => 'Create', - 'has_been_deleted' => 'Has Been Deleted', - 'add_column' => 'Add Column', - 'add_id' => 'Add Id', - 'add_timestamps' => 'Add Timestamps', - 'add_soft_deletes' => 'Add Soft Deletes', - 'create_table' => 'Create Table', - 'migrate' => 'Migrate', - 'migrated' => 'Migrated', - 'table_migrated_successfully' => 'Table migrated successfully.', - 'generate' => 'Generate', - 'error' => 'Error', - 'docs' => 'Docs', - 'table_does_not_exist_please_run_migrate' => 'Table does not exist please run migrate.', - 'model_does_not_exist_please_generate_model_first' => 'Model does not exist please generate model first.', - 'generated' => 'Generated', - 'table_generated_successfully' => 'Table generated successfully.', - 'plugins' => 'Plugins', - 'settings' => 'Settings', - 'disable' => 'Disable', - 'plugin_disabled' => 'Plugin Disabled', - 'the_plugin_has_been_disabled_successfully' => 'The plugin has been disabled successfully.', - 'plugin_deleted' => 'Plugin Deleted', - 'the_plugin_has_been_deleted_successfully' => 'The plugin has been deleted successfully.', - 'active' => 'Active', - 'you_need_to_run_autoload' => 'You need to run autoload', - 'you_need_to_run_composer_dump_autoload_before_activating_the_plugin' => 'You need to run composer dump-autoload before activating the plugin.', - 'plugin_enabled' => 'Plugin Enabled', - 'the_plugin_has_been_enabled_successfully' => 'The plugin has been enabled successfully.', - 'create_plugin' => 'Create Plugin', - 'plugin_name' => 'Plugin Name', - 'e_g_my_plugin' => 'e.g. My Plugin', - 'description' => 'Description', - 'e_g_a_simple_plugin_for_filament' => 'e.g. A simple plugin for Filament', - 'import_plugin' => 'Import Plugin', - 'plugin_file' => 'Plugin File', - 'plugin_uploaded' => 'Plugin Uploaded', - 'the_plugin_has_been_uploaded_successfully' => 'The plugin has been uploaded successfully.', - 'plugin_already_exists' => 'Plugin Already Exists', - 'the_plugin_you_are_trying_to_create_already_exists' => 'The plugin you are trying to create already exists.', - 'plugin_generated_success' => 'Plugin Generated Success', - 'the_plugin_has_been_generated_successfully' => 'The plugin has been generated successfully.', - ], -]; diff --git a/resources/lang/ar/messages.php b/resources/lang/ar/messages.php index 80c8d55..fae851a 100644 --- a/resources/lang/ar/messages.php +++ b/resources/lang/ar/messages.php @@ -24,6 +24,10 @@ 'docs' => 'عن الاضافة', ], 'notifications' => [ + 'exists' => [ + 'title' => 'خطأ', + 'body' => 'الاضافة موجودة بالفعل' + ], 'autoload' => [ 'title' => 'خطأ', 'body' => 'عفواً لا يمكن تفعيل هذه الاضافة قبل تشغيل الامر composer dump-autoload في الطرفية' diff --git a/resources/lang/en/messages.php b/resources/lang/en/messages.php index 4f27952..c78e622 100644 --- a/resources/lang/en/messages.php +++ b/resources/lang/en/messages.php @@ -24,6 +24,10 @@ 'docs' => 'Docs', ], 'notifications' => [ + 'exists' => [ + 'title' => 'Error', + 'body' => 'The plugin already exists.' + ], 'autoload' => [ 'title' => 'Error', 'body' => 'The plugin could not be activated because the class could not be found. please run composer dump-autoload on your terminal' @@ -52,6 +56,7 @@ ], 'tables' => [ 'title' => 'Tables', + 'single' => 'Table', 'create' => 'Create Table', 'edit' => 'Edit Table', 'columns' => 'Table Columns', diff --git a/resources/lang/nl/messages.php b/resources/lang/nl/messages.php index 12d2404..e376553 100644 --- a/resources/lang/nl/messages.php +++ b/resources/lang/nl/messages.php @@ -24,6 +24,10 @@ 'docs' => 'Docs', ], 'notifications' => [ + 'exists' => [ + 'title' => 'Error', + 'body' => 'The plugin already exists.' + ], 'autoload' => [ 'title' => 'Error', 'body' => 'The plugin could not be activated because the class could not be found. please run composer dump-autoload on your terminal' diff --git a/src/Pages/Plugins.php b/src/Pages/Plugins.php index a777dc2..27d937a 100644 --- a/src/Pages/Plugins.php +++ b/src/Pages/Plugins.php @@ -76,8 +76,8 @@ public function disableAction(): Action $module?->disable(); Notification::make() - ->title(trans('filament-plugins::messages.plugins.notifications.disabled.title')) - ->body(trans('filament-plugins::messages.plugins.notifications.disabled.body')) + ->title(trans('filament-plugins::messages.plugins.notificationss.disabled.title')) + ->body(trans('filament-plugins::messages.plugins.notificationss.disabled.body')) ->success() ->send(); @@ -98,8 +98,8 @@ public function deleteAction(): Action $module?->delete(); Notification::make() - ->title(trans('filament-plugins::messages.plugins.notifications.deleted.title')) - ->body(trans('filament-plugins::messages.plugins.notifications.deleted.body')) + ->title(trans('filament-plugins::messages.plugins.notificationss.deleted.title')) + ->body(trans('filament-plugins::messages.plugins.notificationss.deleted.body')) ->success() ->send(); @@ -119,8 +119,8 @@ public function activeAction(): Action ->action(function (array $arguments) { if(!class_exists(json_decode($arguments['item']['providers'])[0])){ Notification::make() - ->title(trans('filament-plugins::messages.plugins.notifications.autoload.title')) - ->body(trans('filament-plugins::messages.plugins.notifications.autoload.body')) + ->title(trans('filament-plugins::messages.plugins.notificationss.autoload.title')) + ->body(trans('filament-plugins::messages.plugins.notificationss.autoload.body')) ->danger() ->send(); return; @@ -129,8 +129,8 @@ public function activeAction(): Action $module?->enable(); Notification::make() - ->title(trans('filament-plugins::messages.plugins.notifications.enabled.title')) - ->body(trans('filament-plugins::messages.plugins.notifications.enabled.body')) + ->title(trans('filament-plugins::messages.plugins.notificationss.enabled.title')) + ->body(trans('filament-plugins::messages.plugins.notificationss.enabled.body')) ->success() ->send(); @@ -195,8 +195,8 @@ public function importPlugin(array $data) $zip->close(); Notification::make() - ->title(trans('filament-plugins::messages.plugins.notifications.import.title')) - ->body(trans('filament-plugins::messages.plugins.notifications.import.body')) + ->title(trans('filament-plugins::messages.plugins.notificationss.import.title')) + ->body(trans('filament-plugins::messages.plugins.notificationss.import.body')) ->success() ->send(); @@ -210,10 +210,11 @@ public function createPlugin(array $data) $checkIfPluginExists = Module::find(Str::of($data['name'])->camel()->ucfirst()->toString()); if($checkIfPluginExists){ Notification::make() - ->title(trans('filament-plugins::messages.plugins.notification.exists.title')) - ->body(trans('filament-plugins::messages.plugins.notification.exists.body')) + ->title(trans('filament-plugins::messages.plugins.notifications.exists.title')) + ->body(trans('filament-plugins::messages.plugins.notifications.exists.body')) ->danger() ->send(); + return; } $generator = new PluginGenerator( @@ -225,8 +226,8 @@ public function createPlugin(array $data) $generator->generate(); Notification::make() - ->title(trans('filament-plugins::messages.plugins.notification.created.title')) - ->body(trans('filament-plugins::messages.plugins.notification.created.body')) + ->title(trans('filament-plugins::messages.plugins.notifications.created.title')) + ->body(trans('filament-plugins::messages.plugins.notifications.created.body')) ->success() ->send(); } diff --git a/src/Resources/TableResource.php b/src/Resources/TableResource.php index 15f72a1..e5168c3 100644 --- a/src/Resources/TableResource.php +++ b/src/Resources/TableResource.php @@ -28,6 +28,21 @@ class TableResource extends Resource protected static bool $shouldRegisterNavigation = false; + public static function getNavigationLabel(): string + { + return trans('filament-plugins::messages.tables.title'); // TODO: Change the autogenerated stub + } + + public function getTitle(): string + { + return trans('filament-plugins::messages.tables.title'); + } + + public static function getPluralLabel(): ?string + { + return trans('filament-plugins::messages.tables.title') . ' ['.session()->get('current_module').']'; // TODO: Change the autogenerated stub + } + public static function form(Form $form): Form { return $form @@ -51,12 +66,10 @@ public static function form(Form $form): Form public static function table(Table $table): Table { - $query = $table->getQuery(); - if(request()->has('module')){ - $query->where('module', request()->get('module')); - } return $table - ->query($query) + ->modifyQueryUsing(function ($query) { + $query->where('module', session()->get('current_module')); + }) ->columns([ Tables\Columns\TextColumn::make('name') ->label(trans('filament-plugins::messages.tables.form.name')) diff --git a/src/Resources/TableResource/Pages/ListTables.php b/src/Resources/TableResource/Pages/ListTables.php index 7f9d512..7b41d03 100644 --- a/src/Resources/TableResource/Pages/ListTables.php +++ b/src/Resources/TableResource/Pages/ListTables.php @@ -2,6 +2,7 @@ namespace TomatoPHP\FilamentPlugins\Resources\TableResource\Pages; +use Filament\Tables\Table; use TomatoPHP\FilamentPlugins\Resources\TableResource; use Filament\Actions; use Filament\Resources\Pages\ListRecords; @@ -10,18 +11,21 @@ class ListTables extends ListRecords { protected static string $resource = TableResource::class; - public function getTitle(): string - { - return trans('filament-plugins::messages.tables.title'); - } public function mount(): void { if(!request()->has('module')){ $this->redirect(route('filament.'.filament()->getCurrentPanel()->getId().'.pages.plugins')); } + + if(session()->has('current_module')){ + session()->forget('current_module'); + } + + session()->put('current_module', request()->get('module')); } + protected function getHeaderActions(): array { return [