<!-- EasyUI CSS -->
<link href="<?php echo base_url() . "assets/" ?>easyui/themes/bootstrap/easyui.css" rel="stylesheet">
<link href="<?php echo base_url() . "assets/" ?>easyui/themes/icon.css" rel="stylesheet">

	<div class="row">
		<div class="col-lg-12">
			<!-- header -->
			<h3 class="cpage-header">Privilage Reference</h3>
			<?php // echo $output; ?>
		</div>
	</div>

	<div class="row">
		<div id="table-content" class="col-lg-12">
			<table id="tbl">

			</table>
		</div>
	</div>

	<div class="row">
		<div class="extra-footer col-lg-12" style="height:25px;"></div>
		<div class="col-lg-12 page-footer-table"></div>
		<!-- only space 
		-->
	</div>

<script>

	var tbl, setup; // setup is flag
    $(document).ready(function () {
		setup = 0;
		tbl = $('#tbl').datagrid({width: '100%'});
        // toolbar action
		var toolbar = <?php echo @$create; ?>;
		//var toolbar = '';
		
		// handle when direct update or create
		tbl.datagrid({
			pageNumber: '<?php echo $pnumber?>',
			pageSize: '<?php echo $psize?>',
		});
        tbl.datagrid({
            url: '<?php echo site_url('/') . $controller . '/load_data'; ?>',
            title: "List Privilage",
            toolbar: toolbar,
            singleSelect: true,
            resizable: true,
            collapsible: true,
            fitColumn: true,
            rownumbers: true,
            pagination: true,
            nowrap: false,
            remoteFilter: true,
            onLoadSuccess: loadAction, // event on navigator.js
            //onAfterRender: tableAfterLoad,
            /*
             filterStringify: function(data){
             $.map(data, function(item){
             if (item.field == 'changeDate'){
             item.value = $.fn.datebox.defaults.parser(item.value).getTime();
             }
             });
             return JSON.stringify(data);
             },
             */
			frozenColumns:[[
				{field: 'options', title: 'ACTION', width: 100, halign: 'center', align: 'center', formatter: formatButton},
				{field: 'privilage_name', title: 'Privilage', width: 100, sortable: 'true', halign: 'center', align: 'center'},				
			]],	
            columns: [[                    
                    {field: 'privilage_desc', title: 'Description', width: 250, sortable: 'true', halign: 'left', align: 'left'},
                    {field: 'created_by', title: 'Created By', width: 100, sortable: 'true', halign: 'center', align: 'center'},
                    {field: 'created_date', title: 'Created Date', width: 150, sortable: 'true', halign: 'center'},
                    {field: 'modified_by', title: 'Modified By', width: 100, sortable: 'true', halign: 'center', align: 'center'},
                    {field: 'modified_date', title: 'Modified Date', width: 150, sortable: 'true', halign: 'center'},                    
                ]]
        });
    });
	
	function loadAction() {
		// fix asyn setup and multiple setup
		if (setup == 0){
			tbl.datagrid('enableFilter',
				 [ {
					field: 'created_date',
					type: 'datebox',
					options: {formatter: myFormatter, parser: myParser},
					op: ['equal', 'less', 'greater']
				},{
					field: 'modified_date',
					type: 'datebox',
					options: {formatter: myFormatter, parser: myParser},
					op: ['equal', 'less', 'greater']
				},{
					field: 'tanggal_lahir',
					type: 'datebox',
					options: {formatter: myFormatter, parser: myParser},
					op: ['equal', 'less', 'greater']
				}] 
			);  
			// remove filter option
			$("input[name='options']").remove();
			setup = 1;
		}
		// fix
		//resizeContentDOMFit();
		// filter
		tbl.datagrid('resize', 'fixRowHeight');
	}
	
	 // format date
    function myFormatter(date) {
        var y = date.getFullYear();
        var m = date.getMonth() + 1;
        var d = date.getDate();
        return y + '-' + (m < 10 ? ('0' + m) : m) + '-' + (d < 10 ? ('0' + d) : d);
    }

    // required
    function myParser(s) {
        if (!s)
            return new Date();
        var ss = (s.split('-'));
        var y = parseInt(ss[0], 10);
        var m = parseInt(ss[1], 10);
        var d = parseInt(ss[2], 10);
        if (!isNaN(y) && !isNaN(m) && !isNaN(d)) {
            return new Date(y, m - 1, d);
        } else {
            return new Date();
        }
    }

	function formatButton(val, row, index) {
      
		var updateBtn = '<?php echo @$update; ?>';
		var scpace = '&nbsp;&nbsp;&nbsp;';
		var deleteBtn 	= '<?php echo @$delete; ?>';
        // return previewBtn
        return updateBtn + scpace + deleteBtn;
		
    }	
	
	function edit_view(id_siswa) {
		window.location.href = "<?php echo '#'.$controller.'/form/'; ?>"+id_siswa;
	}
</script>