Skip to content

Commit d91f4c5

Browse files
authored
Merge branch 'vnext' into gedinakova/exclude-services-from-prerender
2 parents 505f649 + af110b6 commit d91f4c5

9 files changed

Lines changed: 80 additions & 0 deletions

live-editing/configs/ChatConfigGenerator.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,22 @@ export class ChatConfigGenerator implements IConfigGenerator {
1010
configs.push(new Config({
1111
component: 'ChatOverviewSampleComponent',
1212
appConfig: BaseAppConfig,
13+
additionalDependencies: ['igniteui-webcomponents', 'shiki', 'marked', 'marked-shiki', 'dompurify'],
1314
shortenComponentPathBy: "/interactions/chat/"
1415
}));
1516

1617
// chat features sample
1718
configs.push(new Config({
1819
component: 'ChatFeaturesSampleComponent',
20+
additionalDependencies: ['igniteui-webcomponents', 'shiki', 'marked', 'marked-shiki', 'dompurify'],
1921
appConfig: BaseAppConfig,
2022
shortenComponentPathBy: "/interactions/chat/"
2123
}));
2224

2325
// chat styling sample
2426
configs.push(new Config({
2527
component: 'ChatStylingSampleComponent',
28+
additionalDependencies: ['igniteui-webcomponents', 'shiki', 'marked', 'marked-shiki', 'dompurify'],
2629
appConfig: BaseAppConfig,
2730
shortenComponentPathBy: "/interactions/chat/"
2831
}));
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
/* eslint-disable @typescript-eslint/naming-convention */
2+
import { Config, IConfigGenerator } from 'igniteui-live-editing';
3+
import { BaseAppConfig } from './BaseConfig';
4+
5+
export class ExportPdfConfigGenerator implements IConfigGenerator {
6+
7+
public generateConfigs(): Config[] {
8+
const configs = new Array<Config>();
9+
10+
configs.push(new Config({
11+
component: 'PdfExportComponent',
12+
appConfig: BaseAppConfig
13+
}));
14+
15+
return configs;
16+
}
17+
}

live-editing/generators/ConfigGenerators.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import { DropDownConfigGenerator } from '../configs/DropDownConfigGenerator';
2424
import { ExpansionPanelConfigGenerator } from '../configs/ExpansionPanelConfigGenerator';
2525
import { ExportCsvConfigGenerator } from '../configs/ExportCsvConfigGenerator';
2626
import { ExportExcelConfigGenerator } from '../configs/ExportExcelConfigGenerator';
27+
import { ExportPdfConfigGenerator } from '../configs/ExportPdfConfigGenerator';
2728
import { ForConfigGenerator } from '../configs/ForConfigGenerator';
2829
import { GridConfigGenerator } from '../configs/GridConfigGenerator';
2930
import { HierarchicalGridConfigGenerator } from '../configs/HierarchicalGridConfigGenerator';
@@ -71,6 +72,7 @@ export const CONFIG_GENERATORS =
7172
DragAndDropConfigGenerator,
7273
ExportCsvConfigGenerator,
7374
ExportExcelConfigGenerator,
75+
ExportPdfConfigGenerator,
7476

7577
// containers:
7678
AccordionConfigGenerator,
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<p>
2+
Press the "Export Data" button below to export an array as a .pdf file.<br />
3+
</p>
4+
<button igxButton="contained" (click)="exportButtonHandler()">Export Data</button><br />

src/app/services/export-pdf/pdf-export.component.scss

Whitespace-only changes.
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
2+
3+
import { PdfExportComponent } from './pdf-export.component';
4+
5+
describe('PdfExportComponent', () => {
6+
let component: PdfExportComponent;
7+
let fixture: ComponentFixture<PdfExportComponent>;
8+
9+
beforeEach(waitForAsync(() => {
10+
TestBed.configureTestingModule({
11+
imports: [PdfExportComponent]
12+
}).compileComponents();
13+
}));
14+
15+
beforeEach(() => {
16+
fixture = TestBed.createComponent(PdfExportComponent);
17+
component = fixture.componentInstance;
18+
fixture.detectChanges();
19+
});
20+
21+
it('should create', () => {
22+
expect(component).toBeTruthy();
23+
});
24+
});
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import { Component, inject, signal } from '@angular/core';
2+
import { IgxPdfExporterOptions, IgxPdfExporterService } from 'igniteui-angular/grids/core';
3+
import { IgxButtonDirective } from 'igniteui-angular/directives';
4+
5+
@Component({
6+
selector: 'app-pdf-export',
7+
styleUrls: ['./pdf-export.component.scss'],
8+
templateUrl: './pdf-export.component.html',
9+
imports: [IgxButtonDirective]
10+
})
11+
export class PdfExportComponent {
12+
private pdfExportService = inject(IgxPdfExporterService);
13+
14+
public localData = signal([
15+
{ Name: 'Eric Ridley', Age: '26' },
16+
{ Name: 'Alanis Brook', Age: '22' },
17+
{ Name: 'Jonathan Morris', Age: '23' }
18+
]);
19+
20+
public exportButtonHandler() {
21+
this.pdfExportService.exportData(this.localData(), new IgxPdfExporterOptions('ExportFileFromData'));
22+
}
23+
}

src/app/services/services-routes-data.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ export const servicesRoutesData = {
55
'export-excel': { displayName: 'Excel Export Raw Data', parentName: 'Excel Export' },
66
'export-excel-sample-1': { displayName: 'Excel Export Grid', parentName: 'Excel Export' },
77
'export-excel-tree-grid-sample': { displayName: 'Excel Export TreeGrid', parentName: 'Excel Export' },
8+
'export-pdf': { displayName: 'PDF Export Raw Data', parentName: 'PDF Export' },
89
'localization-sample-1': { displayName: 'Localize one component', parentName: 'Localization' },
910
'localization-sample-2': { displayName: 'Localize All', parentName: 'Localization' },
1011
'localization-sample-3': { displayName: 'Localize partially', parentName: 'Localization' },

src/app/services/services.routes.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import { LocalizationSample2Component } from './localization-samples/localizatio
1212
import { LocalizationSample3Component } from './localization-samples/localization-sample-3/localization-sample-3.component';
1313
import { servicesRoutesData } from './services-routes-data';
1414
import { TransactionBaseComponent } from './transaction/transaction-base/transaction-base.component';
15+
import { PdfExportComponent } from './export-pdf/pdf-export.component';
1516
// tslint:enable:max-line-length
1617

1718
export const ServicesRoutes: Routes = [
@@ -40,6 +41,11 @@ export const ServicesRoutes: Routes = [
4041
data: servicesRoutesData['export-excel-sample-1'],
4142
path: 'export-excel-sample-1'
4243
},
44+
{
45+
component: PdfExportComponent,
46+
data: servicesRoutesData['export-pdf'],
47+
path: 'export-pdf'
48+
},
4349
{
4450
component: TreeGridExcelExportSample1Component,
4551
data: servicesRoutesData['export-excel-tree-grid-sample'],

0 commit comments

Comments
 (0)