Всех приветствую!
Вышел релиз open source админ-панели для Laravel MoonShine v2.20.0 “Desert Rose”. 🌙
Расскажу какие нововведения произошли.
Выбор отображаемых полей таблицы
Теперь вы сможете включить режим таблицы, при котором на лету будете менять набор отображаемых колонок, выбор будет сохранятся.
Чтобы начать пользоваться, достаточно включить режим в ресурсе:
protected bool $columnSelection = true;
Или через TableBuilder:
TableBuilder::make()->columnSelection(‘unique-id’)
Если вам необходимо исключить поля из выбора, то воспользуйтесь методом columnSelection:
Text::make(‘Name’)->columnSelection(false)
Подробности в PR
Режим creatable для BelongsTo
У нас уже был такой режим для BelongsToMany, чтобы сразу добавлять нужные записи для последующего выбора, теперь этот режим присутствует и для поля BelongsTo:
BelongsTo::make()->creatable()
Подробности в PR
Атрибуты для 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’])
Подробности в PR
Изменение view для MenuItem/MenuGroup
Вы можете быстро заменить view элемента меню и отобразить его по своему через метод customView :
MenuItem::make(‘Custom’, ‘/’)->customView(‘admin.custom-menu-item’),
Подробности в PR
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 AppProviders; use MoonShineFieldsMarkdown; use MoonShineProvidersMoonShineApplicationServiceProvider; class MoonShineServiceProvider extends MoonShineApplicationServiceProvider { public function boot(): void { parent::boot(); Markdown::setDefaultOption(‘toolbar’, [‘bold’, ‘italic’, ‘strikethrough’, ‘code’, ‘quote’]); } }
Подробности в PR
Inline отображение поля
Благодаря @DissNik можно изменить отображение полей в строку:
Text::make(‘Text’)->horizontal()
Подробности в PR
LineBreak в StackFields и Td
Благодаря @AkostDev LineBreak компонент не будет выводиться у первого элемента, тем самым визуально компонент будет выглядеть более эстетично.
Подробности в PR
Рубрика 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
Источник: habr.com