Всех приветствую!
Вышел релиз 2.20.0 “Desert Rose”. 🌙 Расскажу какие нововведения произошли.
Выбор отображаемых полей таблицы
Теперь вы сможете включить режим таблицы при котором на лету будете менять набор отображаемых колонок, выбор будет сохранятся
Чтобы начать пользоваться, достаточно включить режим в ресурсе
protected bool $columnSelection = true;
Или через TableBuilder
TableBuilder::make()->columnSelection('unique-id')
Если вам необходимо исключить поля из выбора, то воспользуйтесь методом columnSelection
Text::make('Name')->columnSelection(false)
Режим creatable для BelongsTo
У нас уже был такой режим для BelongsToMany, чтобы сразу добавлять нужные записи для последующего выбора, теперь этот режим присутсвует и для поля BelongsTo
BelongsTo::make()->creatable()
Атрибуты для Menu
Теперь вы сможете добавлять свои атрибуты для групп и элементов меню, как на li тег (customAttributes), так и на a тег (linkAttributes)
MenuGroup::make(static fn () => __('moonshine::ui.resource.system'), [
MenuItem::make(
static fn () => __('moonshine::ui.resource.admins_title'),
new MoonShineUserResource()
)->linkAttributes(['class' => 'group-a-custom-class']),
MenuItem::make(
static fn () => __('moonshine::ui.resource.role_title'),
new MoonShineUserRoleResource()
)->customAttributes(['class' => 'group-li-custom-class']),
])->customAttributes(['class' => 'group-li-custom-class'])->linkAttributes(['class' => 'group-button-custom-class'])
Изменение view для MenuItem/MenuGroup
Вы можете быстро заменить view элемента меню и отобразить его по своему через метод customView
MenuItem::make('Custom', '/')->customView('admin.custom-menu-item'),
Markdown изменение конфигурации
Благодря @DissNik поле Markdown стало удобно конфигурировать.
Пример изменения набора элементов toolbar
Markdown::make('Description')
->toolbar('toolbar', ['bold', 'italic', 'strikethrough', 'code', 'quote', 'horizontal-rule'])
Также с помощью метода addOption можно изменить и другие параметры конфигурации
addOption(string $name, string|int|float|bool|array $value)
подробности кастомизации можно найти в пакете easyMde.
Также можно изменить конфигурацию глобально для всех Markdown полей
namespace App\Providers;
use MoonShine\Fields\Markdown;
use MoonShine\Providers\MoonShineApplicationServiceProvider;
class MoonShineServiceProvider extends MoonShineApplicationServiceProvider
{
public function boot(): void
{
parent::boot();
Markdown::setDefaultOption('toolbar', ['bold', 'italic', 'strikethrough', 'code', 'quote']);
}
}
Inline отображение поля
Благодря @DissNik можно изменить отображение полей в строку
Text::make('Text')->horizontal()
LineBreak в StackFields и Td
Благодря @AkostDev LineBreak компонент не будет выводиться у первого элемента, тем самым визуально компонент будет выглядеть более эстетично
Рубрика BugBusters 🐛
- MobileBar скрывается если есть TopBar от @DissNik in PR
- Проблема лишнего запроса при пустом значение поиска от @forest-lynx in PR
- Поле DateRange в режиме withTime строит запрос без ошибки во время фильтрации от @dev-lnk in PR
- Экранирование Textarea полей при выводе в MoonShine от @lee-to in PR
https://github.com/moonshine-software/moonshine/compare/2.19.1...2.20.0