From dee193fe8f6f59b2095bdaa5c89a52c2463dfa73 Mon Sep 17 00:00:00 2001 From: Dan Harrin Date: Wed, 31 Aug 2022 07:27:03 +0100 Subject: [PATCH] Revert "Merge pull request #3454 from filamentphp/notifications-action-group" This reverts commit d02cbfae1d53dfcbc0aab8c55be8702b1d72b153, reversing changes made to 83409d9578d2c51523068b28e43623274fda9396. --- .../notifications/docs/01-installation.md | 5 +-- .../resources/views/actions/group.blade.php | 8 ---- .../views/actions/grouped-action.blade.php | 8 ---- .../views/components/dropdown/item.blade.php | 10 ----- packages/notifications/src/Actions/Action.php | 7 ---- .../notifications/src/Actions/ActionGroup.php | 41 ------------------- .../notifications/src/Concerns/HasActions.php | 8 ++-- packages/notifications/src/Notification.php | 13 +----- .../stubs/scaffolding/resources/js/app.js | 2 - 9 files changed, 6 insertions(+), 96 deletions(-) delete mode 100644 packages/notifications/resources/views/actions/group.blade.php delete mode 100644 packages/notifications/resources/views/actions/grouped-action.blade.php delete mode 100644 packages/notifications/resources/views/components/dropdown/item.blade.php delete mode 100644 packages/notifications/src/Actions/ActionGroup.php diff --git a/packages/notifications/docs/01-installation.md b/packages/notifications/docs/01-installation.md index 0be815cb0b..8ede4d56ec 100644 --- a/packages/notifications/docs/01-installation.md +++ b/packages/notifications/docs/01-installation.md @@ -39,7 +39,6 @@ You're now ready to start [sending notifications](sending-notifications)! The package uses the following dependencies: - [Alpine.js](https://alpinejs.dev) -- [Alpine Floating UI](https://github.com/awcodes/alpine-floating-ui) - [Tailwind CSS](https://tailwindcss.com) You may install these through NPM: @@ -147,14 +146,12 @@ In `/resources/css/app.css`, import [Tailwind CSS](https://tailwindcss.com): ### Configuring scripts -In `/resources/js/app.js`, import [Alpine.js](https://alpinejs.dev), Alpine Floating UI and the `filament/notifications` plugin, and register them: +In `/resources/js/app.js`, import [Alpine.js](https://alpinejs.dev) and the `filament/notifications` plugin, and register it: ```js import Alpine from 'alpinejs' -import AlpineFloatingUI from '@awcodes/alpine-floating-ui' import NotificationsAlpinePlugin from '../../vendor/filament/notifications/dist/module.esm' -Alpine.plugin(AlpineFloatingUI) Alpine.plugin(NotificationsAlpinePlugin) window.Alpine = Alpine diff --git a/packages/notifications/resources/views/actions/group.blade.php b/packages/notifications/resources/views/actions/group.blade.php deleted file mode 100644 index 04b3357a9c..0000000000 --- a/packages/notifications/resources/views/actions/group.blade.php +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/packages/notifications/resources/views/actions/grouped-action.blade.php b/packages/notifications/resources/views/actions/grouped-action.blade.php deleted file mode 100644 index 2561ee3030..0000000000 --- a/packages/notifications/resources/views/actions/grouped-action.blade.php +++ /dev/null @@ -1,8 +0,0 @@ - - {{ $getLabel() }} - diff --git a/packages/notifications/resources/views/components/dropdown/item.blade.php b/packages/notifications/resources/views/components/dropdown/item.blade.php deleted file mode 100644 index 4ba3924180..0000000000 --- a/packages/notifications/resources/views/components/dropdown/item.blade.php +++ /dev/null @@ -1,10 +0,0 @@ -@captureSlots([ - 'detail', -]) - - - {{ $slot }} - diff --git a/packages/notifications/src/Actions/Action.php b/packages/notifications/src/Actions/Action.php index 467c93a644..ff72976bf2 100644 --- a/packages/notifications/src/Actions/Action.php +++ b/packages/notifications/src/Actions/Action.php @@ -77,13 +77,6 @@ class Action extends BaseAction implements Arrayable return $this; } - public function grouped(): static - { - $this->view('notifications::actions.grouped-action'); - - return $this; - } - public function link(): static { $this->view('notifications::actions.link-action'); diff --git a/packages/notifications/src/Actions/ActionGroup.php b/packages/notifications/src/Actions/ActionGroup.php deleted file mode 100644 index 0ae87fec46..0000000000 --- a/packages/notifications/src/Actions/ActionGroup.php +++ /dev/null @@ -1,41 +0,0 @@ - collect($this->getActions())->toArray(), - 'color' => $this->getColor(), - 'icon' => $this->getIcon(), - 'iconPosition' => $this->getIconPosition(), - 'label' => $this->getLabel(), - 'tooltip' => $this->getTooltip(), - ]; - } - - public static function fromArray(array $data): static - { - $static = static::make( - array_map( - fn (array $action): Action => Action::fromArray($action), - $data['actions'], - ), - ); - - $static->color($data['color']); - $static->icon($data['icon']); - $static->iconPosition($data['iconPosition']); - $static->label($data['label']); - $static->tooltip($data['tooltip']); - - return $static; - } -} diff --git a/packages/notifications/src/Concerns/HasActions.php b/packages/notifications/src/Concerns/HasActions.php index 963c26a35e..d4e055757c 100644 --- a/packages/notifications/src/Concerns/HasActions.php +++ b/packages/notifications/src/Concerns/HasActions.php @@ -3,14 +3,12 @@ namespace Filament\Notifications\Concerns; use Closure; -use Filament\Notifications\Actions\ActionGroup; -use Illuminate\Support\Arr; trait HasActions { - protected array | ActionGroup | Closure $actions = []; + protected array | Closure $actions = []; - public function actions(array | ActionGroup | Closure $actions): static + public function actions(array | Closure $actions): static { $this->actions = $actions; @@ -19,6 +17,6 @@ trait HasActions public function getActions(): array { - return Arr::wrap($this->evaluate($this->actions)); + return $this->evaluate($this->actions); } } diff --git a/packages/notifications/src/Notification.php b/packages/notifications/src/Notification.php index 947ab433d2..d1e6a9c833 100644 --- a/packages/notifications/src/Notification.php +++ b/packages/notifications/src/Notification.php @@ -3,7 +3,6 @@ namespace Filament\Notifications; use Filament\Notifications\Actions\Action; -use Filament\Notifications\Actions\ActionGroup; use Filament\Notifications\Concerns\HasActions; use Filament\Notifications\Concerns\HasBody; use Filament\Notifications\Concerns\HasDuration; @@ -44,7 +43,7 @@ class Notification extends ViewComponent implements Arrayable { return [ 'id' => $this->getId(), - 'actions' => array_map(fn (Action | ActionGroup $action): array => $action->toArray(), $this->getActions()), + 'actions' => collect($this->getActions())->toArray(), 'body' => $this->getBody(), 'duration' => $this->getDuration(), 'icon' => $this->getIcon(), @@ -56,15 +55,7 @@ class Notification extends ViewComponent implements Arrayable public static function fromArray(array $data): static { $static = static::make($data['id']); - $static->actions( - array_map( - fn (array $action): Action | ActionGroup => match (array_key_exists('actions', $action)) { - true => ActionGroup::fromArray($action), - false => Action::fromArray($action), - }, - $data['actions'], - ), - ); + $static->actions(array_map(fn (array $action): Action => Action::fromArray($action), $data['actions'])); $static->body($data['body']); $static->duration($data['duration']); $static->icon($data['icon']); diff --git a/packages/notifications/stubs/scaffolding/resources/js/app.js b/packages/notifications/stubs/scaffolding/resources/js/app.js index 11d41c9089..e9e70c18d4 100644 --- a/packages/notifications/stubs/scaffolding/resources/js/app.js +++ b/packages/notifications/stubs/scaffolding/resources/js/app.js @@ -1,8 +1,6 @@ import Alpine from 'alpinejs' -import AlpineFloatingUI from '@awcodes/alpine-floating-ui' import NotificationsAlpinePlugin from '../../vendor/filament/notifications/dist/module.esm' -Alpine.plugin(AlpineFloatingUI) Alpine.plugin(NotificationsAlpinePlugin) window.Alpine = Alpine