Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @extends('admin.template')
- @section('title', 'Blogs')
- @section('stylesheets')
- {{ Html::style('public/plugin/mui-trade-template/global/vendor/blueimp-file-upload/jquery.fileupload.css') }}
- {{ Html::style('public/plugin/mui-trade-template/global/vendor/dropify/dropify.css') }}
- <style type="text/css">
- td a img {
- width: 36px;
- height: 36px;
- border-radius: 100%;
- }
- .show-image {
- width: 25%;
- height: auto;
- }
- </style>
- @endsection
- @section('pageheader')
- <div class="page-header">
- <h1 class="page-title">Blogs</h1>
- <ol class="breadcrumb">
- <li class="breadcrumb-item">
- <a href="{{ route('admin.home') }}">Dashboard</a>
- </li>
- <li class="breadcrumb-item active">Blogs</li>
- </ol>
- <!-- <div class="page-header-actions">
- <button type="button" class="btn btn-sm btn-icon btn-primary btn-round" data-toggle="tooltip" data-original-title="Edit">
- <i class="icon md-edit" aria-hidden="true"></i>
- </button>
- <button type="button" class="btn btn-sm btn-icon btn-primary btn-round" data-toggle="tooltip" data-original-title="Refresh">
- <i class="icon md-refresh-alt" aria-hidden="true"></i>
- </button>
- <button type="button" class="btn btn-sm btn-icon btn-primary btn-round" data-toggle="tooltip" data-original-title="Setting">
- <i class="icon md-settings" aria-hidden="true"></i>
- </button>
- </div> -->
- </div>
- @endsection
- @section('content')
- <!-- Add -->
- <div class="modal fade" id="add-modal" tabindex="-1" role="dialog" aria-labelledby="add-modal-title" aria-hidden="true">
- <div class="modal-dialog modal-lg" role="document">
- <div class="modal-content">
- <div class="modal-header">
- <h5 class="modal-title" id="add-modal-title">Modal title</h5>
- <button type="button" class="close" data-dismiss="modal" aria-label="Close">
- <span aria-hidden="true">×</span>
- </button>
- </div>
- <div class="modal-body">
- <form class="form-horizontal" id="add-form" name="blog-form" enctype="multipart/form-data">
- <div class="row">
- <div class="col-md-8">
- <div class="form-group row">
- {{ Form::label('name', 'Title', array('class' => 'col-sm-3 col-form-label form-control-sm')) }}
- <div class="col-sm-9">
- {{ Form::text('name', null, array('class' => 'form-control form-control-sm', 'id' => 'add-name', 'required' => '', 'placeholder' => 'Title')) }}
- </div>
- </div>
- <div class="form-group row">
- {{ Form::label('image', 'Image', array('class' => 'col-sm-3 col-form-label form-control-sm')) }}
- <div class="input-group col-sm-9">
- <input type="file" name="image" id="img-source add-image" data-plugin="dropify" data-default-file="" required="">
- </div>
- </div>
- </div>
- <div class="col-md-4">
- </div>
- <div class="col-md-12">
- <div class="form-group row">
- {{ Form::label('body', 'Content', array('class' => 'col-sm-2 col-form-label form-control-sm')) }}
- <div class="col-sm-10">
- {{ Form::textarea('body', null, array('class' => 'form-control form-control-sm', 'id' => 'add-body', 'placeholder' => 'Your Content here...', 'rows' => '3')) }}
- </div>
- </div>
- </div>
- </div>
- </form>
- </div>
- <div class="modal-footer">
- <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
- <button type="button" class="btn btn-primary add" data-dismiss="modal">Save</button>
- </div>
- </div>
- </div>
- </div>
- <!-- Show -->
- <div class="modal fade" id="show-modal" tabindex="-1" role="dialog" aria-labelledby="show-modal-title" aria-hidden="true">
- <div class="modal-dialog modal-lg" role="document">
- <div class="modal-content">
- <div class="modal-header">
- <h5 class="modal-title" id="show-modal-title">Modal title</h5>
- <button type="button" class="close" data-dismiss="modal" aria-label="Close">
- <span aria-hidden="true">×</span>
- </button>
- </div>
- <div class="modal-body">
- <center>
- <h4 class="show-title font-weight-bold"></h4>
- <img src="" alt="" class="img-thumbnail img-fluid show-image">
- </center>
- <p class="show-body mt-3"></p>
- </div>
- <div class="modal-footer">
- <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
- </div>
- </div>
- </div>
- </div>
- <!-- Edit -->
- <div class="modal fade" id="edit-modal" tabindex="-1" role="dialog" aria-labelledby="edit-modal-title" aria-hidden="true">
- <div class="modal-dialog modal-lg" role="document">
- <div class="modal-content">
- <div class="modal-header">
- <h5 class="modal-title" id="edit-modal-title">Edit</h5>
- <button type="button" class="close" data-dismiss="modal" aria-label="Close">
- <span aria-hidden="true">×</span>
- </button>
- </div>
- <div class="modal-body">
- <form class="form-horizontal" id="edit-form" name="blog-form" enctype="multipart/form-data">
- <input type="text" name="" id="id-edit" hidden>
- <div class="row">
- <div class="col-md-8">
- <div class="form-group row">
- {{ Form::label('name', 'Title', array('class' => 'col-sm-3 col-form-label form-control-sm')) }}
- <div class="col-sm-9">
- {{ Form::text('name', null, array('class' => 'form-control form-control-sm', 'id' => 'edit-name', 'placeholder' => 'Title')) }}
- </div>
- </div>
- <div class="form-group row">
- {{ Form::label('image', 'Image', array('class' => 'col-sm-3 col-form-label form-control-sm')) }}
- <div class="input-group col-sm-9">
- <input type="file" name="image" id="img-source" class="edit-image" data-plugin="dropify" data-default-file="">
- </div>
- </div>
- </div>
- <div class="col-md-4">
- <img src="" alt="" class="old-image img-fluid">
- </div>
- <div class="col-md-12">
- <div class="form-group row">
- {{ Form::label('body', 'Content', array('class' => 'col-sm-2 col-form-label form-control-sm')) }}
- <div class="col-sm-10">
- {{ Form::textarea('body', null, array('class' => 'form-control form-control-sm', 'id' => 'edit-body', 'placeholder' => 'Your Content here...', 'rows' => '3')) }}
- </div>
- </div>
- </div>
- </div>
- </form>
- </div>
- <div class="modal-footer">
- <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
- <button type="button" class="btn btn-primary edit" data-dismiss="modal">Edit</button>
- </div>
- </div>
- </div>
- </div>
- <!-- Delete -->
- <div class="modal fade" id="delete-modal" tabindex="-1" role="dialog" aria-labelledby="delete-modal-title" aria-hidden="true">
- <div class="modal-dialog modal-sm" role="document">
- <div class="modal-content">
- <div class="modal-header">
- <h5 class="modal-title" id="delete-modal-title">Delete</h5>
- <button type="button" class="close" data-dismiss="modal" aria-label="Close">
- <span aria-hidden="true">×</span>
- </button>
- </div>
- <div class="modal-body">
- <h5 class="delete-title text-center font-weight-bold">Are you sure want delete this post?</h5>
- </div>
- <div class="modal-footer">
- <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
- <button type="button" class="btn btn-primary delete" data-dismiss="modal">Delete</button>
- </div>
- </div>
- </div>
- </div>
- <div class="panel">
- <header class="panel-heading">
- <h3 class="panel-title">Posts</h3>
- </header>
- <div class="panel-body">
- <div class="row">
- <div class="col-md-6">
- <div class="mb-15">
- <a href="javascript:void(0)" class="btn btn-sm btn-success add-blog">
- <i class="icon md-plus" aria-hidden="true"></i> Add
- </a>
- </div>
- </div>
- </div>
- @if(count($blogs) > 0)
- <div class="table-responsive">
- <table class="ui table table-bordered table-striped table-hover" id="datatable">
- <thead>
- <tr>
- <th>Title</th>
- <th>Image</th>
- <th>Body</th>
- <th>Action</th>
- </tr>
- </thead>
- <tbody id="blogs-crud">
- @foreach($blogs as $blog)
- <tr id="blog-id-{{ $blog->id }}">
- <td>{{ $blog->name }}</td>
- <td>
- <a href="{{ $blog->image }}" data-lightbox="lightbox-image{{ $blog->id }}" data-title="" data-alt="">
- <img src="{{ $blog->image }}" alt="">
- </a>
- </td>
- <td>{{ substr(strip_tags($blog->body), 0, 100) }}{{ strlen(strip_tags($blog->body)) > 100 ? "..." : "" }}</td>
- <td class="actions">
- <a href="javascript:void(0)" data-id="{{ $blog->id }}" data-title="{{ $blog->name }}" data-image="{{ $blog->image }}" data-content="{{ $blog->body }}" class="btn btn-sm btn-icon btn-pure btn-default on-editing save-row show-blog" data-toggle="tooltip" data-original-title="Save">
- <i class="icon md-wrench" aria-hidden="true"></i> Show
- </a>
- <a href="javascript:void(0)" data-id="{{ $blog->id }}" data-title="{{ $blog->name }}" data-image="{{ $blog->image }}" data-content="{{ $blog->body }}" class="btn btn-sm btn-icon btn-pure btn-default on-default edit-row edit-blog" data-toggle="tooltip" data-original-title="Edit">
- <i class="icon md-edit" aria-hidden="true"></i> Edit
- </a>
- <a href="javascript:void(0)" data-id="{{ $blog->id }}" class="btn btn-sm btn-icon btn-pure btn-default on-default remove-row delete-blog" data-toggle="tooltip" data-original-title="Remove">
- <i class="icon md-delete" aria-hidden="true"></i> Delete
- </a>
- </td>
- </tr>
- @endforeach
- </tbody>
- </table>
- </div>
- @else
- <h3 class="no-result mt-2">No results found</h3>
- @endif
- </div>
- </div>
- @endsection
- @section('scripts')
- {{ Html::script('public/plugin/tinymce/tinymce.min.js') }}
- {{ Html::script('public/plugin/mui-trade-template/global/vendor/jquery-ui/jquery-ui.js') }}
- {{ Html::script('public/plugin/mui-trade-template/global/vendor/blueimp-tmpl/tmpl.js') }}
- {{ Html::script('public/plugin/mui-trade-template/global/vendor/blueimp-canvas-to-blob/canvas-to-blob.js') }}
- {{ Html::script('public/plugin/mui-trade-template/global/vendor/blueimp-load-image/load-image.all.min.js') }}
- {{ Html::script('public/plugin/mui-trade-template/global/vendor/blueimp-file-upload/jquery.fileupload.js') }}
- {{ Html::script('public/plugin/mui-trade-template/global/vendor/blueimp-file-upload/jquery.fileupload-process.js') }}
- {{ Html::script('public/plugin/mui-trade-template/global/vendor/blueimp-file-upload/jquery.fileupload-image.js') }}
- {{ Html::script('public/plugin/mui-trade-template/global/vendor/blueimp-file-upload/jquery.fileupload-video.js') }}
- {{ Html::script('public/plugin/mui-trade-template/global/vendor/blueimp-file-upload/jquery.fileupload-validate.js') }}
- {{ Html::script('public/plugin/mui-trade-template/global/vendor/blueimp-file-upload/jquery.fileupload-ui.js') }}
- {{ Html::script('public/plugin/mui-trade-template/global/vendor/dropify/dropify.min.js') }}
- {{ Html::script('public/plugin/mui-trade-template/global/js/Plugin/dropify.js') }}
- {{ Html::script('public/plugin/mui-trade-template/mmenu/assets/examples/js/forms/uploads.js') }}
- <script type="text/javascript">
- tinymce.init({
- // selector: '#add-body',
- branding: false,
- theme: "modern",
- plugins: [
- 'advlist autolink lists link image charmap print preview hr anchor pagebreak',
- 'searchreplace wordcount visualblocks visualchars code fullscreen',
- 'insertdatetime media nonbreaking save table contextmenu directionality',
- 'emoticons template paste textcolor colorpicker textpattern imagetools'
- ],
- toolbar1: 'insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image',
- toolbar2: 'print preview media | forecolor backcolor emoticons',
- image_advtab: true,
- templates: [
- {title: 'Test template 1', content: 'Test 1'},
- {title: 'Test template 2', content: 'Test 2'}
- ]
- });
- $(document).ready(function() {
- $.ajaxSetup({
- headers: {
- 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
- }
- });
- });
- /* Add */
- $(document).on('click', '.add-blog', function() {
- $('.modal-title').text('Add Blog');
- $('#add-form').trigger('reset');
- $(".dropify-clear").trigger("click");
- $('#add-modal').modal('show');
- });
- $('.modal-footer').on('click', '.add', function() {
- var formData = new FormData($('#add-form')[0]);
- console.log(formData);
- $.ajax({
- type: 'POST',
- url: 'blog',
- data: formData,
- dataType: 'json',
- // cache: false,
- processData: false,
- contentType: false,
- enctype: 'multipart/form-data',
- success: function(data) {
- if (data.errors) {
- setTimeout(function () {
- $('#add-modal').modal('show');
- toastr.error('Validation error!', 'Error Alert', {timeOut: 5000});
- }, 500);
- if (data.errors.name) {
- toastr.error('Title error!', 'Error Alert', {timeOut: 5000});
- }
- if (data.errors.body) {
- toastr.error('Content error!', 'Error Alert', {timeOut: 5000});
- }
- } else {
- toastr.success('Successfully added Post!', 'Success Alert', {timeOut: 5000});
- $('#datatable').append(
- "<tr id='blog-id-" + data.id + "'>" +
- "<td>" + data.name + "</td>" +
- "<td>" +
- "<a href='" + data.image + "' data-lightbox='lightbox-image" + data.id + "' data-title='' data-alt=''>" +
- "<img src='" + data.image + "' alt=''>" +
- "</a>" +
- "</td>" +
- "<td>" + data.body + "</td>" +
- "<td class='actions'>" +
- "<a href='javascript:void(0)' data-id='" + data.id + "' data-title='" + data.name + "' data-image='" + data.image + "' data-content='" + data.body + "' class='btn btn-sm btn-icon btn-pure btn-default on-editing save-row show-blog' data-toggle='tooltip' data-original-title='Save'>" +
- "<i class='icon md-wrench' aria-hidden='true'></i> Show" +
- "</a>" +
- "<a href='javascript:void(0)' data-id='" + data.id + "' data-title='" + data.name + "' data-image='" + data.image + "' data-content='" + data.body + "' class='btn btn-sm btn-icon btn-pure btn-default on-default edit-row edit-blog' data-toggle='tooltip' data-original-title='Edit'>" +
- "<i class='icon md-edit' aria-hidden='true'></i> Edit" +
- "</a>" +
- "<a href='javascript:void(0)' data-id='" + data.id + "' class='btn btn-sm btn-icon btn-pure btn-default on-default remove-row delete-blog' data-toggle='tooltip' data-original-title='Remove'>" +
- "<i class='icon md-delete' aria-hidden='true'></i> Delete" +
- "</a>" +
- "</td>" +
- "</tr>");
- }
- },
- error: function(data) {
- toastr.error(data.errors, 'Error Alert', {timeOut: 5000});
- }
- });
- });
- /* Show */
- $(document).on('click', '.show-blog', function() {
- $('.modal-title').text('Show');
- $('.show-title').text($(this).data('title'));
- $('.show-image').attr('src', $(this).data('image'));
- $('.show-body').text($(this).data('content'));
- $('#show-modal').modal('show');
- });
- /* Edit */
- $(document).on('click', '.edit-blog', function() {
- $('#id-edit').val($(this).data('id'));
- $('#edit-name').val($(this).data('title'));
- $('.old-image').attr('src', $(this).data('image'));
- $('#edit-body').val($(this).data('content'));
- $('#edit-modal').modal('show');
- console.log($('#id-edit').val());
- id_edit = $(this).data('id');
- });
- $('.modal-footer').on('click', '.edit', function() {
- var form_data = new FormData();
- id = $('#id-edit').val();
- name = $('#edit-name').val();
- image = $('.edit-image')[0].files[0];
- body = $('#edit-body').val();
- form_data.append('id', id);
- form_data.append('name', name);
- form_data.append('image', image);
- form_data.append('body', body);
- form_data.append('_method', 'PUT');
- console.log(id, name, body, image);
- // var form_data_e = $('#edit-form').serialize();
- $.ajax({
- type: 'POST',
- url: 'blog/' + id_edit,
- data: form_data,
- dataType: 'json',
- processData: false,
- contentType: false,
- enctype: 'multipart/form-data',
- success: function(data) {
- if (data.errors) {
- setTimeout(function() {
- $('#edit-modal').modal('show');
- toastr.error('Validation error!', 'Error Alert', {timeOut: 5000});
- }, 500);
- if (data.errors.name) {
- toastr.error('Title error!', 'Error Alert', {timeOut: 5000});
- }
- if (data.errors.body) {
- toastr.error('Content error!', 'Error Alert', {timeOut: 5000});
- }
- } else {
- toastr.success('Successfully updated Post!', 'Success Alert', {timeOut: 5000});
- $('#blog-id-' + data.id).replaceWith(
- "<tr id='blog-id-" + data.id + "'>" +
- "<td>" + data.name + "</td>" +
- "<td>" +
- "<a href='" + data.image + "' data-lightbox='lightbox-image" + data.id + "' data-title='' data-alt=''>" +
- "<img src='" + data.image + "' alt=''>" +
- "</a>" +
- "</td>" +
- "<td>" + data.body + "</td>" +
- "<td class='actions'>" +
- "<a href='javascript:void(0)' data-id='" + data.id + "' data-title='" + data.name + "' data-image='" + data.image + "' data-content='" + data.body + "' class='btn btn-sm btn-icon btn-pure btn-default on-editing save-row show-blog' data-toggle='tooltip' data-original-title='Save'>" +
- "<i class='icon md-wrench' aria-hidden='true'></i> Show" +
- "</a>" +
- "<a href='javascript:void(0)' data-id='" + data.id + "' data-title='" + data.name + "' data-image='" + data.image + "' data-content='" + data.body + "' class='btn btn-sm btn-icon btn-pure btn-default on-default edit-row edit-blog' data-toggle='tooltip' data-original-title='Edit'>" +
- "<i class='icon md-edit' aria-hidden='true'></i> Edit" +
- "</a>" +
- "<a href='javascript:void(0)' data-id='" + data.id + "' class='btn btn-sm btn-icon btn-pure btn-default on-default remove-row delete-blog' data-toggle='tooltip' data-original-title='Remove'>" +
- "<i class='icon md-delete' aria-hidden='true'></i> Delete" +
- "</a>" +
- "</td>" +
- "</tr>");
- }
- },
- error: function(data) {
- toastr.error(data.errors, 'Error Alert', {timeOut: 5000});
- }
- });
- });
- /* Delete */
- $(document).on('click', '.delete-blog', function() {
- $('.modal-title').text('Delete');
- $('#delete-modal').modal('show');
- id = $(this).data('id');
- });
- $('.modal-footer').on('click', '.delete', function() {
- $.ajax({
- type: 'DELETE',
- url: 'blog/' + id,
- success: function(data) {
- toastr.success('Successfully deleted Post!', 'Success Alert', {timeOut: 5000});
- $('#blog-id-' + id).remove();
- }
- });
- });
- </script>
- @endsection
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement