Поля

Число

Расширяет Text

  • имеет те же функции

Создание

Поле Number является расширением Text, которое по умолчанию устанавливает type=number и имеет дополнительные методы.

use MoonShine\Fields\Number;
 
//...
 
public function fields(): array
{
return [
Number::make('Sort')
];
}
 
//...

Значение по умолчанию

Вы можете использовать метод default(), если вам нужно указать значение по умолчанию для поля.

default(mixed $default)
use MoonShine\Fields\Number;
 
//...
 
public function fields(): array
{
return [
Number::make('Title')
->default(2)
];
}
 
//...

Только для чтения

Если поле предназначено только для чтения, то вы должны использовать метод readonly().

readonly(Closure|bool|null $condition = null)
use MoonShine\Fields\Number;
 
//...
 
public function fields(): array
{
return [
Number::make('Title')
->readonly()
];
}
 
//...

Placeholder

Метод placeholder() позволяет установить атрибут placeholder для поля.

placeholder(string $value)
use MoonShine\Fields\Number;
 
//...
 
public function fields(): array
{
return [
Number::make('Rating', 'rating')
->nullable()
->placeholder('Рейтинг продукта')
];
}
 
//...

Атрибуты

Поле Number имеет дополнительные атрибуты, которые можно установить через соответствующие методы.

Методы min() и max() используются для установки минимального и максимального значений поля.

min(int|float $min)
max(int|float $max)

Метод step() используется для указания шага значения для поля.

step(int|float $step)
use MoonShine\Fields\Number;
 
//...
public function fields(): array
{
return [
Number::make('Price')
->min(0)
->max(100000)
->step(5)
];
}
 
//...

Звезды

Метод stars() используется для отображения числового значения при предпросмотре в виде звезд (например, для рейтингов).

stars()
use MoonShine\Fields\Number;
 
//...
 
public function fields(): array
{
return [
Number::make('Rating')
->stars()
->min(1)
->max(10)
];
}
 
//...

Кнопки +/-

Метод buttons() позволяет добавить к полю кнопки для увеличения или уменьшения значения.

buttons()
use MoonShine\Fields\Number;
 
//...
 
public function fields(): array
{
return [
Number::make('Rating')
->buttons()
];
}
 
//...

number_buttons

Редактирование в предпросмотре

Метод updateOnPreview() позволяет редактировать поле Number в режиме предпросмотра.

updateOnPreview(?Closure $url = null, ?ResourceContract $resource = null, mixed $condition = null)
  • $url - URL для обработки асинхронного запроса,
  • $resource - ресурс модели, на который ссылается отношение,
  • $condition - условие выполнения метода.

Настройки не обязательны и должны быть переданы, если поле работает вне ресурса.

use MoonShine\Fields\Number;
 
//...
 
public function fields(): array
{
return [
Number::make(Country)
->updateOnPreview()
];
}
 
//...