FileManager
This commit is contained in:
parent
c8948338bb
commit
f1e0900a7a
131 changed files with 5844 additions and 3081 deletions
7
resources/views/asset/js.blade.php
Normal file
7
resources/views/asset/js.blade.php
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
<script>
|
||||
@if(isset($lfm_helper))
|
||||
LFileManager.setConfig('lfm_lang', {!! json_encode(trans('laravel-filemanager::lfm')) !!});
|
||||
LFileManager.setConfig('lfm_availableMimeTypes', "{{ implode(',', $lfm_helper->availableMimeTypes()) }}");
|
||||
LFileManager.setConfig('lfm_maxUploadSize', {{ $lfm_helper->maxUploadSize() }});
|
||||
@endif
|
||||
</script>
|
||||
135
resources/views/cms/content/author/index.blade.php
Executable file
135
resources/views/cms/content/author/index.blade.php
Executable file
|
|
@ -0,0 +1,135 @@
|
|||
@extends('layouts.layout-2')
|
||||
|
||||
@section('content')
|
||||
|
||||
<h4 class="font-weight-bold py-3 mb-1">
|
||||
{{ __('Authoren') }}
|
||||
</h4>
|
||||
|
||||
@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
|
||||
|
||||
<div class="card">
|
||||
<div class="card-datatable table-responsive py-2" data-route-modal="{{ route('cms_content_author_load_modal') }}" data-target-modal="#modals-load-content">
|
||||
<div class="mr-4 mb-2 text-right">
|
||||
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-load-content"
|
||||
data-id="new"
|
||||
data-model="content"
|
||||
>Neuen Autor anlegen</button>
|
||||
</div>
|
||||
|
||||
<table class="datatables-default table table-striped table-bordered clients-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="max-width: 60px;"> </th>
|
||||
<th>{{__('Name')}}</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($contents as $value)
|
||||
<tr>
|
||||
<td class="not">
|
||||
<button type="button" class="btn icon-btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-load-content"
|
||||
data-id="{{ $value->id }}"
|
||||
data-model="content">
|
||||
<span class="fa fa-edit"></span>
|
||||
</button>
|
||||
</td>
|
||||
<td>{{ $value->name }}</td>
|
||||
<td><a class="text-danger" href="{{ route('cms_content_author_delete', [$value->id]) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a></td>
|
||||
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="mt-4 mr-4 text-right">
|
||||
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-load-content"
|
||||
data-id="new"
|
||||
data-model="content"
|
||||
>Neuen Autor anlegen</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
$( document ).ready(function() {
|
||||
|
||||
|
||||
function loadModalInner(self, 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) {
|
||||
$(data.response.target).find('.modal-dialog').html(data.html);
|
||||
//$('.selectpicker').selectpicker('refresh');
|
||||
//datepicker_birthday_init();
|
||||
},
|
||||
error: function(xhr, status, errorThrown) {
|
||||
console.log(xhr);
|
||||
console.log(xhr.responseText);
|
||||
console.log(errorThrown);
|
||||
console.log("Sorry, there was a problem!");
|
||||
}
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
$('#modals-load-content').on('show.bs.modal', function (event) {
|
||||
var button = $(event.relatedTarget);
|
||||
if (!button.data('id')) {
|
||||
return;
|
||||
}
|
||||
var data = {};
|
||||
data.route = button.parents('.card').find('.card-datatable').data('route-modal');
|
||||
data.target = button.parents('.card').find('.card-datatable').data('target-modal');
|
||||
data.id = button.data('id');
|
||||
data.model = button.data('model');
|
||||
console.log(data);
|
||||
loadModalInner(this, data);
|
||||
|
||||
});
|
||||
|
||||
$('.datatables-default').dataTable({
|
||||
"bLengthChange": false,
|
||||
"iDisplayLength": 50,
|
||||
"language": {
|
||||
"url": "/js/German.json"
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
<!-- Modal template -->
|
||||
<div class="modal fade" id="modals-load-content">
|
||||
<div class="modal-dialog">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@endsection
|
||||
29
resources/views/cms/content/author/modal.blade.php
Executable file
29
resources/views/cms/content/author/modal.blade.php
Executable file
|
|
@ -0,0 +1,29 @@
|
|||
|
||||
{!! Form::open(['url' => route('cms_content_author_store'), 'class' => 'modal-content']) !!}
|
||||
|
||||
<input type="hidden" name="id" id="id" value="@if($value->id>0){{$value->id}}@else new @endif">
|
||||
|
||||
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">
|
||||
{{ __('Autor') }}
|
||||
<span class="font-weight-light">erstellen/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 for="name" class="form-label">{{ __('Name') }}</label>
|
||||
{{ Form::text('name', $value->name, array('placeholder'=>__('Name'), 'class'=>'form-control', 'required')) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">schließen</button>
|
||||
<button type="submit" class="btn btn-primary">speichern</button>
|
||||
</div>
|
||||
{!! Form::close() !!}
|
||||
|
|
@ -20,7 +20,6 @@
|
|||
</div>
|
||||
@endif
|
||||
|
||||
|
||||
{!! Form::open(['url' => route('cms_travel_guide_detail', [$id]), 'class' => 'form-horizontal']) !!}
|
||||
|
||||
<h4 class="font-weight-bold py-3 mb-1">
|
||||
|
|
@ -62,7 +61,7 @@
|
|||
<span class="custom-control-label">{{__('Langer Text')}}</span>
|
||||
</label>
|
||||
<label class="form-label" for="travel_guide_full_text">{{ __('Text') }}* </label>
|
||||
@if(Input::get('clean') == "true")
|
||||
@if($response_clean === "true")
|
||||
<a class="btn btn-primary btn-xs" href="?clean=">Clean Text on</a>
|
||||
@else
|
||||
<a class="btn btn-default btn-xs" href="?clean=true">Clean Text off</a>
|
||||
|
|
@ -71,6 +70,22 @@
|
|||
{{ Form::textarea('full_text', $travel_guide->full_text , ['class' => 'form-control summernote']) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<!--<div class="form-group col-sm-6">
|
||||
<label class="form-label" for="preview_image">{{ __('Vorschau Bild:') }}</label>
|
||||
{{ Form::text('preview_image', '', array('placeholder'=>__('Vorschau Bild'), 'class'=>'form-control', 'id'=>'preview_image')) }}
|
||||
|
||||
</div>-->
|
||||
<div class="form-group col-sm-6">
|
||||
<label class="form-label" for="author_id">{{ __('Autor dieses Artikels:') }} <a href="{{route('cms_content_author')}}"><i class="fa fa-share-square"></i></a> </label>
|
||||
<select class="custom-select" name="author_id">
|
||||
<option value="">kein Autor</option>
|
||||
{!! HTMLHelper::getAuthorOptions($travel_guide->author_id) !!}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
|
||||
<button type="button" class="btn btn-primary btn-sm float-right mb-2" data-toggle="modal" data-target="#modals-load-content"
|
||||
data-id="add"
|
||||
data-model="guide"
|
||||
|
|
@ -98,8 +113,10 @@
|
|||
</a>
|
||||
</td>
|
||||
<td>{{$iq_content_site->iq_content_tree_node->name}}</td>
|
||||
<td>{{$iq_content_site->iq_content_tree_node->getUri()}}</td>
|
||||
|
||||
<td><a href="{{ $iq_content_site->iq_content_tree_node->getUrl() }}" class="btn icon-btn btn-sm btn-secondary" target="_blank">
|
||||
<span class="fa fa-external-link-alt"></span>
|
||||
</a> {{$iq_content_site->iq_content_tree_node->getUri()}}
|
||||
</td>
|
||||
<td>
|
||||
@if($iq_content_site->iq_content_tree_node->active)
|
||||
<span class="badge badge-pill badge-success"><i class="fa fa-check"></i></span>
|
||||
|
|
|
|||
|
|
@ -131,12 +131,24 @@
|
|||
<input type="hidden" name="model" value="tree">
|
||||
<input type="hidden" name="action" value="tree-node">
|
||||
<input type="hidden" name="tree_id" value="{{$model->id}}">
|
||||
<div class="input-group mb-4">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text"><span
|
||||
class="fa fa-link mr-2 text-primary"></span></span>
|
||||
<div class="form-row">
|
||||
<div class="form-group col-10 col-sm-11">
|
||||
<div class="input-group mb-4">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">
|
||||
<a href="{{ $tree_node->getUrl() }}" class="" target="_blank">
|
||||
<span class="fa fa-external-link-alt mr-2 text-secondary"></span>
|
||||
</a>
|
||||
</span>
|
||||
</div>
|
||||
{{ Form::text('uri', $tree_node->getUri(), array('readonly'=>true, 'class'=>'form-control')) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group col-2 col-sm-1">
|
||||
<a class="btn btn-sm btn-danger float-right" href="{{ route('iq_content_tree_delete', [$model->id, $tree_node->id, ($section? $section : '')]) }}" onclick="return confirm('Wirklich löschen? Node wird mit allen Unter-Nodes und Verknüpfungen gelöscht. ');">
|
||||
<i class="fa fa-trash-alt"></i>
|
||||
</a>
|
||||
</div>
|
||||
{{ Form::text('uri', $tree_node->getUri(), array('readonly'=>true, 'class'=>'form-control')) }}
|
||||
</div>
|
||||
<div class="form-row mb-2">
|
||||
<div class="form-group col">
|
||||
|
|
@ -150,7 +162,6 @@
|
|||
</div>
|
||||
<div class="form-row mb-2">
|
||||
<div class="form-group col">
|
||||
|
||||
<button type="button" class="btn btn-primary btn-sm float-right mb-2"
|
||||
data-toggle="modal" data-target="#modals-load-content"
|
||||
data-id="add"
|
||||
|
|
|
|||
224
resources/views/iq/content/assets/body.blade.php
Executable file
224
resources/views/iq/content/assets/body.blade.php
Executable file
|
|
@ -0,0 +1,224 @@
|
|||
<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;
|
||||
}
|
||||
#lfm_empty {
|
||||
padding-bottom: 0.8em;
|
||||
}
|
||||
.messages-card {
|
||||
overflow: visible;
|
||||
}
|
||||
.badge.indicator_before {
|
||||
margin-right: 0.3em;
|
||||
width: 0.8em;
|
||||
height: 0.8em;
|
||||
margin-bottom: 0.3em;
|
||||
|
||||
/*-webkit-transform: translate(-50%, -100%);
|
||||
transform: translate(-50%, -100%);*/
|
||||
}
|
||||
.file-manager-row-view .file-item-changed {
|
||||
width: auto;
|
||||
}
|
||||
.default-style .file-manager-row-view .file-item-name {
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.file-item-actions.btn-group .btn-default {
|
||||
border-right: 1px solid rgba(24, 28, 33, 0.3);
|
||||
border-left: 1px solid rgba(24, 28, 33, 0.3);
|
||||
}
|
||||
.file-item-checkbox .custom-control-label::before{
|
||||
border:1px solid rgba(24, 28, 33, 0.3);
|
||||
}
|
||||
|
||||
.file-item {
|
||||
border: 1px solid rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.file-item:hover {
|
||||
border: 1px solid #f2bf24;
|
||||
background-color: rgba(242, 191, 36, 0.1);
|
||||
}
|
||||
|
||||
.modal-xl .modal-long {
|
||||
padding: 0.5rem;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
@if(!$modal)
|
||||
<h4 class="font-weight-bold mb-4">
|
||||
Medien
|
||||
</h4>
|
||||
@endif
|
||||
|
||||
<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> Hochladen</button>
|
||||
<button id="lfm_add-file" type="button" class="btn btn-default mr-2"><i class="fas fa-file"></i> Neue Datei</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="fa 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 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 link-item-download" href="javascript:void(0)" data-action="item_download"><i class="fa fa-download"></i> download</a>
|
||||
<a class="dropdown-item link-item-crop" href="javascript:void(0)" data-action="item_crop"><i class="fa fa-crop"></i> zuschneiden</a>
|
||||
<!-- <a class="dropdown-item link-item-resize" href="javascript:void(0)" data-action="item_resize"><i class="fa fa-crop"></i> Größe ändern</a> -->
|
||||
<a class="dropdown-item link-item-color" href="javascript:void(0)" data-action="item_color"><i class="fa fa-paint-brush"></i> Farbe</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>
|
||||
</div><!-- / .row -->
|
||||
</div><!-- / .card -->
|
||||
|
||||
<div id="previewTemplate" class="d-none bg-light text-center">
|
||||
<div class="ui-bordered">
|
||||
<img src="#" alt="" class="img-fluid media-preview d-none" style="background-color: #fff;">
|
||||
<div class="file-manager-col-view d-none"></div>
|
||||
<div class="embed-responsive embed-responsive-16by9 d-none">
|
||||
<iframe class="embed-responsive-item" src="" allowfullscreen></iframe>
|
||||
</div>
|
||||
<div class="p-3">
|
||||
<h5 class="media-name"> </h5>
|
||||
<div class="form-group d-none">
|
||||
<input type="text" class="form-control media-content-title" placeholder="Title">
|
||||
</div>
|
||||
<div class="form-group d-none">
|
||||
<textarea type="text" class="form-control media-content-description" placeholder="Description"></textarea>
|
||||
</div>
|
||||
<div class="form-group d-none">
|
||||
<select class="custom-select media-content-author">
|
||||
<option value="">kein Autor</option>
|
||||
{!! HTMLHelper::getAuthorOptions() !!}
|
||||
</select>
|
||||
</div>
|
||||
<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 class="input-group-append">
|
||||
<span class="input-group-text"><a href="#" class="media-download"><i class="fas fa-external-link-alt"></i></a></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -1,265 +1,12 @@
|
|||
@extends('layouts.layout-2')
|
||||
|
||||
@extends('layouts.layout-2')
|
||||
|
||||
|
||||
@section('content')
|
||||
|
||||
<style>
|
||||
@include('iq.content.assets.body')
|
||||
|
||||
.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;
|
||||
}
|
||||
#lfm_empty {
|
||||
padding-bottom: 0.8em;
|
||||
}
|
||||
.messages-card {
|
||||
overflow: visible;
|
||||
}
|
||||
.badge.indicator {
|
||||
margin-left: 0.8em;
|
||||
width: 0.8em;
|
||||
height: 0.8em;
|
||||
}
|
||||
.file-manager-row-view .file-item-changed {
|
||||
width: auto;
|
||||
}
|
||||
.default-style .file-manager-row-view .file-item-name {
|
||||
width: auto;
|
||||
}
|
||||
|
||||
|
||||
</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> Hochladen</button>
|
||||
<button id="lfm_add-file" type="button" class="btn btn-default mr-2"><i class="fas fa-file"></i> Neue Datei</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="fa 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 link-item-download" href="javascript:void(0)" data-action="item_download"><i class="fa fa-download"></i> download</a>
|
||||
<a class="dropdown-item link-item-crop" href="javascript:void(0)" data-action="item_crop"><i class="fa fa-crop"></i> zuschneiden</a>
|
||||
<!-- <a class="dropdown-item link-item-resize" href="javascript:void(0)" data-action="item_resize"><i class="fa fa-crop"></i> Größe ändern</a> -->
|
||||
<a class="dropdown-item link-item-color" href="javascript:void(0)" data-action="item_color"><i class="fa fa-paint-brush"></i> Farbe</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>
|
||||
</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">×</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-header">
|
||||
<h4 class="modal-title"></h4>
|
||||
</div>
|
||||
<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 d-none" style="background-color: #fff;">
|
||||
<div class="file-manager-col-view d-none"></div>
|
||||
<div class="embed-responsive embed-responsive-16by9 d-none">
|
||||
<iframe class="embed-responsive-item" src="" allowfullscreen></iframe>
|
||||
</div>
|
||||
<div class="p-3">
|
||||
<h5 class="media-name"> </h5>
|
||||
<div class="form-group d-none">
|
||||
<input type="text" class="form-control media-content-title" placeholder="Title">
|
||||
</div>
|
||||
<div class="form-group d-none">
|
||||
<textarea type="text" class="form-control media-content-description" placeholder="Description"></textarea>
|
||||
</div>
|
||||
<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 class="input-group-append">
|
||||
<span class="input-group-text"><a href="#" class="media-download"><i class="fas fa-external-link-alt"></i></a></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
var lang = {!! json_encode(trans('laravel-filemanager::lfm')) !!};
|
||||
</script>
|
||||
@endsection
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
86
resources/views/iq/content/assets/modals.blade.php
Executable file
86
resources/views/iq/content/assets/modals.blade.php
Executable file
|
|
@ -0,0 +1,86 @@
|
|||
<div class="modal fade" id="modals-load-content">
|
||||
<div class="modal-dialog modal-lg">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if(isset($lfm_helper))
|
||||
<div class="modal fade" id="modal_iq_assets" tabindex="-1" role="dialog">
|
||||
<div class="modal-xl modal-dialog ">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title">Medien</h4><button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
</div>
|
||||
<div class="modal-body modal-long">
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" id="modal_iq_close" class="btn btn-default" data-dismiss="modal">schließen</button>
|
||||
<button type="button" id="modal_iq_save" class="btn btn-primary">Einfügen</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="uploadModal" tabindex="-1" role="dialog" aria-labelledby="myUploadModal" aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title" id="myUploadModal">{{ trans('laravel-filemanager::lfm.title-upload') }}</h4>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aia-hidden="true">×</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-default btn-sm" id="uploadClearButton"><i class="fa fa-sync"></i></button>
|
||||
<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-header">
|
||||
<h4 class="modal-title"></h4>
|
||||
</div>
|
||||
<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>
|
||||
@endif
|
||||
|
|
@ -31,8 +31,8 @@
|
|||
<link rel="stylesheet" href="{{ mix('/vendor/libs/growl/growl.css') }}">
|
||||
|
||||
|
||||
@if(isset($helper))
|
||||
<link rel="stylesheet" href="{{ asset('/vendor/laravel-filemanager/css/dropzone.min.css') }}">
|
||||
@if(isset($lfm_helper))
|
||||
<link rel="stylesheet" href="{{ asset('/vendor/laravel-filemanager/css/dropzone.min.css') }}">
|
||||
@else
|
||||
<link rel="stylesheet" href="{{ asset('/vendor/libs/dropzone/dropzone.css') }}">
|
||||
@endif
|
||||
|
|
@ -49,7 +49,7 @@
|
|||
-->
|
||||
<link rel="stylesheet" href="{{ mix('/vendor/libs/dragula/dragula.css') }}">
|
||||
<link rel="stylesheet" href="{{ mix('/vendor/libs/minicolors/minicolors.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('/vendor/libs/summernote/dist/summernote-bs4.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('/vendor/libs/summernote/dist/summernote-bs4.css?v=0.8.16') }}">
|
||||
<link rel="stylesheet" href="{{ asset('/vendor/libs/nestable/nestable.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('/vendor/css/pages/messages.css') }}">
|
||||
|
||||
|
|
@ -68,6 +68,7 @@
|
|||
|
||||
@yield('styles')
|
||||
|
||||
|
||||
<!-- Application stylesheets -->
|
||||
<link rel="stylesheet" href="{{ mix('/css/application.css') }}{{ get_file_last_time('js/application.css') }}">
|
||||
<script src="{{ asset('/js/jquery.min.js') }}"></script>
|
||||
|
|
@ -103,11 +104,8 @@
|
|||
|
||||
@yield('layout-content')
|
||||
|
||||
<div class="modal fade" id="modals-load-content">
|
||||
<div class="modal-dialog modal-lg">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@include('iq.content.assets.modals')
|
||||
|
||||
<!-- Core scripts -->
|
||||
<script src="{{ mix('/vendor/libs/popper/popper.js') }}"></script>
|
||||
|
|
@ -116,7 +114,7 @@
|
|||
<script src="{{ mix('/vendor/libs/growl/growl.js') }}"></script>
|
||||
<script src="{{ asset('/vendor/libs/js-cookie/src/js.cookie.js') }}"></script>
|
||||
|
||||
@if(isset($helper))
|
||||
@if(isset($lfm_helper))
|
||||
<script src="{{ asset('/vendor/laravel-filemanager/js/dropzone.min.js') }}"></script>
|
||||
@else
|
||||
<script src="{{asset('/vendor/libs/dropzone/dropzone.js')}}"></script>
|
||||
|
|
@ -137,11 +135,16 @@
|
|||
<script src="{{ mix('/vendor/libs/dragula/dragula.js') }}"></script>
|
||||
<script src="{{asset('/vendor/libs/nestable/my-nestable.js')}}"></script>
|
||||
<script src="{{ mix('/vendor/libs/minicolors/minicolors.js') }}"></script>
|
||||
<script src="{{ asset('/vendor/libs/summernote/dist/summernote-bs4.js') }}"></script>
|
||||
<script src="{{ asset('/vendor/libs/summernote/dist/summernote-bs4.js?v=0.8.16') }}"></script>
|
||||
<script src="{{ asset('/vendor/libs/summernote/dist/lang/summernote-de-DE.js?v=0.8.16') }}"></script>
|
||||
|
||||
<script src="{{ asset('/vendor/laravel-filemanager/js/cropper.min.js') }}"></script>
|
||||
<script src="{{ asset('/js/pages_file-manager.js') }}"></script>
|
||||
<script src="{{ asset('/js/filemanager.js?v1') }}"></script>
|
||||
<script src="{{ asset('/js/summernote-iq-content-extension.js?v=2') }}"></script>
|
||||
<script src="{{ asset('/js/summernote-image-title.js?v=2') }}"></script>
|
||||
|
||||
@if(isset($lfm_helper))
|
||||
<script src="{{ asset('/vendor/laravel-filemanager/js/cropper.min.js') }}"></script>
|
||||
<script src="{{ asset('/js/filemanager.js?v3') }}"></script>
|
||||
@endif
|
||||
|
||||
<!-- Libs -->
|
||||
<!-- `perfect-scrollbar` library required by SideNav plugin -->
|
||||
|
|
@ -151,34 +154,12 @@
|
|||
|
||||
<!-- Application javascripts -->
|
||||
<script src="{{ mix('/js/application.js') }}"></script>
|
||||
<script src="{{ asset('/js/custom.js?v') }}{{ get_file_last_time('js/custom.js') }}"></script>
|
||||
<script>
|
||||
@if(isset($helper))
|
||||
<script src="{{ asset('/js/custom.js?v1') }}{{ get_file_last_time('/js/custom.js') }}"></script>
|
||||
|
||||
Dropzone.options.uploadForm = {
|
||||
paramName: "upload[]", // The name that will be used to transfer the file
|
||||
uploadMultiple: false,
|
||||
parallelUploads: 10,
|
||||
clickable: '#upload-button',
|
||||
//dictDefaultMessage: lang['message-drop'],
|
||||
init: function() {
|
||||
var _this = this; // For the closure
|
||||
this.on('success', function(file, response) {
|
||||
console.log(response);
|
||||
if (response == 'OK') {
|
||||
loadItems();
|
||||
} else {
|
||||
this.defaultOptions.error(file, response); //response.join('\n')
|
||||
}
|
||||
});
|
||||
},
|
||||
headers: {
|
||||
'Authorization': 'Bearer ' + getUrlParam('token')
|
||||
},
|
||||
// acceptedFiles: "{{ implode(',', $helper->availableMimeTypes()) }}",
|
||||
maxFilesize: ({{ $helper->maxUploadSize() }} / 1000),
|
||||
};
|
||||
@endif
|
||||
|
||||
@include('asset.js')
|
||||
|
||||
<script>
|
||||
// Dragula
|
||||
$(function() {
|
||||
// Drag handle
|
||||
|
|
@ -189,21 +170,98 @@
|
|||
});
|
||||
});
|
||||
|
||||
Dropzone.autoDiscover = false;
|
||||
|
||||
@if(isset($lfm_helper))
|
||||
$("#uploadForm").dropzone({
|
||||
paramName: "upload[]", // The name that will be used to transfer the file
|
||||
uploadMultiple: false,
|
||||
parallelUploads: 10,
|
||||
clickable: '#upload-button',
|
||||
//dictDefaultMessage: LFileManager.lfm_config['lfm_lang']['message-drop'],
|
||||
init: function () {
|
||||
var _this = this; // For the closure
|
||||
this.on('success', function (file, response) {
|
||||
//console.log(response);
|
||||
if (response === 'OK') {
|
||||
LFileManager.loadItems();
|
||||
} else {
|
||||
_this.defaultOptions.error(file, response); //response.join('\n')
|
||||
}
|
||||
});
|
||||
},
|
||||
headers: {
|
||||
'Authorization': 'Bearer ' + LFileManager.getUrlParam('token')
|
||||
},
|
||||
// acceptedFiles: LFileManager.lfm_config['lfm_availableMimeTypes'] ,
|
||||
maxFilesize: (LFileManager.lfm_config['lfm_maxUploadSize'] / 1000),
|
||||
});
|
||||
@endif
|
||||
|
||||
/*Dropzone.options.uploadForm = {
|
||||
paramName: "upload[]", // The name that will be used to transfer the file
|
||||
uploadMultiple: false,
|
||||
parallelUploads: 10,
|
||||
clickable: '#upload-button',
|
||||
//dictDefaultMessage: LFileManager.lfm_config['lfm_lang']['message-drop'],
|
||||
init: function() {
|
||||
console.log("Dinit")
|
||||
var _this = this; // For the closure
|
||||
this.on('success', function(file, response) {
|
||||
console.log(response);
|
||||
if (response === 'OK') {
|
||||
LFileManager.loadItems();
|
||||
} else {
|
||||
_this.defaultOptions.error(file, response); //response.join('\n')
|
||||
}
|
||||
});
|
||||
},
|
||||
headers: {
|
||||
'Authorization': 'Bearer ' + LFileManager.getUrlParam('token')
|
||||
},
|
||||
// acceptedFiles: LFileManager.lfm_config['lfm_availableMimeTypes'] ,
|
||||
maxFilesize: (LFileManager.lfm_config['lfm_maxUploadSize'] / 1000),
|
||||
};*/
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
|
||||
|
||||
$('.summernote').summernote({
|
||||
height: 300,
|
||||
tabsize: 2,
|
||||
followingToolbar: true,
|
||||
imageTitle: {
|
||||
specificAltField: true,
|
||||
},
|
||||
lang: 'de-DE',
|
||||
toolbar: [
|
||||
['style', ['style']],
|
||||
['font', ['bold', 'italic', 'underline', 'clear']],
|
||||
['color', ['color']],
|
||||
['para', ['ul', 'ol', 'paragraph']],
|
||||
['extensions', ['gallery']],
|
||||
['insert', ['link', 'picture', 'video', 'hr']],
|
||||
['view', ['fullscreen', 'codeview']],
|
||||
['help', ['help']]
|
||||
],
|
||||
popover: {
|
||||
image: [
|
||||
['image', ['resizeFull', 'resizeHalf', 'resizeQuarter', 'resizeNone']],
|
||||
['float', ['floatLeft', 'floatRight', 'floatNone']],
|
||||
['remove', ['removeMedia']],
|
||||
['custom', ['imageTitle']],
|
||||
],
|
||||
},
|
||||
callbacks :{
|
||||
onInit: function() {
|
||||
// $(this).data('image_dialog_images_html', '<div class="row"..');
|
||||
$(this).data('image_dialog_images_url', "/iq/content/assets/modal");
|
||||
$(this).data('image_dialog_title', "Medien");
|
||||
$(this).data('image_dialog_close_btn_text', "schließen");
|
||||
$(this).data('image_dialog_ok_btn_text', "Einfügen");
|
||||
}
|
||||
},
|
||||
/*
|
||||
callbacks: {
|
||||
onPaste: function (e) {
|
||||
|
|
@ -214,33 +272,51 @@
|
|||
}
|
||||
*/
|
||||
});
|
||||
});
|
||||
|
||||
$(document).ready(function() {
|
||||
$('.summernote-small').summernote({
|
||||
height: 150,
|
||||
tabsize: 2,
|
||||
followingToolbar: true,
|
||||
imageTitle: {
|
||||
specificAltField: true,
|
||||
},
|
||||
toolbar: [
|
||||
['style', ['style']],
|
||||
['font', ['bold', 'italic', 'underline', 'clear']],
|
||||
['color', ['color']],
|
||||
['para', ['ul', 'ol', 'paragraph']],
|
||||
['extensions', ['gallery']],
|
||||
['insert', ['link', 'picture', 'video', 'hr']],
|
||||
['view', ['fullscreen', 'codeview']],
|
||||
['help', ['help']]
|
||||
],
|
||||
popover: {
|
||||
image: [
|
||||
['imagesize', ['imageSize100', 'imageSize50', 'imageSize25']],
|
||||
['float', ['floatLeft', 'floatRight', 'floatNone']],
|
||||
['remove', ['removeMedia']],
|
||||
['custom', ['imageTitle']],
|
||||
],
|
||||
},
|
||||
callbacks :{
|
||||
onInit: function() {
|
||||
// $(this).data('image_dialog_images_html', '<div class="row"..');
|
||||
$(this).data('image_dialog_images_url', "/iq/content/assets/modal");
|
||||
$(this).data('image_dialog_title', "Medien");
|
||||
$(this).data('image_dialog_close_btn_text', "Fermer");
|
||||
$(this).data('image_dialog_ok_btn_text', "Ajouter");
|
||||
}
|
||||
},
|
||||
|
||||
});
|
||||
//save in the codeview
|
||||
$('.note-codable').on('blur', function() {
|
||||
var codeviewHtml = $(this).val();
|
||||
var $summernoteTextarea = $(this).closest('.note-editor').siblings('textarea');
|
||||
$summernoteTextarea.val(codeviewHtml);
|
||||
});
|
||||
});
|
||||
|
||||
jQuery.each(jQuery('textarea.autoExpand'), function() {
|
||||
var offset = this.offsetHeight - this.clientHeight;
|
||||
var resizeTextarea = function(el) {
|
||||
jQuery(el).css('height', 'auto').css('height', el.scrollHeight + offset);
|
||||
};
|
||||
jQuery(this).on('keyup input', function() { resizeTextarea(this); }).removeClass('autoExpand');
|
||||
resizeTextarea(this);
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -164,16 +164,26 @@
|
|||
<div>Inhalte</div>
|
||||
</a>
|
||||
<ul class="sidenav-menu">
|
||||
@if(Auth::user()->isPermission('cms-cn-in'))
|
||||
<li class="sidenav-item{{ Request::is('cms/content/infos') ? ' active' : '' }}">
|
||||
<a href="{{ route('cms_content_infos') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-business"></i><div>Infos</div></a>
|
||||
</li>
|
||||
|
||||
@endif
|
||||
@if(Auth::user()->isPermission('cms-cn-co'))
|
||||
<li class="sidenav-item{{ Request::is('cms/content/country') ? ' active' : '' }} {{ Request::is('cms/content/country/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('cms_content_country') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-globe"></i><div>Reiseländer</div></a>
|
||||
</li>
|
||||
@endif
|
||||
@if(Auth::user()->isPermission('cms-cn-al'))
|
||||
<li class="sidenav-item{{ Request::is('cms/content/all') ? ' active' : '' }}">
|
||||
<a href="{{ route('cms_content_all') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-paper"></i><div>Allgemein</div></a>
|
||||
</li>
|
||||
@endif
|
||||
@if(Auth::user()->isPermission('cms-cn-au'))
|
||||
<li class="sidenav-item{{ Request::is('cms/content/author') ? ' active' : '' }}">
|
||||
<a href="{{ route('cms_content_author') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-finger-print"></i><div>Autoren</div></a>
|
||||
</li>
|
||||
@endif
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
|
|
@ -208,6 +218,11 @@
|
|||
<a href="{{ route('admin_settings_travel_nationality') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-people"></i><div>{{ __('Nationalitäten') }}</div></a>
|
||||
</li>
|
||||
@endif
|
||||
@if(Auth::user()->isPermission('sua-st-ke'))
|
||||
<li class="sidenav-item{{ Request::is('admin/settings/keyword') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_settings_keyword') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-key"></i><div>{{ __('Keywords') }}</div></a>
|
||||
</li>
|
||||
@endif
|
||||
</ul>
|
||||
</li>
|
||||
@endif
|
||||
|
|
|
|||
|
|
@ -118,6 +118,7 @@
|
|||
<th>{{__('BookingID')}}</th>
|
||||
<th>{{__('Reiseland')}}</th>
|
||||
<th>{{__('Programm')}}</th>
|
||||
{{--<th>{{__('Kategorie')}}</th>--}}
|
||||
<th>{{__('Anreise')}}</th>
|
||||
<th>{{__('Abreise')}}</th>
|
||||
<th>{{__('Reiseunterlage')}}</th>
|
||||
|
|
|
|||
92
resources/views/settings/keywords/index.blade.php
Executable file
92
resources/views/settings/keywords/index.blade.php
Executable file
|
|
@ -0,0 +1,92 @@
|
|||
@extends('layouts.layout-2')
|
||||
|
||||
@section('content')
|
||||
<h4 class="font-weight-bold py-3 mb-1">
|
||||
Keywords
|
||||
</h4>
|
||||
<div class="card">
|
||||
<div class="card-datatable table-responsive">
|
||||
<table class="datatables-default table table-striped table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="max-width: 60px;"> </th>
|
||||
<th>{{__('Name')}}</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($keywords as $value)
|
||||
<tr>
|
||||
<td>
|
||||
<button type="button" class="btn icon-btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-default"
|
||||
data-id="{{ $value->id }}"
|
||||
data-name="{{ $value->name }}">
|
||||
<span class="fa fa-edit"></span>
|
||||
</button>
|
||||
</td>
|
||||
<td data-sort="{{ $value->id }}">{{ $value->name }}</td>
|
||||
<td><a class="text-danger" href="{{ route('admin_settings_keyword_delete', [$value->id]) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a></td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="mt-4 col">
|
||||
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-default"
|
||||
data-id="new"
|
||||
data-name=""
|
||||
>Neues Keyword anlegen</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Modal template -->
|
||||
<div class="modal fade" id="modals-default">
|
||||
<div class="modal-dialog">
|
||||
<form class="modal-content" action="{{ route('admin_settings_keyword_update') }}" method="post">
|
||||
@csrf
|
||||
<input type="hidden" class="form-control" name="id">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Keyword <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 for="name" class="form-label">Name*</label>
|
||||
<input type="text" class="form-control" name="name" placeholder="{{__('Description')}}" required>
|
||||
</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-default').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'));
|
||||
});
|
||||
|
||||
$('.datatables-default').dataTable({
|
||||
"bLengthChange": false,
|
||||
"iDisplayLength": 50,
|
||||
"order": [[ 1, "asc" ]],
|
||||
"language": {
|
||||
"url": "/js/German.json"
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
@endsection
|
||||
|
|
@ -24,7 +24,6 @@
|
|||
{!! Form::checkbox('status', 1, $program->status, ['class'=>'custom-control-input']) !!}
|
||||
<span class="custom-control-label">{{__('aktiv')}}</span>
|
||||
</label>
|
||||
|
||||
<label class="form-label" for="program_title">{{ __('Title') }}*</label>
|
||||
{{ Form::text('title', $program->title, array('placeholder'=>__('Title'), 'class'=>'form-control', 'id'=>'program_title', 'required'=>true)) }}
|
||||
</div>
|
||||
|
|
@ -47,6 +46,15 @@
|
|||
</select>
|
||||
</div>
|
||||
</div>
|
||||
{{--
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<a href="{{route('travel_program_generate_keywords', [$program->id])}}" class="btn btn-xs btn-secondary float-right">generate Keywords</a>
|
||||
<label for="keywords" class="form-label">{{__('Keywords')}}</label>
|
||||
{{ Form::text('keywords', $program->keywords, array('placeholder'=>__('Keyword,Keyword'), 'class'=>'form-control', 'id'=>'keywords')) }}
|
||||
</div>
|
||||
</div>
|
||||
--}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -27,6 +27,8 @@
|
|||
<th style="max-width: 60px;"> </th>
|
||||
<th>{{__('Programm')}}</th>
|
||||
<th>{{__('Code')}}</th>
|
||||
{{-- <th>{{__('Keywords')}}</th> --}}
|
||||
<th>{{__('Vorlage')}}</th>
|
||||
<th>{{__('Status')}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
|
@ -42,6 +44,17 @@
|
|||
<td>
|
||||
{{ $value->program_code }}
|
||||
</td>
|
||||
{{--
|
||||
<td>
|
||||
{{ $value->program_code }}
|
||||
</td>
|
||||
--}}
|
||||
<td data-size="{{ $value->hasTravelProgramDrafts() }}">
|
||||
@if($value->hasTravelProgramDrafts())
|
||||
<span class="badge badge-pill badge-success"><i class="fa fa-check"></i></span>
|
||||
@else
|
||||
<span class="badge badge-pill badge-danger"><i class="fa fa-times"></i></span>
|
||||
@endif
|
||||
<td data-sort="{{ $value->status }}">
|
||||
@if($value->status)
|
||||
<span class="badge badge-pill badge-success"><i class="fa fa-check"></i></span>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue