UNPKG

@rangertechnologies/ngnxt

Version:

This library was used for creating dymanic UI based on the input JSON/data

190 lines (189 loc) 6.5 kB
import { Observable } from 'rxjs'; import { ElementComponent } from '../../pages/builder/element/element.component'; import { HttpClient } from '@angular/common/http'; import { CountryService } from '../country/country.service'; import 'moment/locale/ar-sa'; import 'moment/locale/en-gb'; import { DataService } from '../data/data.service'; import * as i0 from "@angular/core"; export declare class PdfDesignerService { private countryService; private http; private dataService; private pdfElements; private pdfElementsSubject; private selectedElementSubject; private selectHeaderSubject; private elementComponent; pdf: any; unique_id: any; tempElem: any[]; pdfElements$: Observable<any[]>; selectedElement$: Observable<{ index: number; pdfIndex?: number; }>; selectHeaderSubject$: Observable<any>; currentElement: any; selectTableColumn: any; currencyOption: any; constructor(countryService: CountryService, http: HttpClient, dataService: DataService); getDefaultPdfSettings(): { pageSize: string; pageOrientation: string; pageMargins: number[]; backgroundColor: string; header: { enabled: boolean; showOn: string; text: string; leftText: string; centerText: string; rightText: string; alignment: string; fontSize: number; color: string; margin: number[]; bottomBorder: boolean; borderColor: string; borderWidth: number; }; watermark: { enabled: boolean; text: string; color: string; opacity: number; angle: number; fontSize: number; }; footer: { enabled: boolean; showOn: string; text: string; leftText: string; centerText: string; rightText: string; alignment: string; fontSize: number; color: string; margin: number[]; topBorder: boolean; borderColor: string; borderWidth: number; }; }; private ensurePdfSettings; intializeBook(pdf: any): void; getRefQbData(refqbid: string): Observable<any>; addElementWithId(): string; newBook(): void; clearElements(): void; getElementComponent(): ElementComponent | null; setElementComponent(component: ElementComponent): void; addElement(element: any): void; addTableElement(element: any, index: number): void; updateElement(index: number, updates: Partial<any>): void; updateTitle(event: any): void; setSelectedElement(index: number, pdfIndex?: number): void; setSelectedTableElement(index: any, event: any): void; removeSelectedTableElement(index: number, event: any): void; getSelectTableColumn(): any; selectHeading(event: any): void; getElements(): any[]; sortElementsByOrder(): void; getBook(): any; downloadElement(): any; buildPdfOutput(pdfJSON: any, dataBind?: any, pdfDefinitionOptions?: any, action?: 'preview' | 'download' | 'definition' | string, elements?: any[]): { action: string; title: any; pdf: any; book: any; boundBook: any; pdfJson: any; pdfDefinition: any; dataBind: any; }; buildPdfOutputFromConfig(config: { pdfJSON: any; dataBind?: any; pdfDefinitionOptions?: any; action?: 'preview' | 'download' | 'definition' | string; elements?: any[]; }): { action: string; title: any; pdf: any; book: any; boundBook: any; pdfJson: any; pdfDefinition: any; dataBind: any; }; buildBoundPdfBook(pdfJSON?: any, dataBind?: any, elements?: any[]): any; bindPdfElements(elements?: any[], dataBind?: any): any[]; createPdfDefinition(boundBook: any, pdfDefinitionOptions?: any): any; private bindPdfQuestion; private normalizeBindableMetadata; private getBoundReferenceValue; private getBoundReferencePartsValue; private getBoundTemplateValue; private formatBoundDateValue; private hasBindableValue; private getBoundTableRows; private applyTableDataFilter; private matchesTableDataFilter; private normalizeFilterValue; private buildTableSummaryValues; private computeTableSummaryValue; private resolveSummaryOperand; private toNumericValue; private getPdfUniqueId; private clonePlain; buildPdfBook(pdf?: any, elements?: any[]): any; private applyPdfPageSettings; private hasRunningBandContent; private buildRunningBand; private replacePageTokens; convertToPdfLayout(input: any): any; private buildTableLayout; private isEmptyTableDataRow; private buildRichTextStack; private buildPlainRichTextStack; private buildRichTextHtmlStack; private appendRichHtmlBlock; private appendRichHtmlList; private collectRichInlineRuns; private getRichHtmlInlineStyle; private getRichHtmlBlockStyle; private getRichHtmlBlockMargin; private isRichHtml; private isRichHtmlContainer; private isRichHtmlBlockTag; private shouldKeepEmptyRichBlock; private hasRichInlineText; private htmlToPlainText; private parseCssDeclarations; private normalizeCssColor; private parseCssSize; private buildTextValueNode; private buildStyledTextStack; private isQuotationHeadingText; private getDefaultTextHeadingColor; private getDefaultTextHeadingSize; private parsePdfMakeJson; private formatCurrencyText; private normalizeCurrencyValue; private resolveCurrencySymbol; private resolveCurrencyOption; private removeUnavailableFonts; private replaceUnsupportedCurrencySymbols; updateElementsOrder(updatedElements: any[]): void; removeElementComponent(id: any): void; elementUpdate(element: any, from?: any): void; dateTransform(value: any, type: 'date' | 'datetime' | 'month' | 'time', languageCode: string, dateFormatType: 'hijri' | 'gregorianAr' | 'gregorian'): string; private toArabicNumbers; private normalizeMargin; private normalizePdfStyle; static ɵfac: i0.ɵɵFactoryDeclaration<PdfDesignerService, never>; static ɵprov: i0.ɵɵInjectableDeclaration<PdfDesignerService>; }