Skip to content

Commit 52614ad

Browse files
committed
Merge branch 'master' into nalipiev/update-21-0-1
2 parents c3acc79 + 09ec5aa commit 52614ad

File tree

103 files changed

+6482
-156
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

103 files changed

+6482
-156
lines changed

CHANGELOG.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,51 @@ All notable changes for each version of this project will be documented in this
1616

1717
## 21.0.0
1818

19+
### New Features
20+
21+
- `IgxGrid`, `IgxTreeGrid`, `IgxHierarchicalGrid`
22+
- Added PDF export functionality to grid components. Grids can now be exported to PDF format alongside the existing Excel and CSV export options.
23+
24+
The new `IgxPdfExporterService` follows the same pattern as Excel and CSV exporters:
25+
26+
```ts
27+
import { IgxPdfExporterService, IgxPdfExporterOptions } from 'igniteui-angular';
28+
29+
constructor(private pdfExporter: IgxPdfExporterService) {}
30+
31+
exportToPdf() {
32+
const options = new IgxPdfExporterOptions('MyGridExport');
33+
options.pageOrientation = 'landscape'; // 'portrait' or 'landscape' (default: 'landscape')
34+
options.pageSize = 'a4'; // 'a3', 'a4', 'a5', 'letter', 'legal', etc.
35+
options.fontSize = 10;
36+
options.showTableBorders = true;
37+
38+
this.pdfExporter.export(this.grid, options);
39+
}
40+
```
41+
42+
The grid toolbar exporter component now includes a PDF export button:
43+
44+
```html
45+
<igx-grid-toolbar>
46+
<igx-grid-toolbar-exporter
47+
[exportPDF]="true"
48+
[exportExcel]="true"
49+
[exportCSV]="true">
50+
</igx-grid-toolbar-exporter>
51+
</igx-grid-toolbar>
52+
```
53+
54+
Key features:
55+
- **Multi-page support** with automatic page breaks
56+
- **Hierarchical visualization** for TreeGrid (with indentation) and HierarchicalGrid (with child tables)
57+
- **Multi-level column headers** (column groups) support
58+
- **Summary rows** with proper value formatting
59+
- **Text truncation** with ellipsis for long content
60+
- **Landscape orientation** by default (suitable for wide grids)
61+
- **Internationalization** support for all 19 supported languages
62+
- Respects all grid export options (ignoreFiltering, ignoreSorting, ignoreColumnsVisibility, etc.)
63+
1964
### Breaking Changes
2065

2166
#### Multiple Entry Points Support

angular.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -305,8 +305,8 @@
305305
"budgets": [
306306
{
307307
"type": "allScript",
308-
"maximumWarning": "2.1mb",
309-
"maximumError": "2.5mb"
308+
"maximumWarning": "2.5mb",
309+
"maximumError": "3mb"
310310
},
311311
{
312312
"type": "bundle",

package-lock.json

Lines changed: 58 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,12 +73,17 @@
7373
"@igniteui/material-icons-extended": "^3.1.0",
7474
"@lit-labs/ssr-dom-shim": "^1.3.0",
7575
"@types/source-map": "0.5.2",
76+
"dompurify": "^3.3.0",
7677
"express": "^5.1.0",
7778
"fflate": "^0.8.1",
7879
"igniteui-theming": "^24.0.0",
7980
"igniteui-trial-watermark": "^3.1.0",
81+
"jspdf": "^3.0.4",
8082
"lodash-es": "^4.17.21",
83+
"marked": "^16.4.0",
84+
"marked-shiki": "^1.2.1",
8185
"rxjs": "^7.8.2",
86+
"shiki": "^3.13.0",
8287
"tslib": "^2.3.0",
8388
"zone.js": "~0.15.0"
8489
},
@@ -121,7 +126,7 @@
121126
"ig-typedoc-theme": "^7.0.0",
122127
"igniteui-dockmanager": "^1.17.0",
123128
"igniteui-sassdoc-theme": "^2.1.0",
124-
"igniteui-webcomponents": "6.2.1",
129+
"igniteui-webcomponents": "^6.3.1",
125130
"jasmine": "^5.6.0",
126131
"jasmine-core": "^5.6.0",
127132
"karma": "^6.4.4",

projects/igniteui-angular-elements/src/analyzer/elements.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -475,7 +475,7 @@ export var registerConfig = [
475475
contentQueries: [],
476476
additionalProperties: [],
477477
methods: ["export"],
478-
boolProps: ["exportCSV", "exportExcel"],
478+
boolProps: ["exportCSV", "exportExcel", "exportPDF"],
479479
},
480480
{
481481
component: IgxGridToolbarHidingComponent,

projects/igniteui-angular-i18n/src/i18n/BG/grid-resources.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,7 @@ export const GridResourceStringsBG = {
142142
igx_grid_toolbar_exporter_button_label: 'Експортирай',
143143
igx_grid_toolbar_exporter_excel_entry_text: 'Експортирай в Excel',
144144
igx_grid_toolbar_exporter_csv_entry_text: 'Експортиране в CSV файл',
145+
igx_grid_toolbar_exporter_pdf_entry_text: 'Експортиране в PDF файл',
145146
igx_grid_snackbar_addrow_label: 'Добавен е ред',
146147
igx_grid_snackbar_addrow_actiontext: 'Покажи',
147148
igx_grid_actions_edit_label: 'Редактирай',

projects/igniteui-angular-i18n/src/i18n/CS/grid-resources.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,7 @@ export const GridResourceStringsCS = {
142142
igx_grid_toolbar_exporter_button_label: 'Export',
143143
igx_grid_toolbar_exporter_excel_entry_text: 'Export ve formátu Excel',
144144
igx_grid_toolbar_exporter_csv_entry_text: 'Export ve formátu CSV',
145+
igx_grid_toolbar_exporter_pdf_entry_text: 'Export ve formátu PDF',
145146
igx_grid_snackbar_addrow_label: 'Řádek přidán',
146147
igx_grid_snackbar_addrow_actiontext: 'UKÁZAT',
147148
igx_grid_actions_edit_label: 'Upravit',

projects/igniteui-angular-i18n/src/i18n/DA/grid-resources.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,7 @@ export const GridResourceStringsDA = {
142142
igx_grid_toolbar_exporter_button_label: 'Eksportér',
143143
igx_grid_toolbar_exporter_excel_entry_text: 'Eksportér til Excel',
144144
igx_grid_toolbar_exporter_csv_entry_text: 'Eksportér til CSV',
145+
igx_grid_toolbar_exporter_pdf_entry_text: 'Eksportér til PDF',
145146
igx_grid_snackbar_addrow_label: 'Række tilføjet',
146147
igx_grid_snackbar_addrow_actiontext: 'VIS',
147148
igx_grid_actions_edit_label: 'Rediger',

projects/igniteui-angular-i18n/src/i18n/DE/grid-resources.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,7 @@ export const GridResourceStringsDE = {
140140
igx_grid_toolbar_exporter_button_label: 'Exportiere',
141141
igx_grid_toolbar_exporter_excel_entry_text: 'Exportiere als Excel',
142142
igx_grid_toolbar_exporter_csv_entry_text: 'Exportiere als CSV',
143+
igx_grid_toolbar_exporter_pdf_entry_text: 'Exportiere als PDF',
143144
igx_grid_groupByArea_select_message: 'Wähle alle Reihen der Gruppe aus mit Feldnamen {0} und Wert {1}.',
144145
igx_grid_groupByArea_deselect_message: 'Wähle alle Reihen der Gruppe ab mit Feldnamen {0} und Wert {1}.',
145146
igx_grid_snackbar_addrow_label: 'Reihe hinzugefügt',

projects/igniteui-angular-i18n/src/i18n/ES/grid-resources.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,7 @@ export const GridResourceStringsES = {
140140
igx_grid_toolbar_exporter_button_label: 'Exportar',
141141
igx_grid_toolbar_exporter_excel_entry_text: 'Exportar a Excel',
142142
igx_grid_toolbar_exporter_csv_entry_text: 'Exportar a CSV',
143+
igx_grid_toolbar_exporter_pdf_entry_text: 'Exportar a PDF',
143144
igx_grid_groupByArea_select_message: 'Seleccione todas las filas del grupo con el nombre de campo {0} y el valor {1}.',
144145
igx_grid_groupByArea_deselect_message: 'Anule la selección de todas las filas del grupo con el nombre de campo {0} y el valor {1}.',
145146
igx_grid_snackbar_addrow_label: 'Fila agregada',

0 commit comments

Comments
 (0)