first upload all files
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
@extends('admin::layout')
|
||||
|
||||
@component('admin::components.page.header')
|
||||
@slot('title', trans('admin::resource.create', ['resource' => trans('slider::sliders.slider')]))
|
||||
|
||||
<li><a href="{{ route('admin.sliders.index') }}">{{ trans('slider::sliders.sliders') }}</a></li>
|
||||
<li class="active">{{ trans('admin::resource.create', ['resource' => trans('slider::sliders.slider')]) }}</li>
|
||||
@endcomponent
|
||||
|
||||
@section('content')
|
||||
<form method="POST" action="{{ route('admin.sliders.store') }}" class="form-horizontal" id="slider-create-form" novalidate>
|
||||
{{ csrf_field() }}
|
||||
|
||||
{!! $tabs->render(compact('slider')) !!}
|
||||
</form>
|
||||
@endsection
|
||||
|
||||
@include('slider::admin.sliders.partials.shortcuts')
|
||||
20
Modules/Slider/Resources/views/admin/sliders/edit.blade.php
Normal file
20
Modules/Slider/Resources/views/admin/sliders/edit.blade.php
Normal file
@@ -0,0 +1,20 @@
|
||||
@extends('admin::layout')
|
||||
|
||||
@component('admin::components.page.header')
|
||||
@slot('title', trans('admin::resource.edit', ['resource' => trans('slider::sliders.slider')]))
|
||||
@slot('subtitle', $slider->name)
|
||||
|
||||
<li><a href="{{ route('admin.sliders.index') }}">{{ trans('slider::sliders.sliders') }}</a></li>
|
||||
<li class="active">{{ trans('admin::resource.edit', ['resource' => trans('slider::sliders.slider')]) }}</li>
|
||||
@endcomponent
|
||||
|
||||
@section('content')
|
||||
<form method="POST" action="{{ route('admin.sliders.update', $slider) }}" class="form-horizontal" id="slider-edit-form" novalidate>
|
||||
{{ csrf_field() }}
|
||||
{{ method_field('put') }}
|
||||
|
||||
{!! $tabs->render(compact('slider')) !!}
|
||||
</form>
|
||||
@endsection
|
||||
|
||||
@include('slider::admin.sliders.partials.shortcuts')
|
||||
36
Modules/Slider/Resources/views/admin/sliders/index.blade.php
Normal file
36
Modules/Slider/Resources/views/admin/sliders/index.blade.php
Normal file
@@ -0,0 +1,36 @@
|
||||
@extends('admin::layout')
|
||||
|
||||
@component('admin::components.page.header')
|
||||
@slot('title', trans('slider::sliders.sliders'))
|
||||
|
||||
<li class="active">{{ trans('slider::sliders.sliders') }}</li>
|
||||
@endcomponent
|
||||
|
||||
@component('admin::components.page.index_table')
|
||||
@slot('buttons', ['create'])
|
||||
@slot('resource', 'sliders')
|
||||
@slot('name', trans('slider::sliders.slider'))
|
||||
|
||||
@component('admin::components.table')
|
||||
@slot('thead')
|
||||
<tr>
|
||||
@include('admin::partials.table.select_all')
|
||||
|
||||
<th>{{ trans('slider::sliders.table.name') }}</th>
|
||||
<th data-sort>{{ trans('admin::admin.table.created') }}</th>
|
||||
</tr>
|
||||
@endslot
|
||||
@endcomponent
|
||||
@endcomponent
|
||||
|
||||
@push('scripts')
|
||||
<script>
|
||||
new DataTable('#sliders-table .table', {
|
||||
columns: [
|
||||
{ data: 'checkbox', orderable: false, searchable: false, width: '3%' },
|
||||
{ data: 'name', name: 'translations.name', orderable: false, defaultContent: '' },
|
||||
{ data: 'created', name: 'created_at' },
|
||||
],
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
@@ -0,0 +1,14 @@
|
||||
@push('shortcuts')
|
||||
<dl class="dl-horizontal">
|
||||
<dt><code>b</code></dt>
|
||||
<dd>{{ trans('admin::admin.shortcuts.back_to_index', ['name' => trans('slider::sliders.slider')]) }}</dd>
|
||||
</dl>
|
||||
@endpush
|
||||
|
||||
@push('scripts')
|
||||
<script>
|
||||
keypressAction([
|
||||
{ key: 'b', route: "{{ route('admin.sliders.index') }}" }
|
||||
]);
|
||||
</script>
|
||||
@endpush
|
||||
@@ -0,0 +1,7 @@
|
||||
<div class="form-group">
|
||||
<div class="col-md-10">
|
||||
<button type="submit" class="btn btn-primary" data-loading>
|
||||
{{ trans('admin::admin.buttons.save') }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,15 @@
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
{{ Form::text('name', trans('slider::attributes.name'), $errors, $slider, ['required' => true]) }}
|
||||
{{ Form::number('speed', trans('slider::attributes.speed'), $errors, $slider, ['placeholder' => trans('slider::sliders.form.300ms')]) }}
|
||||
{{ Form::checkbox('fade', trans('slider::attributes.fade'), trans('slider::sliders.form.use_fade_instead_of_slide'), $errors, $slider) }}
|
||||
{{ Form::checkbox('autoplay', trans('slider::attributes.autoplay'), trans('slider::sliders.form.enable_autoplay'), $errors, $slider, ['checked' => true]) }}
|
||||
|
||||
<div class="autoplay-speed-field {{ ($slider->autoplay ?? true) ? '' : 'hide' }}">
|
||||
{{ Form::number('autoplay_speed', trans('slider::attributes.autoplay_speed'), $errors, $slider, ['placeholder' => trans('slider::sliders.form.3000ms'), 'checked' => true]) }}
|
||||
</div>
|
||||
|
||||
{{ Form::checkbox('dots', trans('slider::attributes.dots'), trans('slider::sliders.form.show_dots'), $errors, $slider, ['checked' => true]) }}
|
||||
{{ Form::checkbox('arrows', trans('slider::attributes.arrows'), trans('slider::sliders.form.show_arrows'), $errors, $slider, ['checked' => true]) }}
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,17 @@
|
||||
<div id="slides-wrapper" class="clearfix">
|
||||
{{-- Slides will be added here dynamically using JS --}}
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<button type="button" class="add-slide btn btn-default m-l-15">
|
||||
{{ trans('slider::sliders.slide.add_slide') }}
|
||||
</button>
|
||||
</div>
|
||||
|
||||
@include('slider::admin.sliders.templates.slide')
|
||||
|
||||
@push('globals')
|
||||
<script>
|
||||
FleetCart.data['slider.slides'] = {!! old_json('slides', $slider->slides) !!};
|
||||
</script>
|
||||
@endpush
|
||||
@@ -0,0 +1,43 @@
|
||||
<div class="slide-options call-to-action">
|
||||
<h4>{{ trans("slider::sliders.slide.form.call_to_action") }}</h4>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="col-md-12 p-l-0">
|
||||
<label class="control-label col-lg-2 col-md-3 col-sm-3 col-xs-12 text-left p-l-0" for="call-to-action-delay">
|
||||
{{ trans("slider::attributes.call_to_action_delay") }}
|
||||
</label>
|
||||
|
||||
<div class="col-lg-4 col-md-7 col-sm-6 col-xs-7 p-l-0">
|
||||
<input type="number"
|
||||
name="slides[<%- slideNumber %>][options][call_to_action][delay]"
|
||||
class="form-control"
|
||||
id="call-to-action-delay"
|
||||
placeholder="{{ trans('slider::sliders.slide.form.0_7s') }}"
|
||||
value="<%- slide.options.call_to_action.delay %>"
|
||||
step="0.01"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="col-md-12 p-l-0">
|
||||
<label class="control-label col-lg-2 col-md-3 col-sm-3 col-xs-12 text-left p-l-0" for="call-to-action-effect">
|
||||
{{ trans("slider::attributes.call_to_action_effect") }}
|
||||
</label>
|
||||
|
||||
<div class="col-lg-4 col-md-7 col-sm-6 col-xs-7 p-l-0">
|
||||
<select name="slides[<%- slideNumber %>][options][call_to_action][effect]"
|
||||
class="form-control custom-select-black"
|
||||
id="call-to-action-effect"
|
||||
>
|
||||
@foreach (trans('slider::sliders.effects') as $effect => $name)
|
||||
<option value="{{ $effect }}" <%= slide.options.call_to_action.effect === '{{ $effect }}' ? 'selected' : '' %>>
|
||||
{{ $name }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,43 @@
|
||||
<div class="slide-options caption-{{ $captionNumber }}">
|
||||
<h4>{{ trans("slider::sliders.slide.form.caption_{$captionNumber}") }}</h4>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="col-md-12 p-l-0">
|
||||
<label class="control-label col-lg-2 col-md-3 col-sm-3 col-xs-12 text-left p-l-0" for="slides-<%- slideNumber %>-caption-{{ $captionNumber }}-delay">
|
||||
{{ trans("slider::attributes.caption_{$captionNumber}_delay") }}
|
||||
</label>
|
||||
|
||||
<div class="col-lg-4 col-md-7 col-sm-6 col-xs-7 p-l-0">
|
||||
<input type="number"
|
||||
name="slides[<%- slideNumber %>][options][caption_{{ $captionNumber }}][delay]"
|
||||
class="form-control"
|
||||
id="slides-<%- slideNumber %>-caption-{{ $captionNumber }}-delay"
|
||||
placeholder="{{ trans('slider::sliders.slide.form.' . ($captionNumber === 1 ? '0s' : '0_3s')) }}"
|
||||
value="<%- slide.options.caption_{{ $captionNumber }}.delay %>"
|
||||
step="0.01"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="col-md-12 p-l-0">
|
||||
<label class="control-label col-lg-2 col-md-3 col-sm-3 col-xs-12 text-left p-l-0" for="slides-<%- slideNumber %>-caption-{{ $captionNumber }}-effect">
|
||||
{{ trans("slider::attributes.caption_{$captionNumber}_effect") }}
|
||||
</label>
|
||||
|
||||
<div class="col-lg-4 col-md-7 col-sm-6 col-xs-7 p-l-0">
|
||||
<select name="slides[<%- slideNumber %>][options][caption_{{ $captionNumber }}][effect]"
|
||||
class="form-control custom-select-black"
|
||||
id="slides-<%- slideNumber %>-caption-{{ $captionNumber }}-effect"
|
||||
>
|
||||
@foreach (trans('slider::sliders.effects') as $effect => $name)
|
||||
<option value="{{ $effect }}" <%= slide.options.caption_{{ $captionNumber }}.effect === '{{ $effect }}' ? 'selected' : '' %>>
|
||||
{{ $name }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,166 @@
|
||||
<script type="text/html" id="slide-template">
|
||||
<div class="slide">
|
||||
<div class="slide-header clearfix">
|
||||
<span class="slide-drag pull-left">
|
||||
<i class="fa"></i>
|
||||
<i class="fa"></i>
|
||||
</span>
|
||||
|
||||
<span class="pull-left">
|
||||
{{ trans('slider::sliders.slide.image_slide') }}
|
||||
</span>
|
||||
|
||||
<button type="button" class="delete-slide btn pull-right">
|
||||
<i class="fa fa-times"></i>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="slide-body">
|
||||
<input type="hidden" name="slides[<%- slideNumber %>][id]" value="<%- slide.id %>">
|
||||
|
||||
<div class="slide-image" data-slide-number="<%- slideNumber %>">
|
||||
<% if (slide.file && slide.file.path) { %>
|
||||
<img src="<%- slide.file.path %>" alt="slide-image">
|
||||
<input type="hidden" name="slides[<%- slideNumber %>][file_id]" value="<%- slide.file.id %>">
|
||||
<% } else { %>
|
||||
<i class="fa fa-picture-o"></i>
|
||||
<% } %>
|
||||
</div>
|
||||
|
||||
<div class="slide-tabs tab-wrapper">
|
||||
<ul class="nav nav-tabs">
|
||||
<li class="active">
|
||||
<a href="#slides-<%- slideNumber %>-general" data-toggle="tab">
|
||||
{{ trans('slider::sliders.slide.form.tabs.general') }}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#slider-<%- slideNumber %>-options" data-toggle="tab">
|
||||
{{ trans('slider::sliders.slide.form.tabs.options') }}
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="tab-content">
|
||||
<div id="slides-<%- slideNumber %>-general" class="general tab-pane fade in active">
|
||||
<div class="row">
|
||||
<div class="col-lg-4 col-md-6">
|
||||
<div class="form-group">
|
||||
<label for="slides-<%- slideNumber %>-caption-1">
|
||||
{{ trans('slider::attributes.caption_1') }}
|
||||
</label>
|
||||
|
||||
<input type="text"
|
||||
name="slides[<%- slideNumber %>][caption_1]"
|
||||
class="form-control"
|
||||
id="slides-<%- slideNumber %>-caption-1"
|
||||
value="<%- slide.caption_1 %>"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-4 col-md-6">
|
||||
<div class="form-group">
|
||||
<label for="slides-<%- slideNumber %>-caption-2">
|
||||
{{ trans('slider::attributes.caption_2') }}
|
||||
</label>
|
||||
|
||||
<input type="text"
|
||||
name="slides[<%- slideNumber %>][caption_2]"
|
||||
class="form-control"
|
||||
id="slides-<%- slideNumber %>-caption-2"
|
||||
value="<%- slide.caption_2 %>"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-4 col-md-6">
|
||||
<div class="form-group">
|
||||
<label for="slides-<%- slideNumber %>-direction">
|
||||
{{ trans('slider::attributes.direction') }}
|
||||
</label>
|
||||
|
||||
<select
|
||||
name="slides[<%- slideNumber %>][direction]"
|
||||
class="form-control"
|
||||
id="slides-<%- slideNumber %>-direction"
|
||||
value="<%- slide.direction %>"
|
||||
>
|
||||
<option value="left" <%= slide.direction === 'left' ? 'selected' : '' %>>
|
||||
{{ trans('slider::sliders.slide.form.directions.left') }}
|
||||
</option>
|
||||
|
||||
<option value="right" <%= slide.direction === 'right' ? 'selected' : '' %>>
|
||||
{{ trans('slider::sliders.slide.form.directions.right') }}
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-4 col-md-6">
|
||||
<div class="form-group">
|
||||
<label for="slides[<%- slideNumber %>][call-to-action-text]">
|
||||
{{ trans('slider::attributes.call_to_action_text') }}
|
||||
</label>
|
||||
|
||||
<input type="text"
|
||||
name="slides[<%- slideNumber %>][call_to_action_text]"
|
||||
class="form-control"
|
||||
id="slides[<%- slideNumber %>][call-to-action-text]"
|
||||
value="<%- slide.call_to_action_text %>"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-4 col-md-6">
|
||||
<div class="form-group">
|
||||
<label for="slides-<%- slideNumber %>-call-to-action-url">
|
||||
{{ trans('slider::attributes.call_to_action_url') }}
|
||||
</label>
|
||||
|
||||
<input type="text"
|
||||
name="slides[<%- slideNumber %>][call_to_action_url]"
|
||||
class="form-control"
|
||||
id="slides-<%- slideNumber %>-call-to-action-url"
|
||||
value="<%- slide.call_to_action_url %>"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-4 col-md-12">
|
||||
<div class="checkbox">
|
||||
<input type="hidden" name="slides[<%- slideNumber %>][open_in_new_window]" value="0">
|
||||
|
||||
<input type="checkbox"
|
||||
name="slides[<%- slideNumber %>][open_in_new_window]"
|
||||
value="1"
|
||||
id="slides-<%- slideNumber %>-open-in-new-window"
|
||||
<%= slide.open_in_new_window ? 'checked' : '' %>
|
||||
>
|
||||
|
||||
<label for="slides-<%- slideNumber %>-open-in-new-window">
|
||||
{{ trans('slider::attributes.open_in_new_window') }}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="slider-<%- slideNumber %>-options" class="tab-pane fade in clearfix">
|
||||
<select class="change-option-block custom-select-black pull-right">
|
||||
<option value="caption-1" selected>{{ trans('slider::sliders.slide.form.caption_1') }}</option>
|
||||
<option value="caption-2">{{ trans('slider::sliders.slide.form.caption_2') }}</option>
|
||||
<option value="call-to-action">{{ trans('slider::sliders.slide.form.call_to_action') }}</option>
|
||||
</select>
|
||||
|
||||
@include('slider::admin.sliders.templates.partials.slide_caption', ['captionNumber' => 1])
|
||||
@include('slider::admin.sliders.templates.partials.slide_caption', ['captionNumber' => 2])
|
||||
@include('slider::admin.sliders.templates.partials.slide_call_to_action')
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</script>
|
||||
Reference in New Issue
Block a user