Skip to content
This repository was archived by the owner on Mar 12, 2024. It is now read-only.

Commit 2ec57ac

Browse files
committed
change tables
Signed-off-by: Dieter Coopman <dieter@deltasolutions.be>
1 parent 647bbf4 commit 2ec57ac

File tree

5 files changed

+89
-81
lines changed

5 files changed

+89
-81
lines changed

resources/views/user-ui/access.blade.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<div class="container mx-auto">
1+
<div class="container mx-auto" wire:ignore.self>
22
<div class="grid grid-cols-2 rounded-md ">
33
<div>
44
<nav aria-label="Sidebar">

src/Http/Livewire/MenusTable.php

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,37 +2,42 @@
22

33
namespace LLoadoutEnforce\Http\Livewire;
44

5-
6-
use Mediconesystems\LivewireDatatables\Column;
7-
use Mediconesystems\LivewireDatatables\Http\Livewire\LivewireDatatable;
5+
use App\User;
6+
use Illuminate\Database\Eloquent\Builder;
87
use LLoadoutEnforce\Models\Menu;
8+
use Rappasoft\LaravelLivewireTables\TableComponent;
9+
use Rappasoft\LaravelLivewireTables\Traits\HtmlComponents;
10+
use Rappasoft\LaravelLivewireTables\Views\Column;
911

10-
class MenusTable extends LivewireDatatable
12+
class MenusTable extends TableComponent
1113
{
14+
use HtmlComponents;
1215

13-
public $exportable = true;
14-
16+
public $addRoute = "menu";
17+
public $clearSearchButton = true;
1518

16-
public function builder()
19+
public function query(): Builder
1720
{
1821
return Menu::query();
1922
}
2023

21-
22-
public function columns()
24+
public function columns(): array
2325
{
26+
2427
return [
25-
Column::name('id')
26-
->label('ID')
28+
Column::make('ID', 'id')
2729
->searchable()
28-
->linkTo('menu'),
29-
Column::name('name')
30-
->label('name')
31-
->searchable(),
32-
Column::name('route')
33-
->label('route')
30+
->sortable()
31+
->format(function (Menu $model) {
32+
return $this->linkRoute('menu', $model->id, $model->id);
33+
}),
34+
Column::make('Name', 'name')
3435
->searchable()
35-
36+
->sortable(),
37+
Column::make('Route', 'route')
38+
->searchable()
39+
->sortable(),
3640
];
41+
3742
}
3843
}
Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,40 @@
11
<?php
2-
namespace LLoadoutEnforce\Http\Livewire;
32

3+
namespace LLoadoutEnforce\Http\Livewire;
44

5+
use App\User;
56
use Spatie\Permission\Models\Permission;
6-
use Mediconesystems\LivewireDatatables\Column;
7-
use Mediconesystems\LivewireDatatables\Http\Livewire\LivewireDatatable;
7+
use Illuminate\Database\Eloquent\Builder;
8+
use Rappasoft\LaravelLivewireTables\Views\Column;
9+
use Rappasoft\LaravelLivewireTables\TableComponent;
10+
use Rappasoft\LaravelLivewireTables\Traits\HtmlComponents;
811

9-
class PermissionsTable extends LivewireDatatable
12+
class PermissionsTable extends TableComponent
1013
{
14+
use HtmlComponents;
1115

12-
public $exportable = true;
16+
public $addRoute = "permission";
17+
public $clearSearchButton = true;
1318

14-
15-
public function builder()
19+
public function query(): Builder
1620
{
1721
return Permission::query();
1822
}
1923

20-
21-
public function columns()
24+
public function columns(): array
2225
{
26+
2327
return [
24-
Column::name('id')
25-
->label('ID')
28+
Column::make('ID', 'id')
2629
->searchable()
27-
->linkTo('permission'),
28-
Column::name('name')
29-
->label('name')
30+
->sortable()
31+
->format(function (Permission $model) {
32+
return $this->linkRoute('permission', $model->id, $model->id);
33+
}),
34+
Column::make('Name', 'name')
3035
->searchable()
31-
36+
->sortable(),
3237
];
38+
3339
}
3440
}

src/Http/Livewire/RolesTable.php

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,40 @@
11
<?php
2-
namespace LLoadoutEnforce\Http\Livewire;
32

3+
namespace LLoadoutEnforce\Http\Livewire;
44

5+
use App\User;
6+
use Illuminate\Database\Eloquent\Builder;
7+
use Rappasoft\LaravelLivewireTables\TableComponent;
8+
use Rappasoft\LaravelLivewireTables\Traits\HtmlComponents;
9+
use Rappasoft\LaravelLivewireTables\Views\Column;
510
use Spatie\Permission\Models\Role;
6-
use Mediconesystems\LivewireDatatables\Column;
7-
use Mediconesystems\LivewireDatatables\Http\Livewire\LivewireDatatable;
811

9-
class RolesTable extends LivewireDatatable
12+
class RolesTable extends TableComponent
1013
{
14+
use HtmlComponents;
1115

12-
public $exportable = true;
16+
public $addRoute = "role.edit";
17+
public $clearSearchButton = true;
1318

14-
15-
public function builder()
19+
public function query(): Builder
1620
{
1721
return Role::query();
1822
}
1923

20-
21-
public function columns()
24+
public function columns(): array
2225
{
26+
2327
return [
24-
Column::name('id')
25-
->label('ID')
28+
Column::make('ID', 'id')
2629
->searchable()
27-
->linkTo('role'),
28-
Column::name('name')
29-
->label('name')
30+
->sortable()
31+
->format(function (Role $model) {
32+
return $this->linkRoute('role.edit', $model->id, $model->id);
33+
}),
34+
Column::make('Name', 'name')
3035
->searchable()
31-
36+
->sortable(),
3237
];
38+
3339
}
3440
}

src/Http/Livewire/UsersTable.php

Lines changed: 23 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -2,51 +2,42 @@
22

33
namespace LLoadoutEnforce\Http\Livewire;
44

5-
65
use App\Models\User;
7-
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
8-
use Mediconesystems\LivewireDatatables\Column;
9-
use Mediconesystems\LivewireDatatables\Http\Livewire\LivewireDatatable;
6+
use Illuminate\Database\Eloquent\Builder;
7+
use Rappasoft\LaravelLivewireTables\TableComponent;
8+
use Rappasoft\LaravelLivewireTables\Traits\HtmlComponents;
9+
use Rappasoft\LaravelLivewireTables\Views\Column;
10+
use Spatie\Permission\Models\Role;
1011

11-
class UsersTable extends LivewireDatatable
12+
class UsersTable extends TableComponent
1213
{
14+
use HtmlComponents;
1315

14-
public $exportable = true;
15-
16+
public $addRoute = "users.edit";
17+
public $clearSearchButton = true;
1618

17-
public function builder()
19+
public function query(): Builder
1820
{
1921
return User::query();
2022
}
2123

22-
public function roles(): BelongsToMany
24+
public function columns(): array
2325
{
24-
return $this->morphToMany(
25-
config('permission.models.role'),
26-
'model',
27-
config('permission.table_names.model_has_roles'),
28-
config('permission.column_names.model_morph_key'),
29-
'role_id'
30-
);
31-
}
3226

33-
34-
public function columns()
35-
{
3627
return [
37-
Column::name('id')
38-
->label('ID')
28+
Column::make('ID', 'id')
3929
->searchable()
40-
->linkTo('user/detail'),
41-
Column::name('name')
42-
->label('name')
43-
->searchable(),
44-
Column::name('email')
45-
->label('email')
46-
->searchable(),
47-
// Column::name('roles.name')
48-
// ->label('role')
49-
30+
->sortable()
31+
->format(function (User $model) {
32+
return $this->linkRoute('users.edit', $model->id, $model->id);
33+
}),
34+
Column::make('Name', 'name')
35+
->searchable()
36+
->sortable(),
37+
Column::make('Email', 'email')
38+
->searchable()
39+
->sortable(),
5040
];
41+
5142
}
5243
}

0 commit comments

Comments
 (0)