diff --git a/DataTables/FileManagementDataTable.php b/DataTables/FileManagementDataTable.php
new file mode 100644
index 0000000..ee39b5c
--- /dev/null
+++ b/DataTables/FileManagementDataTable.php
@@ -0,0 +1,118 @@
+filter(function ($query) {
+ if (request()->has('search')) {
+ $search = request()->get('search');
+ $query->where('kode', 'like', "%" . $search['value'] . "%");
+ }
+ })
+ ->addColumn('directorat', function ($model) {
+ return $model->directorat->kode.'. '.$model->directorat->name;
+ })
+ ->addColumn('sub_directorat', function ($model) {
+ return $model->sub_directorat->kode.'. '.$model->sub_directorat->name;
+ })
+ ->addColumn('job', function ($model) {
+ return $model->job->kode.'. '.$model->job->name;
+ })
+ ->addColumn('sub_job', function ($model) {
+ return $model->sub_job->kode.'. '.$model->sub_job->name;
+ })
+ ->addColumn('sub_sub_job', function ($model) {
+ return $model->sub_sub_job->kode.'. '.$model->sub_sub_job->name;
+ })
+ ->addColumn('status', function ($model) {
+ if($model->status == 1){
+ return 'Approved';
+ }elseif($model->status == 0){
+ return 'Menunggu Approval';
+ }
+ })
+ ->addIndexColumn()
+ ->rawColumns(['status','action'])
+ ->addColumn('action', 'cetaklabel::app.document._action')
+ ->setRowId('id');
+ }
+
+ /**
+ * Get the query source of dataTable.
+ */
+ public function query(Document $model)
+ : QueryBuilder
+ {
+ return $model->newQuery();
+ }
+
+ /**
+ * Optional method if you want to use the html builder.
+ */
+ public function html()
+ : HtmlBuilder
+ {
+ return $this->builder()
+ ->setTableId('document-table')
+ ->columns($this->getColumns())
+ ->minifiedAjax()
+ ->stateSave(false)
+ ->responsive()
+ ->autoWidth(true)
+ ->orderBy(1)
+ ->parameters([
+ 'scrollX' => true,
+ 'drawCallback' => 'function() { KTMenu.createInstances(); }',
+ ])
+ ->addTableClass('align-middle table-row-dashed fs-6 gy-5');
+ }
+
+ /**
+ * Get the dataTable columns definition.
+ */
+ public function getColumns()
+ : array
+ {
+ return [
+ Column::make('DT_RowIndex')->title('No')->orderable(false)->searchable(false),
+ Column::make('kode'),
+ Column::make('directorat')->title('Direktorat'),
+ Column::make('sub_directorat')->title('Sub Direktorat'),
+ Column::make('job')->title('Pekerjaan'),
+ Column::make('sub_job')->title('Sub Pekerjaan'),
+ Column::make('sub_sub_job')->title('Sub Sub Pekerjaan'),
+ Column::computed('status'),
+ Column::computed('action')
+ ->exportable(false)
+ ->printable(false)
+ ->width(60)
+ ->addClass('text-center'),
+ ];
+ }
+
+ /**
+ * Get the filename for export.
+ */
+ protected function filename()
+ : string
+ {
+ return 'Document_' . date('YmdHis');
+ }
+ }