import { ApplicationFormSignature, FormData, FormDecisionTypes, FormDefinitionComponent, FormDefinitionForUi, FormStatuses } from '@features/configure-forms/form.typing'; import { EmployeeSSOFieldsData } from '@features/employee-sso-fields/employee-sso-fields.typing'; import { SpecialHandling } from '@features/formio/formio-components/standard-formio-components/gc-special-handling/gc-special-handling.component'; import { InKindCategoryItemStat, InKindRequestedItem } from '@features/in-kind/in-kind.typing'; import { SimpleStringMap } from '@yourcause/common'; import { ReferenceFieldAPI } from './api/reference-fields.typing'; import { AdHocReportingUI } from './ui/ad-hoc-reporting.typing'; import { ReferenceFieldsUI } from './ui/reference-fields.typing'; export interface OrgInfoForPDF { name: string; addressString: string; registrationId: string; phone: string; } export interface ApplicantInfoForPDF { name: string; addressString: string; email: string; phone: string; } export interface ApplicationInfoForPDF { appId: number; isMasked: boolean; programName: string; cycleName: string; amountRequested: number|string; currencyRequestedAmountEquivalent: number; currencyRequested: string; inKindItems: InKindRequestedItem[]; availableItemsForApplicant?: InKindCategoryItemStat[]; specialHandling: SpecialHandling; status: string; submittedDate?: string; tags: string[]; workflowLevelName: string; workflowName: string; careOf: string; reportFieldResponse: AdHocReportingUI.ReportResponseRow; employeeInfo: EmployeeSSOFieldsData; designation: string; } export interface BaseFormInfoForPdf { formId: number; formDefinition: FormDefinitionForUi[]; } export interface FormInfoForPDF extends BaseFormInfoForPdf { formName: string; formHeader?: string; formFooter?: string; formSubmittedOn: string; formSubmittedBy: string; formData: FormData; formStatus: FormStatuses; applicationFormId: number; referenceFields: ReferenceFieldsUI.RefResponseMap; decision: FormDecisionTypes; specialHandling: SpecialHandling; reviewerRecommendedFundingAmount: number; signature: ApplicationFormSignature; translations: SimpleStringMap; richTextTranslations: SimpleStringMap; } export interface GeneratePdfPayload { margins: { marginTop: string; marginBottom: string; marginLeft: string; marginRight: string; }; headerTemplate: string; footerTemplate: string; htmlContent: string; } export interface FileUploadForPDF { applicationId: string; applicationFormId: string; fileId: string; fileName: string; } export interface TableCsvForPdf { csv: string; referenceFieldId: number; fileName: string; rows: ReferenceFieldsUI.TableResponseRowForUiMapped[]; } export interface CsvForDownload { csv: string; fileName: string; } export interface FormioComponentForPdf extends FormDefinitionComponent { showTableOnPdf: boolean; totalTableRows: number; referenceField: ReferenceFieldAPI.ReferenceFieldDisplayModel; visibleColumns: ReferenceFieldsUI.TableFieldForUi[]; isTotaled: boolean; isLayoutComponent: boolean; }