@@ -12,33 +12,40 @@ that default.
1212 <file name="app.js">
1313 var app = angular.module('app', ['ngAnimate', 'ui.grid']);
1414
15- app.controller('MainCtrl', ['$scope', '$http', function ($scope, $http) {
15+ app.controller('MainCtrl', ['$scope', '$http', 'uiGridConstants', function ($scope, $http, uiGridConstants ) {
1616 $scope.columns = [{ field: 'name' }, { field: 'gender' }];
1717 $scope.gridOptions = {
1818 enableSorting: true,
19- columnDefs: $scope.columns
19+ columnDefs: $scope.columns,
20+ onRegisterApi: function(gridApi) {
21+ $scope.gridApi = gridApi;
22+ }
2023 };
2124
2225 $scope.remove = function() {
23- $scope.columns.splice($scope.columns.length-1, 1);
26+ $scope.columns.splice($scope.columns.length-1, 1);
2427 }
2528
2629 $scope.add = function() {
27- $scope.columns.push({ field: 'company', enableSorting: false });
30+ $scope.columns.push({ field: 'company', enableSorting: false });
2831 }
2932
3033 $scope.splice = function() {
31- $scope.columns.splice(1, 0, { field: 'company', enableSorting: false });
34+ $scope.columns.splice(1, 0, { field: 'company', enableSorting: false });
3235 }
3336
3437 $scope.unsplice = function() {
35- $scope.columns.splice(1, 1);
38+ $scope.columns.splice(1, 1);
39+ }
40+
41+ $scope.toggleVisible = function() {
42+ $scope.columns[0].visible = !($scope.columns[0].visible || $scope.columns[0].visible === undefined);
43+ $scope.gridApi.core.notifyDataChange($scope.gridApi.grid, uiGridConstants.dataChange.COLUMN);
3644 }
3745
3846 $http.get('/data/100.json')
3947 .success(function(data) {
4048 $scope.gridOptions.data = data;
41- console.log(data)
4249 });
4350 }]);
4451 </file>
@@ -53,6 +60,7 @@ that default.
5360 <button id="button_remove" class="btn" ng-click="remove()">Remove Last</button>
5461 <button id="button_splice" class="btn" ng-click="splice()">Splice</button>
5562 <button id="button_unsplice" class="btn" ng-click="unsplice()">Remove Middle</button>
63+ <button id="button_toggle_visible" class="btn" ng-click="toggleVisible()">Toggle Visible</button>
5664 <div id="grid1" ui-grid="gridOptions" class="grid"></div>
5765 </div>
5866 </file>
@@ -89,7 +97,17 @@ that default.
8997 element(by.id('button_unsplice')).click();
9098 gridTestUtils.expectHeaderColumnCount( 'grid1', 2 );
9199 gridTestUtils.expectHeaderCellValueMatch( 'grid1', 1, 'Gender' );
92- });
100+ });
101+
102+ it('toggle column 0 visible should make column appear and disappear', function () {
103+ element(by.id('button_toggle_visible')).click();
104+ gridTestUtils.expectHeaderColumnCount( 'grid1', 1 );
105+ gridTestUtils.expectHeaderCellValueMatch( 'grid1', 0, 'Gender' );
106+
107+ element(by.id('button_toggle_visible')).click();
108+ gridTestUtils.expectHeaderColumnCount( 'grid1', 2 );
109+ gridTestUtils.expectHeaderCellValueMatch( 'grid1', 0, 'Name' );
110+ });
93111 });
94112 </file>
95113</example>
0 commit comments