From acb2eef5824fb24ea9de984f0b09c2c958fa5b68 Mon Sep 17 00:00:00 2001 From: "Leandro C. Ferreira" Date: Thu, 10 Aug 2023 20:27:29 -0300 Subject: [PATCH] update chart with static data --- .../resources/js/components/stats-overview/stat/chart.js | 6 +++++- .../resources/views/stats-overview-widget/stat.blade.php | 2 ++ packages/widgets/src/StatsOverviewWidget/Stat.php | 5 +++++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/widgets/resources/js/components/stats-overview/stat/chart.js b/packages/widgets/resources/js/components/stats-overview/stat/chart.js index daa9747625..f718f423fb 100644 --- a/packages/widgets/resources/js/components/stats-overview/stat/chart.js +++ b/packages/widgets/resources/js/components/stats-overview/stat/chart.js @@ -1,7 +1,8 @@ import Chart from 'chart.js/auto' -export default function statsOverviewStatChart({ labels, values }) { +export default function statsOverviewStatChart({ dataChecksum, labels, values }) { return { + dataChecksum: dataChecksum, init: function () { Alpine.effect(() => { Alpine.store('theme') @@ -57,6 +58,9 @@ export default function statsOverviewStatChart({ labels, values }) { ], }, options: { + animation: { + duration: 0, + }, elements: { point: { radius: 0, diff --git a/packages/widgets/resources/views/stats-overview-widget/stat.blade.php b/packages/widgets/resources/views/stats-overview-widget/stat.blade.php index d7a7343e9a..38ce58a4ba 100644 --- a/packages/widgets/resources/views/stats-overview-widget/stat.blade.php +++ b/packages/widgets/resources/views/stats-overview-widget/stat.blade.php @@ -7,6 +7,7 @@ $descriptionIconPosition = $getDescriptionIconPosition(); $url = $getUrl(); $tag = $url ? 'a' : 'div'; + $dataChecksum = $generateDataChecksum(); $descriptionIconClasses = \Illuminate\Support\Arr::toCssClasses([ 'fi-wi-stats-overview-stat-description-icon h-5 w-5', @@ -98,6 +99,7 @@ ax-load ax-load-src="{{ \Filament\Support\Facades\FilamentAsset::getAlpineComponentSrc('stats-overview/stat/chart', 'filament/widgets') }}" x-data="statsOverviewStatChart({ + dataChecksum: '{{ $dataChecksum }}', labels: @js(array_keys($chart)), values: @js(array_values($chart)), })" diff --git a/packages/widgets/src/StatsOverviewWidget/Stat.php b/packages/widgets/src/StatsOverviewWidget/Stat.php index 484f4bbdd4..8dd3222756 100644 --- a/packages/widgets/src/StatsOverviewWidget/Stat.php +++ b/packages/widgets/src/StatsOverviewWidget/Stat.php @@ -288,4 +288,9 @@ class Stat extends Component implements Htmlable { return view('filament-widgets::stats-overview-widget.stat', $this->data()); } + + public function generateDataChecksum(): string + { + return md5(json_encode($this->getChart()) . now()); + } }