mirror of
https://github.com/Part-DB/Part-DB-server.git
synced 2025-06-26 19:58:53 +02:00
Improved formatting of the mass Part Lists column
This commit is contained in:
parent
b3956c7c4d
commit
1915acf069
2 changed files with 38 additions and 1 deletions
35
src/DataTables/Column/SIUnitNumberColumn.php
Normal file
35
src/DataTables/Column/SIUnitNumberColumn.php
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\DataTables\Column;
|
||||||
|
|
||||||
|
use App\Services\SIFormatter;
|
||||||
|
use Omines\DataTablesBundle\Column\AbstractColumn;
|
||||||
|
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||||
|
|
||||||
|
class SIUnitNumberColumn extends AbstractColumn
|
||||||
|
{
|
||||||
|
protected $formatter;
|
||||||
|
|
||||||
|
public function __construct(SIFormatter $formatter)
|
||||||
|
{
|
||||||
|
$this->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']);
|
||||||
|
}
|
||||||
|
}
|
|
@ -48,6 +48,7 @@ use App\DataTables\Column\LocaleDateTimeColumn;
|
||||||
use App\DataTables\Column\MarkdownColumn;
|
use App\DataTables\Column\MarkdownColumn;
|
||||||
use App\DataTables\Column\PartAttachmentsColumn;
|
use App\DataTables\Column\PartAttachmentsColumn;
|
||||||
use App\DataTables\Column\PrettyBoolColumn;
|
use App\DataTables\Column\PrettyBoolColumn;
|
||||||
|
use App\DataTables\Column\SIUnitNumberColumn;
|
||||||
use App\DataTables\Column\TagsColumn;
|
use App\DataTables\Column\TagsColumn;
|
||||||
use App\DataTables\Filters\PartFilter;
|
use App\DataTables\Filters\PartFilter;
|
||||||
use App\DataTables\Filters\PartSearchFilter;
|
use App\DataTables\Filters\PartSearchFilter;
|
||||||
|
@ -245,9 +246,10 @@ final class PartsDataTable implements DataTableTypeInterface
|
||||||
'label' => $this->translator->trans('part.table.mpn'),
|
'label' => $this->translator->trans('part.table.mpn'),
|
||||||
'visible' => false,
|
'visible' => false,
|
||||||
])
|
])
|
||||||
->add('mass', TextColumn::class, [
|
->add('mass', SIUnitNumberColumn::class, [
|
||||||
'label' => $this->translator->trans('part.table.mass'),
|
'label' => $this->translator->trans('part.table.mass'),
|
||||||
'visible' => false,
|
'visible' => false,
|
||||||
|
'unit' => 'g'
|
||||||
])
|
])
|
||||||
->add('tags', TagsColumn::class, [
|
->add('tags', TagsColumn::class, [
|
||||||
'label' => $this->translator->trans('part.table.tags'),
|
'label' => $this->translator->trans('part.table.tags'),
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue