OpenXE/classes/Modules/DatevApi/DataTable/DatevExportDataTable.php

66 lines
1.7 KiB
PHP
Raw Normal View History

2021-05-21 08:49:41 +02:00
<?php
namespace Xentral\Modules\DatevApi\DataTable;
use Xentral\Components\Database\SqlQuery\SelectQuery;
use Xentral\Widgets\DataTable\Column\Column;
use Xentral\Widgets\DataTable\Column\ColumnCollection;
use Xentral\Widgets\DataTable\Feature\FeatureCollection;
use Xentral\Widgets\DataTable\Feature\StateSaveFeature;
use Xentral\Widgets\DataTable\Options\DataTableOptions;
use Xentral\Widgets\DataTable\Type\AbstractDataTableType;
class DatevExportDataTable extends AbstractDataTableType
{
/**
* @param DataTableOptions $options
*
* @return void
*/
public function configureOptions(DataTableOptions $options)
{
$options->setDefaultSorting(['id' => 'DESC']);
}
/**
* @param SelectQuery $query
*
* @return void
*/
public function configureQuery(SelectQuery $query)
{
$query
->cols([
'doe.id',
'doe.datum',
'doe.timestamp',
'doe.status',
])
->from('datevconnect_online_export AS doe');
}
/**
* @param ColumnCollection $columns
*
* @return void
*/
public function configureColumns(ColumnCollection $columns)
{
$columns->add(Column::hidden('id', 'id'));
$columns->add(Column::searchable('datum', 'Zeitraum'));
$columns->add(Column::searchable('timestamp', 'Zeitstempel'));
$columns->add(Column::searchable('status', 'Status'));
}
/**
* @param FeatureCollection $features
*
* @return void
*/
public function configureFeatures(FeatureCollection $features)
{
parent::configureFeatures($features);
$features->remove(StateSaveFeature::class);
}
}