list.pt 9.68 KB
<html metal:use-macro="load: ../main.pt">

    <!-- content -->
    <div metal:fill-slot="content">

        <div class="row">
            <div class="col-sm-6 col-md-6 col-lg-6">
                <div  class="panel panel-default">
                    <div class="panel-heading">
                        <h3 class="panel-title">User Group</h3>
                    </div>

                    <div class="panel-body">
                        <table id="grpTable" class="table table-bordered table-hover table-condensed">
                            <thead>
                                <tr>
                                    <th>ID</th>
                                    <th>Kode</th>
                                    <th>Uraian</th>
                                    <th>Anggota</th>
                                </tr>
                            </thead>
                            <tbody>
                            </tbody>
                        </table>
                    </div>
                </div>
            </div>

            <div class="col-sm-6 col-md-6 col-lg-6">
                <div  class="panel panel-default">
                    <div class="panel-heading">
                        <h3 class="panel-title">Member</h3>
                    </div>

                    <div class="panel-body">
                        <table id="table1" class="table table-bordered table-hover table-condensed">
                            <thead>
                                <tr>
                                    <th>ID</th>
                                    <th>Email</th>
                                    <th>User Name</th>
                                    <th>Status</th>
                                </tr>
                            </thead>
                            <tbody>
                            </tbody>
                        </table>
                    </div>
                </div>
            </div>
        </div>

    </div>
    <!-- end content -->

    <script type="text/javascript" metal:fill-slot="scripts">
        var mGID;
        var oTableGrp;
        var oTableGrpUri = "${home}/group"
        var oTableGrpUrl = oTableGrpUri + "/grid/act";

        var mID;
        var oTable;
        var oTableUri = "${home}/user/group"
        var oTableUrl = oTableUri + "/grid/act";

        $(document).ready(function() {
            oTableGrp = $('#grpTable').DataTable({
                dom: 'lfrtip',
                processing: true,
                serverSide: true,
                ajax: oTableGrpUrl,
                stateSave: true,

                scrollCollapse: true,
                sort: true,
                info: false,
                filter: true,
                autoWidth: false,
                paginate: false,
                paginationType: "full_numbers",

                lengthMenu: [
                    [10, 25, 50, 100],
                    [10, 25, 50, 100]
                ],
                columns: [{
                        "data": "id",
                        "width": "70px",
                    },
                    {
                        "data": "name",
                        "width": "100px",
                        "class": "left"
                    },
                    {
                        "data": "desc"
                    },
                    {
                        "data": "member",
                        "width": "60px",
                        "class": "center"
                    },
                ],
                "language": {
                    "search": "Cari: ",
                    "paginate": {
                        "first": "Pertama ",
                        "last": "Akhir ",
                        "previous": "",
                        "next": "",
                    },
                    "lengthMenu": "Tampil _MENU_ baris "
                },
            });

            $('#grpTable tbody').on('click', 'tr', function() {
                if ($(this).hasClass('selected')) {
                    $(this).removeClass('selected');
                } else {
                    var aData = oTableGrp.row(this).data();
                    oTableGrp.$('tr.selected').removeClass('selected');
                    $(this).addClass('selected');
                    mGID = aData.id;
                    oTableGrp.$('tr.row_selected').removeClass('row_selected');
                    $(this).addClass('row_selected');
                    oTable.ajax.url(oTableUrl + "?gid=" + mGID).load();
                }
            });
        });
   
        $(document).ready(function() {
            oTable = $('#table1').DataTable({
                dom: '<"row"<"col-md-6"<"toolbar">l><"col-md-6"f>>rtip',
                processing: true,
                serverSide: true,
                ajax: oTableUrl,
                stateSave: true,
                scrollCollapse: true,
                sort: true,
                info: false,
                filter: true,
                autoWidth: false,
                paginate: true,
                paginationType: "full_numbers",
                searching: false,
                lengthMenu: [
                    [10, 25, 50, 100],
                    [10, 25, 50, 100]
                ],
                columnDefs: [{
                    searchable: false,
                    visible: false,
                    targets: [0]
                }],
                columns: [{
                        "data": "id"
                    },
                    {
                        "data": "email",
                        "width": "130px",
                        "class": "left"
                    },
                    {
                        "data": "name"
                    },
                    {
                        "data": "status",
                        "width": "70px",
                        "class": "center"
                    },
                ],
                "language": {
                    "search": "Cari: ",
                    "paginate": {
                        "first": "Pertama ",
                        "last": "Akhir ",
                        "previous": "",
                        "next": "",
                    },
                    "lengthMenu": "Tampil _MENU_ baris "
                },
            });

            $("#btn_close").click(function() {
                window.location = '/';
                return false;
            });
            var tb_array = [
                '<div class="btn-group pull-left">',
                ' <button id="btn_view" class="btn btn btn-warning"  type="button" data-toggle="tooltip" title="View"> <i class="fa fa-eye"></i></button>',
                '   <button id="btn_add" class="btn btn btn-success" type="button" data-toggle="tooltip" title="Tambah"><i class="fa fa-plus"></i></button>',
                '   <!--<button id="btn_edit"   class="btn btn btn-warning" type="button">Edit</button>-->',
                '   <button id="btn_delete" class="btn btn btn-danger" type="button" data-toggle="tooltip" title="Hapus"><i class="fa fa-trash-o"></i></button>',
                '   <!--<button id="btn_csv"  class="btn btn btn-primary" type="button">CSV</button>',
                '   <button id="btn_pdf"  class="btn btn btn-primary" type="button">PDF</button>-->',
                '   <button id="btn_close" class="btn btn btn-warning" type="button" data-toggle="tooltip" title="Tutup"><i class="fa fa-arrow-right"></i></button>',
                '   &nbsp;',
                '</div>',
            ];

            var tb = tb_array.join(' ');
            $("div.toolbar").html(tb);
            $("div.toolbar").attr('style', 'display:block; float: left; margin-bottom:6px; line-height:16px;');
            $('#table1 tbody').on('click', 'tr', function() {
                if ($(this).hasClass('selected')) {
                    $(this).removeClass('selected');
                } else {
                    var aData = oTable.row(this).data();
                    oTable.$('tr.selected').removeClass('selected');
                    $(this).addClass('selected');
                    mID = aData.id;
                    console.log(mID);
                    oTable.$('tr.row_selected').removeClass('row_selected');
                    $(this).addClass('row_selected');
                    /*oTable2.fnReloadAjax("egaji/grid2?id=" + mID);*/
                }
            });

            $('#btn_add').click(function() {
                window.location = '${home}user/group/add?gid=' + mGID;
            });

            $('#btn_edit').click(function() {
                if (mID) window.location = '${home}user/group/' + mID + '/edit?gid=' + mGID;
                else
                    $.SmartMessageBox({
                        title : "Edit",
                        content : "Pilih Baris yang akan di edit...",
                        buttons : '[Oke]'
                    });;
            });
		$('#btn_view').click(function() {
                if (mID) window.location = oTableUri + '/' + mID + '/view';
                else
                $.SmartMessageBox({
                    title : "View",
                    content : "Pilih Baris yang akan di lihat...",
                    buttons : '[Ok]'
                });;
            });

            $('#btn_delete').click(function() {
                if (mID) window.location = '${home}user/group/' + mID + '/delete?gid=' + mGID;
                else
                    $.SmartMessageBox({
                        title : "Hapus",
                        content : "Pilih Baris yang akan di hapus...",
                        buttons : '[Oke]'
                    });
            });

            $("#btn_close").click(function() {
                window.location = '/';
                return false;
            });
        });
    </script>

</html>