Booking, QI Content, Trees, Media

This commit is contained in:
Kevin Adametz 2019-10-02 20:03:55 +02:00
parent 1f340e96fa
commit 7fbac395a9
260 changed files with 27160 additions and 3773 deletions

View file

@ -0,0 +1,269 @@
@extends('layouts.layout-2')
@section('content')
<style>
.nav-pills > .nav-item > .nav-link {
height: 5rem;
display: flex;
align-items: center;
}
.nav-pills > .sub-item > .nav-link {
height: 3rem;
padding-left: 3rem;
}
.nav-pills > li.active > a, .nav-pills > li:hover > a {
background-color: #ddd;
border-radius: 0;
color: #333844;
}
.carousel-image {
height: 50vh;
background-position: center;
background-size: contain;
background-repeat: no-repeat;
margin: 0 auto;
}
.carousel-indicators {
bottom: 0;
}
.carousel-label, .carousel-label:hover {
position: absolute;
bottom: 0;
background: linear-gradient(transparent 10px, rgba(0, 0, 0, .4), rgba(0, 0, 0, .5));
padding: 40px 20px 30px;
width: 100%;
color: white;
word-break: break-word;
text-align: center;
}
.carousel-control-background {
border-radius: 50%;
width: 25px;
height: 25px;
box-shadow: 0 0 10px #666;
background-color: #666;
}
#uploadForm > .dz-default.dz-message {
border: 2px dashed #ccc;
border-radius: 5px;
color: #aaa;
margin: 0;
padding: 3rem 0;
}
</style>
<h4 class="font-weight-bold mb-4">
Medien
</h4>
<div id="alerts"></div>
<div class="card messages-card">
<div class="row no-gutters">
<!-- content list -->
<div class="col">
<div class="file-manager-actions container-p-x py-2">
<div>
<button id="lfm_upload" type="button" class="btn btn-primary mr-2"><i class="fas fa-upload"></i>&nbsp; Hochladen</button>
<button id="lfm_add-folder" type="button" class="btn btn-secondary mr-2"><i class="fas fa-folder"></i> Neuer Ordner</button>
<div class="btn-group mr-2 d-none media-multi-settings">
<button type="button" class="btn btn-default md-btn-flat dropdown-toggle px-2" data-toggle="dropdown"><i class="ion ion-ios-settings"></i> Optionen</button>
<div class="dropdown-menu">
<a class="dropdown-item" href="javascript:void(0)" data-action="selected_items_move"><i class="fa fa-reply-all"></i> verschieben</a>
<a class="dropdown-item" href="javascript:void(0)" data-action="selected_items_remove"><i class="fa fa-trash-alt"></i> löschen</a>
</div>
</div>
</div>
<div>
<div class="btn-group btn-group-toggle" data-toggle="buttons">
<label class="btn btn-default icon-btn md-btn-flat active">
<input type="radio" name="file-manager-view" value="file-manager-col-view" checked> <span class="ion ion-md-apps"></span>
</label>
<label class="btn btn-default icon-btn md-btn-flat">
<input type="radio" name="file-manager-view" value="file-manager-row-view"> <span class="ion ion-md-menu"></span>
</label>
</div>
</div>
</div>
<a class="navbar-brand d-block d-lg-none" id="current_folder"></a>
<div class="container-m-nx container-m-ny bg-lightest mb-2" id="lfm_breadcrumbs">
<ol class="breadcrumb text-big container-p-x py-3 m-0">
<li class="breadcrumb-item">
<a href="javascript:void(0)">home</a>
</li>
<li class="breadcrumb-item">
<a href="javascript:void(0)">projects</a>
</li>
<li class="breadcrumb-item active">site</li>
</ol>
<hr class="m-0">
</div>
<div id="lfm_loading" class="d-none text-center mb-4"><i class="fas fa-spinner fa-spin"></i></div>
<div id="lfm_empty" class="text-center d-none">
<i class="far fa-folder-open"></i>
{{ trans('laravel-filemanager::lfm.message-empty') }}
</div>
<div id="lfm_item-template" class="file-item d-none">
<div class="file-item-select-bg bg-primary"></div>
<label class="file-item-checkbox custom-control custom-checkbox lfm-click-disable">
<input type="checkbox" class="custom-control-input lfm-control-input lfm-click-disable">
<span class="custom-control-label lfm-click-disable"></span>
</label>
<a href="javascript:void(0)" class="file-item-name">
</a>
<div class="file-item-changed"></div>
<div class="file-item-actions btn-group lfm-click-disable">
<button type="button" class="btn btn-default btn-sm rounded-pill icon-btn borderless md-btn-flat hide-arrow dropdown-toggle lfm-click-disable" data-toggle="dropdown"><i class="ion ion-ios-more lfm-click-disable"></i></button>
<div class="dropdown-menu">
<a class="dropdown-item" href="javascript:void(0)" data-action="item_rename"><i class="fa fa-sync-alt"></i> umbenennen</a>
<a class="dropdown-item" href="javascript:void(0)" data-action="item_move"><i class="fa fa-reply"></i> verschieben</a>
<a class="dropdown-item" href="javascript:void(0)" data-action="item_download"><i class="fa fa-download"></i> download</a>
<a class="dropdown-item" href="javascript:void(0)" data-action="item_trash"><i class="fa fa-trash"></i> löschen</a>
</div>
</div>
</div>
<div class="file-manager-container file-manager-col-view" id="file-manager-content">
</div>
</div>
<!-- / content list -->
{{--
<!-- sidebox -->
<div class="messages-sidebox messages-scroll col">
<div class="card-header text-uppercase text-expanded text-muted">Areas</div>
<div class="card-body py-3">
<div class="media align-items-center">
<div class="media-body">
<button type="button" class="btn btn-primary btn-block" data-toggle="modal" data-target="#modals-load-content"
data-id="add"
data-model="area"
data-action="area-content"
data-request=""
data-route="{{ route('iq_content_modal_load') }}"><i class="ion ion-ios-add-circle"></i> Add area</button>
</div>
<a href="javascript:void(0)" class="messages-sidebox-toggler d-lg-none d-block text-muted text-large font-weight-light pl-4">&times;</a>
</div>
</div>
<div class="card-header text-uppercase text-expanded text-muted">Filter</div>
<div class="card-body py-3">
<a href="javascript:void(0)" class="d-flex justify-content-between align-items-center text-body font-weight-bold py-2">
<div>
All
</div>
<div class="badge badge-primary">{{ count($models) }}</div>
</a>
<hr class="border-light my-4">
</div>
</div>
<!-- / sidebox -->
--}}
</div><!-- / .row -->
</div><!-- / .card -->
<div class="modal fade" id="uploadModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="myModalLabel">{{ trans('laravel-filemanager::lfm.title-upload') }}</h4>
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aia-hidden="true">&times;</span></button>
</div>
<div class="modal-body">
{!! Form::open([ 'url' => route('iqcontent.lfm.upload'), 'method' => 'post', 'files' => true, 'enctype' => 'multipart/form-data', 'class' => 'dropzone', 'id' => 'uploadForm' ]) !!}
<div class="form-group" id="attachment">
<div class="controls text-center">
<div class="input-group w-100">
<a class="btn btn-primary w-100 text-white" id="upload-button">{{ trans('laravel-filemanager::lfm.message-choose') }}</a>
</div>
</div>
</div>
<input type='hidden' name='working_dir' id='working_dir'>
<input type='hidden' name='type' id='type' value='{{ request("type") }}'>
<div class="fallback">
<input name="file" type="file" multiple>
</div>
{!! Form::close() !!}
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary w-100" data-dismiss="modal">{{ trans('laravel-filemanager::lfm.btn-close') }}</button>
</div>
</div>
</div>
</div>
<div class="modal fade" id="notify" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-body"></div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary w-100" data-dismiss="modal">{{ trans('laravel-filemanager::lfm.btn-close') }}</button>
<button type="button" class="btn btn-primary w-100" data-dismiss="modal">{{ trans('laravel-filemanager::lfm.btn-confirm') }}</button>
</div>
</div>
</div>
</div>
<div class="modal fade" id="dialog" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title"></h4>
</div>
<div class="modal-body">
<input type="text" class="form-control">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary w-100" data-dismiss="modal">{{ trans('laravel-filemanager::lfm.btn-close') }}</button>
<button type="button" class="btn btn-primary w-100" data-dismiss="modal">{{ trans('laravel-filemanager::lfm.btn-confirm') }}</button>
</div>
</div>
</div>
</div>
<div id="previewTemplate" class="d-none bg-light text-center">
<div class="ui-bordered">
<img src="#" alt="" class="img-fluid media-preview" style="background-color: #fff;">
<div class="p-3">
<span class="float-right"><a href="#" class="media-download"><i class="fas fa-external-link-alt"></i></a></span>
<h5 class="media-name"> </h5>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="ion ion-md-link"></i></span>
</div>
<input type="text" class="form-control media-url" placeholder="Link" readonly>
</div>
</div>
</div>
</div>
<script>
var lang = {!! json_encode(trans('laravel-filemanager::lfm')) !!};
</script>
@endsection

View file

@ -15,8 +15,8 @@
@if(!$data['request'])
<div class="form-row">
<div class="form-group col">
<label for="field_id" class="form-label">Reiseführer Seite (required)</label>
<select class="selectpicker" name="travel_guide_id" id="travel_guide_id"
<label for="modal_travel_guide_id" class="form-label">Reiseführer Seite (required)</label>
<select class="selectpicker" name="travel_guide_id" id="modal_travel_guide_id"
data-style="btn-light" data-live-search="true" required>
{!! \App\Models\TravelGuide::getSiteOptions(0) !!}
</select>

View file

@ -0,0 +1,117 @@
{!! Form::open(['url' => $url, 'class' => 'modal-content']) !!}
<input type="hidden" name="id" value="{{ $value->id }}">
<input type="hidden" name="travel_guide_id" value="{{ $data['travel_guide_id'] }}">
<input type="hidden" name="model" value="{{$data['model']}}">
<input type="hidden" name="action" value="{{$data['action']}}">
<input type="hidden" name="request" value="{{$data['request']}}">
<input type="hidden" name="name" value="add">
<input type="hidden" name="route" value="{{ route('iq_content_modal_load') }}">
<input type="hidden" name="target" value="#modals-load-content">
<div class="modal-header">
<h5 class="modal-title">
{{$data['title']}}
</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
</div>
@if(isset($data['tree_id']))
<div class="modal-body">
<div class="form-row">
<div class="form-group col">
<label for="modal_tree_id" class="form-label">Reiseführer Tree (required)</label>
<select class="selectpicker" name="tree_id" id="modal_tree_id"
data-style="btn-light" data-live-search="true" required>
{!! \App\Models\IQContentTree::getTreesOptions( $data['tree_id']) !!}
</select>
</div>
</div>
<div class="form-row">
<div class="form-group col">
<label for="modal_tree_node_id" class="form-label">Reiseführer Tree (required)</label>
<select class="selectpicker" name="tree_node_id" id="modal_tree_node_id"
data-style="btn-light" data-live-search="true" required>
{!! \App\Models\IQContentTreeNode::getTreeNodeOptions($data['tree_id'],0) !!}
</select>
</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"><i class="ion ion-md-save"></i> save</button>
</div>
</div>
@else
<div class="modal-body">
<div class="form-row">
<div class="form-group col">
<label for="modal_tree_id" class="form-label">Reiseführer Tree Seite (required)</label>
<select class="selectpicker" name="tree_id" id="modal_tree_id"
data-style="btn-light" data-live-search="true" required>
{!! \App\Models\IQContentTree::getTreesOptions() !!}
</select>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">close</button>
</div>
@endif
<script>
$(document).ready(function() {
$("#modal_tree_id").change(function () {
var tree_id = $(this).find(":selected").val();
var form = $(this).closest('form').serializeArray();
var data = {};
$.each(form, function() {
if (data[this.name]) {
if (!data[this.name].push) {
data[this.name] = [data[this.name]];
}
data[this.name].push(this.value || '');
} else {
data[this.name] = this.value || '';
}
});
console.log(data);
var url = data.route,
contentType = 'application/x-www-form-urlencoded; charset=UTF-8';
$.ajax({
url: url,
data: data,
type: "POST",
dataType: "json",
cache: false,
contentType: contentType,
encode: true,
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: function(data) {
console.log(data);
$(data.response.target).find('.modal-dialog').html(data.html);
$('.selectpicker').selectpicker('refresh');
},
error: function(xhr, status, errorThrown) {
console.log(xhr);
console.log(xhr.responseText);
console.log(errorThrown);
console.log("Sorry, there was a problem!");
}
});
});
});
</script>
{!! Form::close() !!}

View file

@ -0,0 +1,50 @@
@extends('layouts.layout-2')
@section('content')
@if ($errors->any())
<div class="row">
<div class="col-sm-12">
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
</div>
</div>
@endif
<h4 class="font-weight-bold mb-4">
Content Tools: Links
</h4>
<div class="card mb-4">
<div class="card-body">
<!-- Controls -->
{!! Form::open(['url' => route('iq_tools_content_links'), 'class' => '']) !!}
<div class="form-group mb-1">
<label class="form-label" for="description">Description</label>
{{ Form::textarea('text', $text, array('class'=>'form-control', 'rows'=>20)) }}
</div>
<button type="submit" class="btn btn-primary"><i class="ion"></i> action</button>
{!! Form::close() !!}
</div>
@if(count($values)>0)
<div class="card-body">
<!-- Controls -->
@foreach($values as $value)
{{$value}}<br>
@endforeach
</div>
@endif
</div>
@endsection