Update Datatables
This commit is contained in:
parent
e379cfbe6b
commit
d5ea509e94
@ -2,7 +2,10 @@
|
|||||||
|
|
||||||
namespace Modules\Logs\DataTables;
|
namespace Modules\Logs\DataTables;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Builder as QueryBuilder;
|
||||||
use Spatie\Activitylog\Models\Activity;
|
use Spatie\Activitylog\Models\Activity;
|
||||||
|
use Yajra\DataTables\EloquentDataTable;
|
||||||
|
use Yajra\DataTables\Html\Builder as HtmlBuilder;
|
||||||
use Yajra\DataTables\Html\Column;
|
use Yajra\DataTables\Html\Column;
|
||||||
use Yajra\DataTables\Services\DataTable;
|
use Yajra\DataTables\Services\DataTable;
|
||||||
|
|
||||||
@ -11,43 +14,41 @@
|
|||||||
/**
|
/**
|
||||||
* Build DataTable class.
|
* Build DataTable class.
|
||||||
*
|
*
|
||||||
* @param mixed $query Results from query() method.
|
* @param QueryBuilder $query Results from query() method.
|
||||||
*
|
*
|
||||||
* @return \Yajra\DataTables\DataTableAbstract
|
* @return \Yajra\DataTables\DataTableAbstract
|
||||||
|
*
|
||||||
*/
|
*/
|
||||||
public function dataTable($query)
|
public function dataTable(QueryBuilder $query)
|
||||||
|
: EloquentDataTable
|
||||||
{
|
{
|
||||||
return datatables()
|
return (new EloquentDataTable($query))->rawColumns([
|
||||||
->eloquent($query)
|
'description',
|
||||||
->rawColumns(['description', 'properties', 'action'])
|
'properties',
|
||||||
->editColumn('id', function (Activity $model) {
|
'action'
|
||||||
return $model->id;
|
])->editColumn('id', function (Activity $model) {
|
||||||
})
|
return $model->id;
|
||||||
->editColumn('subject_id', function (Activity $model) {
|
})->editColumn('subject_id', function (Activity $model) {
|
||||||
if (!isset($model->subject)) {
|
if (!isset($model->subject)) {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($model->subject->name)) {
|
if (isset($model->subject->name)) {
|
||||||
return $model->subject->name ?? $model->subject->user()->first()->name;
|
return $model->subject->name ?? $model->subject->user()->first()->name;
|
||||||
}
|
}
|
||||||
|
|
||||||
return "-";//$model->subject->user()->first()->name;
|
return "-";//$model->subject->user()->first()->name;
|
||||||
})
|
})->editColumn('causer_id', function (Activity $model) {
|
||||||
->editColumn('causer_id', function (Activity $model) {
|
return $model->causer ? $model->causer->name : __('System');
|
||||||
return $model->causer ? $model->causer->name : __('System');
|
})->editColumn('properties', function (Activity $model) {
|
||||||
})
|
$content = $model->properties;
|
||||||
->editColumn('properties', function (Activity $model) {
|
|
||||||
$content = $model->properties;
|
|
||||||
|
|
||||||
return view('logs::audit._details', compact('content'));
|
return view('logs::audit._details', compact('content'));
|
||||||
})
|
})->editColumn('created_at', function (Activity $model) {
|
||||||
->editColumn('created_at', function (Activity $model) {
|
return $model->created_at->format('d M, Y H:i:s');
|
||||||
return $model->created_at->format('d M, Y H:i:s');
|
})->addColumn('action', function (Activity $model) {
|
||||||
})
|
return view('logs::audit._action-menu', compact('model'));
|
||||||
->addColumn('action', function (Activity $model) {
|
});
|
||||||
return view('logs::audit._action-menu', compact('model'));
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -58,6 +59,7 @@
|
|||||||
* @return \Illuminate\Database\Eloquent\Builder
|
* @return \Illuminate\Database\Eloquent\Builder
|
||||||
*/
|
*/
|
||||||
public function query(Activity $model)
|
public function query(Activity $model)
|
||||||
|
: QueryBuilder
|
||||||
{
|
{
|
||||||
return $model->newQuery();
|
return $model->newQuery();
|
||||||
}
|
}
|
||||||
@ -68,20 +70,21 @@
|
|||||||
* @return \Yajra\DataTables\Html\Builder
|
* @return \Yajra\DataTables\Html\Builder
|
||||||
*/
|
*/
|
||||||
public function html()
|
public function html()
|
||||||
|
: HtmlBuilder
|
||||||
{
|
{
|
||||||
return $this->builder()
|
return $this->builder()
|
||||||
->setTableId('audit-log-table')
|
->setTableId('audit-log-table')
|
||||||
->columns($this->getColumns())
|
->columns($this->getColumns())
|
||||||
->minifiedAjax()
|
->minifiedAjax()
|
||||||
->stateSave(true)
|
->stateSave(true)
|
||||||
->orderBy(6)
|
->orderBy(6)
|
||||||
->responsive()
|
->responsive()
|
||||||
->autoWidth(false)
|
->autoWidth(false)
|
||||||
->parameters([
|
->parameters([
|
||||||
'scrollX' => false,
|
'scrollX' => false,
|
||||||
'drawCallback' => 'function() { KTMenu.createInstances(); }',
|
'drawCallback' => 'function() { KTMenu.createInstances(); }',
|
||||||
])
|
])
|
||||||
->addTableClass('align-middle table-row-dashed fs-6 gy-5');
|
->addTableClass('align-middle table-row-dashed fs-6 gy-5');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -90,6 +93,7 @@
|
|||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
protected function getColumns()
|
protected function getColumns()
|
||||||
|
: array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
Column::make('id')->title('Log ID'),
|
Column::make('id')->title('Log ID'),
|
||||||
@ -100,10 +104,10 @@
|
|||||||
Column::make('causer_id')->title(__('Causer')),
|
Column::make('causer_id')->title(__('Causer')),
|
||||||
Column::make('created_at'),
|
Column::make('created_at'),
|
||||||
Column::computed('action')
|
Column::computed('action')
|
||||||
->exportable(false)
|
->exportable(false)
|
||||||
->printable(false)
|
->printable(false)
|
||||||
->addClass('text-center')
|
->addClass('text-center')
|
||||||
->responsivePriority(-1),
|
->responsivePriority(-1),
|
||||||
Column::make('properties')->addClass('none'),
|
Column::make('properties')->addClass('none'),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
@ -2,10 +2,14 @@
|
|||||||
|
|
||||||
namespace Modules\Logs\DataTables;
|
namespace Modules\Logs\DataTables;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Builder as QueryBuilder;
|
||||||
use Illuminate\Support\Collection;
|
use Illuminate\Support\Collection;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
use Jackiedo\LogReader\Exceptions\UnableToRetrieveLogFilesException;
|
use Jackiedo\LogReader\Exceptions\UnableToRetrieveLogFilesException;
|
||||||
use Jackiedo\LogReader\LogReader;
|
use Jackiedo\LogReader\LogReader;
|
||||||
|
use Spatie\Activitylog\Models\Activity;
|
||||||
|
use Yajra\DataTables\EloquentDataTable;
|
||||||
|
use Yajra\DataTables\Html\Builder as HtmlBuilder;
|
||||||
use Yajra\DataTables\Html\Column;
|
use Yajra\DataTables\Html\Column;
|
||||||
use Yajra\DataTables\Services\DataTable;
|
use Yajra\DataTables\Services\DataTable;
|
||||||
|
|
||||||
@ -14,54 +18,49 @@
|
|||||||
/**
|
/**
|
||||||
* Build DataTable class.
|
* Build DataTable class.
|
||||||
*
|
*
|
||||||
* @param mixed $query Results from query() method.
|
* @param QueryBuilder $query Results from query() method.
|
||||||
*
|
*
|
||||||
* @return \Yajra\DataTables\DataTableAbstract
|
* @return \Yajra\DataTables\DataTableAbstract
|
||||||
*/
|
*/
|
||||||
public function dataTable($query)
|
public function dataTable(QueryBuilder $query)
|
||||||
|
: EloquentDataTable
|
||||||
{
|
{
|
||||||
return datatables()
|
return (new EloquentDataTable($query))->rawColumns([
|
||||||
->collection($query)
|
'action',
|
||||||
->rawColumns(['action', 'level'])
|
'level'
|
||||||
->editColumn('id', function (Collection $model) {
|
])->editColumn('id', function (Collection $model) {
|
||||||
return Str::limit($model->get('id'), 5, '');
|
return Str::limit($model->get('id'), 5, '');
|
||||||
})
|
})->editColumn('file_path', function (Collection $model) {
|
||||||
->editColumn('file_path', function (Collection $model) {
|
return Str::limit($model->get('file_path'));
|
||||||
return Str::limit($model->get('file_path'));
|
})->editColumn('message', function (Collection $model) {
|
||||||
})
|
return Str::limit($model->get('context')->message, 95);
|
||||||
->editColumn('message', function (Collection $model) {
|
})->editColumn('date', function (Collection $model) {
|
||||||
return Str::limit($model->get('context')->message, 95);
|
return $model->get('date')->format('d M, Y H:i:s');
|
||||||
})
|
})->editColumn('level', function (Collection $model) {
|
||||||
->editColumn('date', function (Collection $model) {
|
$styles = [
|
||||||
return $model->get('date')->format('d M, Y H:i:s');
|
'emergency' => 'danger',
|
||||||
})
|
'alert' => 'warning',
|
||||||
->editColumn('level', function (Collection $model) {
|
'critical' => 'danger',
|
||||||
$styles = [
|
'error' => 'danger',
|
||||||
'emergency' => 'danger',
|
'warning' => 'warning',
|
||||||
'alert' => 'warning',
|
'notice' => 'success',
|
||||||
'critical' => 'danger',
|
'info' => 'info',
|
||||||
'error' => 'danger',
|
'debug' => 'primary',
|
||||||
'warning' => 'warning',
|
];
|
||||||
'notice' => 'success',
|
$style = 'info';
|
||||||
'info' => 'info',
|
if (isset($styles[$model->get('level')])) {
|
||||||
'debug' => 'primary',
|
$style = $styles[$model->get('level')];
|
||||||
];
|
}
|
||||||
$style = 'info';
|
$value = $model->get('level');
|
||||||
if (isset($styles[$model->get('level')])) {
|
|
||||||
$style = $styles[$model->get('level')];
|
|
||||||
}
|
|
||||||
$value = $model->get('level');
|
|
||||||
|
|
||||||
return '<div class="badge badge-light-' . $style . ' fw-bolder">' . $value . '</div>';
|
return '<div class="badge badge-light-' . $style . ' fw-bolder">' . $value . '</div>';
|
||||||
})
|
})->editColumn('context', function (Collection $model) {
|
||||||
->editColumn('context', function (Collection $model) {
|
$content = $model->get('context');
|
||||||
$content = $model->get('context');
|
|
||||||
|
|
||||||
return view('logs::system._details', compact('content'));
|
return view('logs::system._details', compact('content'));
|
||||||
})
|
})->addColumn('action', function (Collection $model) {
|
||||||
->addColumn('action', function (Collection $model) {
|
return view('logs::system._action-menu', compact('model'));
|
||||||
return view('logs::system._action-menu', compact('model'));
|
});
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -72,6 +71,7 @@
|
|||||||
* @return Collection
|
* @return Collection
|
||||||
*/
|
*/
|
||||||
public function query(LogReader $model)
|
public function query(LogReader $model)
|
||||||
|
: QueryBuilder
|
||||||
{
|
{
|
||||||
$data = collect();
|
$data = collect();
|
||||||
$model->setLogPath(storage_path('logs'));
|
$model->setLogPath(storage_path('logs'));
|
||||||
@ -96,17 +96,18 @@
|
|||||||
* @return \Yajra\DataTables\Html\Builder
|
* @return \Yajra\DataTables\Html\Builder
|
||||||
*/
|
*/
|
||||||
public function html()
|
public function html()
|
||||||
|
: HtmlBuilder
|
||||||
{
|
{
|
||||||
return $this->builder()
|
return $this->builder()
|
||||||
->setTableId('system-log-table')
|
->setTableId('system-log-table')
|
||||||
->columns($this->getColumns())
|
->columns($this->getColumns())
|
||||||
->minifiedAjax()
|
->minifiedAjax()
|
||||||
->stateSave(true)
|
->stateSave(true)
|
||||||
->orderBy(3)
|
->orderBy(3)
|
||||||
->responsive()
|
->responsive()
|
||||||
->autoWidth(false)
|
->autoWidth(false)
|
||||||
->parameters(['scrollX' => false])
|
->parameters(['scrollX' => false])
|
||||||
->addTableClass('align-middle table-row-dashed fs-6 gy-5');
|
->addTableClass('align-middle table-row-dashed fs-6 gy-5');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -115,6 +116,7 @@
|
|||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
protected function getColumns()
|
protected function getColumns()
|
||||||
|
: array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
Column::make('id')->title('Log ID')->width(50),
|
Column::make('id')->title('Log ID')->width(50),
|
||||||
@ -122,10 +124,10 @@
|
|||||||
Column::make('level'),
|
Column::make('level'),
|
||||||
Column::make('date')->width(130),
|
Column::make('date')->width(130),
|
||||||
Column::computed('action')
|
Column::computed('action')
|
||||||
->exportable(false)
|
->exportable(false)
|
||||||
->printable(false)
|
->printable(false)
|
||||||
->addClass('text-center')
|
->addClass('text-center')
|
||||||
->responsivePriority(-1),
|
->responsivePriority(-1),
|
||||||
Column::make('environment')->addClass('none'),
|
Column::make('environment')->addClass('none'),
|
||||||
Column::make('file_path')->title(__('Log Path'))->addClass('none'),
|
Column::make('file_path')->title(__('Log Path'))->addClass('none'),
|
||||||
Column::make('context')->addClass('none'),
|
Column::make('context')->addClass('none'),
|
||||||
|
Loading…
Reference in New Issue
Block a user