Wijmo 5 - FlexGrid DataMaps

HTML

<script src="http://cdn.wijmo.com/5.20173.409/controls/wijmo.min.js"></script>
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<script src="http://cdn.wijmo.com/5.20173.409/controls/wijmo.grid.min.js"></script>
<script src="http://cdn.wijmo.com/5.20151.51/controls/wijmo.input.min.js"></script>
<script src="http://cdn.wijmo.com/5.20173.409/interop/angular/wijmo.angular.min.js"></script>
<link rel="stylesheet" href="http://cdn.wijmo.com/5.20151.51/styles/wijmo.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<div ng-app="app" ng-controller="appCtrl">
    
<h3>FlexGrid</h3>


    

    <div >
         <ul class="nav nav-tabs">
            <li class="active" ><a data-target="#one" data-toggle="tab">ONE</a></li>
            <li><a data-target="#two" ng-click="initTwo()" data-toggle="tab">TWO</a></li>
            <li><a data-target="#three" ng-click="initThree()"data-toggle="tab">three</a></li>      
         </ul>
    </div>
    <div id="tabContainer" class="tab-content">
           <div class="tab-pane active in " id="one">                         
                                    
           </div>

           <div class="tab-pane  " id="two">                         
               <div id="flexOne" ></div>                       
           </div>

           <div class="tab-pane fade " id="three">                         
               <div id="flexTwo" ></div>                      
           </div>
    </div>
    
  
    
 </div>

JavaScript

'use strict';

// define app, include Wijmo 5 directives
var app = angular.module('app', ['wj']);

// controller
app.controller('appCtrl', function ($scope,$timeout) {

    var products = [
        { id: 0, name: 'Widget' },
        { id: 1, name: 'Gadget' },
        { id: 2, name: 'Wahoo' }
    ];
    var customers = [
        { id: 0, name: 'Alex' },
        { id: 1, name: 'Neil' },
        { id: 2, name: 'Geddy' }
    ];

   
    
    
    
       $scope.flexOne = new wijmo.grid.FlexGrid('#flexOne')  
  
   $scope.initTwo = function () {           
           $scope.flexOne.initialize({
               autoGenerateColumns: false,
               itemsSource: customers,              
               allowSorting: false,
               allowDragging: 0,
               allowDelete: true,
               allowAddNew:true,
               columns: [
                   { binding: 'id', header: 'id' },
                   { binding: 'name', header: 'name' },
                 
               ]


           });
           $scope.flexOne.collectionView.trackChanges = true;
           $scope.flexOne.invalidate();       
       
   }
     $scope.flexTwo = new wijmo.grid.FlexGrid('#flexTwo')  
  
   $scope.initThree = function () {           
           $scope.flexTwo.initialize({
               autoGenerateColumns: false,
               itemsSource: products,              
               allowSorting: false,
               allowDragging: 0,
               allowDelete: true,
               allowAddNew:true,
               columns: [
                   { binding: 'id', header: 'id' },
                   { binding: 'name', header: 'name' },
                 
               ]


           });
           $scope.flexTwo.collectionView.trackChanges = true;
           
           $scope.updateIt=function(){
           	$scope.flexTwo.invalidate();
           window.console.log("invalidate");
           }
           $timeout($scope.updateIt,150);           
       
   }
    
    

});