Number

# Make

Поле 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('Product rating')
];
}
 
//...

# Атрибуты

Поле 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() используется для отображения числового значения при preview в виде звезд (например для рейтинга).

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()
];
}
 
//...

# Редактирование в preview

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

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()
];
}
 
//...