flexmonster
Version:
Pivot table component for web reporting. The most powerful JavaScript tool to visualize your business data.
872 lines (822 loc) • 32.1 kB
TypeScript
/**
* Flexmonster Pivot Table & Charts [https://www.flexmonster.com/]
* September 2025 (v. 2.9.112)
* Copyright 2025 Flexmonster All rights reserved
*
* Flexmonster Pivot Table & Charts is a part of Flexmonster Software that is distributed under the terms and conditions of Flexmonster Software License Agreement:
* https://www.flexmonster.com/software-license-agreement/
*
* By downloading, installing, and/or otherwise using Flexmonster Pivot Table & Charts, you accept and agree to be bound by and require each of your Representatives,
* clients and/or end-users, as the case may be, to be bound by all the terms and conditions of
* Flexmonster Software License Agreement: https://www.flexmonster.com/software-license-agreement/
*
* Pricing for Commercial License Models can be found on Flexmonster pricing page:
* https://www.flexmonster.com/pivot-table-editions-and-pricing/
*/
export as namespace Flexmonster;
declare const Flexmonster: FlexmonsterConstructor;
export = Flexmonster;
interface FlexmonsterConstructor {
new(params: Flexmonster.Params): Flexmonster.Pivot;
(params: Flexmonster.Params): Flexmonster.Pivot;
}
declare namespace Flexmonster {
interface Params {
// params
accessibility?: AccessibilityOptions;
componentFolder?: string;
container?: string | Element;
height?: string | number;
global?: Report;
licenseKey?: string | string[];
licenseFilePath?: string;
report?: Report | string;
shareReportConnection?: APIClientOptions;
toolbar?: boolean;
width?: string | number;
customizeAPIRequest?: (request: object) => object;
customizeCell?: (cell: CellBuilder, data: CellData) => void;
customizeChartElement?: (element: Element, data: ChartData | ChartLegendItemData) => void;
customizeContextMenu?: (items: ContextMenuItem[], data: CellData | ChartData, viewType: string) => ContextMenuItem[];
sortFieldsList?: (first: FieldsListSortingItem, second: FieldsListSortingItem, fieldsListType: string) => number;
// events
afterchartdraw?: () => void;
aftergriddraw?: (param: object) => void;
beforegriddraw?: (param: object) => void;
beforetoolbarcreated?: (toolbar: Toolbar) => void;
cellclick?: (cell: CellData) => void;
celldoubleclick?: (cell: CellData) => void;
chartclick?: (data: ChartData) => void;
datachanged?: (param: object) => void;
dataerror?: (event?: ErrorEvent) => void;
datafilecancelled?: () => void;
dataloaded?: () => void;
drillthroughclose?: () => void;
drillthroughopen?: (cell: CellData | ChartData) => void;
exportcomplete?: () => void;
exportstart?: () => void;
fieldslistclose?: () => void;
fieldslistopen?: () => void;
filterclose?: () => void;
filteropen?: (param: object) => void;
loadingdata?: () => void;
loadinglocalization?: () => void;
loadingolapstructure?: () => void;
loadingreportfile?: () => void;
localizationerror?: () => void;
localizationloaded?: () => void;
olapstructureerror?: (event?: ErrorEvent) => void;
olapstructureloaded?: () => void;
openingreportfile?: () => void;
printcomplete?: () => void;
printstart?: () => void;
querycomplete?: () => void;
queryerror?: (event?: ErrorEvent) => void;
ready?: () => void;
reportchange?: () => void;
reportcomplete?: () => void;
reportfilecancelled?: () => void;
reportfileerror?: () => void;
runningquery?: () => void;
unauthorizederror?: (done: UnauthorizedErrorHandler) => void;
update?: () => void;
}
interface Pivot {
addCalculatedMeasure(measure: Measure): void;
addCondition(condition: ConditionalFormat): void;
alert(options: { title: string; message: string; type?: string; buttons?: Array<{ label: string; handler?: () => void; }>; blocking?: boolean; }): void;
clear(): void;
clearFilter(hierarchyName: string): void;
clearXMLACache(proxyUrl: string, databaseId: string, callbackHandler: ((response: object) => void) | string, cubeId?: string, measuresGroupId?: string,
username?: string, password?: string): void;
closeFieldsList(): void;
collapseAllData(): void;
collapseCell(axisName: string, tuple: string[], measure?: string): void;
collapseData(hierarchyName: string): void;
connectTo(object: DataSource): void;
customizeAPIRequest(customizeAPIRequestFunction: (request: object) => object): void;
customizeCell(customizeCellFunction: (cell: CellBuilder, data: CellData) => void): void;
customizeChartElement(customizeChartElementFunction: (element: Element, data: ChartData | ChartLegendItemData) => void): void;
customizeContextMenu(customizeFunction: (items: ContextMenuItem[], data: CellData | ChartData, viewType: string) => ContextMenuItem[]): void;
dispose(): void;
drillDownCell(axisName: string, tuple: string[], measure: string, member: string): void;
drillUpCell(axisName: string, tuple: string[], measure: string, member: string): void;
expandAllData(withAllChildren?: boolean, type?: "all" | "rows" | "columns"): void;
expandCell(axisName: string, tuple: string[], measure: string): void;
expandData(hierarchyName: string): void;
exportTo(type: string, exportOptions?: ExportOptions, callbackHandler?: ((result: object) => void) | string): void;
getAllConditions(): ConditionalFormat[];
getAllHierarchies(): Hierarchy[];
getAllHierarchiesAsync(): Promise<Hierarchy[]>;
getAllMeasures(): Measure[];
getCell(rowIdx: number, colIdx: number): CellData;
getColumns(): Hierarchy[];
getColumnsAsync(): Promise<Hierarchy[]>;
getCondition(id: string): ConditionalFormat;
getData(options: { slice?: Slice }, callbackHandler: ((rawData: GetDataValueObject, error?: GetDataErrorObject) => void) | string,
updateHandler?: ((rawData: GetDataValueObject, error?: GetDataErrorObject) => void) | string): void;
getFilter(hierarchyName: string): Filter;
getFormat(measureName: string, aggregation?: string): Format;
getMeasures(): Measure[];
getMeasuresAsync(): Promise<Measure[]>;
getMembers(hierarchyName: string, memberName?: string, callbackHandler?: ((members: Member[]) => void) | string): Member[];
getMembersAsync(hierarchyName: string, memberName?: string): Promise<Member[]>;
getOptions(): Options;
getReport(options?: GetReportOptions): Report | string;
getReportFilters(): Hierarchy[];
getReportFiltersAsync(): Promise<Hierarchy[]>;
getRows(): Hierarchy[];
getRowsAsync(): Promise<Hierarchy[]>;
getSelectedCell(): CellData | CellData[];
getSort(hierarchyName: string): string;
getFlatSort(): FlatSort[];
getXMLACatalogs(proxyURL: string, dataSource: string, callbackHandler: ((response: any) => void) | string, username?: string, password?: string): void;
getXMLACatalogsAsync(proxyURL: string, dataSource: string): Promise<string[]>;
getXMLACubes(proxyURL: string, dataSource: string, catalog: string, callbackHandler: ((response: any) => void) | string, username?: string, password?: string): void;
getXMLACubesAsync(proxyURL: string, dataSource: string, catalog: string): Promise<string[]>;
getXMLADataSources(proxyURL: string, callbackHandler: ((response: any) => void) | string, username?: string, password?: string): void;
getXMLADataSourcesAsync(proxyURL: string): Promise<string[]>;
getXMLAProviderName(proxyURL: string, callbackHandler: ((response: any) => void) | string, username?: string, password?: string): string;
getXMLAProviderNameAsync(proxyURL: string): Promise<string>;
getTableSizes(): TableSizes;
load(url: string, requestHeaders?: { [header: string]: string | number }): void;
off(eventType: string, handler?: ((...args: any[]) => any) | string): void;
on(eventType: string, handler: ((...args: any[]) => any) | string): void;
open(): void;
openCalculatedValueEditor(uniqueName?: string, callbackHandler?: ((response: { uniqueName: string, isRemoved: boolean }) => void) | string): void;
openFieldsList(): void;
openFilter(hierarchyName: string): void;
print(options?: PrintOptions): void;
refresh(): void;
removeAllCalculatedMeasures(): void;
removeAllConditions(): void;
removeCalculatedMeasure(uniqueName: string): void;
removeCondition(id: string): void;
removeSelection(): void;
runQuery(slice: Slice): void;
save(params?: {
filename?: string, destination?: string, callbackHandler?: ((result: any, error: any) => void) | string, url?: string, embedData?: boolean, reportType?: string,
withDefaults?: boolean, withGlobals?: boolean, requestHeaders?: { [header: string]: string | number }, serverContentType?: string
}): void;
scrollToRow(rowIndex: number): void;
scrollToColumn(columnIndex: number): void;
setFilter(hierarchyName: string, filter: Filter): void;
setFormat(format: Format, measureName?: string, aggregation?: string): void;
setOptions(options: Options): void;
setReport(report: Report): void;
setSort(hierarchyName: string, sortName: string, customSorting?: string[]): void;
setFlatSort(sort: FlatSort[]): void;
setTableSizes(tableSizes: TableSizes): void;
shareReport(options?: APIClientOptions): Promise<string>;
showCharts(type?: string, multiple?: boolean): void;
showGrid(): void;
showGridAndCharts(type?: string, position?: string, multiple?: boolean): void;
sortFieldsList(sortingFunc: (first: FieldsListSortingItem, second: FieldsListSortingItem, fieldsListType: string) => number): void;
sortingMethod(hierarchyName: string, compareFunction: (a: string, b: string) => number): void;
sortValues(axisName: string, type: string, tuple?: number[], measure?: MeasureObject): void;
toolbar: Toolbar;
updateData(object: DataSource | object[], options?: { ignoreScroll?: boolean, ignoreSorting?: boolean, partial?: boolean }): void;
version: string;
amcharts?: {
getData(options: { slice?: Slice; prepareDataFunction?: (rawData: any, options: any) => any },
callbackHandler: ((chartData: GetDataValueObject, rawData: GetDataValueObject) => void) | string,
updateHandler?: ((chartData: GetDataValueObject, rawData: GetDataValueObject) => void) | string): void;
getNumberFormatPattern(format: object): string;
getCategoryName(rawData: any): string;
getMeasureNameByIndex(rawData: any, measureIndex: number): string;
getNumberOfMeasures(rawData: any): number;
};
fusioncharts?: {
getData(options: { type: string; slice?: Slice; prepareDataFunction?: (rawData: any, options: any) => any },
callbackHandler: ((chartData: GetDataValueObject, rawData: GetDataValueObject) => void) | string,
updateHandler?: ((chartData: GetDataValueObject, rawData: GetDataValueObject) => void) | string): void;
getNumberFormat(format: object): object;
};
googlecharts?: {
getData(options: { type?: string; slice?: Slice; prepareDataFunction?: (rawData: any, options: any) => any },
callbackHandler: ((chartData: GetDataValueObject, rawData: GetDataValueObject) => void) | string,
updateHandler?: ((chartData: GetDataValueObject, rawData: GetDataValueObject) => void) | string): void;
getNumberFormat(format: object): object;
getNumberFormatPattern(format: object): string;
};
highcharts?: {
getData(options: { type?: string; slice?: Slice; xAxisType?: string; valuesOnly?: boolean, withDrilldown?: boolean, prepareDataFunction?: (rawData: any, options: any) => any },
callbackHandler: ((chartData: GetDataValueObject, rawData: GetDataValueObject) => void) | string,
updateHandler?: ((chartData: GetDataValueObject, rawData: GetDataValueObject) => void) | string): void;
getAxisFormat(format: object): string;
getPointXFormat(format: object): string;
getPointYFormat(format: object): string;
getPointZFormat(format: object): string;
};
}
interface AccessibilityOptions {
keyboardMode?: boolean;
highContrastTheme?: string;
}
interface GetReportOptions {
withGlobals?: boolean,
withDefaults?: boolean
}
interface Report {
dataSource?: DataSource;
slice?: Slice;
options?: Options;
conditions?: ConditionalFormat[];
formats?: Format[];
tableSizes?: TableSizes;
localization?: object | string;
version?: string;
creationDate?: string;
}
interface APIClientOptions {
url: string | ((request: object, successHandler: (response: object | string) => void, errorHandler: (response: object | string) => void) => void);
singleEndpoint?: boolean;
requestHeaders?: { [header: string]: string | number };
withCredentials?: boolean;
}
interface DataSource {
type?: string;
dataSourceType?: string;
browseForFile?: boolean;
catalog?: string;
cube?: string;
data?: object[];
dataRootPath?: string;
dataSourceInfo?: string;
fieldSeparator?: string;
thousandSeparator?: string;
filename?: string;
ignoreQuotedLineBreaks?: boolean;
proxyUrl?: string;
recordsetDelimiter?: string;
binary?: boolean;
roles?: string;
localeIdentifier?: string;
effectiveUserName?: string;
customData?: string;
hash?: string;
credentials?: {
username?: string;
password?: string;
},
requestHeaders?: { [header: string]: string | number };
subquery?: string | object;
url?: string | ((request: object, successHandler: (response: object | string) => void, errorHandler: (response: object | string) => void) => void);
host?: string | string[] | object; // elasticsearch
index?: string;
mapping?: object | string;
withCredentials?: boolean;
singleEndpoint?: boolean;
useGranularityNamesForDateFilters?: boolean;
concurrentRequests?: boolean;
}
interface SliceHierarchy {
uniqueName: string;
caption?: string;
dimensionName?: string;
filter?: Filter;
levelName?: string;
sort?: string;
sortOrder?: string[];
showTotals?: boolean;
}
interface SliceMeasure {
uniqueName: string;
active?: boolean;
aggregation?: string;
availableAggregations?: string[];
caption?: string;
formula?: string;
individual?: boolean;
calculateNaN?: boolean;
format?: string;
grandTotalCaption?: string;
}
interface Slice {
columns?: SliceHierarchy[];
measures?: SliceMeasure[];
reportFilters?: SliceHierarchy[];
rows?: SliceHierarchy[];
drills?: {
drillAll?: boolean;
drillAllRows?: boolean;
drillAllColumns?: boolean;
columns?: Array<{ tuple: string[]; measure?: MeasureObject; }>;
rows?: Array<{ tuple: string[]; measure?: MeasureObject; }>;
};
expands?: {
expandAll?: boolean;
expandAllRows?: boolean;
expandAllColumns?: boolean;
columns?: Array<{ tuple: string[]; measure?: MeasureObject; }>;
rows?: Array<{ tuple: string[]; measure?: MeasureObject; }>;
};
sorting?: {
column?: { type: string; tuple: string[]; measure: MeasureObject; };
row?: { type: string; tuple: string[]; measure: MeasureObject; };
};
drillThrough?: string[];
flatOrder?: string[];
flatSort?: FlatSort[];
}
interface Options {
chart?: {
activeMeasure?: MeasureObject | MeasureObject[];
activeTupleIndex?: number;
autoRange?: boolean;
multipleMeasures?: boolean;
oneLevel?: boolean;
showFilter?: boolean;
showLegend?: boolean;
showLegendButton?: boolean;
showMeasures?: boolean;
showWarning?: boolean;
title?: string;
type?: string;
showDataLabels?: boolean;
reversedAxes?: boolean;
showAllLabels?: boolean;
showOneMeasureSelection?: boolean;
position?: string;
pieDataIndex?: string;
axisShortNumberFormat?: boolean;
};
grid?: {
showFilter?: boolean;
showGrandTotals?: string;
showHeaders?: boolean;
showHierarchies?: boolean;
showHierarchyCaptions?: boolean;
showReportFiltersArea?: boolean;
showTotals?: string;
title?: string;
type?: string;
showAutoCalculationBar?: boolean;
dragging?: boolean;
grandTotalsPosition?: string;
drillThroughMaxRows?: number;
autoSwitchToCompact?: boolean;
};
filter?: {
/**
* @deprecated `timezoneOffset` was deprecated. Now filter adjusts to the time zone of the specific hierarchy.
* The property will be eventually removed from the type definitions.
*/
timezoneOffset?: number;
weekOffset?: number;
dateFormat?: string;
liveSearch?: boolean;
filterByDateAndTime?: boolean;
allowEmptyMembersFilter?: boolean;
};
allowBrowsersCache?: boolean;
configuratorActive?: boolean;
configuratorButton?: boolean;
dateTimezoneOffset?: number;
datePattern?: string;
dateTimePattern?: string;
defaultHierarchySortName?: string;
distinguishNullUndefinedEmpty?: boolean;
drillThrough?: boolean;
editing?: boolean;
selectEmptyCells?: boolean;
showAggregations?: boolean;
showCalculatedValuesButton?: boolean;
showDefaultSlice?: boolean;
showMemberProperties?: boolean;
sorting?: string;
viewType?: string;
showAggregationLabels?: boolean;
useOlapFormatting?: boolean;
defaultDateType?: string;
timePattern?: string;
showOutdatedDataAlert?: boolean;
showEmptyData?: boolean;
saveAllFormats?: boolean;
showDrillThroughConfigurator?: boolean;
grouping?: boolean;
showAllFieldsDrillThrough?: boolean;
validateFormulas?: boolean;
showFieldListSearch?: boolean;
strictDataTypes?: boolean;
caseSensitiveMembers?: boolean;
simplifyFieldListFolders?: boolean;
validateReportFiles?: boolean;
fieldListPosition?: string;
showEmptyValues?: boolean | string;
useCaptionsInCalculatedValueEditor?: boolean;
expandExecutionTimeout?: number;
readOnly?: boolean;
}
interface PrintOptions {
header?: string;
footer?: string;
}
interface Member {
caption?: string;
uniqueName?: string;
hierarchyName?: string;
children?: Member[];
isLeaf?: boolean;
parentMember?: string;
properties?: any;
}
interface FilterProperties {
type: string;
members?: FilterItem[];
quantity?: number;
measure?: MeasureObject;
}
interface FilterItem {
caption?: string;
uniqueName?: string;
hierarchyName?: string;
}
interface CellData {
collapsed?: boolean;
columnIndex?: number;
columns?: object[];
conditions?: string[];
escapedLabel?: string;
expanded?: boolean;
drilledUp?: boolean;
drilledDown?: boolean;
height?: number;
hierarchy?: Hierarchy;
isClassicTotalRow?: boolean;
isDrillThrough?: boolean;
isGrandTotal?: boolean;
isGrandTotalColumn?: boolean;
isGrandTotalRow?: boolean;
isTotal?: boolean;
isTotalColumn?: boolean;
isTotalRow?: boolean;
label?: string;
level?: number;
measure?: MeasureObject;
member?: Member;
recordId?: string | string[] | any;
rowData?: CellData[];
rowIndex?: number;
rows?: object[];
type?: string;
value?: number;
width?: number;
x?: number;
y?: number;
}
interface ExportOptions {
filename?: string;
destinationType?: string;
excelSheetName?: string;
footer?: string;
header?: string;
pageOrientation?: string;
showFilters?: boolean;
url?: string;
useOlapFormattingInExcel?: boolean;
useCustomizeCellForData?: boolean;
excelExportAll?: boolean;
requestHeaders?: { [header: string]: string | number };
fontUrl?: string;
alwaysEnclose?: boolean;
pageFormat?: string;
fieldSeparator?: string;
}
interface Hierarchy {
caption?: string;
dimensionCaption?: string;
dimensionUniqueName?: string;
folder?: string;
label?: string;
levels?: Level[];
sort?: string;
uniqueName?: string;
}
interface Filter {
members?: string[];
exclude?: string[];
include?: string[];
query?: NumberQuery | LabelQuery | DateQuery | TimeQuery | ValueQuery;
measure?: string | MeasureObject;
}
interface NumberQuery {
equal?: number;
not_equal?: number;
greater?: number;
greater_equal?: number;
less?: number;
less_equal?: number;
between?: number[];
not_between?: number[];
}
interface LabelQuery {
equal?: string;
not_equal?: string;
begin?: string;
not_begin?: string;
end?: string;
not_end?: string;
contain?: string;
not_contain?: string;
greater?: string;
greater_equal?: string;
less?: string;
less_equal?: string;
between?: string[];
not_between?: string[];
}
interface DateQuery {
equal?: string;
not_equal?: string;
before?: string;
before_equal?: string;
after?: string;
after_equal?: string;
between?: string[];
not_between?: string[];
last?: string;
current?: string;
next?: string;
}
interface TimeQuery {
equal?: string;
not_equal?: string;
greater?: string;
greater_equal?: string;
less?: string;
less_equal?: string;
between?: string[];
not_between?: string[];
}
interface ValueQuery extends NumberQuery {
top?: number;
bottom?: number;
}
interface Measure {
active?: boolean;
aggregation?: string;
availableAggregations?: string[];
availableAggregationsCaptions?: string[];
caption?: string;
calculated?: boolean;
calculateNaN?: boolean;
folder?: string;
formula?: string;
format?: string;
grandTotalCaption?: string;
individual?: boolean;
label?: string;
name?: string;
uniqueName?: string;
groupName?: string,
type?: string;
}
interface MeasureObject {
aggregation?: string;
availableAggregations?: string[];
availableAggregationsCaptions?: string[];
caption?: string;
calculated?: boolean;
calculateNaN?: boolean;
formula?: string;
individual?: boolean;
folder?: string;
format?: string;
grandTotalCaption?: string;
label?: string;
name?: string;
uniqueName?: string;
groupName?: string;
type?: string;
}
interface ConditionalFormat {
formula?: string;
format?: Style;
formatCSS?: string;
row?: number;
column?: number;
measure?: string;
aggregation?: string;
hierarchy?: string;
member?: string;
isTotal?: boolean;
}
interface Style {
color?: string;
backgroundColor?: string;
backgroundImage?: string;
borderColor?: string;
fontSize?: string;
fontWeight?: string;
fill?: string;
textAlign?: string;
fontFamily?: string;
width?: number;
maxWidth?: number;
height?: number;
maxHeight?: number;
}
interface Format {
name?: string;
thousandsSeparator?: string;
decimalSeparator?: string;
decimalPlaces?: number;
maxDecimalPlaces?: number;
maxSymbols?: number;
negativeNumberFormat?: string;
currencySymbol?: string;
currencySymbolAlign?: string;
negativeCurrencyFormat?: string;
positiveCurrencyFormat?: string;
nullValue?: string;
infinityValue?: string;
divideByZeroValue?: string;
textAlign?: string;
isPercent?: boolean;
isCount?: boolean;
beautifyFloatingPoint?: boolean;
}
interface TableSizes {
columns?: ColumnSize[];
rows?: RowSize[];
}
interface ColumnSize {
width?: number;
idx?: number;
tuple?: string[];
measure?: MeasureObject;
}
interface RowSize {
height?: number;
idx?: number;
tuple?: string[];
measure?: MeasureObject;
}
interface CellBuilder {
attr?: object;
classes?: string[];
style?: object;
tag?: string;
text?: string;
addClass(value?: string): void;
toHtml(): string;
}
interface ContextMenuItem {
id?: string;
label?: string;
handler?: (() => void) | string;
submenu?: ContextMenuItem[];
isSelected?: boolean;
class?: string;
}
interface ChartData {
element: any;
columns?: Member[];
id?: string;
label?: string;
measure?: MeasureObject;
rows?: Member[];
value?: number;
chartType?: string;
}
interface ChartLegendItemData {
label?: string;
color?: string;
tuple?: Member[];
member?: Member;
measure?: MeasureObject;
level?: number;
isExpanded?: boolean;
isCollapsed?: boolean;
isDrilledUp?: boolean;
isDrilledDown?: boolean;
chartType?: string;
}
interface FlatSort {
sort: string;
uniqueName: string;
}
interface FieldsListSortingItem {
caption: string,
isFolder: boolean,
isCalculated?: boolean,
isMeasureFolder?: boolean,
isKPI?: boolean,
folder?: string
}
interface Toolbar {
getTabs: () => ToolbarTab[];
defaults: ToolbarDefaults;
// Connect tab
connectLocalCSVHandler: () => void;
connectLocalJSONHandler: () => void;
connectRemoteCSV: () => void;
connectRemoteJSON: () => void;
connectOLAP: () => void;
// Open tab
openLocalReport: () => void;
openRemoteReport: () => void;
// Save tab
saveHandler: () => void;
// Export tab
printHandler: () => void;
exportHandler: (type: string) => void;
// Grid tab
gridHandler: () => void;
// Charts tab
chartsHandler: (type: string) => void;
chartsMultipleHandler: () => void;
// Format tab
formatCellsHandler: () => void;
conditionalFormattingHandler: () => void;
// Options tab
optionsHandler: () => void;
// Fields tab
fieldsHandler: () => void;
// Fullscreen tab
fullscreenHandler: () => void;
icons: {
connect: string,
connect_csv: string,
connect_csv_remote: string,
connect_json_remote: string,
connect_olap: string,
open: string,
open_local: string,
open_remote: string,
save: string,
export: string,
share: string,
export_print: string,
export_html: string,
export_csv: string,
export_excel: string,
export_image: string,
export_pdf: string,
grid: string,
charts: string,
charts_bar: string,
charts_line: string,
charts_scatter: string,
charts_pie: string,
charts_stacked_column: string,
charts_column_line: string,
format: string,
format_number: string,
format_conditional: string,
options: string,
fields: string,
fullscreen: string,
minimize: string
};
showShareReportTab?: boolean;
}
interface ToolbarDefaults {
defaultConditionalFormat: {
fontFamily: string;
fontSize: string;
color: string;
backgroundColor: string;
};
fonts: string[];
/** Ends with px. Example: ["8px", "9px"] */
fontSize: string[];
}
interface ToolbarTab {
android?: boolean;
args?: any;
handler?: (() => void) | string;
icon?: string;
id: string;
ios?: boolean;
mobile?: boolean;
menu?: ToolbarTab[];
rightGroup?: boolean;
title?: string;
visible?: boolean;
divider?: boolean;
}
interface GetDataValueObject {
data: object[];
meta: object;
}
interface GetDataErrorObject {
dataHeight: number;
dataWidth: number;
errorMessage: string;
}
interface Level {
caption: string;
uniqueName: string;
}
type UnauthorizedErrorHandler = (result: UnauthorizedErrorHandlerResult) => void;
interface UnauthorizedErrorHandlerResult {
requestHeaders: {
[header: string]: string | number;
}
}
interface ErrorEvent {
error?: string;
}
}