Поля

Text

Создание

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

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

input input_dark

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

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

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

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

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

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

Маска

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

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

mask mask_dark

Placeholder

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

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

Расширения

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

  • возможность копирования значения с помощью кнопки
copy(string $value = '{{value}}')
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}}')
];
}
 
//...
use MoonShine\Fields\Text;
 
//...
 
public function fields(): array
{
return [
Text::make('Title')
->copy(),
Text::make('Token')
->copy('https://domain.com?token={{value}}')
];
}
 
//...
  • блокировка с запретом изменения
locked()
locked()
  • отключение отображения значения
eye()
eye()
  • подсказка формата
expansion(string $ext)
expansion(string $ext)
use MoonShine\Fields\Text;
 
//...
 
public function fields(): array
{
return [
Text::make('Title')
->copy()
->locked()
->expansion('kg')
->eye()
];
}
 
//...
use MoonShine\Fields\Text;
 
//...
 
public function fields(): array
{
return [
Text::make('Title')
->copy()
->locked()
->expansion('kg')
->eye()
];
}
 
//...

expansion expansion_dark

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

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

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

Теги

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

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

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

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

updateOnPreview(?Closure $url = null, ?ResourceContract $resource = null, mixed $condition = null)
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()
];
}
 
//...
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()
];
}
 
//...
use MoonShine\Fields\Text;
 
//...
 
public function fields(): array
{
return [
Text::make('Title')
->unescape()
];
}
 
//...