UNPKG

yahoo-swiv

Version:

A web-based exploratory visualization UI for Druid.io

50 lines (49 loc) 2.05 kB
import { List } from 'immutable'; import { Instance } from 'immutable-class'; import { Expression, ExpressionJS, Action, ActionJS, SortAction, LimitAction } from 'swiv-plywood'; import { Dimension } from '../dimension/dimension'; export interface SplitCombineValue { expression: Expression; bucketAction: Action; sortAction: SortAction; limitAction: LimitAction; } export declare type SplitCombineJS = string | SplitCombineJSFull; export interface SplitCombineJSFull { expression: ExpressionJS; bucketAction?: ActionJS; sortAction?: ActionJS; limitAction?: ActionJS; } export interface SplitCombineContext { dimensions: List<Dimension>; } export declare class SplitCombine implements Instance<SplitCombineValue, SplitCombineJS> { static SORT_ON_DIMENSION_PLACEHOLDER: string; static isSplitCombine(candidate: any): candidate is SplitCombine; static fromExpression(expression: Expression): SplitCombine; static fromJS(parameters: SplitCombineJS, context?: SplitCombineContext): SplitCombine; expression: Expression; bucketAction: Action; sortAction: SortAction; limitAction: LimitAction; constructor(parameters: SplitCombineValue); valueOf(): SplitCombineValue; toJS(): SplitCombineJS; toJSON(): SplitCombineJS; toString(): string; equals(other: SplitCombine): boolean; equalsByExpression(other: SplitCombine): boolean; toSplitExpression(): Expression; toKey(): string; getNormalizedSortAction(dimensions: List<Dimension>): SortAction; changeBucketAction(bucketAction: Action): SplitCombine; changeSortAction(sortAction: SortAction): SplitCombine; changeSortActionFromNormalized(sortAction: SortAction, dimensions: List<Dimension>): SplitCombine; changeLimitAction(limitAction: LimitAction): SplitCombine; changeLimit(limit: number): SplitCombine; timezoneDependant(): boolean; getDimension(dimensions: List<Dimension>): Dimension; getTitle(dimensions: List<Dimension>): string; getBucketTitle(): string; }