survey-analytics
Version:
SurveyJS Dashboard is a UI component for visualizing and analyzing survey data. It interprets the form JSON schema to identify question types and renders collected responses using interactive charts and tables.
53 lines (52 loc) • 1.6 kB
TypeScript
import { Event } from "survey-core";
export type SummaryFilter = {
field: string;
type: string;
value: any;
};
export type GetDataUsingCallbackFn = (params: {
visualizer: any;
filter?: Array<SummaryFilter>;
callback?: (response: {
data: Array<Object>;
error?: any;
}) => void;
}) => void;
export type GetDataUsingPromiseFn = (params: {
visualizer: any;
filter?: Array<SummaryFilter>;
}) => Promise<Array<Object>>;
export type GetDataFn = GetDataUsingCallbackFn | GetDataUsingPromiseFn;
export declare class DataProvider {
private _data;
static seriesMarkerKey: string;
private _filteredData;
protected filterValues: {
[index: string]: any;
};
constructor(_data?: Array<any> | GetDataFn);
get data(): Array<any>;
set data(data: Array<any> | GetDataFn);
get dataFn(): GetDataFn;
get filteredData(): Array<any>;
/**
* Sets filter by question name and value.
*/
setFilter(questionName: string, selectedValue: any): void;
/**
* Resets filter.
*/
resetFilter(): void;
/**
* Fires when data has been changed.
*/
onFilterChanged: Event<(sender: DataProvider, options: any) => any, DataProvider, any>;
raiseFilterChanged(questionName?: string, selectedValue?: any): void;
/**
* Fires when data has been changed.
*/
onDataChanged: Event<(sender: DataProvider, options: any) => any, DataProvider, any>;
raiseDataChanged(questionName?: string): void;
getFilters(): SummaryFilter[];
fixDropdownData(dataNames: string[]): void;
}