<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>
