sidebar in cms

This commit is contained in:
Kevin Adametz 2019-02-14 13:49:53 +01:00
parent ed80b25b85
commit 30d5ca3b44
10 changed files with 969 additions and 378 deletions

View file

@ -16,9 +16,7 @@
<th>{{__('Parent')}}</th>
<th>{{__('Date')}}</th>
<th>{{__('sichtbar')}}</th>
{{--
<th></th>
--}}
<th>#</th>
</tr>
</thead>
<tbody>

View file

@ -0,0 +1,162 @@
@extends('layouts.layout-2')
@section('content')
<h4 class="font-weight-bold py-3 mb-1">
Sidebar Widget verwalten
</h4>
{!! Form::open(['url' => route('cms_sidebar_detail', [$id]), 'class' => 'form-horizontal']) !!}
<input type="hidden" name="id" id="id" value="{{$id}}">
<!-- draft -->
<div class="card mb-2">
<div class="card-body">
<div class="form-row">
<div class="form-group col-sm-8">
<label class="form-label" for="widget_title">{{ __('Name') }}*</label>
{{ Form::text('name', $widget->name, array('placeholder'=>__('Name'), 'class'=>'form-control', 'id'=>'widget_name', 'required'=>true)) }}
</div>
<div class="form-group col-sm-4">
<label class="custom-control custom-checkbox float-right">
{!! Form::checkbox('active', 1, $widget->active, ['class'=>'custom-control-input']) !!}
<span class="custom-control-label">{{__('aktiv')}}</span>
</label>
<label for="widget_pos" class="form-label">{{__('Position')}}</label>
{{ Form::text('pos', $widget->pos, array('placeholder'=>__('pos'), 'class'=>'form-control', 'id'=>'widget_pos')) }}
</div>
</div>
<div class="form-row">
<div class="form-group col-sm-12">
<label class="form-label" for="component">{{ __('Komponente') }}</label>
<select class="selectpicker" data-style="btn-default" name="component">
{!! \App\Models\SidebarWidget::getComponentsOptions($widget->component) !!}
</select>
</div>
</div>
<div class="form-row">
<div class="form-group col-sm-12">
<label class="form-label" for="html">{{ __('HTML') }}</label>
{{ Form::textarea('html', $widget->html, ['class' => 'form-control']) }}
</div>
</div>
<div class="form-row">
<div class="form-group col-sm-12">
<label class="form-label" for="show_at">{{ __('Sichtbar') }}</label>
<select class="selectpicker" data-style="btn-default" name="show_at[]" multiple>
{!! \App\Models\SidebarWidget::getShowsOptions($widget->show_at) !!}
</select>
</div>
</div>
</div>
</div>
<div class="text-left mt-3">
<button type="submit" name="action" value="saveAll" class="btn btn-submit">{{ __('save changes') }}</button>&nbsp;
<a href="{{route('cms_sidebar')}}" class="btn btn-default">{{ __('back') }}</a>
</div>
{!! Form::close() !!}
{{--
<!-- Modal template -->
<div class="modal fade" id="modals-class">
<div class="modal-dialog">
<form class="modal-content" action="{{ route('travel_program_class_update') }}" method="post">
@csrf
<input type="hidden" class="form-control" name="id">
<input type="hidden" class="form-control" name="program_id" value="{{$widget->id}}">
<div class="modal-header">
<h5 class="modal-title">Programm Katagorie/Klassen <span class="font-weight-light">anlegen/bearbeiten</span></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
</div>
<div class="modal-body">
<div class="form-row">
<div class="form-group col">
<label class="custom-control custom-checkbox float-right">
<input type="checkbox" class="custom-control-input" name="standard" checked>
<span class="custom-control-label">{{__('Standard')}}</span>
</label>
<label for="name" class="form-label">Name*</label>
<input type="text" class="form-control" name="name" placeholder="{{__('Description')}}" required>
</div>
</div>
<div class="form-row">
<div class="form-group col">
<label for="description" class="form-label">Beschreibung</label>
<input type="text" class="form-control" name="description" placeholder="{{__('Description')}}">
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">{{__('close')}}</button>
<button type="submit" class="btn btn-primary">{{__('save')}}</button>
</div>
</form>
</div>
</div>
<!-- Modal template -->
<div class="modal fade" id="modals-draft">
<div class="modal-dialog">
<form class="modal-content" action="{{ route('travel_program_draft_update') }}" method="post">
@csrf
<input type="hidden" class="form-control" name="id">
<input type="hidden" class="form-control" name="travel_program_id" value="{{$widget->id}}">
<div class="modal-header">
<h5 class="modal-title">Vorlage Reiseprogramm <span class="font-weight-light">zuordnen</span></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
</div>
<div class="modal-body">
<div class="form-row">
<div class="form-group col">
<label for="draft_id" class="form-label">{{__('Vorlage')}}</label>
<select class="selectpicker" data-style="btn-default" name="draft_id" data-live-search="true" required>
{!! HTMLHelper::getDraftOptions() !!}
</select>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">{{__('close')}}</button>
<button type="submit" class="btn btn-primary">{{__('save')}}</button>
</div>
</form>
</div>
</div>
<script>
$( document ).ready(function() {
$('#modals-class').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget);
$(this).find(".modal-content input[name='id']").val(button.data('id'));
$(this).find(".modal-body input[name='name']").val(button.data('name'));
$(this).find(".modal-body input[name='description']").val(button.data('description'));
$(this).find(".modal-body input[name='standard']").prop( "checked", button.data('standard'));
});
$('#modals-draft').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget);
$(this).find(".modal-content input[name='id']").val(button.data('id'));
$(this).find(".modal-body select[name='draft_id']").val(button.data('draft_id'));
$(this).find(".modal-body select[name='travel_class_id']").val(button.data('travel_class_id'));
$(this).find(".modal-body select[name='weekdays[]']").val(button.data('weekdays'));
$('.selectpicker').selectpicker('refresh');
});
});
</script>
--}}
@endsection

View file

@ -0,0 +1,102 @@
@extends('layouts.layout-2')
@section('content')
<h4 class="font-weight-bold py-3 mb-4">
{{ __('Sidebar') }}
</h4>
<div class="card">
<div class="card-datatable table-responsive">
<table class="datatables-feedbacks table table-striped table-bordered">
<thead>
<tr>
<th style="max-width: 60px;">&nbsp;</th>
<th>{{__('Name')}}</th>
<th>{{__('Sichbar')}}</th>
<th>{{__('Pos.')}}</th>
<th>{{__('sichtbar')}}</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach($widgets as $value)
<tr>
<td>
<a href="{{ route('cms_sidebar_detail', [$value->id]) }}" class="btn icon-btn btn-sm btn-primary">
<span class="far fa-edit"></span>
</a>
</td>
<td>
<a href="{{ route('cms_sidebar_detail', [$value->id]) }}">{{ $value->name }}</a>
</td>
<td>{{ $value->getShowsAtString() }}</td>
<td>
{{ $value->pos }}
</td>
<td data-sort="{{ $value->status }}">
@if($value->active)
<span class="badge badge-pill badge-success"><i class="far fa-check"></i></span>
@else
<span class="badge badge-pill badge-danger"><i class="far fa-times"></i></span>
@endif
</td>
<td>
<a class="text-danger" href="{{ route('cms_sidebar_delete', [$value->id]) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="far fa-trash-alt"></i></a>
</td>
</tr>
@endforeach
</tbody>
</table>
<div class="mt-4 col">
<a href="{{ route('cms_sidebar_detail', ['new']) }}" class="btn btn-sm btn-primary">Neues Sidbar Widget anlegen</a>
</div>
</div>
<script>
$( document ).ready(function() {
$('.datatables-feedbacks').dataTable({
"bLengthChange": false,
"iDisplayLength": 50,
"language": {
"url": "/js/German.json"
},
initComplete: function () {
this.api().columns(2).every( function () {
console.log(this.title);
var column = this;
var title = $(column.header()).html();
var select = $('<select class="selectpicker"><option value="">'+title+'</option></select>')
.appendTo( $(column.header()).empty() )
.on( 'change', function () {
var val = $.fn.dataTable.util.escapeRegex(
$(this).val()
);
console.log(val);
column
.search( val ? ''+val+'' : '', true, false )
.draw();
} );
column.data().unique().sort().each( function ( d, j ) {
if(d !== ""){
var result=d.split(', ');
result.forEach(function (index) {
select.append( '<option value="'+index+'">'+index+'</option>' );
})
}
} );
} );
$('.selectpicker').selectpicker();
}
});
});
</script>
</div>
@endsection