Значение
Метрика ValueMetric
предназначена для отображения значения. Например, сколько записей в таблице.
make(Closure|string $label)
use MoonShine\UI\Components\Metrics\Wrapped\ValueMetric; ValueMetric::make('Completed orders') ->value(fn() => Order::completed()->count())
<x-moonshine::metrics.value title="Completed orders" icon="shopping-bag" :value="$count" :progress="false"/>
Метод value()
позволяет указать значение для метрики.
value(int|string|float|Closure $value)
use MoonShine\UI\Components\Metrics\Wrapped\ValueMetric; // ... protected function components(): iterable{ return [ ValueMetric::make('Completed orders') ->value(fn(): int => Order::completed()->count()) ];}
Прогресс
Метод progress()
позволяет отобразить индикатор прогресса достижения цели в метрике.
progress(int|float|Closure $target)
ValueMetric::make('Open tasks') ->value(fn(): int => Task::opened()->count()) ->progress(fn(): int => Task::count())
При использовании прогресс-бара в метод value()
необходимо передавать числовое значение или замыкание, которое вернет число.
Формат значения
Метод valueFormat()
позволяет отформатировать значение метрики и добавить префикс и суффикс.
valueFormat(string|Closure $value)
ValueMetric::make('Profit') ->value(fn(): int => Order::completed()->sum('price')) ->valueFormat(fn(int $value): string => \Illuminate\Support\Number::forHumans($value))
Иконка
Метод icon()
позволяет добавить иконку к метрике.
ValueMetric::make('Orders') ->value(fn(): int => Order::count()) ->icon('shopping-bag')
Для более подробной информации обратитесь к разделу Иконки.
Ширина блока
Метод columnSpan()
позволяет установить ширину блока в сетке Grid.
columnSpan( int $columnSpan, int $adaptiveColumnSpan = 12)
$columnSpan
- актуально для десктопной версии,$adaptiveColumnSpan
- актуально для мобильной версии.
Line/Donut
Пакет устанавливается отдельно, основан на библиотеке ApexCharts library.
composer require moonshine/apexcharts
Подробнее в официальном репозитории ApexCharts.