Jump to content


Noel Calonia

Member Since 14 Jul 2015
Offline Last Active Oct 26 2015 02:59 PM
-----

Topics I've Started

Child/Parent row in grocery crud

29 September 2015 - 02:51 PM

hi guys, it is possible to implement a child/parent row in groceryCRUD? if it is? please give me a samples or suggestions? By the way, i change the Table UI of mine to dataTable using dataTable.js, cuz there is some abnormalities happened when i merge the groceryCrud table and bootstrap theme that im using. Any help will heavenly appreciated, thanks in advance!  :)


calculate age using datepicker

16 September 2015 - 06:58 PM

hi guys, it is possible to calculate age in the grocery crud using datepicker? i search about it but the suggestions is to use callback_field(). then, i dont know how to get the value of the datepicker to perform calculation inside the controller. For example, when i click/enter a date at a datepicker, it automatically generate a age inside a input field.

hope you all answer this problem asap, any help, suggestions and ideas will much appreciate. Thanks in advance! :)


transfer action button inside grocery crud operations to custom buttons

16 September 2015 - 03:29 PM

it is possible to transfer crud operation action buttons to the other button? for an instance, i put the crud operations inside the modal using iframe and i just want to transfer action buttons functionalities at the modal buttons w/c is outside the iframe but inside the modal.

any helps, suggestions and ideas is much appreciated. thanks so much! :)

P.S: please look at the attachment, it specify(i think) my problem.


grocery crud w/ bootstrap theme - datepicker issue

16 September 2015 - 01:41 PM

i confuse about the datepicker of grocery crud since its datepicker was jquery-ui style, i just want to modify it to my bootstrap theme with this:
 
$crud->callback_add_field('bday', function () {
            return '<input type="text" id="example-datepicker" name="example-datepicker" class="form-control input-datepicker" data-date-format="mm/dd/yy" placeholder="mm/dd/yy">';
        });

is there anything wrong in my callback code? plz answer asap, any help will much appreciated, thanks :)

 


modal issue - select 1 record only in edit and update button

15 September 2015 - 02:45 PM

hi guys, i apply the grocery crud operation in a modal view, the problem is when i click the edit and view button, only one data record is display at the view and edit modal view. when i click view and edit at the different data record, it always the same. i cant post picture sample so i can specifically state my problem :(

 

controller/InfoTable.php -> where i put the grocery crud operation to access inside this controller

<?php

defined('BASEPATH') OR exit('No direct script access allowed');

class Infotable extends CI_Controller {

    function __construct() {
        parent::__construct();
        $this->load->database();
        $this->load->helper('url');
        $this->load->library('grocery_CRUD');
        $this->load->model('grocery_crud_model');
    }

    public function index() {
        $crud = new grocery_CRUD();

        $crud->set_subject('Resident');
        $crud->set_table('resident');
        $crud->set_theme('datatables');
        $crud->columns('name', 'mname', 'lname', 'gender', 'bday', 'age', 'citizenship', 'occupation', 'status', 'purok', 'resAddress', 'perAddress', 'email', 'telNum', 'cpNum');

        $crud->set_primary_key('resident_id', 'resident');
        $crud->unset_export();
        $crud->unset_print();

        $crud->set_crud_url_path('/InfoTable', '/InfoTable');

        $crud->display_as('name', 'First Name')
                ->display_as('mname', 'Middle Name')
                ->display_as('lname', 'Last Name')
                ->display_as('gender', 'Gender')
                ->display_as('bday', 'Birthdate')
                ->display_as('age', 'Age')
                ->display_as('citizenship', 'Citizenship')
                ->display_as('occupation', 'Occupation')
                ->display_as('status', 'Status')
                ->display_as('purok', 'Purok')
                ->display_as('resAddress', 'Residential Address')
                ->display_as('perAddress', 'Permanent Address')
                ->display_as('email', 'Email Address')
                ->display_as('telNum', 'Tel. #')
                ->display_as('cpNum', 'Cellphone #');

        $output = $crud->render();

        $this->_example_output($output);
    }

    public function add() {
        $crud = new grocery_CRUD();

        $crud->set_js('assets/Backend/js/vendor/bootstrap.min.js');
        $crud->set_js('assets/Backend/js/plugins.js');
        $crud->set_js('assets/Backend/js/app.js');
        $crud->set_js('assets/Backend/js/vendor/jquery-2.1.1.min.js');
        $crud->set_css('assets/Backend/css/animate.min.css');
        $crud->set_css('assets/Backend/css/bootstrap.min.css');
        $crud->set_css('assets/Backend/css/main.css');
        $crud->set_css('assets/Backend/css/plugins.css');
        $crud->set_css('assets/Backend/css/themes.css');

        $crud->set_subject('Resident');
        $crud->set_table('resident');
        $crud->set_theme('datatables');
        $crud->set_primary_key('resident_id');

        $crud->set_crud_url_path('/InfoTable/index', '/InfoTable');

        $crud->required_fields('First Name', 'Middle Name', 'Last Name', 'Gender', 'Birthdate', 'Age', 'Citizenship', 'Occupation', 'Status', 'Purok', 'Residential Address', 'Permanent Address', 'Email Address', 'Telephone #', 'Cellphone #');
//        $crud->fields('First Name', 'Middle Name', 'Last Name', 'Gender', 'Birthdate', 'Age', 'Citizenship', 'Occupation', 'Status', 'Purok', 'Residential Address', 'Permanent Address', 'Email Address', 'Telephone #', 'Cellphone #');
        $crud->callback_add_field('Residential Address', function () {
            return '<textarea name="Residential Address" rows="7" cols="50" class="form-control" placeholder="in Full Address Format..."></textarea>';
        });
        $crud->callback_add_field('Permanent Address', function () {
            return '<textarea name="Permanent Address" rows="7" cols="50" class="form-control" placeholder="in Full Address Format..."></textarea>';
        });
        $crud->callback_add_field('Email Address', function () {
            return '<input type="email" name="Email Address" class="form-control" style="width: 300%;"></input>';
        });
        $crud->callback_add_field('Telephone #', function () {
            return '<input type="tel" name="Telephone #" class="form-control" style="width: 300%;"></input>';
        });
        $crud->callback_add_field('Cellphone #', function () {
            return '<input type="tel" name="Cellphone #" class="form-control" style="width: 300%;"></input>';
        });
        $crud->callback_add_field('Gender', function() {
            return '<input type="radio" name="Gender" value="male" /> Male <input type="radio" name="Gender" value="female" /> Female';
        });
        $crud->callback_add_field('Birthdate', function () {
            return '<input type="text" id="example-datepicker4" name="Birthdate" class="form-control input-datepicker" data-date-format="mm-dd-yyyy">';
        });
        $crud->callback_add_field('Status', function () {
            return '<select name="Status" class="form-control select-select2">
                        <option></option>
                        <option value="Single">Single</option>
                        <option value="Married">Married</option>
                        <option value="Separated">Separated</option>
                        <option value="Divorced">Divorced</option>
                        <option value="Widowed">Widowed</option>
                    </select>';
        });

//        $crud->change_field_type('Status', 'dropdown', array('1' => 'Single', '2' => 'Married', '3' => 'Separated', '4' => 'Widowed', '5' => 'Divorced'));
//        $crud->field_type('Status','dropdown',array('1' => 'Single', '2' => 'Married', '3' => 'Separated', '4' => 'Widowed', '5' => 'Divorced'));

        $crud->display_as('name', 'First Name')
                ->display_as('mname', 'Middle Name')
                ->display_as('lname', 'Last Name')
                ->display_as('gender', 'Gender')
                ->display_as('bday', 'Birthdate')
                ->display_as('age', 'Age')
                ->display_as('citizenship', 'Citizenship')
                ->display_as('occupation', 'Occupation')
                ->display_as('status', 'Status')
                ->display_as('purok', 'Purok')
                ->display_as('resAddress', 'Residential Address')
                ->display_as('perAddress', 'Permanent Address')
                ->display_as('email', 'Email Address')
                ->display_as('telNum', 'Telephone #')
                ->display_as('cpNum', 'Cellphone #');

        $output = $crud->render();

        $this->_example_output_crud($output);
    }

    public function insert() {
        $crud = new grocery_CRUD();

        $crud->set_js('assets/Backend/js/vendor/bootstrap.min.js');
        $crud->set_js('assets/Backend/js/plugins.js');
        $crud->set_js('assets/Backend/js/app.js');
        $crud->set_js('assets/Backend/js/vendor/jquery-2.1.1.min.js');
        $crud->set_css('assets/Backend/css/animate.min.css');
        $crud->set_css('assets/Backend/css/bootstrap.min.css');
        $crud->set_css('assets/Backend/css/main.css');
        $crud->set_css('assets/Backend/css/plugins.css');
        $crud->set_css('assets/Backend/css/themes.css');

        $crud->set_subject('Resident');
        $crud->set_table('resident');
        $crud->set_theme('datatables');

        $crud->set_crud_url_path('/InfoTable', '/InfoTable');

//        $crud->required_fields('First Name', 'Middle Name', 'Last Name', 'Gender', 'Birthdate', 'Age', 'Citizenship', 'Occupation', 'Status', 'Purok', 'Residential Address', 'Permanent Address', 'Email Address', 'Telephone #', 'Cellphone #');
//        $crud->add_fields('First Name', 'Middle Name', 'Last Name', 'Gender', 'Birthdate', 'Age', 'Citizenship', 'Occupation', 'Status', 'Purok', 'Residential Address', 'Permanent Address', 'Email Address', 'Telephone #', 'Cellphone #');
//        $crud->set_rules('First Name');
//        $crud->callback_add_field('Residential Address', function () {
//            return '<textarea name="Residential Address" rows="7" cols="50" class="form-control" placeholder="in Full Address Format..."></textarea>';
//        });
//        $crud->callback_add_field('Permanent Address', function () {
//            return '<textarea name="Permanent Address" rows="7" cols="50" class="form-control" placeholder="in Full Address Format..."></textarea>';
//        });
//        $crud->callback_add_field('Email Address', function () {
//            return '<input type="email" name="Email Address" class="form-control" style="width: 300%;"></input>';
//        });
//        $crud->callback_add_field('Telephone #', function () {
//            return '<input type="tel" name="Telephone #" class="form-control" style="width: 300%;"></input>';
//        });
//        $crud->callback_add_field('Cellphone #', function () {
//            return '<input type="tel" name="Cellphone #" class="form-control" style="width: 300%;"></input>';
//        });
//        $crud->callback_add_field('Gender', function() {
//            return '<input type="radio" name="Gender" value="male" /> Male <input type="radio" name="Gender" value="female" /> Female';
//        });
//        $crud->callback_add_field('Birthdate', function () {
//            return '<input type="text" name="Birthdate" class="form-control input-datepicker" data-date-format="mm-dd-yyyy">';
//        });
//        $crud->change_field_type('Status', 'dropdown', array('1' => 'Single', '2' => 'Married', '3' => 'Separated', '4' => 'Widowed', '5' => 'Divorced'));
//
//        $crud->display_as('name', 'First Name')
//                ->display_as('mname', 'Middle Name')
//                ->display_as('lname', 'Last Name')
//                ->display_as('gender', 'Gender')
//                ->display_as('bday', 'Birthdate')
//                ->display_as('age', 'Age')
//                ->display_as('citizenship', 'Citizenship')
//                ->display_as('occupation', 'Occupation')
//                ->display_as('status', 'Status')
//                ->display_as('purok', 'Purok')
//                ->display_as('resAddress', 'Residential Address')
//                ->display_as('perAddress', 'Permanent Address')
//                ->display_as('email', 'Email Address')
//                ->display_as('telNum', 'Telephone #')
//                ->display_as('cpNum', 'Cellphone #');
//
        $output = $crud->render();

        $this->_example_output_crud($output);
    }

    public function edit() {
        $crud = new grocery_CRUD();

        $crud->set_js('assets/Backend/js/vendor/bootstrap.min.js');
        $crud->set_js('assets/Backend/js/plugins.js');
        $crud->set_js('assets/Backend/js/app.js');
        $crud->set_js('assets/Backend/js/vendor/jquery-2.1.1.min.js');
        $crud->set_css('assets/Backend/css/animate.min.css');
        $crud->set_css('assets/Backend/css/bootstrap.min.css');
        $crud->set_css('assets/Backend/css/main.css');
        $crud->set_css('assets/Backend/css/plugins.css');
        $crud->set_css('assets/Backend/css/themes.css');

        $crud->set_subject('Resident');
        $crud->set_table('resident');
        $crud->set_theme('datatables');
//        $crud->set_primary_key('resident_id');

        $crud->set_crud_url_path('/InfoTable/index', '/InfoTable');

        $crud->required_fields('First Name', 'Middle Name', 'Last Name', 'Gender', 'Birthdate', 'Age', 'Citizenship', 'Occupation', 'Status', 'Purok', 'Residential Address', 'Permanent Address', 'Email Address', 'Telephone #', 'Cellphone #');
//        $crud->edit_fields('First Name', 'Middle Name', 'Last Name', 'Gender', 'Birthdate', 'Age', 'Citizenship', 'Occupation', 'Status', 'Purok', 'Residential Address', 'Permanent Address', 'Email Address', 'Telephone #', 'Cellphone #');
//        $crud->callback_edit_field('Residential Address', function () {
//            return '<textarea name="Residential Address" rows="7" cols="50" class="form-control" placeholder="in Full Address Format..."></textarea>';
//        });
//        $crud->callback_edit_field('Permanent Address', function () {
//            return '<textarea name="Permanent Address" rows="7" cols="50" class="form-control" placeholder="in Full Address Format..."></textarea>';
//        });
//        $crud->callback_edit_field('Email Address', function () {
//            return '<input type="email" name="Email Address" class="form-control"></input>';
//        });
//        $crud->callback_edit_field('Telephone #', function () {
//            return '<input type="tel" name="Telephone #" class="form-control"></input>';
//        });
//        $crud->callback_edit_field('Cellphone #', function () {
//            return '<input type="tel" name="Cellphone #" class="form-control"></input>';
//        });
//        $crud->callback_edit_field('Gender', function() {
//            return '<input type="radio" name="Gender" value="male" /> Male <input type="radio" name="Gender" value="female" /> Female';
//        });
//        $crud->callback_edit_field('Birthdate', function () {
//            return '<input type="text" name="Birthdate" class="form-control input-datepicker" data-date-format="yyyy-mm-dd">';
//        });
//        $crud->change_field_type('Status', 'dropdown', array('1' => 'Single', '2' => 'Married', '3' => 'Separated', '4' => 'Widowed', '5' => 'Divorced'));
//         

        $crud->display_as('name', 'First Name')
                ->display_as('mname', 'Middle Name')
                ->display_as('lname', 'Last Name')
                ->display_as('gender', 'Gender')
                ->display_as('bday', 'Birthdate')
                ->display_as('age', 'Age')
                ->display_as('citizenship', 'Citizenship')
                ->display_as('occupation', 'Occupation')
                ->display_as('status', 'Status')
                ->display_as('purok', 'Purok')
                ->display_as('resAddress', 'Residential Address')
                ->display_as('perAddress', 'Permanent Address')
                ->display_as('email', 'Email Address')
                ->display_as('telNum', 'Telephone #')
                ->display_as('cpNum', 'Cellphone #');

        $output = $crud->render();

        $this->_example_output_crud($output);
    }

    public function read() {
        $crud = new grocery_CRUD();

        $crud->set_js('assets/Backend/js/vendor/bootstrap.min.js');
        $crud->set_js('assets/Backend/js/plugins.js');
        $crud->set_js('assets/Backend/js/app.js');
        $crud->set_js('assets/Backend/js/vendor/jquery-2.1.1.min.js');
        $crud->set_css('assets/Backend/css/animate.min.css');
        $crud->set_css('assets/Backend/css/bootstrap.min.css');
        $crud->set_css('assets/Backend/css/main.css');
        $crud->set_css('assets/Backend/css/plugins.css');
        $crud->set_css('assets/Backend/css/themes.css');

        $crud->set_subject('Resident');
        $crud->set_table('resident');
        $crud->set_theme('datatables');

        $crud->set_crud_url_path('/InfoTable', '/InfoTable');

        $crud->display_as('name', 'First Name')
                ->display_as('mname', 'Middle Name')
                ->display_as('lname', 'Last Name')
                ->display_as('gender', 'Gender')
                ->display_as('bday', 'Birthdate')
                ->display_as('age', 'Age')
                ->display_as('citizenship', 'Citizenship')
                ->display_as('occupation', 'Occupation')
                ->display_as('status', 'Status')
                ->display_as('purok', 'Purok')
                ->display_as('resAddress', 'Residential Address')
                ->display_as('perAddress', 'Permanent Address')
                ->display_as('email', 'Email Address')
                ->display_as('telNum', 'Telephone #')
                ->display_as('cpNum', 'Cellphone #');

        $output = $crud->render();

        $this->_example_output_crud($output);
    }

    public function delete() {
        $crud = new grocery_CRUD();

        $crud->set_js('assets/Backend/js/vendor/bootstrap.min.js');
        $crud->set_js('assets/Backend/js/plugins.js');
        $crud->set_js('assets/Backend/js/app.js');
        $crud->set_js('assets/Backend/js/vendor/jquery-2.1.1.min.js');
        $crud->set_css('assets/Backend/css/animate.min.css');
        $crud->set_css('assets/Backend/css/bootstrap.min.css');
        $crud->set_css('assets/Backend/css/main.css');
        $crud->set_css('assets/Backend/css/plugins.css');
        $crud->set_css('assets/Backend/css/themes.css');

        $crud->set_subject('Resident');
        $crud->set_table('resident');
        $crud->set_theme('datatables');

        $output = $crud->render();

        $this->_example_output($output);
    }

    function _example_output($output = null) {
        $this->load->view('Backend/page_ui_tables', $output);
    }

    function _example_output_crud($output = null) {
        $this->load->view('Backend/page_ui_crudOp', $output);
    }

}

grocery_crud/themes/datatables/view/list.php -> where i modify crud buttons to display crud ops inside the modal

<table class="display groceryCrudTable table table-striped table-bordered table-vcenter table-condensed table-responsive table-hover table-featured" id="<?php echo uniqid(); ?>" style="height: 50px">
    <thead>
        <tr>
    <center>
        <?php foreach ($columns as $column) { ?>
            <th><?php echo $column->display_as; ?></th>
        <?php } ?>
        <?php if (!$unset_delete || !$unset_edit || !$unset_read || !empty($actions)) { ?>
            <th class="text-center actions" title="Actions" data-sortable="false"><i class="fa fa-flash"></i></th>
        <?php } ?>
    </center>
</tr>
</thead>
<tbody>
    <?php foreach ($list as $num_row => $row) { ?>
        <tr id='row-<?php echo $num_row ?>'>
            <?php foreach ($columns as $column) { ?>
                <td><?php echo $row->{$column->field_name} ?></td>
            <?php } ?>
            <?php if (!$unset_delete || !$unset_edit || !$unset_read || !empty($actions)) { ?>
                <td class="text-center">
                    <?php
                    if (!empty($row->action_urls)) {
                        foreach ($row->action_urls as $action_unique_id => $action_url) {
                            $action = $actions[$action_unique_id];
                            ?>
                            <a href="<?php echo $action_url; ?>" class="edit_button btn btn-small btn-effect-ripple btn-ripple btn-default row col-sm-4 col-xs-4" role="button">
                                <span class="ui-button-icon-primary ui-icon <?php echo $action->css_class; ?> <?php echo $action_unique_id; ?>"></span><span class="ui-button-text">&nbsp;<?php echo $action->label ?></span>
                            </a>
                            <?php
                        }
                    }
                    ?>
                    <?php if (!$unset_read) { ?>
            <!--					<a href="<?php // echo $row->read_url             ?>" class="edit_button ui-button ui-widget ui-state-default ui-corner-all ui-button-text-icon-primary" role="button">
            <span class="ui-button-icon-primary ui-icon ui-icon-document"></span>
            <span class="ui-button-text">&nbsp;<?php // echo $this->l('list_view');               ?></span>
            </a>-->
                        <a href="#modal-fadeView" class="edit_button btn btn-effect-ripple btn-xs btn-primary viewBtn" data-toggle="modal" title="<?php echo $this->l('list_view'); ?>" role="button" style="overflow: hidden; position: relative;">
                            <i class="fa fa-info-circle"></i>
                        </a>
                    <?php } ?>

                    <?php if (!$unset_edit) { ?>
                                                                                                                                                                        <!--					<a href="<?php // echo $row->edit_url             ?>" class="edit_button ui-button ui-widget ui-state-default ui-corner-all ui-button-text-icon-primary" role="button">
                                                                                                                                                                                                                        <span class="ui-button-icon-primary ui-icon ui-icon-pencil"></span>
                                                                                                                                                                                                                        <span class="ui-button-text">&nbsp;<?php // echo $this->l('list_edit');               ?></span>
                                                                                                                                                                                                                </a>-->
                        <a href="#modal-fadeEdit" class="edit_button btn btn-effect-ripple btn-xs btn-success editBtn" data-toggle="modal" title="<?php echo $this->l('list_edit'); ?>" role="button" style="overflow: hidden; position: relative;">
                            <i class="fa fa-pencil"></i>
                        </a>
                    <?php } ?>
                    <?php if (!$unset_delete) { ?>
            <!--					<a onclick = "javascript: return delete_row('<?php // echo $row->delete_url              ?>', '<?php // echo $num_row             ?>')"
                                href="javascript:void(0)" class="delete_button ui-button ui-widget ui-state-default ui-corner-all ui-button-text-icon-primary" role="button">
                                <span class="ui-button-icon-primary ui-icon ui-icon-circle-minus"></span>
                                <span class="ui-button-text">&nbsp;<?php // echo $this->l('list_delete');               ?></span>
                        </a>-->
                        <a onclick = "javascript: return delete_row('<?php echo $row->delete_url ?>', '<?php echo $num_row ?>')"
                           href="javascript:void(0)" class="delete_button btn btn-effect-ripple btn-xs btn-danger" title="<?php echo $this->l('list_delete'); ?>" role="button">
                            <i class="fa fa-times"></i>
                        </a>
                    <?php } ?>
                </td>
            <?php } ?>
        </tr>
    <?php } ?>
</tbody>
<!--    <tfoot>
    <tr>
<?php foreach ($columns as $column) { ?>
                                    <th><input type="text" name="<?php echo $column->field_name; ?>" placeholder="<?php echo $this->l('list_search') . ' ' . $column->display_as; ?>" class="search_<?php echo $column->field_name; ?>" /></th>
<?php } ?>
<?php if (!$unset_delete || !$unset_edit || !$unset_read || !empty($actions)) { ?>
                                    <th>
                                        <button class="ui-button ui-widget ui-state-default ui-corner-all ui-button-icon-only floatR refresh-data" role="button" data-url="<?php echo $ajax_list_url; ?>">
                                            <span class="ui-button-icon-primary ui-icon ui-icon-refresh"></span><span class="ui-button-text">&nbsp;</span>
                                        </button>
                                        <a href="javascript:void(0)" role="button" class="clear-filtering ui-button ui-widget ui-state-default ui-corner-all ui-button-text-icon-primary floatR">
                                            <span class="ui-button-icon-primary ui-icon ui-icon-arrowrefresh-1-e"></span>
                                            <span class="ui-button-text"><?php echo $this->l('list_clear_filtering'); ?></span>
                                        </a>
                                    </th>
<?php } ?>
    </tr>
</tfoot>-->
</table>

<!--<script type="text/javascript" src="<?php // echo base_url()  ?>assets/Backend/grocery_crud/js/jquery_plugins/jquery.fancybox.pack-2.1.5.js"></script>-->
<script type="text/javascript">
   +++ var editUrl = <?php echo json_encode($row->edit_url); ?>,
            readUrl = <?php echo json_encode($row->read_url); ?>;

    var $ = jQuery.noConflict();

    $(document).ready(function () {
        $(".fancybox").fancybox();
    });
</script>
+++ - the script up there in the first line used to import url of edit and view records in the javascript for button actions by using json_encode();

view/page_ui_crudOp.php -> where the crud operation are display via modal inside <iframe>

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <?php foreach ($css_files as $file): ?>
            <link type="text/css" rel="stylesheet" href="<?php echo $file; ?>" />

        <?php endforeach; ?>
        <?php foreach ($js_files as $file): ?>

            <script src="<?php echo $file; ?>"></script>
        <?php endforeach; ?>
    </head>
    <body>
        <div class="block full" style="margin:0 0 0px;">
            <div class="block-content-full">
                <?php echo $output; ?>
            </div>
        </div>
    </body>
</html>

assets/Backend/js/pages/uiTables.js -> a AppUI 2.1 js file, where i put the crud button actions when clicked and access through the modal view

/*
 *  Document   : uiTables.js
 *  Author     : pixelcave
 *  Description: Custom javascript code used in Tables page
 */

var UiTables = function () {

    return {
        init: function () {
            /* Initialize Bootstrap Datatables Integration */
            App.datatables();

            /* Initialize Datatables */
            $('#example-datatable').dataTable({
                columnDefs: [{orderable: false, targets: [4]}],
                pageLength: 10,
                lengthMenu: [[5, 10, 20], [5, 10, 20]]
            });

            /* Add placeholder attribute to the search input */
            $('.dataTables_filter input').attr('placeholder', 'Search');

            /* Select/Deselect all checkboxes in tables */
            $('thead input:checkbox').click(function () {
                var checkedStatus = $(this).prop('checked');
                var table = $(this).closest('table');

                $('tbody input:checkbox', table).each(function () {
                    $(this).prop('checked', checkedStatus);
                });
            });

            /* Table Styles Switcher */
            var genTable = $('#general-table');
            var styleBorders = $('#style-borders');

            $('#style-default').on('click', function () {
                styleBorders.find('.btn').removeClass('active');
                $(this).addClass('active');

                genTable.removeClass('table-bordered').removeClass('table-borderless');
            });

            $('#style-bordered').on('click', function () {
                styleBorders.find('.btn').removeClass('active');
                $(this).addClass('active');

                genTable.removeClass('table-borderless').addClass('table-bordered');
            });

            $('#style-borderless').on('click', function () {
                styleBorders.find('.btn').removeClass('active');
                $(this).addClass('active');

                genTable.removeClass('table-bordered').addClass('table-borderless');
            });

            $('#style-striped').on('click', function () {
                $(this).toggleClass('active');

                if ($(this).hasClass('active')) {
                    genTable.addClass('table-striped');
                } else {
                    genTable.removeClass('table-striped');
                }
            });

            $('#style-condensed').on('click', function () {
                $(this).toggleClass('active');

                if ($(this).hasClass('active')) {
                    genTable.addClass('table-condensed');
                } else {
                    genTable.removeClass('table-condensed');
                }
            });

            $('#style-hover').on('click', function () {
                $(this).toggleClass('active');

                if ($(this).hasClass('active')) {
                    genTable.addClass('table-hover');
                } else {
                    genTable.removeClass('table-hover');
                }
            });
            // add button button action
            $(".addBtn").click(function () {
                $('#addFrame').attr('src', "/InfoTable/add");
            });
            // edit button button action
            $(".editBtn").click(function (e) {
                $('#editFrame').attr('src', editUrl);
                e.preventDefault();
            });
            // view button button action
            $(".viewBtn").click(function (e) {
                $('#viewFrame').attr('src', readUrl);
                e.preventDefault();
            });

            $('#viewFrame').load(function () {
                $('#viewFrame').height($('#viewFrame').contents().height());
            });

            $('#editFrame').load(function () {
                $('#editFrame').height($('#editFrame').contents().height());
            });

            $('#addFrame').load(function () {
                $('#addFrame').height($('#addFrame').contents().height());
            });
        }
    };
}();

sorry for the long post, hope this sources is enough to get my point and any idea with this is heavenly appreciated. thanks in advance :)