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.

98 lines (97 loc) 3.47 kB
import { GetDataFn, ITableOptions, Table, TableRow } from "./table"; import { SurveyModel } from "survey-core"; import { IColumnData, QuestionLocation } from "./config"; import type { DownloadType, SortDirection, TabulatorFull } from "tabulator-tables"; import "./tabulator.scss"; interface ITabulatorOptions extends ITableOptions { tabulatorOptions?: any; downloadHiddenColumns?: boolean; actionsColumnWidth?: number; columnMinWidth?: number; downloadButtons?: Array<string>; downloadOptions?: { [type: string]: any; }; onDownloadCallbacks?: { [type: string]: (tabulator: Tabulator, options: any) => void; }; xlsx?: any; jspdf?: any; } export declare const defaultDownloadOptions: { fileName: string; pdf: { orientation: string; autoTable: (doc: any) => { styles: { font: string; fontStyle: string; minCellWidth: number; }; margin: { top: number; right: number; bottom: number; left: number; }; }; }; csv: { delimiter: string; }; xlsx: { sheetName: string; }; }; export declare const defaultOptions: ITabulatorOptions; type TabulatorParameters = ConstructorParameters<typeof TabulatorFull>; type TabulatorConstuctor = { new (...args: TabulatorParameters): TabulatorFull; }; export declare class Tabulator extends Table { private static tabulatorTablesConstructor; static initTabulatorConstructor(tabulatorTablesConstructor: TabulatorConstuctor): void; static set haveCommercialLicense(val: boolean); constructor(survey: SurveyModel, data: Array<Object> | GetDataFn, options?: ITabulatorOptions, _columnsData?: Array<IColumnData>); private readonly COLUMN_MIN_WIDTH; tabulatorTables: TabulatorFull; private tableContainer; private currentDownloadType; protected supportSoftRefresh(): boolean; protected softRefresh(): void; render(targetNode: HTMLElement | string): void; private createDownloadsBar; destroy: () => void; private columnMovedCallback; private columnResizedCallback; private rowFormatter; private accessorDownload; private getTitleFormatter; private getHeaderActions; getColumns(): Array<any>; setColumnVisibility(columnName: string, isVisible: boolean): void; setColumnLocation(columnName: string, location: QuestionLocation): void; setColumnWidth(columnName: string, width: number): void; sortByColumn(columnName: string, direction: SortDirection): void; applyColumnFilter(columnName: string, value: string): void; applyFilter(value: string): void; getPageNumber(): number; setPageNumber(value: number): void; setPageSize(value: number): void; private getDownloadOptions; download(type: DownloadType): void; layout(hard?: boolean): void; protected processLoadedDataItem(item: any): any; } export declare class TabulatorRow extends TableRow { protected table: Table; protected extensionsContainer: HTMLElement; protected detailsContainer: HTMLElement; protected innerRow: any; constructor(table: Table, extensionsContainer: HTMLElement, detailsContainer: HTMLElement, innerRow: any); getElement(): HTMLElement; getRowData(): HTMLElement; getDataPosition(): number; remove(): void; } export {};