FEATURE #1421: add widget area overview

This commit is contained in:
Michal Kváček
2016-02-15 10:27:21 +01:00
parent 012b8b7588
commit b290fb3ff5
5 changed files with 103 additions and 0 deletions
@@ -0,0 +1,24 @@
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Http\Requests;
use App\Models\WidgetArea;
class WidgetAreaOverview extends Controller
{
/**
* List of all widget area. Displayed paginated
*
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/
public function getOverview()
{
// get widget areas ordered by created_at
$areas = WidgetArea::orderBy('created_at', 'DESC')
->paginate(25);
return view('admin.widgets.area.overview', ['areas' => $areas]);
}
}
@@ -60,6 +60,11 @@ class FoundationDrilldownMenuPresenter extends Presenter
return '<li class="divider"></li>' . PHP_EOL; return '<li class="divider"></li>' . PHP_EOL;
} }
public function getMultiLevelDropdownWrapper($item)
{
return $this->getMenuWithDropDownWrapper($item);
}
/** /**
* {@inheritdoc } * {@inheritdoc }
*/ */
+7
View File
@@ -37,6 +37,13 @@ class AdminMenusProvider extends ServiceProvider
$sub->route('upload.image', trans('admin/mainMenu.uploadImage'), [], 50, ['icon' => 'fa fa-image']); $sub->route('upload.image', trans('admin/mainMenu.uploadImage'), [], 50, ['icon' => 'fa fa-image']);
$sub->route('upload.overview', trans('admin/mainMenu.uploadedFiles'), [], 150, ['icon' => 'fa fa-files-o']); $sub->route('upload.overview', trans('admin/mainMenu.uploadedFiles'), [], 150, ['icon' => 'fa fa-files-o']);
}, 25, ['icon' => 'fa fa-film']); }, 25, ['icon' => 'fa fa-film']);
$menu->dropdown(trans('admin/mainMenu.widgets'), function ($sub) {
// menu for widget areas
$sub->dropdown(trans('admin/mainMenu.widgetAreas'), function ($sub) {
$sub->route('widgetareas.new', trans('admin/mainMenu.newWidgetArea'), [], 1, ['icon' => 'fa fa-plus']);
$sub->route('widgetareas.overview', trans('admin/mainMenu.widgetAreaOverview'), [], 2, ['icon' => 'fa fa-list']);
}, 50, ['icon' => 'fa fa-object-group']);
}, 28, ['icon' => 'fa fa-gears']);
$menu->dropdown(trans('admin/mainMenu.customFields'), function ($sub) { $menu->dropdown(trans('admin/mainMenu.customFields'), function ($sub) {
$sub->route('customfields.new', trans('admin/mainMenu.customFieldsNew'), [], 10, ['icon' => 'fa fa-code']); $sub->route('customfields.new', trans('admin/mainMenu.customFieldsNew'), [], 10, ['icon' => 'fa fa-code']);
$sub->route('customfields.overview', trans('admin/mainMenu.customFieldsOverview'), [], 50, ['icon' => 'fa fa-code-fork']); $sub->route('customfields.overview', trans('admin/mainMenu.customFieldsOverview'), [], 50, ['icon' => 'fa fa-code-fork']);
+5
View File
@@ -17,4 +17,9 @@ return [
'actionLog' => 'Log', 'actionLog' => 'Log',
'widgets' => 'Widgets', 'widgets' => 'Widgets',
'newWidgetArea' => 'New area', 'newWidgetArea' => 'New area',
'widgetAreaOverview' => 'List of all areas',
'newWidget' => 'New widget',
'widgetAreas' => 'Widget areas',
'widgetsOverview' => 'All widgets',
'assignWidgets' => 'Assign widgets'
]; ];
@@ -0,0 +1,62 @@
@extends('admin.layout')
@section('pageName', @trans('admin/widgetAreas.overview'))
@section('content')
<div class="row">
<h2>@lang('admin/widgetAreas.overview')</h2>
</div>
<div class="row">
@if (session('success'))
<div class="callout success">
{{ session('success') }}
</div>
@endif
@if (session('error'))
<div class="callout alert">
{{ session('error') }}
</div>
@endif
<div class="column large-8">
@if (count($areas) > 0)
<table class="full-width">
<tr>
<th>@lang('admin/widgetAreas.name')</th>
<th>@lang('admin/widgetAreas.code')</th>
<th>@lang('admin/widgetAreas.description')</th>
<th>@lang('admin/widgetAreas.actions')</th>
</tr>
@foreach($areas as $area)
<tr>
<td>{{$area->name}}</td>
<td>{{$area->code}}</td>
<td>{{str_limit($area->description, 100)}}</td>
<td class="text-center">
<a href="{{route('widgets.associate', ['widgetArea' => $area->id])}}"><i class="fa fa-plus"></i></a>
<a href="{{route('widgetareas.edit', ['id' => $area->id])}}"><i class="fa fa-edit"></i></a>
<a href="{{route('widgetareas.delete', ['id' => $area->id])}}"><i
class="fa fa-remove confirm"></i></a>
</td>
</tr>
@endforeach
</table>
@else
<em>@lang('admin/widgetAreas.noEntries')</em>
@endif
</div>
<div class="column large-4">
<h3>@lang('admin/widgetAreas.new')</h3>
@include('admin.widgets.area.newForm', ['hideMessages' => true])
</div>
</div>
<div class="row pagination">
{!! $areas->render() !!}
</div>
@stop