FEATURE #2042: refactorize widgets

This commit is contained in:
Michal Kváček
2017-04-24 00:01:03 +02:00
parent 4a5c9ab1e6
commit e262473f36
23 changed files with 336 additions and 289 deletions
@@ -6,53 +6,60 @@
<div class="row">
<div class="col-lg-8">
@if (count($areas) > 0)
<table class="table item-list table-striped">
<tr>
<th>@lang('admin/widgetAreas.name')</th>
<th>@lang('admin/widgetAreas.uniqueCode')</th>
<th>@lang('admin/widgetAreas.description')</th>
<th>@lang('admin/widgetAreas.actions')</th>
</tr>
@foreach($areas as $area)
<tr>
<td><a href="{{route('widgetareas.edit', ['id' => $area->id])}}">{{$area->name}}</a></td>
<td><a href="{{route('widgetareas.edit', ['id' => $area->id])}}">{{$area->code}}</a></td>
<td>{{str_limit($area->description, 100)}}</td>
<td class="text-center">
<div class="item-actions-dropdown">
<a class="item-actions-toggle-btn">
<span class="inactive"><i class="fa fa-cog"></i></span>
<span class="active"><i class="fa fa-chevron-circle-right"></i></span>
</a>
<div class="item-actions-block">
<ul class="item-actions-list">
<li>
<a class="edit" data-toggle="tooltip"
title="@lang('admin/widgetAreas.editTooltip')"
href="{{route('widgetareas.edit', ['id' => $area->id])}}"><i
class="fa fa-pencil"></i></a>
</li>
<li>
<a href="{{route('widgets.associate', ['widgetArea' => $area->id])}}"
data-toggle="tooltip"
title="@lang('admin/widgetAreas.associateWidgets')">
<i class="fa fa-plus"></i></a>
</li>
@if($area->deletable)
<li>
<a class="confirm remove" data-toggle="tooltip" title="@lang('admin/widgetAreas.delete')"
href="{{route('widgetareas.delete', ['id' => $area->id])}}"><i
class="fa fa-trash"></i></a>
</li>
@endif
<div class="card items">
<div class="card-block">
<table class="table item-list table-striped">
<tr>
<th>@lang('admin/widgetAreas.name')</th>
<th>@lang('admin/widgetAreas.uniqueCode')</th>
<th>@lang('admin/widgetAreas.description')</th>
<th>@lang('admin/widgetAreas.actions')</th>
</tr>
@foreach($areas as $area)
<tr>
<td><a href="{{route('widgetareas.edit', ['id' => $area->id])}}">{{$area->name}}</a>
</td>
<td><a href="{{route('widgetareas.edit', ['id' => $area->id])}}">{{$area->code}}</a>
</td>
<td>{{str_limit($area->description, 100)}}</td>
<td class="text-center">
<div class="item-actions-dropdown">
<a class="item-actions-toggle-btn">
<span class="inactive"><i class="fa fa-cog"></i></span>
<span class="active"><i class="fa fa-chevron-circle-right"></i></span>
</a>
<div class="item-actions-block">
<ul class="item-actions-list">
<li>
<a class="edit" data-toggle="tooltip"
title="@lang('admin/widgetAreas.editTooltip')"
href="{{route('widgetareas.edit', ['id' => $area->id])}}"><i
class="fa fa-pencil"></i></a>
</li>
<li>
<a href="{{route('widgets.associate', ['widgetArea' => $area->id])}}"
data-toggle="tooltip"
title="@lang('admin/widgetAreas.associateWidgets')">
<i class="fa fa-plus"></i></a>
</li>
@if($area->deletable)
<li>
<a class="confirm remove" data-toggle="tooltip"
title="@lang('admin/widgetAreas.delete')"
href="{{route('widgetareas.delete', ['id' => $area->id])}}"><i
class="fa fa-trash"></i></a>
</li>
@endif
</ul>
</div>
</div>
</td>
</tr>
@endforeach
</table>
</ul>
</div>
</div>
</td>
</tr>
@endforeach
</table>
</div>
</div>
@else
<div class="alert alert-info">
<em>@lang('admin/widgetAreas.noEntries')</em>
@@ -60,9 +67,16 @@
@endif
</div>
<div class="col-lg-4">
<h3>@lang('admin/widgetAreas.new')</h3>
@include('admin.widgets.area.form', ['action' => route('widgetareas.postNew'), 'area' => new \App\Models\Widgets\WidgetArea()])
<div class="card items">
<div class="card-header">
<div class="header-block">
<h3 class="title">@lang('admin/widgetAreas.new')</h3>
</div>
</div>
<div class="card-block">
@include('admin.widgets.area.form', ['action' => route('widgetareas.postNew'), 'area' => new \App\Models\Widgets\WidgetArea()])
</div>
</div>
</div>
</div>
@@ -2,6 +2,12 @@
@section('pageHeading', @trans('widgets/htmlCode.edit', ['name' => $widget->name]))
@section('headerButtons')
<a href="{{route('widgets.overview')}}" class="btn btn-secondary btn-sm rounded" title="@lang('admin/widgets.overview')">
<i class="fa fa-list"></i>
</a>
@endsection
@section('content')
<div class="col-lg-8">
@include('admin.widgets.htmlCode.form', ['action' => route('widgets.postEdit', ['id' => $widget->id])])
@@ -2,11 +2,16 @@
@section('pageHeading', @trans('widgets/menu.edit', ['name' => $widget->name]))
@section('headerButtons')
<a href="{{route('widgets.overview')}}" class="btn btn-secondary btn-sm rounded" title="@lang('admin/widgets.overview')">
<i class="fa fa-list"></i>
</a>
@endsection
@section('content')
<div class="row">
<div class="col-lg-8">
@include('admin.widgets.menu.form', ['formAction' => route('widgets.postEdit', ['id' => $widget->id])])
</div>
<div class="col-lg-4">
<h3>@lang('widgets/menu.preview')</h3>
@@ -14,5 +19,5 @@
@widgetPreview($widget)
</div>
</div>
@stop
@endsection
@@ -1,5 +1,5 @@
<form action="{{$formAction}}" id="widget-menu" method="POST">
<input type="hidden" name="settings" id="widgetSettings" value="{{json_encode($widget->settings->links)}}" />
<input type="hidden" name="settings" id="widgetSettings" value="{{json_encode($links)}}" />
@include('admin.widgets.snippets.commonForm')
@@ -8,7 +8,7 @@
<h3>@lang('widgets/menu.addedPages')</h3>
<div id="menu-items-container">
@foreach($widget->settings->links as $pageId => $details)
@foreach($links as $pageId => $details)
<span class="added-menu-item btn btn-sm btn-info" data-page-id="{{$pageId}}"
id="item-{{$pageId}}">{{$details->text}}</span>
@endforeach
@@ -20,7 +20,7 @@
@foreach ($pages as $page)
<a href="#"
class="btn btn-sm menu-item @if(isset($widget->settings->links->{$page->id})) btn-secondary @else btn-info @endif "
class="btn btn-sm menu-item @if(isset($links->{$page->id})) btn-secondary @else btn-info @endif "
data-page-url="{{$page->url}}" data-page-id="{{$page->id}}"
id="page-{{$page->id}}">{{$page->title}}</a>
@endforeach
@@ -3,56 +3,69 @@
@section('pageHeading', @trans('admin/widgets.overview'))
@section('pageDescription', @trans('admin/widgets.descriptionOfWidgets'))
@section('headerButtons')
<a href="{{route('widgetareas.overview')}}" class="btn btn-secondary btn-sm rounded"
title="@lang('admin/widgetAreas.overview')">
<i class="fa fa-object-group"></i>
</a>
@endsection
@section('content')
@if (count($widgets))
<table class="table table-striped item-list">
<tr>
<th>@lang('admin/widgets.widgetType')</th>
<th>@lang('admin/widgets.name')</th>
<th>@lang('admin/widgets.description')</th>
<th>@lang('admin/widgets.actions')</th>
</tr>
@foreach($widgets as $widget)
<tr>
<td>{{trans(call_user_func([$widget->widget_type_handler, 'getName']))}}</td>
<td><a href="{{route('widgets.edit', ['id' => $widget->id])}}">{{$widget->name}}</a></td>
<td>{{$widget->description}}</td>
<td class="text-center">
<div class="card items">
<div class="card-block">
<table class="table table-striped item-list">
<tr>
<th>@lang('admin/widgets.name')</th>
<th>@lang('admin/widgets.widgetType')</th>
<th>@lang('admin/widgets.description')</th>
<th>@lang('admin/widgets.actions')</th>
</tr>
@foreach($widgets as $widget)
<tr>
<td><a href="{{route('widgets.edit', ['id' => $widget->id])}}">{{$widget->name}}</a></td>
<td>{{trans(call_user_func([$widget->widget_type_handler, 'getName']))}}</td>
<td>{{$widget->description}}</td>
<td class="text-center">
<div class="item-actions-dropdown">
<a class="item-actions-toggle-btn">
<span class="inactive"><i class="fa fa-cog"></i></span>
<span class="active"><i class="fa fa-chevron-circle-right"></i></span>
</a>
<div class="item-actions-block">
<ul class="item-actions-list">
<li>
<a class="edit" data-toggle="tooltip"
title="@lang('admin/widgets.editTooltip')"
href="{{route('widgets.edit', ['id' => $widget->id])}}"><i
class="fa fa-pencil"></i></a>
</li>
<div class="item-actions-dropdown">
<a class="item-actions-toggle-btn">
<span class="inactive"><i class="fa fa-cog"></i></span>
<span class="active"><i class="fa fa-chevron-circle-right"></i></span>
</a>
<div class="item-actions-block">
<ul class="item-actions-list">
<li>
<a class="edit" data-toggle="tooltip"
title="@lang('admin/widgets.editTooltip')"
href="{{route('widgets.edit', ['id' => $widget->id])}}"><i
class="fa fa-pencil"></i></a>
</li>
@if($widget->deletable)
<li>
<a class="confirm remove" data-toggle="tooltip"
title="@lang('admin/widgets.delete')"
href="{{route('widgets.delete', ['id' => $widget->id])}}"><i
class="fa fa-trash"></i></a>
</li>
@endif
@if($widget->deletable)
<li>
<a class="confirm remove" data-toggle="tooltip"
title="@lang('admin/widgets.delete')"
href="{{route('widgets.delete', ['id' => $widget->id])}}"><i
class="fa fa-trash"></i></a>
</li>
@endif
</ul>
</div>
</div>
</ul>
</div>
</div>
</td>
</tr>
@endforeach
</table>
</td>
</tr>
@endforeach
</table>
</div>
<div class="card-footer">
{!! $widgets->render() !!}
</div>
</div>
{!! $widgets->render() !!}
@else
<div class="alert alert-info">
<em>@lang('admin/widgets.noEntries')</em>
@@ -1,4 +1,6 @@
{!! csrf_field() !!}
<input type="hidden" name="id" value="{{$widget->id}}">
<label class="label-control">
@lang('widgets/common.name')
</label>
@@ -20,6 +22,8 @@
<input class="form-control" type="text" name="containerClass" placeholder="@lang('widgets/common.containerClass')"
value="{{old('containerClass', $widget->container_class)}}" />
@include('admin.snippets.hasError', ['field' => 'containerClass'])
</div>
<div class="col-md-6">
<label class="label-control">
@@ -28,6 +32,8 @@
<input class="form-control" type="text" name="containerId" placeholder="@lang('widgets/common.containerId')"
value="{{old('containerId', $widget->container_id)}}" />
@include('admin.snippets.hasError', ['field' => 'containerId'])
</div>
</div>