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.
Installation
Section titled “Installation”import { PrintPlugin } from '@toolbox-web/grid/plugins/print';Events
Section titled “Events”| Event | Detail | Description |
|---|---|---|
print-start | PrintStartDetail | Fired when print begins |
print-complete | PrintCompleteDetail | Fired when print completes |
| Option | Type | Description |
|---|---|---|
button? | boolean | Show print button in toolbar (default: false) When true, adds a print icon to the grid toolbar |
orientation? | PrintOrientation | Page orientation (default: ‘landscape’) Grids typically print better in landscape |
warnThreshold? | number | Show a confirmation dialog when row count exceeds this threshold (default: 500) |
maxRows? | number | Maximum rows to print (default: 0 = unlimited) |
includeTitle? | boolean | Include grid title in print output (default: true) Uses shell.header.title if available |
includeTimestamp? | boolean | Include timestamp in print footer (default: true) |
title? | string | Custom print title (overrides shell title) |
isolate? | boolean | Print in isolation mode (default: false) |
Examples
Section titled “Examples”Basic Print
Section titled “Basic Print”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 printconst printPlugin = grid.getPluginByName('print');await printPlugin.print();With Toolbar Button
Section titled “With Toolbar Button”grid.gridConfig = { plugins: [new PrintPlugin({ button: true, orientation: 'landscape' })],};See Also
Section titled “See Also”PrintConfigfor all configuration options
Extends BaseGridPlugin
Inherited methods like
attach(),detach(),afterRender(), etc. are documented in the base class.
Properties
Section titled “Properties”| Property | Type | Description |
|---|---|---|
styles | string | CSS styles for print mode |
Methods
Section titled “Methods”isPrinting()
Section titled “isPrinting()”Check if print is currently in progress
isPrinting(): booleanprint()
Section titled “print()”Trigger the browser print dialog
This method:
- Validates row count against maxRows limit
- Disables virtualization to render all rows
- Applies print-specific CSS classes
- Opens the browser print dialog (or isolated window if
isolate: true) - Restores normal state after printing
print(params: PrintParams): Promise<void>Parameters
Section titled “Parameters”| Name | Type | Description |
|---|---|---|
params | PrintParams | Optional parameters to override config for this print |
Returns
Section titled “Returns”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