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

Commit 041b380

Browse files
L10 - part 2
1 parent 016f550 commit 041b380

File tree

4 files changed

+35
-36
lines changed

4 files changed

+35
-36
lines changed

src/Http/Livewire/MenusTable.php

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,10 @@ class MenusTable extends DataTableComponent
1515

1616
public function configure(): void
1717
{
18-
$this->setPrimaryKey('id');
18+
$this->setPrimaryKey('id')
19+
->setTableRowUrl(function ($row) {
20+
return route('menu', $row);
21+
});
1922
}
2023

2124
public function builder(): Builder
@@ -29,22 +32,19 @@ public function builder(): Builder
2932
public function columns(): array
3033
{
3134
return [
35+
Column::make('ID', 'id'),
3236
Column::make('Name', 'name')
3337
->sortable()->searchable(),
3438
Column::make('Route', 'route')
3539
->sortable()->searchable(),
3640
];
3741
}
3842

39-
public function getTableRowUrl($row): string
40-
{
41-
return route('menu', $row);
42-
}
43-
4443
public function deleteSelected()
4544
{
46-
if ($this->selectedRowsQuery->count() > 0) {
47-
$this->selectedRowsQuery->delete();
45+
if (filled($this->getSelected()) > 0) {
46+
Menu::whereIn('id', $this->getSelected())->delete();
47+
$this->clearSelected();
4848
}
4949
}
5050
}

src/Http/Livewire/PermissionsTable.php

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,10 @@ class PermissionsTable extends DataTableComponent
1717

1818
public function configure(): void
1919
{
20-
$this->setPrimaryKey('id');
20+
$this->setPrimaryKey('id')
21+
->setTableRowUrl(function ($row) {
22+
return route('permission', $row);
23+
});
2124
}
2225

2326
public function builder(): Builder
@@ -29,20 +32,17 @@ public function builder(): Builder
2932
public function columns(): array
3033
{
3134
return [
35+
Column::make('ID', 'id'),
3236
Column::make('Name', 'name')
3337
->sortable()->searchable(),
3438
];
3539
}
3640

37-
public function getTableRowUrl($row): string
38-
{
39-
return route('permission', $row);
40-
}
41-
4241
public function deleteSelected()
4342
{
44-
if ($this->selectedRowsQuery->count() > 0) {
45-
$this->selectedRowsQuery->delete();
43+
if (filled($this->getSelected()) > 0) {
44+
Permission::whereIn('id', $this->getSelected())->delete();
45+
$this->clearSelected();
4646
}
4747
}
4848
}

src/Http/Livewire/RolesTable.php

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,33 +16,32 @@ class RolesTable extends DataTableComponent
1616

1717
public function configure(): void
1818
{
19-
$this->setPrimaryKey('id');
19+
$this->setPrimaryKey('id')
20+
->setTableRowUrl(function ($row) {
21+
return route('role.edit', $row);
22+
});
2023
}
2124

2225
public function builder(): Builder
2326
{
24-
2527
return Role::query()
26-
->when($this->columnSearch['name'] ?? null, fn ($query, $value) => $query->where('role.name', 'like', '%' . $value . '%'));
28+
->when($this->columnSearch['name'] ?? null, fn($query, $value) => $query->where('role.name', 'like', '%' . $value . '%'));
2729
}
2830

2931
public function columns(): array
3032
{
3133
return [
34+
Column::make('ID', 'id'),
3235
Column::make('Name', 'name')
3336
->sortable()->searchable(),
3437
];
3538
}
3639

37-
public function getTableRowUrl($row): string
38-
{
39-
return route('role.edit', $row);
40-
}
41-
4240
public function deleteSelected()
4341
{
44-
if ($this->selectedRowsQuery->count() > 0) {
45-
$this->selectedRowsQuery->delete();
42+
if (filled($this->getSelected()) > 0) {
43+
Role::whereIn('id', $this->getSelected())->delete();
44+
$this->clearSelected();
4645
}
4746
}
4847
}

src/Http/Livewire/UsersTable.php

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,35 +17,35 @@ class UsersTable extends DataTableComponent
1717

1818
public function configure(): void
1919
{
20-
$this->setPrimaryKey('id');
20+
$this->setPrimaryKey('id')
21+
->setTableRowUrl(function ($row) {
22+
return route('users.edit', $row);
23+
});
2124
}
2225

2326
public function builder(): Builder
2427
{
2528
return User::query()
26-
->when($this->columnSearch['name'] ?? null, fn ($query, $value) => $query->where('name', 'like', '%'.$value.'%'))
27-
->when($this->columnSearch['email'] ?? null, fn ($query, $value) => $query->where('email', 'like', '%'.$value.'%'));
29+
->when($this->columnSearch['name'] ?? null, fn($query, $value) => $query->where('name', 'like', '%' . $value . '%'))
30+
->when($this->columnSearch['email'] ?? null, fn($query, $value) => $query->where('email', 'like', '%' . $value . '%'));
2831
}
2932

3033
public function columns(): array
3134
{
3235
return [
36+
Column::make('ID', 'id'),
3337
Column::make('Name', 'name')
3438
->sortable()->searchable(),
3539
Column::make('Email', 'email')
3640
->sortable()->searchable(),
3741
];
3842
}
3943

40-
public function getTableRowUrl($row): string
41-
{
42-
return route('users.edit', $row);
43-
}
44-
4544
public function deleteSelected()
4645
{
47-
if ($this->selectedRowsQuery->count() > 0) {
48-
$this->selectedRowsQuery->delete();
46+
if (filled($this->getSelected()) > 0) {
47+
User::whereIn('id', $this->getSelected())->delete();
48+
$this->clearSelected();
4949
}
5050
}
5151
}

0 commit comments

Comments
 (0)