[WIP] config Datatables/Webpack/Yajra

This commit is contained in:
Ludovic CANDELLIER
2020-04-12 04:09:36 +02:00
parent cd9b6ea74c
commit 134e04d197
49 changed files with 1204 additions and 670 deletions

View File

@@ -1,3 +1,4 @@
TEST
<nav class="main-header navbar navbar-expand navbar-{{ config('boilerplate.theme.navbar.bg') }} navbar-{{ config('boilerplate.theme.navbar.type') }} {{ config('boilerplate.theme.navbar.border') ? "" : "border-bottom-0" }}">
<ul class="nav navbar-nav">
<li class="nav-item">

View File

@@ -8,6 +8,7 @@
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>{{ $title }} | {{ config('app.name') }}</title>
<link rel="stylesheet" href="{{ mix('/adminlte.min.css', '/assets/vendor/boilerplate') }}">
<link rel="stylesheet" href="{{ mix('/css/app.css') }}">
@stack('css')
</head>
<body class="layout-fixed layout-navbar-fixed sidebar-mini">
@@ -36,6 +37,9 @@
<script src="{{ mix('/bootstrap.min.js', '/assets/vendor/boilerplate') }}"></script>
<script src="{{ mix('/admin-lte.min.js', '/assets/vendor/boilerplate') }}"></script>
<script src="{{ mix('/boilerplate.min.js', '/assets/vendor/boilerplate') }}"></script>
<script src="{{ mix('js/app.js') }}"></script>
<script src="{{ asset('vendor/datatables/buttons.server-side.js') }}"></script>
@stack('scripts')
<script>
$.ajaxSetup({headers: {'X-CSRF-TOKEN': '{{ csrf_token() }}'}});
bootbox.setLocale('{{ App::getLocale() }}');

View File

@@ -47,5 +47,8 @@
});
</script>
@stack('js')
<script src="{{ mix('js/app.js') }}"></script>
<script src="{{ asset('vendor/datatables/buttons.server-side.js') }}"></script>
@stack('scripts')
</body>
</html>

View File

@@ -0,0 +1,22 @@
@extends('boilerplate::layout.index', [
'title' => __('shop.families.title'),
'subtitle' => __('shop.families.add'),
'breadcrumb' => [__('shop.families.title'), __('shop.families.add')]
])
@include('boilerplate::load.fileinput')
@section('content')
{{ Form::open(['route' => 'Shop.Admin.families.store', 'id' => 'form', 'autocomplete' => 'off', 'files' => true]) }}
<div class="row">
<div class="col-12 text-right">
@include('components.button-save')
</div>
</div>
@include('Shop.Admin.families.form')
</form>
@endsection

View File

@@ -0,0 +1,39 @@
@extends('layout.index', [
'title' => 'Familles',
'subtitle' => 'Edition d\'une famille',
'breadcrumb' => ['Familles']
])
@include('boilerplate::load.icheck')
@include('boilerplate::load.fileinput')
@prepend('js')
@include('components.js', ['js' => '/js/main.min.js'])
@endprepend
@push('css')
@include('components.css', ['css' => '/css/main.min.css'])
@endpush
@section('content')
{{ Form::open(['route' => 'Shop.Admin.Families.update', 'id' => 'lot-form', 'autocomplete' => 'off', 'files' => true]) }}
<div class="row">
<div class="col-sm-12 mbl">
<a href="{{ route("Shop.Admin.Families.index") }}" class="btn btn-default">
{{ __('families.list.title') }}
</a>
<span class="btn-group pull-right">
@include('components.button-save')
</span>
</div>
</div>
<input type="hidden" name="id" value="{{ $id }}">
@include('Shop.Admin.Families.form')
</form>
@endsection

View File

@@ -0,0 +1,38 @@
<div class="row">
<div class="col-md-8">
{{ Form::label('name', 'Nom') }}
@include('components.input', ['name' => 'name', 'value' => (isset($section['name'])) ? $section['name'] : null, 'required' => true])
{{ Form::label('description', 'Description') }}
@include('components.textarea', ['name' => 'description', 'id_name' => 'description', 'value' => (isset($section['description'])) ? $section['description'] : null, 'required' => true])
{{ Form::label('description', 'Rubrique parente') }}
</div>
<div class="col-md-4">
<div class="row">
<div class="col-md-12 row-new-lot-photo row-lot-photo mt-3">
<!--
<p>
<button type="button" class="btn btn-danger delete-new-lot-photo-btn"><i class="fa fa-minus-circle"></i></button>
Photo <span class="row-photo-number"></span>
</p>
-->
<input name="lot_photos[][file]" type="file" class="file" data-show-upload="false" data-show-caption="true" data-msg-placeholder="Choisissez une photo">
</div>
</div>
</div>
@include('boilerplate::load.tinymce')
@push('js')
<script>
$(function() {
$('#description').tinymce({});
})
</script>
@endpush

View File

@@ -0,0 +1,20 @@
@extends('layout.index', [
'title' => __('shop.families.title'),
'breadcrumb' => [__('shop.families.title')]
])
@section('content')
<div class="row pb-3">
<div class="col text-right">
<a href="{{ route('Shop.Admin.Families.create') }}" class="btn btn-sm btn-success">{{ __('shop.families.add') }} <i class="fa fa-plus"></i></a>
</div>
</div>
{{$dataTable->table()}}
@endsection
@push('scripts')
{{$dataTable->scripts()}}
@endpush

View File

@@ -0,0 +1,30 @@
@extends('layout.index', [
'title' => __('products.title'),
'subtitle' => __('products.title'),
'breadcrumb' => [__('products.title')]
])
@section('content')
<div class="row">
<div class="col-md-offset-2 col-md-8">
<div class="box box-info">
<div class="box-body">
<div class="col-md-6">
<h3>{{ name }}</h3>
<h4>
{{ $product.section.name }}<br>
</h4>
</div>
<div class="col-md-12">
@include('components.carousel')
</div>
</div>
</div>
</div>
</div>
@endsection

View File

@@ -1,38 +0,0 @@
<div class="col-lg-4 col-md-6">
<div class="property bg-light-2 m-bottom-30 box-shadow-1 box-shadow-2-hover border-1 border-solid border-light">
<div class="property-media overlay-wrapper">
<img class="img-fluid wow fadeIn" data-wow-offset="100" src="/storage/images/site/{{ $image }}" alt="Lot">
<div class="media-data">
<div class="position-top">
<div class="text-white text-size-24 pull-right">
<a class="text-white text-base-hover" href="#">
<i class="fa fa-heart-o"></i>
</a>
</div>
</div>
<div class="position-bottom">
<div class="badge badge-base text-white pull-left m-right-8 p-top-8 p-right-12 p-bottom-8 p-left-12 rounded-0">{{ $dispositif }}</div>
<div class="text-white text-size-18 pull-right"><i class="fa fa-camera"></i> {{ $nb_photos }}</div>
</div>
</div>
<div class="overlay bg-bg opacity-9"></div>
</div>
<div class="property-section p-left-15 p-right-15">
<div class="m-top-20 m-bottom-20">
<h2 class="text-base text-bold-700 m-top-15 bleu wow heartBeat" data-wow-offset="100">
{{ $prix }}
<small class="text-size-14 text-muted"></small>
</h2>
<h5><a class="text-bold-600 text-dark text-base-hover" href="#">{{ $titre }}</a></h5>
<p>Au sein d'une résidence récente et sécurisée, dans un cadre calme et verdoyant, appartement T3 de 58 situé au 1er étage comprenant</p>
<p><a href="#" class="bleu"><span class="fa fa-2x fa-map-marker"></span></a> <strong>{{ $adresse }} {{ $ville }}</strong></p>
<ul class="icon-list list-inline m-bottom-0">
<li class="list-inline-item"><span class="bleu fa fa-map-o"></span> {{ $nb_chambres+2 }} pièces</li>
<li class="list-inline-item"><span class="bleu fa fa-bed"></span> {{ $nb_chambres }} chambres</li>
<li class="list-inline-item"><span class="bleu fa fa-expand"></span> <strong>{{ $surface }} </strong></li>
</ul>
</div>
</div>
</div>
</div>

View File

@@ -1,110 +0,0 @@
<section style="padding-top: 20px;">
<div id="carouselExampleSlidesOnly" class="carousel slide" data-ride="carousel">
<div class="container-fluid position-absolute" style="z-index: 5; padding-top: 40px;">
<div class="row justify-content-md-center">
<div class="col-sm-8">
<div class="widget padding-lg bg-dark">
<h1 class="text-center text-light wow rubberBand">Recherchez un lot</h1>
<form action="{{ route('Hestimmo.Lots.disponibles') }}" method="GET" class="form-inline">
<div class="row">
<div class="col-md-3">
<label for="">Type de logement</label>
<select name="type_lot_id" class="form-control">
<option>Type de lots</option>
@foreach($type_lots as $key => $type_lot)
<option value="{{$key}}">{{$type_lot}}</option>
@endforeach
</select>
</div>
<div class="col-md-3">
<label for="">Ville</label>
<select name="ville" id="ville" class="form-control" placeholder="Ville"></select>
<div class="form-group">
<input type="number" style="width: 100%;" id="distance" name="distance" data-provide="slider" data-slider-min="0" data-slider-max="40" data-slider-step="5" >
</div>
<div class="form-group">
Distance : <span id="distanceSliderVal">5</span> km
</div>
</div>
<div class="col-md-3 text-center">
<label class="col-sm-12">Budget</label>
<div class="form-group">
<input type="number" style="width: 100%;" id="budget" name="budget" data-provide="slider" data-slider-min="50000" data-slider-max="600000" data-slider-step="10000" >
</div>
<h3><span id="budgetSliderVal">50 000,00 </span></h3>
<div class="w-100">+/- 5000 </div>
</div>
<div class="col-md-2">
<label for=""></label>
<button class="btn btn-primary btn-block">Rechercher</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
<div class="carousel-inner">
<div class="carousel-item active">
<img src="/storage/images/site/slide01.jpg" class="d-block w-100" alt="...">
</div>
<div class="carousel-item">
<img src="/storage/images/site/slide02.jpg" class="d-block w-100" alt="...">
</div>
<div class="carousel-item">
<img src="/storage/images/site/slide03.jpg" class="d-block w-100" alt="...">
</div>
</div>
</div>
</section>
@include('boilerplate::load.select2')
@push('js')
<script src="/js/bootstrap-slider.min.js"></script>
<script>
$(function () {
var mySlider = $("input.slider").slider();
$("#budget").on("slide", function(slideEvt) {
value = new Intl.NumberFormat('fr-FR', { style: 'currency', currency: 'EUR' }).format(slideEvt.value);
$("#budgetSliderVal").text(value);
});
$("#distance").on("slide", function(slideEvt) {
$("#distanceSliderVal").text(slideEvt.value);
});
$('#ville').select2({
ajax: {
url: "{{ route('Villes.autocomplete') }}",
data: function (params) {
var query = {
search: params.term
}
// Query parameters will be ?search=[term]
return query;
}
}
});
var wew = new Wew({
target: '.wow',
keyword: 'wow',
});
wew.init();
});
</script>
@endpush
@push('css')
<link rel="stylesheet" href="/css/bootstrap-slider.min.css">
@endpush

View File

@@ -0,0 +1,22 @@
@extends('boilerplate::layout.index', [
'title' => __('shop.families.title'),
'subtitle' => __('shop.families.add'),
'breadcrumb' => [__('shop.families.title'), __('shop.families.add')]
])
@include('boilerplate::load.fileinput')
@section('content')
{{ Form::open(['route' => 'Shop.Admin.families.store', 'id' => 'form', 'autocomplete' => 'off', 'files' => true]) }}
<div class="row">
<div class="col-12 text-right">
@include('components.button-save')
</div>
</div>
@include('Shop.Admin.families.form')
</form>
@endsection

View File

@@ -0,0 +1,39 @@
@extends('layout.index', [
'title' => 'Familles',
'subtitle' => 'Edition d\'une famille',
'breadcrumb' => ['Familles']
])
@include('boilerplate::load.icheck')
@include('boilerplate::load.fileinput')
@prepend('js')
@include('components.js', ['js' => '/js/main.min.js'])
@endprepend
@push('css')
@include('components.css', ['css' => '/css/main.min.css'])
@endpush
@section('content')
{{ Form::open(['route' => 'Shop.Admin.Families.update', 'id' => 'lot-form', 'autocomplete' => 'off', 'files' => true]) }}
<div class="row">
<div class="col-sm-12 mbl">
<a href="{{ route("Shop.Admin.Families.index") }}" class="btn btn-default">
{{ __('families.list.title') }}
</a>
<span class="btn-group pull-right">
@include('components.button-save')
</span>
</div>
</div>
<input type="hidden" name="id" value="{{ $id }}">
@include('Shop.Admin.Families.form')
</form>
@endsection

View File

@@ -0,0 +1,38 @@
<div class="row">
<div class="col-md-8">
{{ Form::label('name', 'Nom') }}
@include('components.input', ['name' => 'name', 'value' => (isset($section['name'])) ? $section['name'] : null, 'required' => true])
{{ Form::label('description', 'Description') }}
@include('components.textarea', ['name' => 'description', 'id_name' => 'description', 'value' => (isset($section['description'])) ? $section['description'] : null, 'required' => true])
{{ Form::label('description', 'Rubrique parente') }}
</div>
<div class="col-md-4">
<div class="row">
<div class="col-md-12 row-new-lot-photo row-lot-photo mt-3">
<!--
<p>
<button type="button" class="btn btn-danger delete-new-lot-photo-btn"><i class="fa fa-minus-circle"></i></button>
Photo <span class="row-photo-number"></span>
</p>
-->
<input name="lot_photos[][file]" type="file" class="file" data-show-upload="false" data-show-caption="true" data-msg-placeholder="Choisissez une photo">
</div>
</div>
</div>
@include('boilerplate::load.tinymce')
@push('js')
<script>
$(function() {
$('#description').tinymce({});
})
</script>
@endpush

View File

@@ -0,0 +1,62 @@
@extends('boilerplate::layout.index', [
'title' => __('shop.species.title'),
'breadcrumb' => [__('shop.species.title')]
])
@section('content')
<div class="box">
<div class="box-body">
<table class="table table-striped table-hover va-middle" id="species-table">
<thead>
<tr>
<th>
<input type="text" class="form-control-sm" style="max-width: 100px;">
</th>
<th>
</th>
<th class="text-right">
<a href="{{ route('Shop.Admin.Species.create') }}" class="btn btn-sm btn-success">{{ __('shop.species.add') }} <i class="fa fa-plus"></i></a>
</th>
</tr>
<tr>
<th>Nom</th>
<th>Nb produits</th>
<th></th>
</tr>
</thead>
</table>
</div>
</div>
@endsection
@include('boilerplate::load.datatables')
@push('js')
<script>
$(function () {
$('#species-table').dataTable();
$('#species-table').on('click', '.destroy', function (e) {
e.preventDefault();
var href = $(this).attr('href');
var line = $(this).closest('tr');
bootbox.confirm("{{ __('boilerplate::shop.admin.species.list.confirmdelete') }}", function (result) {
if (result === false) return;
$.ajax({
url: href,
method: 'delete',
headers: {'X-CSRF-TOKEN': '{{ csrf_token() }}'},
success: function(){
line.remove();
growl("{{ __('boilerplate::shop.admin.species.list.deletesuccess') }}", 'success');
}
});
});
});
});
</script>
@endpush

View File

@@ -0,0 +1,30 @@
@extends('layout.index', [
'title' => __('products.title'),
'subtitle' => __('products.title'),
'breadcrumb' => [__('products.title')]
])
@section('content')
<div class="row">
<div class="col-md-offset-2 col-md-8">
<div class="box box-info">
<div class="box-body">
<div class="col-md-6">
<h3>{{ name }}</h3>
<h4>
{{ $product.section.name }}<br>
</h4>
</div>
<div class="col-md-12">
@include('components.carousel')
</div>
</div>
</div>
</div>
</div>
@endsection