UNPKG

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.

120 lines (119 loc) 4.51 kB
import { Question, ItemValue, Event } from "survey-core"; import { VisualizerBase } from "./visualizerBase"; export interface IVisualizerWithSelection { selection: ItemValue; onDataItemSelected: (selectedValue: any, selectedText: string) => void; setSelection(item: ItemValue): void; } export interface IAnswersData { datasets: Array<Array<any>>; labels: Array<string>; colors: Array<string>; texts: Array<Array<any>>; seriesLabels: Array<string>; labelsTitle?: string; valuesTitle?: string; } export declare function hideEmptyAnswersInData(answersData: IAnswersData): IAnswersData; export declare class SelectBase extends VisualizerBase implements IVisualizerWithSelection { protected selectedItem: ItemValue; private choicesOrderSelector; private showPercentageBtn; private emptyAnswersBtn; private transposeDataBtn; private topNSelector; private _showPercentages; private _showOnlyPercentages; private _percentagePrecision; protected _answersOrder: string; private _hideEmptyAnswers; private _topN; static topNValuesDefaults: number[]; topNValues: any[]; protected _transposeData: boolean; private _showMissingAnswers; private missingAnswersBtn; constructor(question: Question, data: Array<{ [index: string]: any; }>, options?: any, name?: string); protected chartTypes: string[]; protected _chartType: string; /** * Chart type - current chart type. */ get chartType(): string; set chartType(newChartType: string); private updateEmptyAnswersBtn; private updateTransposeDataBtn; private updateOrderSelector; private updateShowPercentageBtn; private updateTopNSelector; private updateMissingAnswersBtn; protected onChartTypeChanged(): void; protected setChartType(chartType: string): void; protected getCorrectAnswerText(): string; protected isSupportSoftUpdateContent(): boolean; protected softUpdateContent(): void; getSelectedItemByText(itemText: string): any; protected onSelectionChanged(item: ItemValue): void; setSelection(item: ItemValue): void; get selection(): ItemValue; /** * Gets and sets whether chart should show percentages only. */ get showOnlyPercentages(): boolean; set showOnlyPercentages(val: boolean); protected getShowPercentagesDefault(): boolean; /** * Gets and sets whether chart should show values and percentages. */ get showPercentages(): boolean; set showPercentages(val: boolean); /** * Gets and sets chart elements order. */ get answersOrder(): string; set answersOrder(value: string); /** * Set to true if need to hide empty chart elements (e.g. bars vith zero value). */ get hideEmptyAnswers(): boolean; set hideEmptyAnswers(value: boolean); get transposeData(): boolean; set transposeData(value: boolean); /** * Set to some value if need to show top N chart elements. */ get topN(): number; set topN(value: number); protected isSupportAnswersOrder(): boolean; protected isSupportMissingAnswers(): boolean; /** * Set to true if you want to see chart elements for missing answers (e.g. radiogroup items never been selected by surveyee). */ get showMissingAnswers(): boolean; set showMissingAnswers(value: boolean); refreshContent(): void; onDataItemSelected: (selectedValue: any, selectedText: string) => void; get showValuesInOriginalOrder(): boolean; valuesSource(): Array<ItemValue>; getValues(): Array<any>; getLabels(): Array<string>; getPercentages(data: Array<Array<number>>): Array<Array<number>>; /** * Fires when answer data has been combined before they passed to draw graph. * options - the answers data object containing: datasets, labels, colors, additional texts (percentage). * options fields can be modified */ onAnswersDataReady: Event<(sender: SelectBase, options: any) => any, SelectBase, any>; /** * Returns object with all infotmation for data visualization: datasets, labels, colors, additional texts (percentage). */ getAnswersData(): Promise<IAnswersData>; convertFromExternalData(externalCalculatedData: any): any[]; protected transpose(data: Array<Array<number>>): Array<Array<number>>; private static _stateProperties; getState(): any; setState(state: any): void; resetState(): void; }