Repository URL to install this package:
|
Version:
1.0.0 ▾
|
<?php namespace Modules\Dashboard\Http\Controllers\Admin;
use Asset;
use Config;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Response;
use Modules\Core\Http\Controllers\AdminController;
use Pingpong\Modules\Repository;
class DashboardController extends AdminController
{
/**
* @param Repository $modules
*/
public function __construct(Repository $modules)
{
parent::__construct();
$this->bootWidgets($modules);
$this->addAssets();
}
/**
* Boot widgets for all enabled modules
* @param Repository $modules
*/
private function bootWidgets(Repository $modules)
{
foreach ($modules->enabled() as $module) {
if (!$module->widgets) {
continue;
}
foreach ($module->widgets as $widgetClass) {
app($widgetClass)->boot();
}
}
}
private function addAssets()
{
Asset::add(Config::get('dashboard.assets.admin-theme'));
}
/**
* Display the dashboard with its widgets
* @return \Illuminate\View\View
*/
public function index()
{
$customWidgets = json_encode(null);
return view('dashboard::admin.dashboard', compact('customWidgets'));
}
/**
* Save the current state of the widgets
* @param Request $request
* @return mixed
*/
public function save(Request $request)
{
$widgets = $request->get('grid');
if (empty($widgets)) {
return Response::json([false]);
}
return Response::json([true]);
}
/**
* Reset the grid for the current user
*/
public function reset()
{
return redirect()->route('dashboard.index')->with('success', trans('dashboard::dashboard.dashboard reset'));
}
}