Всех приветствую!
Вышел релиз 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)
Режим 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 🐛
Проблема лишнего запроса при пустом значение поиска - от @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