Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
webbingbrasil/dashboard-module / Http / Controllers / Admin / DashboardController.php
Size: Mime:
<?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'));
    }
}