angular-ui/ui-grid

Changing number of columns throws an exception

Open

#4.598 aberto em 29 de out. de 2015

Ver no GitHub
 (0 comments) (0 reactions) (1 assignee)JavaScript (2.496 forks)batch import
good first issue

Métricas do repositório

Stars
 (5.395 stars)
Métricas de merge de PR
 (Nenhuma PRs mesclada em 30d)

Description

Version 3.0.7 of ui-grid.js line number 3139

This function is (obviously) assuming that it will ever be called with two objects, but it also gets called with the length of the columnDefs collection changes which causes it to crash on line 3142 because self.grid.options.columnDefs gets assigned n, which is a number.

I'm not sure if this is the complete fix, but checking for typeof n !== 'number' seems to fix the problem.

      function columnDefsWatchFunction(n, o) {
        if (n && n !== o && typeof n !== 'number' ) {
          self.grid.options.columnDefs = n;
          self.grid.buildColumns({ orderByColumnDefs: true })
            .then(function(){

              self.grid.preCompileCellTemplates();

              self.grid.callDataChangeCallbacks(uiGridConstants.dataChange.COLUMN);
            });
        }
      }

Guia do colaborador