Skip to content

Commit 5bdefee

Browse files
committed
fix(record-range): fixes bug when disabling empty ranges.
1 parent c59cc86 commit 5bdefee

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

modules/change_detection/src/record_range.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -188,8 +188,11 @@ export class RecordRange {
188188
var firstEnabledChildRecord = this.findFirstEnabledRecord();
189189
var lastEnabledChildRecord = this.findLastEnabledRecord();
190190

191-
var nextEnabled = lastEnabledChildRecord.nextEnabled;
192-
var prevEnabled = firstEnabledChildRecord.prevEnabled;
191+
var nextEnabled = isPresent(lastEnabledChildRecord) ?
192+
lastEnabledChildRecord.nextEnabled : null;
193+
194+
var prevEnabled = isPresent(firstEnabledChildRecord) ?
195+
firstEnabledChildRecord.prevEnabled : null;
193196

194197
if (isPresent(nextEnabled)) nextEnabled.prevEnabled = prevEnabled;
195198
if (isPresent(prevEnabled)) prevEnabled.nextEnabled = nextEnabled;

modules/change_detection/test/record_range_spec.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,14 @@ export function main() {
107107
expect(enabledRecords(parent, recordNames)).toEqual(['record1', 'record2']);
108108
});
109109

110+
it('should handle enabling/disabling an empty range', () => {
111+
var emptyRange = new RecordRange(null, null);
112+
emptyRange.disable();
113+
emptyRange.enable();
114+
115+
expect(enabledRecords(emptyRange, recordNames)).toEqual([]);
116+
});
117+
110118
it('should handle adding a range into an empty range', () => {
111119
var emptyRange = new RecordRange(null, null);
112120
parent.addRange(emptyRange);

0 commit comments

Comments
 (0)