Как стать автором
Обновить

Релиз MoonShine v2.20.0 “Desert Rose”

Время на прочтение3 мин
Количество просмотров1.5K

Всех приветствую!

Вышел релиз 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 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']);
}

}        

Подробности в 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

Теги:
Хабы:
Всего голосов 4: ↑4 и ↓0+7
Комментарии0

Другие новости

Работа

PHP программист
78 вакансий

Ближайшие события