Thursday, October 24, 2019

Image Upload with javascript validation in Laravel

Step#01

Create blade page in View
image_upload.blade.php
 
<form class="form-horizontal" method="post" action="{{ route('add-job-application') }}" enctype="multipart/form-data">
 
@csrf
<div class="col-md-6 mb-3">
  <
label for="validationTooltip04">Photo</label>
  <
input type="file" name="photo" class="form-control photo" id="photo" onchange='image(this)'>
   

 
<div class="panel-body center-block" style="margin-top: 5px;">
    <
img id="showPhoto"  src="" style="height:200px;width:200px;border-width:0px;">
  </
div>
</
div>
</form >

Modal for alert
<div class="modal fade" id="error_modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
    
aria-hidden="true">
  <
div class="modal-dialog" role="document" style="width: 30%;">
    <
div class="modal-content">
      <
div class="modal-header">
        <
button type="button" class="close" data-dismiss="modal" aria-label="Close">
          <
span aria-hidden="true">&times;</span>
        </
button>
        <
h4 class="modal-title" id="myModalLabel" style="color: red;">Warning</h4>
      </
div>
      <
div id="warning_message" class="modal-body"></div>
      <
div class="modal-footer">
        <
button type="button" class="btn btn-secondary btn-danger" data-dismiss="modal" style="color:white;">
          Cancel
        </
button>
      </
div>
    </
div>
  </
div>
</
div>
<script type="text/javascript">

   
/*----------------Start  photo show ---------------------------*/
   
function image(input) {
       
var fup = document.getElementById('photo');
       
var fileName = fup.value;
       
var extension = fileName.substring(fileName.lastIndexOf('.') + 1);
       
if (extension === 'jpg' || extension === 'jpeg' || extension === 'png' || extension === 'gif') {
           
var file_size = '';
           
var photo = $('.photo ').val();
           
if (photo) {
               
var file_size = $('.photo')[0].files[0].size;
            }
           
if (file_size > 80000) {
                $(
'.photo').val('');
                $(
'#showPhoto').attr('src', '');
                $(
'#warning_message').text("The photo may not be greater than 80KB");
                $(
'#error_modal').modal(300, 'show');
               
return false;
            }
           
if (input.files && input.files[0]) {
                
var reader = new FileReader();
               
reader.onload = function (e) {
                    $(
'#showPhoto').attr('src', e.target.result);
                };
               
reader.readAsDataURL(input.files[0]);
            }
        }
else {
            $(
'.photo').val('');
            $(
'#showPhoto').attr('src', '');
            $(
'#warning_message').text("Only JPEG, JPG, PNG or GIF type images are allowed");
            $(
'#error_modal').modal(300, 'show');
           
return false;
        }
    }

   
   
/*----------------End photo show ---------------------------*/
</script>
Step#02
Route::post('add-job-application', 'HomeController@addJobApplication')->name('add-job-application');

Step#03 

public function addJobApplication(Request $request){ 

$input = $request->all(); 
$image = $request->file('photo');
if($image){
   
$imgName=md5(str_random(30).time().'_'.$request->file('photo')).'.'.$request->file('photo')->getClientOriginalExtension();
    Image::make(
$request->file('photo'))->resize(600, 600)->save(public_path('frontEnd/uploads/applicationPhoto/') . $imgName);
   
$input['photo']=$imgName;
}

  
JobApplication::create($input);

}

Monday, September 30, 2019

JavaScript Data Table Search.


Step#01:

<template>
<div class="row">
   <div class="item-show-limit col-md-8">
     <span>Show</span>
       <select name="per_page" class="per_page"     @change="changePerPage" v-model="perPage">
           <option value="10">10</option>
           <option value="20">20</option>
           <option value="30">30</option>
          <option value="40">40</option>
           <option value="50">50</option>
        </select>
     <span>Entries</span>
 </div>    <div class="col-md-4">
    <div class="m-input-icon m-input-icon--left">
           <input type="text" class="form-control m-input" placeholder="Search..." id="inputSearch"><span class="m-input-icon__icon m-input-icon__icon--left"><span><i class="la la-search"></i></span> </span>
      </div>
   </div>
</div>
</template>


Step#02:
methods: {

changePerPage(){
   
var vm = this;
   
vm.index(1,vm.perPage);
},


datatables(){
    $(
document).ready(function () {
        $(
"#inputSearch").on("keyup", function () {
           
var value = $(this).val().toLowerCase();
            $(
"#dataTable tr").filter(function () {
                $(
this).toggle($(this).text().toLowerCase().indexOf(value) > -1)
            });
        });
    });
  },
}


created(){

_this.datatables();

}

Wednesday, September 25, 2019

How to use components in v-html in laravel & vue js.

Example:-


Ex:#1
<span v-html="value.qty"></span>

Ex:#2
v-html=" country.name +' ('+ country.calling_code +')' "

Laravel Simple CRUD with best Example.


Route:-

Route::resource('user','User\UserController',['parameters'=> ['user'=>'id']]);


UserController:-

------------------------------Index---------------------------------------------------------------------------
public function index()
    {
        return view('backend.user.manage_user');
    }

-----------------------------Insert--------------------------------------------------------------------------
public function store(Request $request)
    {
        $input                           = $request->all();
        $input['password']       = Hash::make($input['password']);
        $input['created_by']    = Auth::user()->id;
        $input['modified_by'] = Auth::user()->id;
        $imageData                =$request->file('photo');

        if($imageData){

            $fileName = md5(str_random(30).time().'_'.$request->file('photo')).'.'.$request->file('photo')->getClientOriginalExtension();
            $request->file('photo')->move('uploads/userPhoto/',$fileName);
            $FilePath= url('/'). "/uploads/userPhoto/".$fileName;
            $input['photo'] = $FilePath;
        }

        try {
            User::create($input);
            $bug = 0;
        } catch (\Exception $e) {
            $bug = $e->errorInfo[1];
        }
        if ($bug == 0) {
            return redirect('user')->with('successMsg', 'User Inserted Successfully.');
        }elseif ($bug == 1062) {
            return redirect('user')->with('errorMsg', 'User is Found Duplicate');
        }
        else {
            return redirect()->back()->with('errorMsg', 'Something Error Found !, Please try again.');
        }
    }

-----------------------------Edit-----------------------------------------------------------------------------
public function edit($id)
    {
        $editModeData = User::FindOrFail($id);
        $roleList = $this->commonRepositories->selectRoleList();
        return view('backend.user.add_user',compact('editModeData','roleList'));
    }

----------------------------Update--------------------------------------------------------------------------
public function update(Request $request, $id)
    {
        $data = User::findOrFail($id);

        $input                           = $request->all();
        $image                         =$request->file('photo');
        $input['created_by']     = Auth::user()->id;
        $input['modified_by']  = Auth::user()->id;


        if($image){
            $imgName= md5(str_random(30).time().'_'.$request->file('photo')).'.'.$request->file('photo')->getClientOriginalExtension();

            $request->file('photo')->move('uploads/userPhoto/',$imgName);
            if(file_exists('uploads/userPhoto/'.$data->photo) AND !empty($data->photo)){
                unlink('uploads/userPhoto/'.$data->photo);
            }
            $FilePath = url('/'). "/uploads/userPhoto/".$imgName;
            $input['photo']= $FilePath;
        }

        if(isset($request->password)){
            $input['password'] = Hash::make($input['password']);
        }

        try {
            $data->update($input);
            $bug = 0;
        } catch (\Exception $e) {
            $bug = $e->errorInfo[1];
        }
        if ($bug == 0) {
            return redirect('user')->with('successMsg', 'User Updated Successfully.');
        }elseif ($bug == 1062) {
            return redirect('user')->with('errorMsg', 'User is Found Duplicate');
        }
        else {
            return redirect()->back()->with('errorMsg', 'Something Error Found !, Please try again.');
        }
    }


-------------------------Delete-------------------------------------------------------------------------------
public function destroy($id)
    {
        $data = User::FindOrFail($id);
        if(file_exists('uploads/userPhoto/'.$data->photo) AND !empty($data->photo)){
            unlink('uploads/userPhoto/'.$data->photo);
        }

        try{

            $data->delete();
            $bug = 0;
        }
        catch(\Exception $e){
            $bug = $e->errorInfo[1];
        }

        if($bug==0){
            echo "success";
        }else{
            echo 'error';
        }
    }

Ajax load lage with laravel.

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