<div class="ngTopPanel" ng-class="{'ui-widget-header':jqueryUITheme, 'ui-corner-top': jqueryUITheme}" ng-style="topPanelStyle()">
<div class="ngGroupPanel" ng-show="showGroupPanel()" ng-style="groupPanelStyle()">
<div class="ngGroupPanelDescription" ng-show="configGroups.length == 0">{{i18n.ngGroupPanelDescription}}</div>
<ul ng-show="configGroups.length > 0" class="ngGroupList">
<li class="ngGroupItem" ng-repeat="group in configGroups">
<span class="ngGroupElement">
<span class="ngGroupName">{{group.displayName}}
<span ng-click="removeGroup($index)" class="ngRemoveGroup">x</span>
</span>
<span ng-hide="$last" class="ngGroupArrow"></span>
</span>
</li>
</ul>
</div>
<div class="ngHeaderContainer" ng-style="headerStyle()">
<div class="ngHeaderScroller" ng-style="headerScrollerStyle()" ng-include="gridId + 'headerRowTemplate.html'"></div>
</div>
<div ng-grid-menu></div>
</div>
<div class="ngViewport" unselectable="on" ng-viewport ng-class="{'ui-widget-content': jqueryUITheme}" ng-style="viewportStyle()">
<div class="ngCanvas" ng-style="canvasStyle()">
<div ng-style="rowStyle(row)" ng-repeat="row in renderedRows" ng-click="row.toggleSelected($event)" ng-class="row.alternatingRowClass()" ng-row></div>
</div>
</div>
<div ng-grid-footer></div>