@bokeh/bokehjs
Version:
Interactive, novel data visualization
68 lines • 2.37 kB
TypeScript
import type * as p from "../../../core/properties";
import type { Column, RowMetadata } from "@bokeh/slickgrid";
import type { Item } from "./definitions";
import { TableDataProvider, DataTableView, DataTable } from "./data_table";
import { ColumnDataSource } from "../../sources/column_data_source";
import type { CDSView } from "../../sources/cds_view";
import { RowAggregator } from "./row_aggregators";
import { Model } from "../../../model";
export declare namespace GroupingInfo {
type Attrs = p.AttrsOf<Props>;
type Props = Model.Props & {
getter: p.Property<string>;
aggregators: p.Property<RowAggregator[]>;
collapsed: p.Property<boolean>;
};
}
export interface GroupingInfo extends GroupingInfo.Attrs {
}
export declare class GroupingInfo extends Model {
properties: GroupingInfo.Props;
constructor(attrs?: Partial<GroupingInfo.Attrs>);
get comparer(): (a: {
value: number;
}, b: {
value: number;
}) => number;
}
export declare class DataCubeProvider extends TableDataProvider {
readonly columns: Column<Item>[];
groupingInfos: GroupingInfo[];
readonly groupingDelimiter: string;
toggledGroupsByLevel: {
[key: string]: boolean;
}[];
private rows;
target: ColumnDataSource;
constructor(source: ColumnDataSource, view: CDSView, columns: Column<Item>[], target: ColumnDataSource);
setGrouping(groupingInfos: GroupingInfo[]): void;
private extractGroups;
private calculateTotals;
private addTotals;
private flattenedGroupedRows;
refresh(): void;
getLength(): number;
getItem(i: number): Item;
getItemMetadata(i: number): RowMetadata<Item>;
collapseGroup(grouping_key: string): void;
expandGroup(grouping_key: string): void;
}
export declare class DataCubeView extends DataTableView {
model: DataCube;
protected data: DataCubeProvider;
_render_table(): void;
}
export declare namespace DataCube {
type Attrs = p.AttrsOf<Props>;
type Props = DataTable.Props & {
grouping: p.Property<GroupingInfo[]>;
target: p.Property<ColumnDataSource>;
};
}
export interface DataCube extends DataCube.Attrs {
}
export declare class DataCube extends DataTable {
properties: DataCube.Props;
constructor(attrs?: Partial<DataCube.Attrs>);
}
//# sourceMappingURL=data_cube.d.ts.map