TimeFilterMenu.prototype.componentWillMount = function () { var _a = this.props, essence = _a.essence, dimension = _a.dimension; var filter = essence.filter; var timezone = essence.timezone; var timeSelection = filter.getSelection(dimension.expression); var selectedTimeRange = essence.evaluateSelection(timeSelection); this.setState({ timeSelection: timeSelection, tab: filter.isRelative() ? 'relative' : 'specific', startTime: selectedTimeRange ? chronoshift_1.day.floor(selectedTimeRange.start, timezone) : null, endTime: selectedTimeRange ? chronoshift_1.day.ceil(selectedTimeRange.end, timezone) : null }); };
function appendDays(timezone, weekAppendTo, countAppend) { for (var i = 0; i < countAppend; i++) { var lastDate = weekAppendTo[weekAppendTo.length - 1]; var shiftedDate = chronoshift_1.day.shift(lastDate, timezone, 1); weekAppendTo.push(shiftedDate); } return weekAppendTo; }
function prependDays(timezone, weekPrependTo, countPrepend) { for (var i = 0; i < countPrepend; i++) { var firstDate = weekPrependTo[0]; var shiftedDate = chronoshift_1.day.shift(firstDate, timezone, -1); weekPrependTo.unshift(shiftedDate); } return weekPrependTo; }
// calendar utils function monthToWeeks(firstDayOfMonth, timezone, locale) { const weeks = []; const firstDayNextMonth = chronoshift_1.month.shift(firstDayOfMonth, timezone, 1); let week = []; let currentPointer = chronoshift_1.day.floor(firstDayOfMonth, timezone); while (currentPointer < firstDayNextMonth) { var wallTime = chronoshift_1.WallTime.UTCToWallTime(currentPointer, timezone.toString()); if ((wallTime.getDay() === locale.weekStart || 0) && week.length > 0) { weeks.push(week); week = []; } week.push(currentPointer); currentPointer = chronoshift_1.day.shift(currentPointer, timezone, 1); } // push last week if (week.length > 0) weeks.push(week); return weeks; }
TimeFilterMenu.prototype.constructFilter = function () { var _a = this.props, essence = _a.essence, dimension = _a.dimension; var _b = this.state, tab = _b.tab, startTime = _b.startTime, endTime = _b.endTime; var filter = essence.filter; var timezone = essence.timezone; if (tab !== 'specific') return null; if (startTime && !endTime) { endTime = chronoshift_1.day.shift(startTime, timezone, 1); } if (startTime && endTime && startTime < endTime) { return filter.setSelection(dimension.expression, plywood_1.r(plywood_1.TimeRange.fromJS({ start: startTime, end: endTime }))); } else { return null; } };
function shiftOneDay(floored, timezone) { return chronoshift_1.day.shift(floored, timezone, 1); }