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(string $value = '{{value}}')
  • {{value}} - значение поля.
use MoonShine\Fields\Text;
 
//...
 
public function fields(): array
{
return [
Text::make('Title')
->copy(),
Text::make('Token')
->copy('https://domain.com?token={{value}}')
];
}
 
//...

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

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

# Теги

Метод tags() позволяет вводить данные в виде тегов.

tags(?int $limit = null)
  • $limit - количества доступных тегов, по умолчанию неограниченно.
use MoonShine\Fields\Text;
 
//...
 
public function fields(): array
{
return [
Text::make('Keywords')
->tags()
];
}
 
//...

# Редактирование в 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()
];
}
 
//...

# Спецсимволы

По умолчанию поле Text и его наследующие преобразовывают специальные символы в HTML-сущности при выводе значений.

Метод unescape() позволяет отменить преобразование специальных символов в HTML-сущности при выводе значений.

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