[Table] Remove length check when updating visible rows

While the number of visible rows may not have changed, their
contents may have; returning early here results in #910.
This commit is contained in:
Victor Woeltjen 2016-05-10 14:57:09 -07:00
parent 46e1347dc8
commit c448753bab
2 changed files with 18 additions and 12 deletions

View File

@ -165,17 +165,8 @@ define(
//No need to scroll
if (this.$scope.displayRows.length < this.maxDisplayRows) {
//Check whether need to resynchronize visible with display
// rows (if data added)
if (this.$scope.visibleRows.length !==
this.$scope.displayRows.length){
start = 0;
end = this.$scope.displayRows.length;
} else {
//Data is in sync, and no need to calculate scroll,
// so do nothing.
return;
}
start = 0;
end = this.$scope.displayRows.length;
} else {
//rows has exceeded display maximum, so may be necessary to
// scroll

View File

@ -61,13 +61,18 @@ define(
]);
mockElement.find.andReturn(mockElement);
mockElement.prop.andReturn(0);
mockElement[0] = {
scrollTop: 0,
scrollHeight: 500,
offsetHeight: 1000
};
mockScope.displayHeaders = true;
mockTimeout = jasmine.createSpy('$timeout');
mockTimeout.andReturn(promise(undefined));
controller = new MCTTableController(mockScope, mockTimeout, mockElement);
spyOn(controller, 'setVisibleRows');
spyOn(controller, 'setVisibleRows').andCallThrough();
});
it('Reacts to changes to filters, headers, and rows', function() {
@ -178,6 +183,16 @@ define(
expect(sortedRows[2].col2.text).toEqual('abc');
});
// https://github.com/nasa/openmct/issues/910
it('updates visible rows in scope', function () {
var oldRows;
mockScope.rows = testRows;
controller.setRows(testRows);
oldRows = mockScope.visibleRows;
mockScope.toggleSort('col2');
expect(mockScope.visibleRows).not.toEqual(oldRows);
});
it('correctly sorts rows of differing types', function () {
mockScope.sortColumn = 'col2';
mockScope.sortDirection = 'desc';