menu

Showing posts with label Laravel-Chapter4. Show all posts
Showing posts with label Laravel-Chapter4. Show all posts

Laravel - Tutorial Java Script 7 (Expert Java Script)


Pada tutorial sebelumnya kita sudah belajar membuat operation CRUD pada Java Script menggunakan Ajax kali ini kita akan menyempurnakan tutorial tersebut menjadi lebih complex , dan tentunya lebih menantang, hehe,.,

Tutorial kali ini merupakan tutorial terakhir dari chapter 4 yang merupakan chapter Java Script for Laravel, tutorial kali ini akan lebih menitik beratkan pada penggunaan fungsi-fungsi jQuerynya..

Oke, langsung saja kita praktekkan tutorialnya..

Pertama, buat route baru untuk project kita yang baru ini, dengan mengedit file web.php pada path protected/app/routes/ menjadi seperti ini,
.
.
.
Route::group(array('prefix' => 'javaScript'), function(){
 Route::get('js1', 'Controller\belajar_js\Js1Controller@Index');
 Route::get('js2', 'Controller\belajar_js\Js2Controller@Index');
 Route::get('js3', 'Controller\belajar_js\Js3Controller@Index');
 Route::get('js4', 'Controller\belajar_js\Js4Controller@Index');
 Route::get('js5', 'Controller\belajar_js\Js5Controller@Index');
 Route::group(array('prefix' => 'js6'), function(){
  Route::get('', 'Controller\belajar_js\Js6Controller@Index');
  Route::post('', 'Controller\belajar_js\Js6Controller@addTestAjax');
 });
 Route::group(array('prefix' => 'js7'), function(){
  Route::get('', 'Controller\belajar_js\Js7Controller@Index');
  Route::post('', 'Controller\belajar_js\Js7Controller@update');
 });
});
.
.
.

Selanjutnya, buat file controller baru dengan nama Js7Controller.php pada path protected/app/controllers/belajar_js/ isi dengan code berikut,
<?php namespace Controller\belajar_js;

use \View;
use \Response;
use \Request;
use \Input;

use Model\JavaScript6;

Class Js7Controller Extends \BaseController
{
 public function Index()
 {
  $test_ajaxs = JavaScript6::all();
  $content['test_ajaxs'] = $test_ajaxs; 

  return View::make('web/java-script7')
     ->with('content', $content);
 }

 public function update()
 {
  if(Request::ajax()){
   $response['status'] = 'That id not found at table java_script_6';
   $javascript6 = JavaScript6::find(Input::get('id_testajax'));

   if ($javascript6) {
    $response['status'] = 'OK';

    $javascript6->test_ajax = Input::get('content_testajax');
    $javascript6->update();

    $javascript6_now = JavaScript6::all();
    $content['test_ajaxs'] = $javascript6_now;

    $response['html'] = View::make('web/templates/javascript7')
         ->with('content', $content)
         ->render();
   } 
   return Response::json($response);
  }
  App::abort(404);
 }
}

Kemudian, buat file blade baru dengan nama java-script7.blade.php pada path protected/app/views/web/ isi dengan code berikut,
@extends('layouts/web/master')

<?php $title = 'Java Script 7' ?>

@section('style')
@stop

@section('script')
 {{ HTML::script('public/js/js7.js') }}
@stop

@section('content')
<div class="isi">
 <h4>Belajar java script 7 sebelum proses ajax</h4>
 <br>
 <label>Expert programmer Java Script!!!</label>
 <br><br>
 <div class="row">
  <div class="col-md-5">
   <div class="form-group">
    <label>Choose what do you want to edit</label>
    <select class="form-control" name="test_ajax" onchange="lemparKeDataTestAjax(this)">
     <option value=""></option>
     @foreach($content['test_ajaxs'] as $test_ajax)
      <option type="button" value="{{ $test_ajax['id'] }}">{{ $test_ajax['test_ajax'] }}</option>
     @endforeach
    </select>
   </div>
   <button onclick="editContent(this)" data-id-testajax="" data-content-testajax="" type="button">Edit</button>
  </div>
 </div>
</div>
@stop

@section('modal')
 <div class="modal fade" id="test-modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  <div class="modal-dialog modal-md">
   <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="align-center">Header Modal</h4>
    </div>
    <div class="modal-body">
     <label>Edit content test ajax</label>
     <input type="hidden" name="id_testajax" value="">
     <div class="form-group">
      <input type="text" name="content_testajax" class="form-control">
     </div>
    </div>
    <div class="modal-footer">
     <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
     <button onclick="updateContentTestAjax(this)" type="button" class="btn btn-success">Save</button>
    </div>
   </div>
  </div>
 </div>
@stop

Buat juga file blade templateya dengan nama javascript7.blade.php pada path protected/app/views/web/templates/ isi dengan code berikut,
<h4>Belajar java script 7 setelah proses ajax</h4>
<br>
<label>Expert programmer Java Script!!!</label>
<br><br>
<div class="row">
 <div class="col-md-5">
  <div class="form-group">
   <label>Choose what do you want to edit</label>
   <select class="form-control" name="test_ajax" onchange="lemparKeDataTestAjax(this)">
    <option value=""></option>
    @foreach($content['test_ajaxs'] as $test_ajax)
     <option type="button" value="{{ $test_ajax['id'] }}">{{ $test_ajax['test_ajax'] }}</option>
    @endforeach
   </select>
  </div>
  <button onclick="editContent(this)" data-id-testajax="" data-content-testajax="" type="button">Edit</button>
 </div>
</div>

Setelah itu, buat file js baru dengan nama js7.js pada path public/js/ isi dengan code berikut,
function lemparKeDataTestAjax(button)
{
 var id_data_lempar = $(button).val();
 var content_data_lempar = $(button).find('option:selected').text();

 //lempar ke
 $('.isi').find('button').data('id-testajax', id_data_lempar);
 $('.isi').find('button').data('content-testajax', content_data_lempar);
}

function editContent(button)
{
 var modal  = $('#test-modal');
 var id_test_ajax = $(button).data('id-testajax');
 var content_test_ajax = $(button).data('content-testajax');

 // Show Modal
 if (id_test_ajax == '') {
  alert('Please choose content that will edit');
 } else {
  modal.modal({backdrop: 'static', keyboard: false});
  modal.find('input[name=id_testajax]').val(id_test_ajax);
  modal.find('input[name=content_testajax]').val(content_test_ajax);
 }
}

function updateContentTestAjax(button)
{
 var modal = $('#test-modal');
 var content_test_ajax = modal.find('input[name=content_testajax]').val();
 var id_test_ajax = modal.find('input[name=id_testajax]').val();

 $.ajax({
  url: '',
  type: 'POST',
  data: {
   id_testajax: id_test_ajax,
   content_testajax: content_test_ajax
  },
  beforeSend: function(){
   modal.find('button').prop('disabled', true);
  }
 })
 .done(function(response) {
  if (response['status'] == 'OK') {
   modal.find('button').prop('disabled', false);
   modal.modal('hide');
   $('.isi').html(response['html']);
  };
 });
}

Terakhir edit file header.blade.php pada path protected/app/views/layouts/web/ menjadi seperti ini,
.
.
.
   <li>
    <div class="dropdown">
      <button class="button">Menu(css)</button>
      <div class="dropdown-content">
        <a href="{{ URL::to('crud/users')}}">User</a>
        <a href="{{ URL::to('book')}}">Index Book</a>
        <a href="{{ URL::to('javaScript/js1')}}">Belajar Script</a>
        <a href="{{ URL::to('javaScript/js2')}}">Belajar Script2</a>
        <a href="{{ URL::to('javaScript/js3')}}">Belajar Script3</a>
        <a href="{{ URL::to('javaScript/js4')}}">Belajar Script4</a>
        <a href="{{ URL::to('javaScript/js5')}}">Belajar Script5</a>
        <a href="{{ URL::to('javaScript/js6')}}">Belajar Script6</a>
        <a href="{{ URL::to('javaScript/js7')}}">Belajar Script7</a>
      </div>
    </div>
   </li>
.
.
.

Jangan lupa compile file composer, lihat disini pada bab composer.

Sehingga tampilan akhirnya akan terlihat seperti ini,



===DONE!!!===

Laravel - Tutorial Java Script 6 (Ajax)


Setelah pada tutorial sebelumnya kita sudah belajar tentang hide and show modal, tutorial kali ini akan mempelajari tentang operation CRUD pada Java Script menggunakan Ajax.

Tutorial kali ini akan jauh lebih sulit dibandingkan tutorial JS sebelumnya, tapi jika kita bisa memahami codenya maka kita sudah bisa dikatakan "PRO" dalam hal pengcodingan JS.

Jadi, berusahalah untuk memahami codenya.

Oke langsung saja kita praktekkan tutorialnya,

Pertama, silahkan migrate dulu table baru dengan nama java_script_6 jika lupa caranya bisa lihat disini, kemudian file migrate java_script_6 dengan code berikut,
<?php

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class JavaScript6 extends Migration {

 /**
  * Run the migrations.
  *
  * @return void
  */
 public function up()
 {
  Schema::create('java_script_6', function($table){
     $table->increments('id');
     $table->text('test_ajax');
     $table->timestamps();
  });
 }

 /**
  * Reverse the migrations.
  *
  * @return void
  */
 public function down()
 {
  Schema::drop('java_script_6');
 }

}

Buat juga modelnya untuk tabel java_script_6 dengan menambahkan file model JavaScript6.php pada path protected/app/models/ isi dengan code berikut,
<?php namespace Model;

use Illuminate\Auth\UserTrait;
use Illuminate\Auth\UserInterface;
use Illuminate\Auth\Reminders\RemindableTrait;
use Illuminate\Auth\Reminders\RemindableInterface;
use \Eloquent;

class JavaScript6 extends Eloquent implements UserInterface, RemindableInterface {

 use UserTrait, RemindableTrait;

 /**
  * The database table used by the model.
  *
  * @var string
  */
 protected $table = 'java_script_6';

 /**
  * The attributes excluded from the model's JSON form.
  *
  * @var array
  */
 protected $hidden = array('password', 'remember_token');

}

Jika sudah, tabel tidak usah di seeder dan cek apakah tabel sudah dibuat atau belum dengan mengecek tabel pada localhost/phpmyadmin.


Selanjutnya, buat route baru dengan mengedit file web.php pada path protected/app/routes/ menjadi seperti ini,
.
.
.
Route::group(array('prefix' => 'javaScript'), function(){
 Route::get('js1', 'Controller\belajar_js\Js1Controller@Index');
 Route::get('js2', 'Controller\belajar_js\Js2Controller@Index');
 Route::get('js3', 'Controller\belajar_js\Js3Controller@Index');
 Route::get('js4', 'Controller\belajar_js\Js4Controller@Index');
 Route::get('js5', 'Controller\belajar_js\Js5Controller@Index');
 Route::group(array('prefix' => 'js6'), function(){
  Route::get('', 'Controller\belajar_js\Js6Controller@Index');
  Route::post('', 'Controller\belajar_js\Js6Controller@addTestAjax');
 });
});
.
.
.

Kemudian buat file controller baru dengan nama, Js6Controller.php pada path protected/app/controllers/belajar_js/ isi dengan code berikut,
<?php namespace Controller\belajar_js;

use \View;
use \Response;
use \Request;

use Model\JavaScript6;

Class Js6Controller Extends \BaseController
{
 public function Index()
 {
  $test_ajaxs = JavaScript6::all();
  $content['test_ajaxs'] = $test_ajaxs; 

  return View::make('web/java-script6')
     ->with('content', $content);
 }

 public function addTestAjax()
 {
  if(Request::ajax()){
   $response['status'] = 'Table java_script_6 not found';
   $javascript6 = JavaScript6::all();

   if ($javascript6) {
    $response['status'] = 'OK';
    $addtext            = new JavaScript6;
    $addtext->test_ajax = \Input::get('test_ajax');
    
    $addtext->save();

    $test_ajaxs = JavaScript6::all();
    $content['test_ajaxs'] = $test_ajaxs; 

    $response['html'] = View::make('web/templates/javascript6')
          ->with('content', $content)
          ->render();
   } 
   return Response::json($response);
  }
  App::abort(404);
 }
}

Setelah itu buat file blade baru dengan nama java-script6.blade.php pada path protected/app/views/web/ isi dengan code berikut,
@extends('layouts/web/master')

<?php $title = 'Java Script 6' ?>

@section('style')
@stop

@section('script')
 {{ HTML::script('public/js/js6.js') }}
@stop

@section('content')
<div class="isi">
 <h4>Belajar java script 6 sebelum proses ajax</h4>
 <br>
 <label>Play with Ajax</label>
 <br><br>
 <button onclick="showModal(this)">Add text</button><br><br>
 @if($content['test_ajaxs'])
  @foreach($content['test_ajaxs'] as $test_ajax)
   <label>{{ $test_ajax['test_ajax'] }} </label>
  @endforeach
 @endif
</div>
@stop

@section('modal')
 <div class="modal fade" id="test-modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  <div class="modal-dialog modal-md">
   <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="align-center">Header Modal</h4>
    </div>
    <div class="modal-body">
     <label>isi modal</label>
     <div class="form-group">
      <input type="text" name="test_ajax" class="form-control">
     </div>
    </div>
    <div class="modal-footer">
     <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
     <button onclick="addTestAjax(this)" type="button" class="btn btn-success">Save</button>
    </div>
   </div>
  </div>
 </div>
@stop

Buat juga file js baru dengan nama js6.js pada path public/js/ isi dengan code berikut,
function showModal(button)
{
 var modal  = $('#test-modal');
 
 // Show Modal
 modal.modal({backdrop: 'static', keyboard: false});
}

function addTestAjax(button)
{
 var modal = $('#test-modal');
 var test_ajax = modal.find('input[name=test_ajax]').val();

 $.ajax({
  url: '',
  type: 'POST',
  data: {test_ajax: test_ajax},
  beforeSend: function(){
   modal.find('button').prop('disabled', true);
  }
 })
 .done(function(response) {
  if (response['status'] == 'OK') {
   modal.find('button').prop('disabled', false);
   modal.modal('hide');
   $('.isi').html(response['html']);
  };
 });
}

Terakhir edit file header.blade.php pada path protected/app/views/layouts/web/ menjadi
.
.
.
      <div class="dropdown-content">
        <a href="{{ URL::to('crud/users')}}">User</a>
        <a href="{{ URL::to('book')}}">Index Book</a>
        <a href="{{ URL::to('javaScript/js1')}}">Belajar Script</a>
        <a href="{{ URL::to('javaScript/js2')}}">Belajar Script2</a>
        <a href="{{ URL::to('javaScript/js3')}}">Belajar Script3</a>
        <a href="{{ URL::to('javaScript/js4')}}">Belajar Script4</a>
        <a href="{{ URL::to('javaScript/js5')}}">Belajar Script5</a>
        <a href="{{ URL::to('javaScript/js6')}}">Belajar Script6</a>
      </div>
.
.
.

Buat juga folder baru dengan nama templates pada path protected/app/views/web/ kemudian isi dengan file baru dengan nama javascript6.blade.php isi dengan code berikut,
<h4>Belajar java script 6 setelah proses ajax</h4>
<br>
<label>Play with Ajax</label>
<br><br>
<button onclick="showModal(this)">Add text</button><br><br>
@if($content['test_ajaxs'])
 @foreach($content['test_ajaxs'] as $test_ajax)
  <label>{{ $test_ajax['test_ajax'] }} </label>
 @endforeach
@endif

Jangan lupa compile file composer lihat disini pada bab composer.
Sehingga tampilan akhirnya akan tampak seperti ini,



===DONE!===


Laravel - Tutorial Java Script 5 (Hide and Show Modal)


Kembali lagi ke Laravel, Tutorial kali ini akan membahas tentang membuat sebuah modal dengan JS.

Pembuatan modal ini akan menggunakan framework css dari bootstrap untuk mempermudah membuatnya.

Oke langsung saja kita praktekkan tutorialnya,

Pertama, buat route baru untuk project ini dengan mengedit file web.php pada path protected/app/routes/ menjadi seperti ini,
.
.
.
Route::group(array('prefix' => 'javaScript'), function(){
 Route::get('js1', 'Controller\belajar_js\Js1Controller@Index');
 Route::get('js2', 'Controller\belajar_js\Js2Controller@Index');
 Route::get('js3', 'Controller\belajar_js\Js3Controller@Index');
 Route::get('js4', 'Controller\belajar_js\Js4Controller@Index');
 Route::get('js5', 'Controller\belajar_js\Js5Controller@Index');
});
.
.
.

Selanjutnya, buat file controller baru dengan nama Js5Controller.php pada path protected/app/controllers/belajar_js/ dan isikan code berikut,
<?php namespace Controller\belajar_js;

use \View;

Class Js5Controller Extends \BaseController
{
 public function Index()
 {
  return View::make('web/java-script5');
 }
}
Jangan lupa compile file composer lihat disini pada bab composer.

Kemudian buat file view baru dengan nama java-script5.blade.php pada path protected/app/views/web/ dan isikan code berikut,
@extends('layouts/web/master')

<?php $title = 'Java Script 5' ?>

@section('style')
@stop

@section('script')
 {{ HTML::script('public/js/js5.js') }}
@stop

@section('content')
<div class="isi">
 <h4>Belajar java script 5</h4>
 <br>
 <label>Show and Hide Modal</label>
 <br><br>
 <button onclick="showModal(this)">Show Modal</button>
</div>
@stop

@section('modal')
 <div class="modal fade" id="test-modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  <div class="modal-dialog modal-md">
   <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="align-center">Header Modal</h4>
    </div>
    <div class="modal-body">
     <label>isi modal</label>
    </div>
    <div class="modal-footer">
     <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
     <button type="button" class="btn btn-success">Save</button>
    </div>
   </div>
  </div>
 </div>
@stop

Setelah itu buat file js baru dengan nama js5.js pada path public/js/ dan isikan code berikut,
function showModal(button)
{
 var modal  = $('#test-modal');
 
 // Show Modal
 modal.modal({backdrop: 'static', keyboard: false});
}

Terakhir edit file header.blade.php dan master.blade.php pada path protected/app/views/layouts/web/ menjadi seperti ini,

- header.blade.php
.
.
.
   <div class="dropdown">
      <button class="button">Menu(css)</button>
      <div class="dropdown-content">
        <a href="{{ URL::to('crud/users')}}">User</a>
        <a href="{{ URL::to('book')}}">Index Book</a>
        <a href="{{ URL::to('javaScript/js1')}}">Belajar Script</a>
        <a href="{{ URL::to('javaScript/js2')}}">Belajar Script2</a>
        <a href="{{ URL::to('javaScript/js3')}}">Belajar Script3</a>
        <a href="{{ URL::to('javaScript/js4')}}">Belajar Script4</a>
        <a href="{{ URL::to('javaScript/js5')}}">Belajar Script5</a>
      </div>
    </div>
.
.
.


- master.blade.php
<!doctype html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 
 <title>
  @if($title)
   {{ $title }}
  @else
   Codedoct.com
  @endif
 </title>

 <!-- Custom Style -->
 @section('style')
 @show
 {{ HTML::style('public/css/master/main.css') }}
 <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">

 <!-- Custom Scripts -->
 @section('script')
 @show
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
 <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>

</head>
<body>
 @include('layouts.web.header')
 @yield('content')

 <!-- modal -->
 @section('modal')
 @show

 @include('layouts.web.footer')
</body>
</html>

Sehingga tampilannya akan tampak seperti ini,


Silahkan pahami sendiri codenya...

===DONE!===

Laravel - Tutorial Java Script 4 (Disabled and Enabled Toggle Button)


Kemarin kita sudah mempraktekan membuat sebuah button Follow, dengan konsep "hide and show with data-JS"

Kali ini kita akan membuat sebuah button checkbox yang terintegrasi dengan JS,

Oke langsung saja kita praktekkan tutorialnya.

Pertama, buat routes baru untuk tutorial ini, dengan menambahkan code pada file web.php pada path protected/app/routes/ menjadi seperti ini.
.
.
.
Route::group(array('prefix' => 'javaScript'), function(){
 Route::get('js1', 'Controller\belajar_js\Js1Controller@Index');
 Route::get('js2', 'Controller\belajar_js\Js2Controller@Index');
 Route::get('js3', 'Controller\belajar_js\Js3Controller@Index');
 Route::get('js4', 'Controller\belajar_js\Js4Controller@Index');
});
.
.
.

Selanjutnya buat controller baru dengan nama Js4Controller.php pada path protected/app/controllers/belajar_js/ isi dengan code berikut.
<?php namespace Controller\belajar_js;

use \View;

Class Js4Controller Extends \BaseController
{
 public function Index()
 {
  return View::make('web/java-script4');
 }
}
Jangan lupa compile file composer lihat disini pada bab composer.

Kemudian buat file view baru dengan nama java-script4.blade.php pada path protected/app/views/web/ isi dengan code berikut.
@extends('layouts/web/master')

<?php $title = 'Java Script 4' ?>

@section('style')
@stop

@section('script')
 {{ HTML::script('public/js/js4.js') }}
@stop

@section('content')
<div class="isi">
 <h4>Belajar java script 4</h4>
 <br>
 <label>Checked and Unchecked with prop</label>
 <br><br>
 <input type="checkbox" name="toggle-check" onclick="toggleCheck(this)">
 <br><br>
 <input type="text" name="effect" disabled> 
</div>
@stop

Setelah itu buat file JS baru dengan nama js4.js pada path public/js/ isi dengan code berikut.
function toggleCheck(button)
{
 if ($(button).prop('checked')) {
  $('[name=effect]').prop('disabled', false);
 } else {
  $('[name=effect]').prop('disabled', true);
 }
}

Terakhir edit file header.blade.php pada path protected/app/views/layouts/web/ menjadi seperti ini.
.
.
.
   <div class="dropdown">
      <button class="button">Menu(css)</button>
      <div class="dropdown-content">
        <a href="{{ URL::to('crud/users')}}">User</a>
        <a href="{{ URL::to('book')}}">Index Book</a>
        <a href="{{ URL::to('javaScript/js1')}}">Belajar Script</a>
        <a href="{{ URL::to('javaScript/js2')}}">Belajar Script2</a>
        <a href="{{ URL::to('javaScript/js3')}}">Belajar Script3</a>
        <a href="{{ URL::to('javaScript/js4')}}">Belajar Script4</a>
      </div>
    </div>
.
.
.

Hasilnya akan terlihat seperti ini



===DONE!===

Laravel - Tutorial Java Script 3 (Follow and Unfollow Toggle Button)


Selamat malam minggu,,,

Kali ini saya akan meneruskan tutorial Laravel chapter 4 yaitu tentang Java Script,,

Melanjutkan tutorial yang kemarin, tutorial kali ini akan membahas tentang membuat sebuah button Follow, dengan konsep "hide and show  with data-JS", dalam hal ini kita akan menyematkan sebuah kondisi pada code JS.

Oke kita langsung saja praktekkan tutorialnya.

Pertama, buat sebuah route baru dengan mengedit file web.php pada path protected/app/routes/ edit menjadi seperti ini,
.
.
.
Route::group(array('prefix' => 'javaScript'), function(){
 Route::get('js1', 'Controller\belajar_js\Js1Controller@Index');
 Route::get('js2', 'Controller\belajar_js\Js2Controller@Index');
 Route::get('js3', 'Controller\belajar_js\Js3Controller@Index');
});
.
.
.

Selanjutnya buat controller baru dengan nama Js3Controller.php pada path protected/app/controllers/belajar_js/ isi dengan code berikut,
<?php namespace Controller\belajar_js;

use \View;
use Model\User;

Class Js3Controller Extends \BaseController
{
 public function Index()
 {
  return View::make('web/java-script3');
 }
}
Jangan lupa compile file composer lihat disini pada bab composer.

Kemudian, buat file view baru dengan nama java-script3.blade.php pada path protected/app/views/web/ isi dengan code berikut,
@extends('layouts/web/master')

<?php $title = 'Java Script 3' ?>

@section('style')
@stop

@section('script')
 {{ HTML::script('public/js/js3.js') }}
@stop

@section('content')
<div class="isi">
 <h4>Belajar java script 3</h4>
 <br>
 <label>Hide and Show Class With Data JS</label>
 <br><br>
 Example: button follow and unfollow <br><br>
 <button onclick="toggleFollow(this,event)" data-action="follow">Follow</button>
</div>
@stop

Setelah itu buat file js baru dengan nama js3.js pada path public/js/ isi dengan code berikut,
function toggleFollow(button, event)
{
 var e = event || window.event;

 e.preventDefault();

 var action = $(button).attr('data-action');

 if (action == 'follow') {
  action_new = 'unfollow';
  $(button).html('Unfollow');
 } else if (action == 'unfollow'){
  action_new = 'follow';
  $(button).html('Follow');
 }
 $(button).attr('data-action', action_new);
}

Terakhir edit file header.blade.php pada path protected/app/views/layouts/web/ menjadi seperti ini,
.
.
.
      <div class="dropdown-content">
        <a href="{{ URL::to('crud/users')}}">User</a>
        <a href="{{ URL::to('book')}}">Index Book</a>
        <a href="{{ URL::to('javaScript/js1')}}">Belajar Script</a>
        <a href="{{ URL::to('javaScript/js2')}}">Belajar Script2</a>
        <a href="{{ URL::to('javaScript/js3')}}">Belajar Script3</a>
      </div>
.
.
.

Sehingga tampilannya akan tampak seperti ini.



===DONE!===

Laravel - Tutorial Java Script 2 (Hide and Show Class)


Java Script memang benar-benar sangat mengasyikan, ada banyak sekali yang akan kita bahas pada Java Script sehingga codedoct.com akan membahasnya pada satu chapter full pada Laravel.

Jika pada tutorial kemarin kita sudah belajar cara hide and show pada JS, kali ini kita akan memanipulasi Class pada JS untuk keperluan hide and show.

Oke langsung saja kita mulai prakteknya.

Pertama, buat dulu route baru untuk halaman ini dengan mengedit file web.php pada path protected/app/routes/ menjadi seperti ini,
.
.
.
Route::group(array('prefix' => 'javaScript'), function(){
 Route::get('js1', 'Controller\belajar_js\Js1Controller@Index');
 Route::get('js2', 'Controller\belajar_js\Js2Controller@Index');
});
.
.
.

Selanjutnya, buat controller baru dengan nama js2Controller.php pada path protected/app/controllers/belajar_js/ isi dengan code berikut,
<?php namespace Controller\belajar_js;

use \View;
use Model\User;

Class Js2Controller Extends \BaseController
{
 public function Index()
 {
  $users = User::all();

  $content['users'] = $users;

  return View::make('web/java-script2')
     ->with('content', $content);
 }
}

Jangan lupa compile file composer lihat disini pada bab composer.

Kemudian buat file view baru dengan nama java-script2.blade.php pada path protected/app/views/web/ isi dengan code berikut,
@extends('layouts/web/master')

<?php $title = 'Java Script 2' ?>

@section('style')
 {{ HTML::style('public/css/content/belajar_js/js2.css') }}
@stop

@section('script')
 {{ HTML::script('public/js/js2.js') }}
@stop

@section('content')
<div class="isi">
 <h4>Belajar java script 2</h4>
 <br>
 <label>Hide and Show Class</label>
 <br><br>
 <div class="user-list">
  @if($content['users'])
   @foreach($content['users'] as $user)
    {{ Form::open(array('url' => 'crud/update/'.$user['id'])) }}
    <div class="box-user">
     <table>
      <tbody class="showing">
       <tr>
        <td>Name</td><td>:</td><td>{{ $user['name'] }}</td>
       </tr>
       <tr>
        <td>Username</td><td>:</td><td>{{ $user['username'] }}</td>
       </tr>
       <tr>
        <td>Email</td><td>:</td><td>{{ $user['email'] }}</td>
       </tr>
      </tbody>
      <tbody class="editing hidden">
       <tr>
        <td>Name</td><td>:</td><td><input type="text" name="name" value="{{ $user['name'] }}"></td>
       </tr>
       <tr>
        <td>Username</td><td>:</td><td><input type="text" name="username" value="{{ $user['username'] }}"></td>
       </tr>
       <tr>
        <td>Email</td><td>:</td><td><input type="text" name="email" value="{{ $user['email'] }}"></td>
       </tr>
      </tbody>
     </table>
     <div class="tombol">
      <div class="edit">
       <button type="button" onclick="edit(this, event)">Edit</button>
      </div>
      <div class="save hidden">
       <button type="button" onclick="back(this, event)">Return</button>
       <input type="submit" class="btn" value="Save">
      </div>
     </div>
    </div>
    {{ Form::close() }}
   @endforeach
  @else
   <label>Data user empty ...</label>
  @endif
 </div>
</div>
@stop

Setelah itu buat file js baru dengan nama js2.js pada path public/js/ isi dengan code berikut,
function edit(button,event)
{
 var e = event || window.event;

 e.preventDefault();

 $(button).closest('.tombol').find('.edit').addClass('hidden');
 $(button).closest('.box-user').find('.showing').addClass('hidden');

 $(button).closest('.tombol').find('.save').removeClass('hidden');
 $(button).closest('.box-user').find('.editing').removeClass('hidden');
}
function back(button,event)
{
 var e = event || window.event;

 e.preventDefault();

 $(button).closest('.tombol').find('.save').addClass('hidden');
 $(button).closest('.box-user').find('.editing').addClass('hidden');

 $(button).closest('.tombol').find('.edit').removeClass('hidden');
 $(button).closest('.box-user').find('.showing').removeClass('hidden');
}

Buat file sass baru dengan nama js2.scss pada path public/css/content/belajar_js/ isi dengan code berikut,
.user-list{
 width: 350px;
 margin: 0 60px;
 .box-user{
  background-color: #F3F5F7;
  border: 1px solid #ddd;
  border-radius: 2px;
  margin-bottom: 30px;
  padding: 20px;
  .tombol{
   margin-top: 10px;
   text-align: right;
  }
 }
}

Dan edit pula file sass main.scss dengan menambahkan code berikut,
.
.
.
.hidden{
 display: none;
}
.
.
.

Jangan lupa untuk mengcompile file sass lihat disini.

Terakhir edit file header.blade.php pada path protected/app/views/layouts/web/ tambahkan code berikut,
    <div class="dropdown">
      <button class="button">Menu(css)</button>
      <div class="dropdown-content">
        <a href="{{ URL::to('crud/users')}}">User</a>
        <a href="{{ URL::to('book')}}">Index Book</a>
        <a href="{{ URL::to('javaScript/js1')}}">Belajar Script</a>
        <a href="{{ URL::to('javaScript/js2')}}">Belajar Script2</a>
      </div>
    </div>


Sehingga tampilannya akan tampak seperti ini




===DONE!===

Laravel - Tutorial Java Script (Hide and Show Dropdown)


Akhirnya kita sampai pada chapter laravel yang ke-4.

Pada chapter 4 ini kita akan lebih banyak membahas tentang Java Script, karena menurut saya dengan menggabungkan sebuah project website php dengan Java Script akan membuat website tersebut jauh lebih dinamis dan menarik untuk dilihat.

Pada Bab pertama Laravel chapter 4 ini saja akan memberikan tutorial tentang membuat sebuah program hide and show dropdown dengan menggunakan Java Script.

Program hide and show dropdown ini sangat berguna misalnya dalam membuat index halaman sebuah website contohnya bisa lihat disini.

Oke langsung saja kita praktekan tutorialnya,

Pertama, buat routes baru untuk tutorial ini dengan mengedit file web.php pada path protected/app/routes/ menjadi seperti ini,
/////////////////
// java script //
/////////////////
Route::group(array('prefix' => 'javaScript'), function(){
 Route::get('js1', 'Controller\belajar_js\Js1Controller@Index');
});

Selanjutnya, buat controller baru dengan nama js1Controller.php pada path protected/app/controllers/belajar_js isi dengan code berikut,
<?php namespace Controller\belajar_js;

use \View;

Class Js1Controller Extends \BaseController
{
 public function Index()
 {
  return View::make('web/java-script1');
 }
}

Jangan lupa untuk mengcompile composer nya

Kemudian, buat file view baru dengan nama java-script1.blade.php pada path protected/app/views/web isi dengan code berikut,
@extends('layouts/web/master')

<?php $title = 'Java Script' ?>

@section('style')
 {{ HTML::style('public/css/content/js-satu.css') }}
@stop

@section('script')
 {{ HTML::script('public/js/js1.js') }}
@stop

@section('content')
<div class="isi">
 <h4>Belajar java script 1</h4>
 <br>
 <label>Hide and Show</label>
 <ul>
  <a href="#" style="display: none;" class="dropdownHide" onclick="dropdownHide(this,event)">Dropdown Link</a>
  <a href="#" class="dropdownShow" onclick="dropdownShow(this,event)">Dropdown Link</a>
  <ul style="display: none;" class="dropdown">
   <li>Test 1</li>
   <li>Test 2</li>
   <li>Test 3</li>
  </ul>
 </ul>
</div>
@stop

Setelah itu buat file js baru dengan nama js1.js pada path public/js/js1.js isi dengan code berikut
function dropdownShow(button,event)
{
 var e = event || window.event;

 e.preventDefault();

 $(button).closest('.isi').find('.dropdownHide').show();
 $(button).hide();
 $(button).closest('.isi').find('.dropdown').show(200);
}
function dropdownHide(button,event)
{
 var e = event || window.event;

 e.preventDefault();

 $(button).closest('.isi').find('.dropdownShow').show();
 $(button).hide();
 $(button).closest('.isi').find('.dropdown').hide(200);
}

Terakhir edit file header.blade.php dan master.blade.php pada path protected/app/views/layouts/web tambahkan code berikut
- header.blade.php
.
.
.
    <div class="dropdown">
      <button class="button">Menu(css)</button>
      <div class="dropdown-content">
        <a href="{{ URL::to('crud/users')}}">User</a>
        <a href="{{ URL::to('book')}}">Index Book</a>
        <a href="{{ URL::to('javaScript/js1')}}">Belajar Script</a>
      </div>
    </div>
.
.
.

- master.blade.php
.
.
.
 <!-- Custom Scripts -->
 @section('script')
 @show
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
.
.
.

Sehingga tampilannya akan tampak seperti ini,


===DONE!===