Skip to content

Commit f03c250

Browse files
Fix value rounding (alexjustesen#1550)
Co-authored-by: Alex Justesen <[email protected]>
1 parent b233627 commit f03c250

File tree

1 file changed

+82
-13
lines changed

1 file changed

+82
-13
lines changed

app/Filament/Resources/ResultResource.php

Lines changed: 82 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -62,27 +62,60 @@ public static function form(Form $form): Form
6262
$component->state(! blank($record->upload) ? Number::toBitRate(bits: $record->upload_bits, precision: 2) : '');
6363
}),
6464
Forms\Components\TextInput::make('ping')
65-
->label('Ping (ms)'),
65+
->label('Ping')
66+
->formatStateUsing(function ($state) {
67+
return number_format((float) $state, 0, '.', '').' ms';
68+
}),
6669
Forms\Components\TextInput::make('data.download.latency.jitter')
67-
->label('Download Jitter (ms)'),
70+
->label('Download Jitter (ms)')
71+
->formatStateUsing(function ($state) {
72+
return number_format((float) $state, 0, '.', '').' ms';
73+
}),
6874
Forms\Components\TextInput::make('data.download.latency.high')
69-
->label('Download Latency High'),
75+
->label('Download Latency High')
76+
->formatStateUsing(function ($state) {
77+
return number_format((float) $state, 0, '.', '').' ms';
78+
}),
7079
Forms\Components\TextInput::make('data.download.latency.low')
71-
->label('Download Latency low'),
80+
->label('Download Latency low')
81+
->formatStateUsing(function ($state) {
82+
return number_format((float) $state, 0, '.', '').' ms';
83+
}),
7284
Forms\Components\TextInput::make('data.download.latency.iqm')
73-
->label('Download Latency iqm'),
85+
->label('Download Latency iqm')
86+
->formatStateUsing(function ($state) {
87+
return number_format((float) $state, 0, '.', '').' ms';
88+
}),
7489
Forms\Components\TextInput::make('data.upload.latency.jitter')
75-
->label('Upload Jitter (ms)'),
90+
->label('Upload Jitter')
91+
->formatStateUsing(function ($state) {
92+
return number_format((float) $state, 0, '.', '').' ms';
93+
}),
7694
Forms\Components\TextInput::make('data.upload.latency.high')
77-
->label('Upload Latency High'),
95+
->label('Upload Latency High')
96+
->formatStateUsing(function ($state) {
97+
return number_format((float) $state, 0, '.', '').' ms';
98+
}),
7899
Forms\Components\TextInput::make('data.upload.latency.low')
79-
->label('Upload Latency low'),
100+
->label('Upload Latency low')
101+
->formatStateUsing(function ($state) {
102+
return number_format((float) $state, 0, '.', '').' ms';
103+
}),
80104
Forms\Components\TextInput::make('data.upload.latency.iqm')
81-
->label('Upload Latency iqm'),
105+
->label('Upload Latency iqm')
106+
->formatStateUsing(function ($state) {
107+
return number_format((float) $state, 0, '.', '').' ms';
108+
}),
82109
Forms\Components\TextInput::make('data.ping.jitter')
83-
->label('Ping Jitter (ms)'),
110+
->label('Ping Jitter')
111+
->formatStateUsing(function ($state) {
112+
return number_format((float) $state, 0, '.', '').' ms';
113+
}),
84114
Forms\Components\TextInput::make('data.packetLoss')
85-
->label('Packet Loss'),
115+
->label('Packet Loss')
116+
->formatStateUsing(function ($state) {
117+
return number_format((float) $state, 2, '.', '').' %';
118+
}),
86119
Forms\Components\Textarea::make('data.message')
87120
->label('Error Message')
88121
->hint(new HtmlString('&#x1f517;<a href="https://docs.speedtest-tracker.dev/help/error-messages" target="_blank" rel="nofollow">Error Messages</a>'))
@@ -171,73 +204,109 @@ public static function table(Table $table): Table
171204
->sortable(),
172205
Tables\Columns\TextColumn::make('ping')
173206
->toggleable()
174-
->sortable(),
207+
->sortable()
208+
->formatStateUsing(function ($state) {
209+
return number_format((float) $state, 0, '.', '').' ms';
210+
}),
175211
Tables\Columns\TextColumn::make('data.download.latency.jitter')
176212
->label('Download jitter')
177213
->toggleable()
178214
->toggledHiddenByDefault()
179215
->sortable(query: function (Builder $query, string $direction): Builder {
180216
return $query->orderBy('data->download->latency->jitter', $direction);
217+
})
218+
->formatStateUsing(function ($state) {
219+
return number_format((float) $state, 0, '.', '').' ms';
181220
}),
182221
Tables\Columns\TextColumn::make('data.download.latency.high')
183222
->label('Download latency high')
184223
->toggleable()
185224
->toggledHiddenByDefault()
186225
->sortable(query: function (Builder $query, string $direction): Builder {
187226
return $query->orderBy('data->download->latency->high', $direction);
227+
})
228+
->formatStateUsing(function ($state) {
229+
return number_format((float) $state, 0, '.', '').' ms';
188230
}),
189231
Tables\Columns\TextColumn::make('data.download.latency.low')
190232
->label('Download latency low')
191233
->toggleable()
192234
->toggledHiddenByDefault()
193235
->sortable(query: function (Builder $query, string $direction): Builder {
194236
return $query->orderBy('data->download->latency->low', $direction);
237+
})
238+
->formatStateUsing(function ($state) {
239+
return number_format((float) $state, 0, '.', '').' ms';
195240
}),
196241
Tables\Columns\TextColumn::make('data.download.latency.iqm')
197242
->label('Download latency iqm')
198243
->toggleable()
199244
->toggledHiddenByDefault()
200245
->sortable(query: function (Builder $query, string $direction): Builder {
201246
return $query->orderBy('data->download->latency->iqm', $direction);
247+
})
248+
->formatStateUsing(function ($state) {
249+
return number_format((float) $state, 0, '.', '').' ms';
202250
}),
203251
Tables\Columns\TextColumn::make('data.upload.latency.jitter')
204252
->label('Upload jitter')
205253
->toggleable()
206254
->toggledHiddenByDefault()
207255
->sortable(query: function (Builder $query, string $direction): Builder {
208256
return $query->orderBy('data->upload->latency->jitter', $direction);
257+
})
258+
->formatStateUsing(function ($state) {
259+
return number_format((float) $state, 0, '.', '').' ms';
209260
}),
210261
Tables\Columns\TextColumn::make('data.upload.latency.high')
211262
->label('Upload latency high')
212263
->toggleable()
213264
->toggledHiddenByDefault()
214265
->sortable(query: function (Builder $query, string $direction): Builder {
215266
return $query->orderBy('data->upload->latency->high', $direction);
267+
})
268+
->formatStateUsing(function ($state) {
269+
return number_format((float) $state, 0, '.', '').' ms';
216270
}),
217271
Tables\Columns\TextColumn::make('data.upload.latency.low')
218272
->label('Upload latency low')
219273
->toggleable()
220274
->toggledHiddenByDefault()
221275
->sortable(query: function (Builder $query, string $direction): Builder {
222276
return $query->orderBy('data->upload->latency->low', $direction);
277+
})
278+
->formatStateUsing(function ($state) {
279+
return number_format((float) $state, 0, '.', '').' ms';
223280
}),
224281
Tables\Columns\TextColumn::make('data.upload.latency.iqm')
225282
->label('Upload latency iqm')
226283
->toggleable()
227284
->toggledHiddenByDefault()
228285
->sortable(query: function (Builder $query, string $direction): Builder {
229286
return $query->orderBy('data->upload->latency->iqm', $direction);
287+
})
288+
->formatStateUsing(function ($state) {
289+
return number_format((float) $state, 0, '.', '').' ms';
230290
}),
231291
Tables\Columns\TextColumn::make('data.ping.jitter')
232292
->label('Ping jitter')
233293
->toggleable()
234294
->toggledHiddenByDefault()
235295
->sortable(query: function (Builder $query, string $direction): Builder {
236296
return $query->orderBy('data->ping->jitter', $direction);
297+
})
298+
->formatStateUsing(function ($state) {
299+
return number_format((float) $state, 0, '.', '').' ms';
237300
}),
238301
Tables\Columns\TextColumn::make('packet_loss')
239302
->toggleable()
240-
->toggledHiddenByDefault(),
303+
->toggledHiddenByDefault()
304+
->sortable(query: function (Builder $query, string $direction): Builder {
305+
return $query->orderBy('data->packetLoss', $direction);
306+
})
307+
->formatStateUsing(function ($state) {
308+
return number_format((float) $state, 2, '.', '').' %';
309+
}),
241310
Tables\Columns\TextColumn::make('status')
242311
->badge()
243312
->toggleable()

0 commit comments

Comments
 (0)