Действия формы
Вы просматриваете документацию старой версии MoonShine. Рассмотрите возможность обновления вашего проекта до MoonShine 2.x.
По умолчанию в панели MoonShine в формах всего 1 действие - сохранение. Но также есть возможность добавить свои кастомные действия
namespace MoonShine\Resources; use MoonShine\Models\MoonshineUser;use MoonShine\FormActions\FormAction; class PostResource extends Resource{ public static string $model = App\Models\Post::class; public static string $title = 'Статьи'; //... public function formActions(): array { return [ FormAction::make('Удалить', function (Model $item) { $item->delete(); }, 'Удален')->icon('delete') ]; } //...}
# Способ отображения
Для отображения действий в виде выпадающего списка можно воспользоваться методом showInDropdown
use MoonShine\FormActions\FormAction; //...public function formActions(): array{ return [ FormAction::make('Deactivation', function (Model $item) { $item->update(['active' => false]); }, 'Deactivated') ->showInDropdown() ];}//...
Данный способ отображения используется по умолчанию
Для отображения действий в виде горизонтального списка можно воспользоваться методом showInLine
use MoonShine\FormActions\FormAction; //...public function formActions(): array{ return [ FormAction::make('Deactivation', function (Model $item) { $item->update(['active' => false]); }, 'Deactivated') ->showInLine() ];}//...
# Подтверждение действия
Для подтверждения действия необходимо воспользоваться методом withConfirm
use MoonShine\FormActions\FormAction; //...public function formActions(): array{ return [ FormAction::make('Deactivation', function (Model $item) { $item->update(['active' => false]); }, 'Deactivated') ->withConfirm() ];}//...
Методу withConfirm()
можно передать заголовок и текст для модального окна, а так же название
для кнопки подтверждения
use MoonShine\FormActions\FormAction; //...public function formActions(): array{ return [ FormAction::make('Deactivation', function (Model $item) { $item->update(['active' => false]); }, 'Deactivated') ->withConfirm('Title', 'Modal content', 'Accept') ];}//...
Метод errorMessage()
позволяет задать текст сообщения об ошибке
use MoonShine\FormActions\FormAction; //...public function formActions(): array{ return [ FormAction::make('Deactivation', function (Model $item) { $item->update(['active' => false]); }, 'Deactivated') ->withConfirm('Title', 'Modal content', 'Accept') ->errorMessage('Fail') ];}//...