UNPKG

@progress/kendo-angular-grid

Version:

Kendo UI Grid for Angular - high performance data grid with paging, filtering, virtualization, CRUD, and more.

84 lines (83 loc) 3.8 kB
/**----------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the project root for more information *-------------------------------------------------------------------------------------------*/ import { ElementRef, OnDestroy, NgZone, QueryList } from '@angular/core'; import { Subscription } from 'rxjs'; import { SuspendService } from '../scrolling/suspend.service'; import { PDFService } from './pdf.service'; import { PDFMarginComponent } from './pdf-margin.component'; import { PDFTemplateDirective } from './pdf-template.directive'; import { ColumnBase } from '../columns/column-base'; import { DrawOptions, Group } from '@progress/kendo-drawing'; import { PDFExportComponent } from '@progress/kendo-angular-pdf-export'; import { ContextService } from '../common/provider.service'; import * as i0 from "@angular/core"; /** * Configures the settings for the export of Grid in PDF ([see example]({% slug pdfexport_grid %})). */ export declare class PDFComponent extends PDFExportComponent implements OnDestroy { protected pdfService: PDFService; protected suspendService: SuspendService; protected ngZone: NgZone; private ctx; /** * Exports all Grid pages, starting from the first one. */ allPages: boolean; /** * The delay in milliseconds before exporting the Grid content. * Useful for scenarios which involve exporting complex components used in the Grid * templates such as charts or data-bound components with asynchronous data retrieval ([see example]({% slug pdfexport_grid %}#toc-exporting-all-pages)). * * @default 0 */ delay: number; columns: QueryList<ColumnBase>; /** * @hidden */ marginComponent: PDFMarginComponent; /** * @hidden */ pageTemplateDirective: PDFTemplateDirective; protected progress: HTMLElement; protected component: any; protected container: HTMLElement; protected skip: number; protected pageSize: number; protected originalHeight: string; protected originalOverflow: string; protected saveSubscription: Subscription; protected drawSubscription: Subscription; protected renderAllPages: boolean; protected originalColumns: ColumnBase[]; constructor(pdfService: PDFService, suspendService: SuspendService, ngZone: NgZone, element: ElementRef, ctx: ContextService); ngOnDestroy(): void; /** * @hidden */ saveAs(): void; /** * @hidden */ export(): Promise<Group>; protected savePDF(component: any): void; protected drawPDF({ component, promise }: any): void; protected createPDF(component: any, callback: any): void; protected initProgress(): void; protected applyScroll(overlay: HTMLElement): void; protected draw(): void; protected createExportGroup(promise: any): void; protected createExportElement(callback: any): void; protected drawOptions(): DrawOptions; protected cleanup(): void; protected removeContainer(): void; protected changePage(skip: number, _take: number, callback: () => void, columns?: any[]): void; protected changeColumns(columns: any[], callback: () => void): void; protected reset(): void; protected onStable(callback: () => void): void; static ɵfac: i0.ɵɵFactoryDeclaration<PDFComponent, [null, null, null, null, { optional: true; }]>; static ɵcmp: i0.ɵɵComponentDeclaration<PDFComponent, "kendo-grid-pdf", never, { "allPages": { "alias": "allPages"; "required": false; }; "delay": { "alias": "delay"; "required": false; }; }, {}, ["marginComponent", "pageTemplateDirective", "columns"], never, true, never>; }