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
TypeScript
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[]>;
}