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';Configuration Options
Section titled “Configuration Options”| Option | Type | Default | Description |
|---|---|---|---|
button | boolean | false | Show print button in toolbar |
orientation | 'portrait' | 'landscape' | 'landscape' | Page orientation |
warnThreshold | number | 500 | Show confirmation dialog when rows exceed this (0 = no warning) |
maxRows | number | 0 | Hard limit on printed rows (0 = unlimited) |
includeTitle | boolean | true | Include grid title in print |
includeTimestamp | boolean | true | Include timestamp in footer |
title | string | '' | Custom print title |
Programmatic API
Section titled “Programmatic API”| Method | Signature | Description |
|---|---|---|
print | (params?) => Promise<void> | Trigger print dialog |
isPrinting | () => boolean | Check if print is in progress |
Events
Section titled “Events”| Event | Detail | Description |
|---|---|---|
print-start | PrintStartDetail | Fired when print begins |
print-complete | PrintCompleteDetail | Fired when print completes |
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