resimler.blade.php
| 11.9 KB | Satir:
0
| php
Geri
@extends('backend.app') @section("content") <div class="content-header row"> <div class="content-header-left col-md-6 col-12 mb-2 breadcrumb-new"> <h3 class="content-header-title mb-0 d-block">E-Gazete Sayfalar</h3> <div class="row breadcrumbs-top d-inline-block"> <div class="breadcrumb-wrapper col-12"> <ol class="breadcrumb"> <li class="breadcrumb-item"><a href="{{url('panel')}}">Anasayfa</a> </li> <li class="breadcrumb-item"><a href="{{url('panel/moduller/e-gazete')}}">E-Gazete</a> </li> <li class="breadcrumb-item active">{{$gazete->baslik}} </li> </ol> </div> </div> </div> <div class="content-header-right col-md-6 col-12"> <div class="dropdown float-md-right"> <a href="{{url('panel/moduller/e-gazete')}}" class="btn btn-dark round btn-glow px-2">Geri Dön</a> </div> </div> </div> <div class="content-body"> <div class="row"> <div id="recent-sales" class="col-12 col-md-12"> <div class="card"> <div class="card-content"> <div class="card-body"> <div class="form-body"> <div class="card-content"> <button id="select-files" class="btn btn-primary mb-1 d-none"><i class="ft-plus-circle"></i> Sayfa Resimlerini Seç</button> <form method="post" action="{{route('panel.moduller.gazete.resimler.kaydet',['id' => $gazete->id])}}" enctype="multipart/form-data" class="dropzone" id="my-dropzone"> @csrf <div class="dz-message">Yüklemek için tıklayın veya resimleri buraya sürükleyin.</div> <input type="hidden" name="gazete" value="{{$gazete->id}}"> </form> </div> </div> <div class="form-actions text-right mt-1"> <div class="d-md-inline-block mr-2 d-sm-none text-muted"> Resimleri seçtikten sonra sağdaki Kaydet butonuna tıklayın. </div> <button type="submit" id="resimkaydet" class="btn btn-success"> <i class="la la-check"></i> Kaydet </button> </div> </div> </div> </div> </div> </div> <h4 class="form-section mb-1"><i class="la la-newspaper-o"></i> {{$gazete->baslik}} Sayfaları (<small class="text-muted">Resimleri sürükle bırak yöntemi ile sıralayabilirsiniz.</small>)</h4> <div class="row" id="card-drag-area"> @foreach($sayfalar as $sayfa) <div id="{{$sayfa->id}}" class="col-xl-3 col-lg-6 col-sm-12 drag"> <div class="card"> <div class="card-content"> <img class="img-fluid" src="{{asset('images/egazeteresim/'.$sayfa->resim)}}" alt=""> <button data-id="{{$sayfa->resim}}" style="position: absolute;top:10px;right: 10px;" type="button" class="btn btn-icon btn-sm btn-danger"><i class="la la-trash"></i></button> </div> </div> </div> @endforeach </div> </div> @endsection @push("customJs") <script src="{{asset('assets/backend/app-assets/vendors/js/ui/jquery-ui.min.js')}}" type="text/javascript"></script> <script src="{{asset('assets/backend/app-assets/vendors/js/extensions/dropzone.min.js')}}" type="text/javascript"></script> <script src="{{asset('assets/backend/app-assets/js/scripts/Sortable.min.js')}}" type="text/javascript"></script> <script> Dropzone.options.myDropzone = { paramName: "file", renameFile: function(file) { let dt = new Date(); let time = dt.getTime(); let extension = file.name.substr( (file.name.lastIndexOf('.') +1) ); return time+'.'+extension; }, autoProcessQueue : false, uploadMultiple: false, parallelUploads : 25, previewsContainer: "#my-dropzone", // Define the container to display the previews //clickable: "#select-files", // Define the element that should be used as click trigger to select files. maxFilesize: 10, // MB addRemoveLinks: true, dictRemoveFile: " Sil", dictFileTooBig: 'Resim boyutu 10 MB tan büyük', dictCancelUpload: 'İptal Et', acceptedFiles: 'image/*', resizeQuality: 1, resizeWidth: 2000, removedfile: function(file) { let name = file.upload.filename; $.ajax({ headers: { 'X-CSRF-TOKEN': '{{csrf_token()}}' }, type: 'POST', url: "/panel/moduller/e-gazete/resimler/sil/"+name, data: {filename: name,}, success: function (data){ console.log("Resim silindi."); }, error: function(e) { console.log(e); }}); let fileRef; return (fileRef = file.previewElement) != null ? fileRef.parentNode.removeChild(file.previewElement) : void 0; }, init: function() { let submitButton = document.querySelector("#resimkaydet") let myDropzone = this; submitButton.addEventListener("click", function() { myDropzone.processQueue(); }); }, queuecomplete: function() { swal({ title: "İşlem Tamam!", text: "<strong>Sayfalar Başarıyla Eklendi.</strong>", type: "success", html: true, timer: 1500}, function(){ location.reload(); } ); }, success: function(file, response) { console.log(response); }, error: function(file, response) { return false; } }; // List with handle /*var el = document.getElementById('card-drag-area'); Sortable.create(el, { draggable: ".drag", ghostClass: 'ghost', animation: 150 });*/ $("#my-dropzone").sortable({ items:'.dz-preview', cursor: 'move', opacity: 0.5, containment: "parent", distance: 20, tolerance: 'pointer', update: function(e, ui){ // do what you want }, change: function (event, ui) { ui.placeholder.css({visibility: 'visible', border: '1px solid #535BE2' }); } }); $("#card-drag-area").sortable({ items:'.drag', revert: true, cursor: 'move', opacity: 0.5, distance: 20, tolerance: 'pointer', update: function(e, ui){ }, change: function (event, ui) { ui.placeholder.css({visibility: 'visible', border: '1px solid #29C5FF',backgroundColor: '#C5D3E2'}); }, stop: function(event, ui) { let itemOrder = $('#card-drag-area').sortable("toArray"); for (let i = 0; i < itemOrder.length; i++) { //console.log("Position: " + (i +1) + " ID: " + itemOrder[i]); let id = itemOrder[i]; let order = (i+1); $.ajax({ headers: { 'X-CSRF-TOKEN': '{{csrf_token()}}' }, type: 'POST', url: "/panel/moduller/e-gazete/resimler/order/"+id, data: {id: id,order:order}, success: function (data){ console.log(data.success + "id li resim sıralama yapıldı."); }, error: function(e) { console.log(e); } }); } } }); $(".btn-danger").on("click",function () { let id = $(this).data('id').split('/'); let idName = id[2]; let imageCard = $(this).parent().parent().parent(); swal({ title: "Emin misiniz?", text: "<strong>Bu Resim silinecektir!</strong>", type: "warning", html: true, showCancelButton: true, confirmButtonColor: "#DD6B55", confirmButtonText: "Evet, silinsin!", cancelButtonText: "Hayır, vazgeç!", closeOnConfirm: false, closeOnCancel: true }, function(isConfirm){ if (isConfirm) { swal.close(); $.ajax({ headers: { 'X-CSRF-TOKEN': '{{csrf_token()}}' }, type: "POST", url: "/panel/moduller/e-gazete/resimler/sil/"+idName, data: { "id": idName }, success: function(response) { imageCard.fadeOut(300, function() { $(this).remove(); }); console.log(response); }, error: function(e) { console.log(e); } }); /*swal({ title: "Silindi!", text: "<strong>Resim Başarıyla Silindi.</strong>", type: "success", html: true, timer: 1000}, function(){ imageCard.fadeOut().remove(); } );*/ } }); }) </script> @endpush @push("customCss") <link rel="stylesheet" type="text/css" href="{{asset('assets/backend/app-assets/vendors/css/file-uploaders/dropzone.min.css')}}"> <link rel="stylesheet" type="text/css" href="{{asset('assets/backend/app-assets/css/plugins/file-uploaders/dropzone.css')}}"> <style> .ghost { opacity: .5; background: #C8EBFB; } .dropzone{ min-height: 200px; } .dropzone .dz-message{ top: 30%; } </style> @endpush
Kaydet
Ctrl+S ile kaydet