Text

# Make

Текстовое поле включает в себя все базовые методы.

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

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

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

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

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

Если поле доступно только для чтения, то необходимо воспользоваться методом readonly().

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

# Маска

Метод mask() служит для добавления маски у поля.

mask(string $mask)
use MoonShine\Fields\Text;
 
//...
 
public function fields(): array
{
return [
Text::make('Title')
->mask('7 (999) 999-99-99')
];
}
 
//...

# Placeholder

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

placeholder(string $value)
use MoonShine\Fields\Text;
 
//...
 
public function fields(): array
{
return [
Text::make('Country', 'country')
->nullable()
->placeholder('Country')
];
}
 
//...

# Расширения

Для поля Text доступно несколько расширений:

+ возможность скопировать значение по кнопке

copy()

+ замок с блокировкой изменений

locked()

+ отключение отображения значения

eye()

+ подсказка формата

expansion(string $ext)
use MoonShine\Fields\Text;
 
//...
 
public function fields(): array
{
return [
Text::make('Title')
->copy()
->locked()
->expansion('kg')
->eye()
];
}
 
//...

Метод copy использует Clipboard API который доступен только для HTTPS или localhost

Вы можете использоваться кастомные расширения, для этого их необходимо добавить полю через метод extension().

extension(InputExtension $extension)
use MoonShine\Fields\Text;
 
//...
 
public function fields(): array
{
return [
Text::make('Title')
->extension(new InputCustomExtension())
];
}
 
//...

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

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

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

Параметры не являются обязательными и их необходимо передавать, если поле работает вне ресурса.

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