Sunday, August 30, 2020

Sweet Alert delete using Laravel ?

 Delete btn:

<a href="{!!route('news-letter-delete',$row->id )!!}" class="btn btn-danger deleteBtn pull-right py-0" data-token="{!! csrf_token() !!}" data-id="{!! $row->id !!}"><span class="icofont icofont-trash"> </span></a>


web.php

Route::delete('/news-letter-delete/{id}',

[

'as' => 'news-letter-delete',

'uses' => 'Admin\NletterController@destroy',

'middleware' => ['permission:All|Configuration']

]

)->where('id', '[0-9]+');


Controller:


public function destroy($id)

    {

        $deleteData = Nletter::FindOrFail($id); 


        try{


            $deleteData->delete();


            NletterDetail::where('nletter_id',$id)->delete();


            $bug = 0;

        }

        catch(\Exception $e){

            $bug = $e->errorInfo[1];

        }


        if($bug==0){

            echo "success";

              

        }else{

            echo 'error';

        } 

         

    }


CSS :

      <!-- sweetalert css -->

   <link rel="stylesheet" href="{!! asset('js/sweetalert/sweetalert.css') !!}">


JS: include  master.blade.php 


<script src="{!! asset('js/sweetalert/sweetalert-dev.js') !!}"></script>

   <script type="text/javascript">

     $(document).on('click', '.deleteBtn', function () {

                var actionTo=$(this).attr('href');

                var token=$(this).attr('data-token');

                var id=$(this).attr('data-id');


                swal({

                        title: "Are you sure?",

                        text: "You will not be able to recover this imaginary file!",

                        type: "success",

                        showCancelButton: true,

                        confirmButtonClass: 'btn-danger',

                        confirmButtonColor: "#DD6B55",

                        confirmButtonText: 'Yes, delete it!',

                        cancelButtonText: "Cancel",

                        closeOnConfirm: false,

                        closeOnCancel: false

                    },

                    function (isConfirm) {

                        if (isConfirm) {

                            $.ajax({

                                url:actionTo,

                                type: 'post',

                                data: {_method: 'delete',_token:token},

                                success: function (data) {


                                    if (data == 'hasForeignKey') {

                                        swal({

                                            title: "Oops!",

                                            text: "This data is used anywhere",

                                            type: "error"

                                        });

                                    } else if(data == 'success'){

                                        swal({

                                                title: "Deleted!",

                                                text: "Your information delete successfully.",

                                                type: "success"

                                            },

                                            function (isConfirm) {

                                                if (isConfirm) {

                                                    $('.' + id).fadeOut();

                                                }

                                            });

                                    }else{

                                        swal({

                                            title: "Fail to Delete!",

                                            text: "Something Error Found !, Please try again.",

                                            type: "error"

                                        });

                                    }

                                }


                            });

                        } else {

                            swal("Cancelled", "Your data is safe .", "error");

                        }

                    });

                return false;

            });

  </script>

No comments:

Post a Comment

Ajax load lage with laravel.

 step-1:  HTML <div class="row">                     <div class="col-lg-12">                           <d...