UNPKG

survey-analytics

Version:

SurveyJS analytics Library.

96 lines (95 loc) 3.39 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; 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 {};