Skip to content

Commit c1846ee

Browse files
committed
wip
Signed-off-by: Mior Muhammad Zaki <[email protected]>
1 parent 8b02389 commit c1846ee

15 files changed

+104
-150
lines changed

composer.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,13 @@
3636
},
3737
"require-dev": {
3838
"larastan/larastan": "^2.4",
39-
"laravel/nova": "^5.0",
39+
"laravel/nova": "dev-develop",
4040
"orchestra/testbench": "^8.24|^9.2"
4141
},
4242
"repositories": [
4343
{
44-
"type": "composer",
45-
"url": "https://nova.laravel.com"
44+
"type": "vcs",
45+
"url": "https://github.com/laravel/nova"
4646
}
4747
],
4848
"config": {

stubs/action.queued.stub

+8-11
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,21 @@ use Illuminate\Queue\InteractsWithQueue;
1010
use Illuminate\Queue\SerializesModels;
1111
use Illuminate\Support\Collection;
1212
use Laravel\Nova\Actions\Action;
13+
use Laravel\Nova\Actions\ActionResponse;
1314
use Laravel\Nova\Contracts\BatchableAction;
1415
use Laravel\Nova\Fields\ActionFields;
1516
use Laravel\Nova\Http\Requests\NovaRequest;
1617

1718
class {{ class }} extends Action implements ShouldQueue
1819
{
19-
use Batchable, InteractsWithQueue, Queueable, SerializesModels;
20+
use Batchable;
21+
use InteractsWithQueue;
22+
use Queueable;
23+
use SerializesModels;
2024

2125
/**
2226
* Perform the action on the given models.
2327
*
24-
* @param \Laravel\Nova\Fields\ActionFields $fields
25-
* @param \Illuminate\Support\Collection $models
2628
* @return mixed
2729
*/
2830
public function handle(ActionFields $fields, Collection $models)
@@ -33,22 +35,17 @@ class {{ class }} extends Action implements ShouldQueue
3335
/**
3436
* Get the fields available on the action.
3537
*
36-
* @param \Laravel\Nova\Http\Requests\NovaRequest $request
37-
* @return array
38+
* @return array<int, \Laravel\Nova\Fields\Field>
3839
*/
39-
public function fields(NovaRequest $request)
40+
public function fields(NovaRequest $request): array
4041
{
4142
return [];
4243
}
4344

4445
/**
4546
* Register `then`, `catch` and `finally` event on batchable job.
46-
*
47-
* @param \Laravel\Nova\Fields\ActionFields $fields
48-
* @param \Illuminate\Bus\PendingBatch $batch
49-
* @return void
5047
*/
51-
public function withBatch(ActionFields $fields, PendingBatch $batch)
48+
public function withBatch(ActionFields $fields, PendingBatch $batch): void
5249
{
5350
//
5451
}

stubs/action.stub

+5-6
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,18 @@ use Illuminate\Contracts\Queue\ShouldQueue;
77
use Illuminate\Queue\InteractsWithQueue;
88
use Illuminate\Support\Collection;
99
use Laravel\Nova\Actions\Action;
10+
use Laravel\Nova\Actions\ActionResponse;
1011
use Laravel\Nova\Fields\ActionFields;
1112
use Laravel\Nova\Http\Requests\NovaRequest;
1213

1314
class {{ class }} extends Action
1415
{
15-
use InteractsWithQueue, Queueable;
16+
use InteractsWithQueue;
17+
use Queueable;
1618

1719
/**
1820
* Perform the action on the given models.
1921
*
20-
* @param \Laravel\Nova\Fields\ActionFields $fields
21-
* @param \Illuminate\Support\Collection $models
2222
* @return mixed
2323
*/
2424
public function handle(ActionFields $fields, Collection $models)
@@ -29,10 +29,9 @@ class {{ class }} extends Action
2929
/**
3030
* Get the fields available on the action.
3131
*
32-
* @param \Laravel\Nova\Http\Requests\NovaRequest $request
33-
* @return array
32+
* @return array<int, \Laravel\Nova\Fields\Field>
3433
*/
35-
public function fields(NovaRequest $request)
34+
public function fields(NovaRequest $request): array
3635
{
3736
return [];
3837
}

stubs/base-resource.stub

+6-20
Original file line numberDiff line numberDiff line change
@@ -2,43 +2,33 @@
22

33
namespace Workbench\App\Nova;
44

5+
use Illuminate\Contracts\Database\Eloquent\Builder;
56
use Laravel\Nova\Http\Requests\NovaRequest;
67
use Laravel\Nova\Resource as NovaResource;
8+
use Laravel\Scout\Builder as ScoutBuilder;
79

810
abstract class Resource extends NovaResource
911
{
1012
/**
1113
* Build an "index" query for the given resource.
12-
*
13-
* @param \Laravel\Nova\Http\Requests\NovaRequest $request
14-
* @param \Illuminate\Database\Eloquent\Builder $query
15-
* @return \Illuminate\Database\Eloquent\Builder
1614
*/
17-
public static function indexQuery(NovaRequest $request, $query)
15+
public static function indexQuery(NovaRequest $request, Builder $query): Builder
1816
{
1917
return $query;
2018
}
2119

2220
/**
2321
* Build a Scout search query for the given resource.
24-
*
25-
* @param \Laravel\Nova\Http\Requests\NovaRequest $request
26-
* @param \Laravel\Scout\Builder $query
27-
* @return \Laravel\Scout\Builder
2822
*/
29-
public static function scoutQuery(NovaRequest $request, $query)
23+
public static function scoutQuery(NovaRequest $request, ScoutBuilder $query): ScoutBuilder
3024
{
3125
return $query;
3226
}
3327

3428
/**
3529
* Build a "detail" query for the given resource.
36-
*
37-
* @param \Laravel\Nova\Http\Requests\NovaRequest $request
38-
* @param \Illuminate\Database\Eloquent\Builder $query
39-
* @return \Illuminate\Database\Eloquent\Builder
4030
*/
41-
public static function detailQuery(NovaRequest $request, $query)
31+
public static function detailQuery(NovaRequest $request, Builder $query): Builder
4232
{
4333
return parent::detailQuery($request, $query);
4434
}
@@ -47,12 +37,8 @@ abstract class Resource extends NovaResource
4737
* Build a "relatable" query for the given resource.
4838
*
4939
* This query determines which instances of the model may be attached to other resources.
50-
*
51-
* @param \Laravel\Nova\Http\Requests\NovaRequest $request
52-
* @param \Illuminate\Database\Eloquent\Builder $query
53-
* @return \Illuminate\Database\Eloquent\Builder
5440
*/
55-
public static function relatableQuery(NovaRequest $request, $query)
41+
public static function relatableQuery(NovaRequest $request, Builder $query): Builder
5642
{
5743
return parent::relatableQuery($request, $query);
5844
}

stubs/dashboard.stub

+3-5
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ class {{ class }} extends Dashboard
99
/**
1010
* Get the cards for the dashboard.
1111
*
12-
* @return array
12+
* @return array<int, \Laravel\Nova\Card>
1313
*/
14-
public function cards()
14+
public function cards(): array
1515
{
1616
return [
1717
//
@@ -20,10 +20,8 @@ class {{ class }} extends Dashboard
2020

2121
/**
2222
* Get the URI key for the dashboard.
23-
*
24-
* @return string
2523
*/
26-
public function uriKey()
24+
public function uriKey(): string
2725
{
2826
return 'uri-key';
2927
}

stubs/destructive-action.queued.stub

+8-11
Original file line numberDiff line numberDiff line change
@@ -9,20 +9,22 @@ use Illuminate\Contracts\Queue\ShouldQueue;
99
use Illuminate\Queue\InteractsWithQueue;
1010
use Illuminate\Queue\SerializesModels;
1111
use Illuminate\Support\Collection;
12+
use Laravel\Nova\Actions\ActionResponse;
1213
use Laravel\Nova\Actions\DestructiveAction;
1314
use Laravel\Nova\Contracts\BatchableAction;
1415
use Laravel\Nova\Fields\ActionFields;
1516
use Laravel\Nova\Http\Requests\NovaRequest;
1617

1718
class {{ class }} extends DestructiveAction implements ShouldQueue
1819
{
19-
use Batchable, InteractsWithQueue, Queueable, SerializesModels;
20+
use Batchable;
21+
use InteractsWithQueue;
22+
use Queueable;
23+
use SerializesModels;
2024

2125
/**
2226
* Perform the action on the given models.
2327
*
24-
* @param \Laravel\Nova\Fields\ActionFields $fields
25-
* @param \Illuminate\Support\Collection $models
2628
* @return mixed
2729
*/
2830
public function handle(ActionFields $fields, Collection $models)
@@ -33,22 +35,17 @@ class {{ class }} extends DestructiveAction implements ShouldQueue
3335
/**
3436
* Get the fields available on the action.
3537
*
36-
* @param \Laravel\Nova\Http\Requests\NovaRequest $request
37-
* @return array
38+
* @return array<int, \Laravel\Nova\Fields\Field>
3839
*/
39-
public function fields(NovaRequest $request)
40+
public function fields(NovaRequest $request): array
4041
{
4142
return [];
4243
}
4344

4445
/**
4546
* Register `then`, `catch` and `finally` event on batchable job.
46-
*
47-
* @param \Laravel\Nova\Fields\ActionFields $fields
48-
* @param \Illuminate\Bus\PendingBatch $batch
49-
* @return void
5047
*/
51-
public function withBatch(ActionFields $fields, PendingBatch $batch)
48+
public function withBatch(ActionFields $fields, PendingBatch $batch): void
5249
{
5350
//
5451
}

stubs/destructive-action.stub

+3-5
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace {{ namespace }};
44

55
use Illuminate\Support\Collection;
6+
use Laravel\Nova\Actions\ActionResponse;
67
use Laravel\Nova\Actions\DestructiveAction;
78
use Laravel\Nova\Fields\ActionFields;
89
use Laravel\Nova\Http\Requests\NovaRequest;
@@ -12,8 +13,6 @@ class {{ class }} extends DestructiveAction
1213
/**
1314
* Perform the action on the given models.
1415
*
15-
* @param \Laravel\Nova\Fields\ActionFields $fields
16-
* @param \Illuminate\Support\Collection $models
1716
* @return mixed
1817
*/
1918
public function handle(ActionFields $fields, Collection $models)
@@ -24,10 +23,9 @@ class {{ class }} extends DestructiveAction
2423
/**
2524
* Get the fields available on the action.
2625
*
27-
* @param \Laravel\Nova\Http\Requests\NovaRequest $request
28-
* @return array
26+
* @return array<int, \Laravel\Nova\Fields\Field>
2927
*/
30-
public function fields(NovaRequest $request)
28+
public function fields(NovaRequest $request): array
3129
{
3230
return [];
3331
}

stubs/lens.stub

+12-20
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
namespace {{ namespace }};
44

5+
use Illuminate\Contracts\Database\Eloquent\Builder;
6+
use Illuminate\Contracts\Pagination\Paginator;
57
use Laravel\Nova\Fields\ID;
68
use Laravel\Nova\Fields\Text;
79
use Laravel\Nova\Http\Requests\LensRequest;
@@ -20,12 +22,8 @@ class {{ class }} extends Lens
2022

2123
/**
2224
* Get the query builder / paginator for the lens.
23-
*
24-
* @param \Laravel\Nova\Http\Requests\LensRequest $request
25-
* @param \Illuminate\Database\Eloquent\Builder $query
26-
* @return mixed
2725
*/
28-
public static function query(LensRequest $request, $query)
26+
public static function query(LensRequest $request, Builder $query): Builder|Paginator
2927
{
3028
return $request->withOrdering($request->withFilters(
3129
$query
@@ -35,10 +33,9 @@ class {{ class }} extends Lens
3533
/**
3634
* Get the fields available to the lens.
3735
*
38-
* @param \Laravel\Nova\Http\Requests\NovaRequest $request
39-
* @return array
36+
* @return array<int, \Laravel\Nova\Fields\Field>
4037
*/
41-
public function fields(NovaRequest $request)
38+
public function fields(NovaRequest $request): array
4239
{
4340
return [
4441
ID::make(Nova::__('ID'), 'id')->sortable(),
@@ -48,42 +45,37 @@ class {{ class }} extends Lens
4845
/**
4946
* Get the cards available on the lens.
5047
*
51-
* @param \Laravel\Nova\Http\Requests\NovaRequest $request
52-
* @return array
48+
* @return array<int, \Laravel\Nova\Card>
5349
*/
54-
public function cards(NovaRequest $request)
50+
public function cards(NovaRequest $request): array
5551
{
5652
return [];
5753
}
5854

5955
/**
6056
* Get the filters available for the lens.
6157
*
62-
* @param \Laravel\Nova\Http\Requests\NovaRequest $request
63-
* @return array
58+
* @return array<int, \Laravel\Nova\Filters\Filter>
6459
*/
65-
public function filters(NovaRequest $request)
60+
public function filters(NovaRequest $request): array
6661
{
6762
return [];
6863
}
6964

7065
/**
7166
* Get the actions available on the lens.
7267
*
73-
* @param \Laravel\Nova\Http\Requests\NovaRequest $request
74-
* @return array
68+
* @return array<int, \Laravel\Nova\Actions\Action>
7569
*/
76-
public function actions(NovaRequest $request)
70+
public function actions(NovaRequest $request): array
7771
{
7872
return parent::actions($request);
7973
}
8074

8175
/**
8276
* Get the URI key for the lens.
83-
*
84-
* @return string
8577
*/
86-
public function uriKey()
78+
public function uriKey(): string
8779
{
8880
return 'uri-key';
8981
}

stubs/main-dashboard.stub

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ class Main extends Dashboard
1010
/**
1111
* Get the cards for the dashboard.
1212
*
13-
* @return array
13+
* @return array<int, \Laravel\Nova\Card>
1414
*/
15-
public function cards()
15+
public function cards(): array
1616
{
1717
return [
1818
new Help,

0 commit comments

Comments
 (0)