UNPKG

survey-pdf

Version:

Renders JSON-driven SurveyJS forms and their responses as PDF documents in the browser or Node.js: fillable interactive PDF forms (AcroForm) or static printouts.

58 lines (57 loc) 2.84 kB
import { QuestionMatrixModel, MatrixRowModel, ItemValue } from 'survey-core'; import { SurveyPDF } from '../survey'; import { DocController, IPoint } from '../doc_controller'; import { FlatQuestion } from './flat_question'; import { IPdfBrick } from '../pdf_render/pdf_brick'; import { RadioItemBrick } from '../pdf_render/pdf_radioitem'; import { CheckItemBrick } from '../pdf_render/pdf_checkitem'; import { ContainerBrick } from '../pdf_render/pdf_container'; import { IQuestionMatrixStyle, ISelectionInputStyle } from '../style/types'; export declare class FlatMatrix extends FlatQuestion<QuestionMatrixModel, IQuestionMatrixStyle> { protected question: QuestionMatrixModel; generateFlatsContent(point: IPoint): Promise<IPdfBrick[]>; } export declare abstract class FlatMatrixContent { protected controller: DocController; protected survey: SurveyPDF; protected question: QuestionMatrixModel; protected style: IQuestionMatrixStyle; constructor(controller: DocController, survey: SurveyPDF, question: QuestionMatrixModel, style: IQuestionMatrixStyle); protected generateFlatCell(point: IPoint, contentCallback: (point: IPoint, bricks: Array<IPdfBrick>) => Promise<void>): Promise<ContainerBrick>; protected generateTextComposite(point: IPoint, options: { item: ItemValue; row: MatrixRowModel; rowIndex: number; itemIndex: number; }): Promise<IPdfBrick>; private radioGroupWraps; private getRadioGroupWrap; getInputStyle(isReadOnly: boolean, isChecked: boolean, isMultiSelect: boolean): ISelectionInputStyle; protected generateFlatItem(point: IPoint, options: { item: ItemValue; row: MatrixRowModel; rowIndex: number; itemIndex: number; }): CheckItemBrick | RadioItemBrick; protected getGapBetweenRows(): number; generateFlats(point: IPoint): Promise<IPdfBrick[]>; protected abstract generateFlatsRow(point: IPoint, row: MatrixRowModel, rowIndex: number): Promise<Array<IPdfBrick>>; } export declare class FlatMatrixContentVertical extends FlatMatrixContent { protected generateItemComposite(point: IPoint, options: { item: ItemValue; row: MatrixRowModel; rowIndex: number; itemIndex: number; }): Promise<IPdfBrick>; protected getGapBetweenRows(): number; protected generateFlatsRow(point: IPoint, row: MatrixRowModel, rowIndex: number): Promise<Array<IPdfBrick>>; } export declare class FlatMatrixContentHorizontal extends FlatMatrixContent { private columnWidth; private rowTitleWidth; private setup; protected generateFlatsRow(point: IPoint, row: MatrixRowModel, rowIndex: number): Promise<Array<IPdfBrick>>; protected generateFlatsHeader(point: IPoint): Promise<IPdfBrick[]>; generateFlats(point: IPoint): Promise<IPdfBrick[]>; }