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.
36 lines (35 loc) • 2.31 kB
TypeScript
import { IPage, IPanel, IQuestion, Question } from 'survey-core';
import { SurveyPDF } from '../survey';
import { DocController } from '../doc_controller';
import { IFlatQuestion } from './flat_question';
import { IPanelStyle, IQuestionStyle } from '../style/types';
import { IFlatPanel } from './flat_panel';
import { IFlatPage } from './flat_page';
import { IFlatSurvey } from './flat_survey';
export type FlatConstructor = new (survey: SurveyPDF, question: IQuestion, controller: DocController, style: IQuestionStyle) => IFlatQuestion;
export type FlatPanelConstructor = new (survey: SurveyPDF, panel: IPanel, controller: DocController, style: IPanelStyle) => IFlatPanel;
export type FlatPageConstructor = new (survey: SurveyPDF, panel: IPage, controller: DocController, style: IPanelStyle) => IFlatPage;
export type FlatSurveyConstructor = new (survey: SurveyPDF, controller: DocController, style: IPanelStyle) => IFlatSurvey;
export declare class FlatRepository {
private questions;
private panel;
private page;
private survey;
private static instance;
static getInstance(): FlatRepository;
register(modelType: string, rendererConstructor: FlatConstructor): void;
registerPanel(rendererConstructor: FlatPanelConstructor): void;
registerPage(rendererConstructor: FlatPageConstructor): void;
registerSurvey(rendererConstructor: FlatSurveyConstructor): void;
isTypeRegistered(type: string): boolean;
getRenderer(type: string): FlatConstructor;
create(survey: SurveyPDF, question: Question, docController: DocController, style: IQuestionStyle, type?: string): IFlatQuestion;
createPanel(survey: SurveyPDF, panel: IPanel, docController: DocController, style: IPanelStyle): IFlatPanel;
createPage(survey: SurveyPDF, page: IPage, docController: DocController, style: IPanelStyle): IFlatPage;
createSurvey(survey: SurveyPDF, docController: DocController, style: IPanelStyle): IFlatSurvey;
static registerPanel(rendererConstructor: FlatPanelConstructor): void;
static registerPage(rendererConstructor: FlatPageConstructor): void;
static registerSurvey(rendererConstructor: FlatSurveyConstructor): void;
static register(type: string, rendererConstructor: FlatConstructor): void;
static getRenderer(type: string): FlatConstructor;
}