angular-ui/ui-grid

Header Column labels not being set

Open

#5,078 opened on Feb 8, 2016

View on GitHub
 (2 comments) (0 reactions) (0 assignees)JavaScript (5,395 stars) (2,496 forks)batch import
good first issue

Description

I'm trying to write tests for my ui-grid, but the class 'ui-grid-header-cell-label' isn't being added to the span with my header label which causes my selector and test to fail. Looking at https://github.com/angular-ui/ui-grid/blob/master/src/templates/ui-grid/uiGridHeaderCell.html, the class should be added and I can't figure out why it isn't in my case.

This is what my initGridOptions looks like:

NS.allSubscriptions.prototype.initGridOptions = function () {
    var self = this;
    function rowTemplate() {
        var rowTemplateStr =
            '<div class="user-subscription">' +
            '<div ng-repeat="(colRenderIndex, col) in colContainer.renderedColumns track by col.uid"' +
            'ng-class="{\'ui-grid-row-header-cell\': col.isRowHeader}" class="ui-grid-cell" ui-grid-cell >' +
            '</div>' +
            '<div style="clear:both;"></div>' +
            '</div>';
        return rowTemplateStr;
    }
    self.gridOptions = {
        enableColumnResizing: true,
        //0 = never
        enableHorizontalScrollbar: 0,
        enableVerticalScrollbar: 0,
        rowTemplate: rowTemplate(),
        columnDefs: [
            {
                name: 'email',
                field: 'userEmail',
                enableColumnMenu: false,
                width: 150,
                enableSorting: true,
            },
            {
                name: 'version',
                field: 'getVersionString()',
                enableColumnMenu: false,
                sortingAlgorithm: self.versionSortingAlgorithm
            },
            {
                name: 'state',
                field: 'getStateDisplayName()',
                enableColumnMenu: false,
                enableSorting: true
            },
            {
                name: 'upgrade status',
                field: 'upgradeStatus',
                enableColumnMenu: false,
                cellTemplate: '<div class="ui-grid-cell-contents"' +
                'ng-class="{\'upgradeSuccess\': row.entity.upgradeStatus == \'SUCCESS\',' +
                        '\'upgradeError\': row.entity.upgradeStatus == \'ERROR\'}">'
                +'{{row.entity.getUpgradeStatusDisplay()}}'
                +'</div>',
                minWidth:125,
                enableSorting: true
            },
            {
                name: 'upgrade message',
                field: 'upgradeMessage',
                minWidth:170,
                enableColumnMenu: false,
                enableSorting: true
            },
            {
                //value must be different from display for sorting purposes
                name: 'subscribed',
                field: 'created',
                enableColumnMenu: false,
                cellTemplate: '<div class="ui-grid-cell-contents">'
                +'{{row.entity.getFormattedCreatedDate()}}'
                +'</div>',
                enableSorting: true
            },
            {
                //value must be different from display for sorting purposes
                name: 'updated',
                field: 'modified',
                enableColumnMenu: false,
                cellTemplate: '<div class="ui-grid-cell-contents">'
                +'{{row.entity.getFormattedUpdatedDate()}}'
                +'</div>',
                enableSorting: true
            },
            {
                name: 'action',
                enableColumnMenu: false,
                enableSorting: false,
                cellTemplate: '<div style="text-align:right;" class="ui-grid-cell-contents">'
                +'<a ng-if="row.entity.showUpgradeLink()"'
                +'ng-click="grid.appScope.upgradeSubscription(row.entity)">Upgrade</a>'
                +'</div>',
                maxWidth:80
            }
        ],
        onRegisterApi: function (gridApi) {
            self.gridApi = gridApi;
            self.gridApi.core.on.sortChanged(self.scope, function (grid, sort) {
                self.gridApi.core.notifyDataChange(self.uiGridConstants.dataChange.COLUMN);
            });
        }
    };
};

Is there something I'm missing/overwriting that's preventing the header-cell-label class to be added?

Contributor guide