FEATURE: add settings for displaying/hiding bullets in slider

This commit is contained in:
Michal Kváček
2016-04-02 10:15:13 +02:00
parent 9f4cc158db
commit 307dbe0459
7 changed files with 49 additions and 25 deletions
+1
View File
@@ -81,6 +81,7 @@ class OrbitSlider implements PublicWidget
$settings = [
'directoryId' => $directory->id,
'imagePerSlide' => $request->imagePerSlide,
'displayBullets' => $request->has('displayBullets'),
'sliderClass' => isset($request->containerClass) ? $request->containerClass : '',
'slideContainerClass' => isset($request->slideContainerClass) ? $request->slideContainerClass : '',
'code' => $request->code
@@ -19,8 +19,12 @@ class OrbitSlider implements WidgetRenderer
$settings->slideContainerClass = '';
}
if (!isset($settings->imagesPerSlide)) {
$settings->imagesPerSlide = 4;
if (!isset($settings->displayBullets)) {
$settings->displayBullets = true;
}
if (!isset($settings->imagePerSlide)) {
$settings->imagePerSlide = 4;
}
if (!isset($settings->directoryId)) {
@@ -96,6 +100,7 @@ class OrbitSlider implements WidgetRenderer
return view('admin.widgets.orbitSlider.new', [
'type' => $type,
'widget' => $widget,
'settings' => $settings,
'availableColumns' => self::getAvailableColumns()
]);
}
@@ -6,6 +6,7 @@ return [
'description' => 'Slider description',
'containerClass' => 'Extra HTML class for slider',
'slideContainerClass' => 'Extra HTML class for each slide',
'displayBullets' => 'Display bullets?',
'createNew' => 'Create new',
'new' => 'Create new orbit slider',
'edit' => 'Edit slider :name',
@@ -7,8 +7,7 @@
<div class="row">
<div class="column large-8">
@include('admin.widgets.orbitSlider.form')
@include('admin.widgets.orbitSlider.form', ['formAction' => route('widgets.postEdit', ['id' => $widget->id])])
</div>
<div class="column large-4">
<h3>@lang('widgets/orbitSlider.preview')</h3>
@@ -12,7 +12,7 @@
@endif
@endif
<form action="{{route('widgets.postEdit', ['id' => $widget->id])}}" method="POST">
<form action="{{$formAction}}" method="POST">
{!! csrf_field() !!}
<label>
@lang('widgets/orbitSlider.name')
@@ -40,18 +40,35 @@
@endif
</label>
<div class="row">
<div class="column large-10">
<label>
@lang('widgets/orbitSlider.imagesPerSlide')
<select name="imagePerSlide">
@foreach($availableColumns as $value => $name)
<option value="{{$value}}"
@if (old('imagesPerSlide', $settings->imagesPerSlide) == $value) selected="selected" @endif>
@if (old('imagePerSlide', $settings->imagePerSlide) == $value) selected="selected" @endif>
{{$name}}
</option>
@endforeach
</select>
</label>
</div>
<div class="column large-2 text-center">
<label>@lang('widgets/orbitSlider.displayBullets')</label>
<div class="switch">
<input class="switch-input" id="displayBullets" type="checkbox"
@if($settings->displayBullets) checked="checked" @endif name="displayBullets">
<label class="switch-paddle" for="displayBullets">
<span class="show-for-sr">@lang('widgets/orbitSlider.displayBullets')</span>
</label>
</div>
</div>
</div>
<h4>@lang('widgets/orbitSlider.extraSettings')</h4>
@@ -102,4 +119,3 @@
<button type="submit" class="button success">@lang('widgets/orbitSlider.editExisting')</button>
</form>
@@ -5,6 +5,6 @@
@section('content')
<h1>@lang('widgets/orbitSlider.new')</h1>
@include('admin.widgets.orbitSlider.form')
@include('admin.widgets.orbitSlider.form', ['formAction' => route('widgets.postNew', ['type' => $type])])
@stop
@@ -30,12 +30,14 @@
@endfor
@endif
</ul>
@if ($settings->displayBullets)
<nav class="orbit-bullets">
@for($i = 0; $i < $slidesCount; $i++)
<button @if($i == 0) class="is-active" @endif data-slide="{{$i}}"></button>
@endfor
</nav>
@endif
{!! $settings->code !!}
</div>