MoonShine 2.2 "Double Barrel"

MoonShine 2.2 "Double Barrel"

Danil Shutsky
Danil Shutsky
26.11.2023 в 11:26

На этой неделе команда MoonShine выпустила релиз v2.2.0 с кодовым именем "Double Barrel"! Давайте взглянем на самое интересное в этом обновлении!

TableBuilder лимит добавления записей

Теперь можно задавать ограничение на количество добавляемых записей по нажатию на кнопку:

TableBuilder::make()->creatable(limit: 6);
//
Json::make()->creatable(limit: 6);

Подробнее в PR

Choices в select с набором опций

Теперь доступны все опции choices для изменения через data attributes.

В примере ниже мы ограничим количество возможных записей в multiple select:

->customAttributes([
'data-max-item-count' => 1
])

Подробнее в PR

TableBuilder sortable доступен для использования

Теперь можно указать свой url-обработчик и изменить поведение сортировки:

TableBuilder::make()->sortable(url: '/update_indexes_endpoint')
//
TableBuilder::make()->sortable(url: '/update_indexes_endpoint', key: 'id', group: 'nested')

Подробнее в PR

ShowWhen с вложенностью

Теперь доступен для Json и BelongsToMany с указанием вложенности через точку:

->showWhen('data.content.active', '=', 1)

Подробнее в PR

Связанные поля

Эту фичу очень долго ждали. И теперь есть возможность связывать значения селектов между полями.

Код из этого примера выведет только города выбранной в селекте country_id страны:

BelongsTo::make('City')->associatedWith('country_id')

Для более сложной настройки можно использовать asyncSearch:

BelongsTo::make('City')->asyncSearch(associatedWith: 'country_id')

Подробнее в PR

ValueMetric метод valueFormat с замыканием

ValueMetric::make('Metric')
->value(1200000)
->valueFormat(fn($value) => \Illuminate\Support\Number::forHumans($value)),

// 1 million

Подробнее в PR

Улучшен MoonShine build app.js

Теперь можно добавлять свои vite ассеты:

public function boot(): void
{
    parent::boot();

    moonshineAssets()->add([
        Vite::asset('resources/js/app.js')
    ]);
}

Подробнее в PR

Исправлены баги 🐞

Также обновлены проекты

  • MoonShine Changelog
  • MoonShine Permissions
  • Sortable Tree Resource

https://github.com/moonshine-software/moonshine/compare/2.1.0...2.2.0