1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-14 15:13:29 +01:00
invoiceninja/app/Ninja/Datatables/EntityDatatable.php
2016-12-14 21:47:22 +02:00

68 lines
1.5 KiB
PHP

<?php namespace App\Ninja\Datatables;
class EntityDatatable
{
public $entityType;
public $isBulkEdit;
public $hideClient;
public $sortCol = 1;
public function __construct($isBulkEdit = true, $hideClient = false, $entityType = false)
{
$this->isBulkEdit = $isBulkEdit;
$this->hideClient = $hideClient;
if ($entityType) {
$this->entityType = $entityType;
}
}
public function columns()
{
return [];
}
public function actions()
{
return [];
}
public function bulkActions()
{
return [
[
'label' => mtrans($this->entityType, 'archive_'.$this->entityType),
'url' => 'javascript:submitForm_'.$this->entityType.'("archive")',
],
[
'label' => mtrans($this->entityType, 'delete_'.$this->entityType),
'url' => 'javascript:submitForm_'.$this->entityType.'("delete")',
]
];
}
public function columnFields()
{
$data = [];
$columns = $this->columns();
if ($this->isBulkEdit) {
$data[] = 'checkbox';
}
foreach ($columns as $column) {
if (count($column) == 3) {
// third column is optionally used to determine visibility
if (!$column[2]) {
continue;
}
}
$data[] = $column[0];
}
$data[] = '';
return $data;
}
}