@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
TypeScript
/**-----------------------------------------------------------------------------------------
* 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>;
}