@rangertechnologies/ngnxt
Version:
This library was used for creating dymanic UI based on the input JSON/data
190 lines (189 loc) • 6.5 kB
TypeScript
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>;
}