angular-ui/ui-grid

Header Column labels not being set

Open

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

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

仓库指标

Star
 (5,395 star)
PR 合并指标
 (30 天内没有已合并 PR)

描述

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?

贡献者指南