fix problems with rendering data

This commit is contained in:
Eric Hulburd
2016-02-21 18:40:55 -06:00
parent a84df34b55
commit c1fddd944e
28 changed files with 456 additions and 158 deletions

View File

@@ -6,9 +6,6 @@ class DateRange {
if (start === undefined && end === undefined && ranges.length === 0){
gaps_filled = [undefined, undefined];
new_ranges = [[undefined, undefined]];
} else if (ranges.length === 0){
gaps_filled = [new_range];
new_ranges = [new_range]
} else {
var covered = false,
last_start = start,
@@ -16,22 +13,22 @@ class DateRange {
ranges.forEach((range, i)=>{
if (covered){ new_ranges.push(range); return true; }
if (DateUtil.lte(start, range[0])){
if (end && !DateUtil.eq(end, range[0]) && DateUtil.lte(end, range[0])){
if (DateRange.lte(start, range[0])){
if (end && !DateRange.eq(end, range[0]) && DateRange.lte(end, range[0])){
new_ranges.push([last_start, end]);
new_ranges.push(range);
gaps_filled.push([last_end, end]);
covered = true;
} else if (end && !DateUtil.gte(end, range[1])) {
} else if (end && !DateRange.gte(end, range[1])) {
new_ranges.push([last_start, range[1]]);
if (range[0] && !DateUtil.eq(last_end, range[0])){ gaps_filled.push([last_end, range[0]]); }
if (range[0] && !DateRange.eq(last_end, range[0])){ gaps_filled.push([last_end, range[0]]); }
covered = true
} else {
if (range[0] && !DateUtil.eq(last_end, range[0])) gaps_filled.push([last_end, range[0]]);
if (range[0] && !DateRange.eq(last_end, range[0])) gaps_filled.push([last_end, range[0]]);
last_end = range[1]
}
} else if (start && DateUtil.gte(range[1], start)){
if (!DateUtil.eq(end, range[1]) && DateUtil.gte(end, range[1])){
} else if (start && DateRange.gte(range[1], start)){
if (!DateRange.eq(end, range[1]) && DateRange.gte(end, range[1])){
last_start = range[0];
last_end = range[1];
} else {
@@ -42,7 +39,7 @@ class DateRange {
});
if (!covered) {
new_ranges.push([last_start, end]);
if (!DateUtil.eq(last_end, end)) gaps_filled.push([last_end, end]);
if (!DateRange.eq(last_end, end)) gaps_filled.push([last_end, end]);
}
}
@@ -58,7 +55,9 @@ class DateRange {
}
static eq(date1, date2){
return (date1 !== undefined && date2 !== undefined && date1.getTime() === date2.getTime()) || date1 === undefined && date2 === undefined
if (date1 && date1.constructor === Date) date1 = date1.getTime();
if (date2 && date2.constructor === Date) date2 = date2.getTime();
return (date1 !== undefined && date2 !== undefined && date1 === date2) || date1 === undefined && date2 === undefined
}
static add(date, s){
@@ -66,4 +65,4 @@ class DateRange {
}
}
export default DateUtil;
export default DateRange;