На этой неделе команда MoonShine выпустила релиз v2.2.0 с кодовым именем "Double Barrel"! Давайте взглянем на самое интересное в этом обновлении!
TableBuilder лимит добавления записей
Теперь можно задавать ограничение на количество добавляемых записей по нажатию на кнопку:
TableBuilder::make()->creatable(limit: 6);
//
Json::make()->creatable(limit: 6);
Choices в select с набором опций
Теперь доступны все опции choices для изменения через data attributes.
В примере ниже мы ограничим количество возможных записей в multiple select:
->customAttributes([
'data-max-item-count' => 1
])
TableBuilder sortable доступен для использования
Теперь можно указать свой url-обработчик и изменить поведение сортировки:
TableBuilder::make()->sortable(url: '/update_indexes_endpoint')
//
TableBuilder::make()->sortable(url: '/update_indexes_endpoint', key: 'id', group: 'nested')
ShowWhen с вложенностью
Теперь доступен для Json и BelongsToMany с указанием вложенности через точку:
->showWhen('data.content.active', '=', 1)
Связанные поля
Эту фичу очень долго ждали. И теперь есть возможность связывать значения селектов между полями.
Код из этого примера выведет только города выбранной в селекте country_id страны:
BelongsTo::make('City')->associatedWith('country_id')
Для более сложной настройки можно использовать asyncSearch:
BelongsTo::make('City')->asyncSearch(associatedWith: 'country_id')
ValueMetric метод valueFormat с замыканием
ValueMetric::make('Metric')
->value(1200000)
->valueFormat(fn($value) => \Illuminate\Support\Number::forHumans($value)),
// 1 million
Улучшен MoonShine build app.js
Теперь можно добавлять свои vite ассеты:
public function boot(): void
{
parent::boot();
moonshineAssets()->add([
Vite::asset('resources/js/app.js')
]);
}
Исправлены баги 🐞
- Tr/td атрибуты для HasMany - https://github.com/moonshine-software/moonshine/pull/640
- Метод fields в HasMany влияет на preview набор полей - https://github.com/moonshine-software/moonshine/pull/651
- Проблемы с Switcher в Json - https://github.com/moonshine-software/moonshine/pull/654
- Проблемы с socialite редиректом - https://github.com/moonshine-software/moonshine/pull/642
- BREAKING CHANGE MoonshineComponent переименован в MoonShineComponent, а MoonshineFormRequest в MoonShineFormRequest - https://github.com/moonshine-software/moonshine/pull/643
- Issue - https://github.com/moonshine-software/moonshine/issues/645
- Issue - https://github.com/moonshine-software/moonshine/issues/644
- HasMany проблемы с редиректом после добавления - https://github.com/moonshine-software/moonshine/pull/648
Также обновлены проекты
- MoonShine Changelog
- MoonShine Permissions
- Sortable Tree Resource
https://github.com/moonshine-software/moonshine/compare/2.1.0...2.2.0