angular-ui/ui-grid

Changing number of columns throws an exception

Open

#4,598 opened on 2015年10月29日

GitHub で見る
 (0 comments) (0 reactions) (1 assignee)JavaScript (2,496 forks)batch import
good first issue

Repository metrics

Stars
 (5,395 stars)
PR merge metrics
 (30d に merged PR はありません)

説明

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);
            });
        }
      }

コントリビューターガイド