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.

87 lines (86 loc) 3.27 kB
import { ItemValue, Question } from "survey-core"; import { IAnswersData, SelectBase } from "./selectBase"; export declare type HistogramIntervalMode = "auto" | "custom" | "decades" | "years" | "quarters" | "months" | "days"; export interface IHistogramInterval { start: number; end: number; label: string; } export declare function getBestIntervalMode(min: number, max: number): HistogramIntervalMode; export declare const intervalCalculators: { decades: (min: number, max: number) => any[]; years: (min: number, max: number) => any[]; months: (min: number, max: number) => any[]; quarters: (min: number, max: number) => any[]; days: (min: number, max: number) => any[]; }; export declare class HistogramModel extends SelectBase { protected valueType: "date" | "number"; private _cachedValues; private _continuousData; private _cachedIntervals; private _intervalPrecision; private showRunningTotalsBtn; private showGroupedBtn; private changeIntervalsModeSelector; private aggregateDataNameSelector; static IntervalsCount: number; static UseIntervalsFrom: number; constructor(question: Question, data: Array<{ [index: string]: any; }>, options?: Object, name?: string); private updateIntervalsModeSelector; private updateAggregateDataNameSelector; private reset; getContinuousValue(value: any): number; getString(value: number): string; private toPrecision; getSelectedItemByText(itemText: string): ItemValue; /** * Updates visualizer data. */ updateData(data: Array<{ [index: string]: any; }>): void; protected onDataChanged(): void; protected onSelectionChanged(item: ItemValue): void; protected getContinuousValues(): { original: any; continuous: number; row: any; }[]; protected isSupportSoftUpdateContent(): boolean; protected isSupportMissingAnswers(): boolean; protected get needUseRateValues(): boolean; getValues(): Array<any>; getLabels(): Array<string>; get hasCustomIntervals(): boolean; get intervals(): any; intervalModes: HistogramIntervalMode[]; private _intervalsMode; get intervalsMode(): HistogramIntervalMode; set intervalsMode(val: HistogramIntervalMode); get allowChangeIntervals(): boolean; private _showRunningTotals; get showRunningTotals(): boolean; set showRunningTotals(val: boolean); private updateShowRunningTotalsBtn; private _showGrouped; get showGrouped(): boolean; set showGrouped(val: boolean); private updateShowGroupedBtn; get canShowGroupedDateSeries(): boolean; private _aggregateDataName; get aggregateDataName(): string; set aggregateDataName(val: string); get possibleAggregateDataNames(): Array<string>; convertFromExternalData(externalCalculatedData: any): any[]; protected getCalculatedValuesCore(): Array<any>; getCalculatedValues(): Promise<Array<Object>>; private getGroupedDateAnswersData; /** * Returns object with all infotmation for data visualization: datasets, labels, colors, additional texts (percentage). */ getAnswersData(): Promise<IAnswersData>; getValueType(): "date" | "number"; }