From 1915acf069f7f1d0553a30d4e0ee4af7ae70c57e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Sat, 10 Sep 2022 00:37:47 +0200 Subject: [PATCH] Improved formatting of the mass Part Lists column --- src/DataTables/Column/SIUnitNumberColumn.php | 35 ++++++++++++++++++++ src/DataTables/PartsDataTable.php | 4 ++- 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 src/DataTables/Column/SIUnitNumberColumn.php diff --git a/src/DataTables/Column/SIUnitNumberColumn.php b/src/DataTables/Column/SIUnitNumberColumn.php new file mode 100644 index 00000000..e03cac1a --- /dev/null +++ b/src/DataTables/Column/SIUnitNumberColumn.php @@ -0,0 +1,35 @@ +formatter = $formatter; + } + + public function configureOptions(OptionsResolver $resolver) + { + parent::configureOptions($resolver); + + $resolver->setDefault('precision', 2); + $resolver->setDefault('unit', ''); + } + + public function normalize($value) + { + //Ignore null values + if ($value === null) { + return ''; + } + + return $this->formatter->format((float) $value, $this->options['unit'], $this->options['precision']); + } +} \ No newline at end of file diff --git a/src/DataTables/PartsDataTable.php b/src/DataTables/PartsDataTable.php index 986e5278..c0e9fd89 100644 --- a/src/DataTables/PartsDataTable.php +++ b/src/DataTables/PartsDataTable.php @@ -48,6 +48,7 @@ use App\DataTables\Column\LocaleDateTimeColumn; use App\DataTables\Column\MarkdownColumn; use App\DataTables\Column\PartAttachmentsColumn; use App\DataTables\Column\PrettyBoolColumn; +use App\DataTables\Column\SIUnitNumberColumn; use App\DataTables\Column\TagsColumn; use App\DataTables\Filters\PartFilter; use App\DataTables\Filters\PartSearchFilter; @@ -245,9 +246,10 @@ final class PartsDataTable implements DataTableTypeInterface 'label' => $this->translator->trans('part.table.mpn'), 'visible' => false, ]) - ->add('mass', TextColumn::class, [ + ->add('mass', SIUnitNumberColumn::class, [ 'label' => $this->translator->trans('part.table.mass'), 'visible' => false, + 'unit' => 'g' ]) ->add('tags', TagsColumn::class, [ 'label' => $this->translator->trans('part.table.tags'),