Beispiel #1
0
 var newSplitCombines = this.splitCombines.map((splitCombine) => {
     if (splitCombine.bucketAction)
         return splitCombine;
     var splitExpression = splitCombine.expression;
     var splitDimension = dimensions.find(d => splitExpression.equals(d.expression));
     var splitKind = splitDimension.kind;
     if (!splitDimension || !(splitKind === 'time' || splitKind === 'number'))
         return splitCombine;
     changed = true;
     var selectionSet = filter.getLiteralSet(splitExpression);
     var extent = selectionSet ? selectionSet.extent() : null;
     if (splitKind === 'time') {
         return splitCombine.changeBucketAction(new plywood_1.TimeBucketAction({
             duration: plywood_1.TimeRange.isTimeRange(extent) ? granularity_1.getBestBucketUnitForRange(extent, false, splitDimension.bucketedBy, splitDimension.granularities) :
                 granularity_1.getDefaultGranularityForKind('time', splitDimension.bucketedBy, splitDimension.granularities).duration
         }));
     }
     else if (splitKind === 'number') {
         return splitCombine.changeBucketAction(new plywood_2.NumberBucketAction({
             size: extent ? granularity_1.getBestBucketUnitForRange(extent, false, splitDimension.bucketedBy, splitDimension.granularities) :
                 granularity_1.getDefaultGranularityForKind('number', splitDimension.bucketedBy, splitDimension.granularities).size
         }));
     }
     throw new Error('unknown extent type');
 });
Beispiel #2
0
function formatValue(value, timezone, displayYear) {
    if (plywood_1.NumberRange.isNumberRange(value)) {
        return formatNumberRange(value);
    }
    else if (plywood_1.TimeRange.isTimeRange(value)) {
        return time_1.formatTimeRange(value, timezone, displayYear);
    }
    else {
        return '' + value;
    }
}
Beispiel #3
0
 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;
     }
 };
Beispiel #4
0
 return new index_1.Filter(immutable_1.List(segments.map(function (segment, i) {
     return new index_1.FilterClause({
         expression: splits.get(i).expression,
         selection: plywood_1.r(plywood_1.TimeRange.isTimeRange(segment) ? segment : plywood_1.Set.fromJS([segment]))
     });
 })));
Beispiel #5
0
function formatSegment(value) {
    if (plywood_1.TimeRange.isTimeRange(value)) {
        return value.start.toISOString();
    }
    return String(value);
}