angular-ui/ui-grid

Header Column labels not being set

Open

#5,078 创建于 2016年2月8日

在 GitHub 查看
 (2 评论) (0 反应) (0 负责人)JavaScript (5,395 star) (2,496 fork)batch import
good first issue

描述

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?

贡献者指南