diff --git a/routes/api.php b/routes/api.php index e1d941c..550d1ec 100644 --- a/routes/api.php +++ b/routes/api.php @@ -2,7 +2,7 @@ use Illuminate\Http\Request; use Illuminate\Support\Facades\Route; - +use \Bernhardh\NovaDynamicViews\Http\Controllers\NovaDynamicViewsController; /* |-------------------------------------------------------------------------- | Tool API Routes @@ -14,18 +14,4 @@ | */ - Route::get('{resource}/{method}', function (\Laravel\Nova\Http\Requests\ResourceDetailRequest $request, $resource, $method) { - $resourceClass = $request->resource(); - $model = $request->model(); - $method = \Illuminate\Support\Str::camel('custom-' . $method . '-components'); - $resource = new $resourceClass($model); - - if(method_exists($resource, $method)) { - $data = $resource->$method(); - if($data) { - return $data; - } - } - - return []; - }); + Route::get('{resource}/{method}', [NovaDynamicViewsController::class, 'resourceRequestDetails']); diff --git a/src/Http/Controllers/NovaDynamicViewsController.php b/src/Http/Controllers/NovaDynamicViewsController.php new file mode 100644 index 0000000..ca6db37 --- /dev/null +++ b/src/Http/Controllers/NovaDynamicViewsController.php @@ -0,0 +1,35 @@ +resource(); + $model = $request->model(); + $method = Str::camel('custom-' . $method . '-components'); + $resource = new $resourceClass($model); + + if(method_exists($resource, $method)) { + $data = $resource->$method(); + if($data) { + return $data; + } + } + + return []; + } +} \ No newline at end of file