Поля

Preview

Поле не предназначено для ввода/изменения данных!

Создание

Используя поле Preview, вы можете отображать текстовые данные из любого поля модели или генерировать текст.

use MoonShine\Fields\Preview;
 
//...
 
public function fields(): array
{
return [
Preview::make('Предпросмотр', 'preview', static fn() => fake()->realText())
];
}
 
//...

preview preview_dark

Бейдж

Метод badge() позволяет отображать поле в виде значка, например, для отображения статуса заказа. Метод принимает параметр в виде строки или замыкания с цветом значка.

badge(string|Closure|null $color = null)

Доступные цвета:

primary secondary success warning error info

purple pink blue green yellow red gray

use MoonShine\Fields\Preview;
 
//...
 
public function fields(): array
{
return [
Preview::make('Статус')
->badge(fn($status, Field $field) => $status === 1 ? 'green' : 'gray')
];
}
 
//...

Булево значение

Метод boolean() позволяет отображать поле в виде метки (зеленой или красной) для булевых значений.

boolean(
mixed $hideTrue = null,
mixed $hideFalse = null
)

Параметры hideTrue и hideFalse позволяют скрыть метку для значений.

use MoonShine\Fields\Preview;
 
//...
 
public function fields(): array
{
return [
Preview::make('Активно')
->boolean(hideTrue: false, hideFalse: false)
];
}
 
//...

Метод link() позволяет отображать поле в виде ссылки.

link(
string|Closure $link,
string|Closure $name = '',
?string $icon = null,
bool $withoutIcon = false,
bool $blank = false,
)
  • $link - URL ссылки,
  • $name - текст ссылки,
  • $icon - название иконки,
  • $withoutIcon - не отображать иконку ссылки,
  • $blank - открывать ссылку в новой вкладке.

Для более подробной информации обратитесь к разделу Иконки.

use MoonShine\Fields\Preview;
 
//...
 
public function fields(): array
{
return [
Preview::make('Ссылка')
->link('https://moonshine-laravel.com', blank: false),
Preview::make('Ссылка')
->link(fn($link, Field $field) => $link, fn($name, Field $field) => 'Перейти')
];
}
 
//...

preview_all preview_all_dark

Изображение

Метод image() позволяет преобразовать URL в миниатюру с изображением.

use MoonShine\Fields\Preview;
 
//...
 
public function fields(): array
{
return [
Preview::make('Миниатюра')
->image()
];
}
 
//...

preview_image preview_image_dark