Wijmo 5 [Allowing Checkbox for selecting row ]

This fiddle implement selecting row in flex grid using checkbox

HTML

<link rel="stylesheet" href="http://cdn.wijmo.com/5.latest/styles/wijmo.min.css">
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<script src="http://code.jquery.com/jquery-2.2.4.min.js"></script>
<script src="http://cdn.wijmo.com/5.latest/controls/wijmo.min.js"></script>
<script src="http://cdn.wijmo.com/5.latest/controls/wijmo.grid.min.js"></script>
<script src="http://cdn.wijmo.com/5.latest/interop/angular/wijmo.angular.min.js"></script>
<div id="theGrid">

</div>

JavaScript

var getData = function (value) {
            var countries = 'India,Japan,UK,US,China'.split(','),
           data = [];
            for (var i = 0; i < value; i++) {
                data.push({
                    id: i + 1,
                    country: countries[i % countries.length],
                    sales: Math.random() * 10000,
                    downloads: Math.random() * 200,
                    active: i%3==0
                });
            }
            return data;
        };
       var grid=new wijmo.grid.FlexGrid('#theGrid');
       grid.itemsSource=new wijmo.collections.CollectionView(getData(10));
       
      
           
            grid.itemFormatter = function (panel, r, c, cell) {
               
                if (panel.cellType == wijmo.grid.CellType.ColumnHeader) {
                    var flex = panel.grid;
                    var col = flex.columns[c];
                    if (col.dataType == wijmo.DataType.Boolean) {
                        col.allowSorting = true;
                        var cnt = 0;
                        for (var i = 0; i < flex.rows.length; i++) {
                            if (flex.getCellData(i, c) == true)
                                cnt++;
                        }
                        cell.innerHTML = '<input type="checkbox"> ' + cell.innerHTML;
                        var cb = cell.firstChild,
                            checked = cnt > 0;
                            indeterminate = cnt > 0 && cnt < flex.rows.length;
                        cb.checked = checked || indeterminate;
                        cb.indeterminate = indeterminate;
                        cb.addEventListener('click', function () {
                        // commit edit if any cell in edit mode
                            flex.collectionView.commitEdit();
                            // start checking cell according to header
                            flex.beginUpdate();
                            for (var i = 0; i <...