Skip to content

PrintPlugin

Print Plugin for tbw-grid

Enables printing the full grid content by temporarily disabling virtualization and applying print-optimized styles. Handles large datasets gracefully with configurable row limits.

import { PrintPlugin } from '@toolbox-web/grid/plugins/print';
EventDetailDescription
print-startPrintStartDetailFired when print begins
print-completePrintCompleteDetailFired when print completes
OptionTypeDescription
button?booleanShow print button in toolbar (default: false) When true, adds a print icon to the grid toolbar
orientation?PrintOrientationPage orientation (default: ‘landscape’) Grids typically print better in landscape
warnThreshold?numberShow a confirmation dialog when row count exceeds this threshold (default: 500)
maxRows?numberMaximum rows to print (default: 0 = unlimited)
includeTitle?booleanInclude grid title in print output (default: true) Uses shell.header.title if available
includeTimestamp?booleanInclude timestamp in print footer (default: true)
title?stringCustom print title (overrides shell title)
isolate?booleanPrint in isolation mode (default: false)
import { queryGrid } from '@toolbox-web/grid';
import { PrintPlugin } from '@toolbox-web/grid/plugins/print';
const grid = queryGrid('tbw-grid');
grid.gridConfig = {
plugins: [new PrintPlugin()],
};
// Trigger print
const printPlugin = grid.getPluginByName('print');
await printPlugin.print();
grid.gridConfig = {
plugins: [new PrintPlugin({ button: true, orientation: 'landscape' })],
};

Extends BaseGridPlugin

Inherited methods like attach(), detach(), afterRender(), etc. are documented in the base class.

PropertyTypeDescription
stylesstringCSS styles for print mode

Check if print is currently in progress

isPrinting(): boolean

Trigger the browser print dialog

This method:

  1. Validates row count against maxRows limit
  2. Disables virtualization to render all rows
  3. Applies print-specific CSS classes
  4. Opens the browser print dialog (or isolated window if isolate: true)
  5. Restores normal state after printing
print(params: PrintParams): Promise<void>
NameTypeDescription
paramsPrintParamsOptional parameters to override config for this print

Promise<void> - Promise that resolves when print dialog closes


AI assistants: For complete API documentation, implementation guides, and code examples for this library, see https://raw.githubusercontent.com/OysteinAmundsen/toolbox/main/llms-full.txt