Skip to content

Commit b75e999

Browse files
authored
fix(exporter): set owner in RowExportingEventArgs - 17.2.x (#14768)
* fix(exporter): set owner in RowExportingEventArgs - 17.2.x
1 parent 9bcbd83 commit b75e999

File tree

3 files changed

+32
-1
lines changed

3 files changed

+32
-1
lines changed

projects/igniteui-angular/src/lib/services/excel/excel-exporter-grid.spec.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -913,6 +913,21 @@ describe('Excel Exporter', () => {
913913

914914
await exportAndVerify(hGrid, options, actualData.exportHierarchicalDataWithSkippedColumns);
915915
});
916+
917+
it('should export hierarchical grid with all child rows canceled.', async () => {
918+
exporter.rowExporting.subscribe((args: IRowExportingEventArgs) => {
919+
if (args.owner?.key === "Albums" ||
920+
args.owner?.key === "Songs" ||
921+
args.owner?.key === "Tours" ||
922+
args.owner?.key === "TourData") {
923+
args.cancel = true;
924+
}
925+
});
926+
927+
fix.detectChanges();
928+
929+
await exportAndVerify(hGrid, options, actualData.exportHierarchicalDataWithSkippedRows);
930+
});
916931
});
917932

918933
describe('', () => {

projects/igniteui-angular/src/lib/services/excel/test-data.service.spec.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1552,6 +1552,19 @@ export class FileContentData {
15521552
return this.createData();
15531553
}
15541554

1555+
public get exportHierarchicalDataWithSkippedRows() {
1556+
this._sharedStringsData =
1557+
`count="7" uniqueCount="7"><si><t>Artist</t></si><si><t>Debut</t></si><si><t>Grammy Nominations</t></si><si><t>Grammy Awards</t></si><si><t>Naomí Yepes</t></si><si><t>Babila Ebwélé</t></si><si><t>Chloe</t></si>`;
1558+
1559+
this._worksheetData =
1560+
`<sheetViews><sheetView tabSelected="1" workbookViewId="0"></sheetView></sheetViews>
1561+
<sheetFormatPr defaultRowHeight="15" x14ac:dyDescent="0.25"/>
1562+
<cols><col min="1" max="4" width="20" customWidth="1"/></cols>
1563+
<sheetData><row r="1"><c r="A1" s="3" t="s"><v>0</v></c><c r="B1" s="3" t="s"><v>1</v></c><c r="C1" s="3" t="s"><v>2</v></c><c r="D1" s="3" t="s"><v>3</v></c></row><row r="2"><c r="A2" t="s"><v>4</v></c><c r="B2" s="1"><v>2011</v></c><c r="C2" s="1"><v>6</v></c><c r="D2" s="1"><v>0</v></c></row><row r="3"><c r="A3" t="s"><v>5</v></c><c r="B3" s="1"><v>2009</v></c><c r="C3" s="1"><v>0</v></c><c r="D3" s="1"><v>11</v></c></row><row r="4"><c r="A4" t="s"><v>6</v></c><c r="B4" s="1"><v>2015</v></c><c r="C4" s="1"><v>3</v></c><c r="D4" s="1"><v>1</v></c></row></sheetData>`;
1564+
1565+
return this.createData();
1566+
}
1567+
15551568
public get exportMultiColumnHeadersWithSkippedColumnData() {
15561569
this._sharedStringsData =
15571570
`count="224" uniqueCount="200"><si><t>CustomerID</t></si><si><t>General Information</t></si><si><t>Address Information</t></si><si><t>CompanyName</t></si><si><t>Personal Details</t></si><si><t>Location</t></si><si><t>Contact Information</t></si><si><t>ContactName</t></si><si><t>Address</t></si><si><t>City</t></si><si><t>PostalCode</t></si><si><t>Country</t></si><si><t>Phone</t></si><si><t>Fax</t></si><si><t>Alfreds Futterkiste</t></si><si><t>Maria Anders</t></si><si><t>Obere Str. 57</t></si><si><t>Berlin</t></si><si><t>12209</t></si><si><t>Germany</t></si><si><t>030-0074321</t></si><si><t>030-0076545</t></si><si><t>Ana Trujillo Emparedados y helados</t></si><si><t>Ana Trujillo</t></si><si><t>Avda. de la Constitución 2222</t></si><si><t>México D.F.</t></si><si><t>05021</t></si><si><t>Mexico</t></si><si><t>(5) 555-4729</t></si><si><t>(5) 555-3745</t></si><si><t>Antonio Moreno Taquería</t></si><si><t>Antonio Moreno</t></si><si><t>Mataderos 2312</t></si><si><t>05023</t></si><si><t>(5) 555-3932</t></si><si><t>Around the Horn</t></si><si><t>Thomas Hardy</t></si><si><t>120 Hanover Sq.</t></si><si><t>London</t></si><si><t>WA1 1DP</t></si><si><t>UK</t></si><si><t>(171) 555-7788</t></si><si><t>(171) 555-6750</t></si><si><t>Berglunds snabbköp</t></si><si><t>Christina Berglund</t></si><si><t>Berguvsvägen 8</t></si><si><t>Luleå</t></si><si><t>S-958 22</t></si><si><t>Sweden</t></si><si><t>0921-12 34 65</t></si><si><t>0921-12 34 67</t></si><si><t>Blauer See Delikatessen</t></si><si><t>Hanna Moos</t></si><si><t>Forsterstr. 57</t></si><si><t>Mannheim</t></si><si><t>68306</t></si><si><t>0621-08460</t></si><si><t>0621-08924</t></si><si><t>Blondesddsl père et fils</t></si><si><t>Frédérique Citeaux</t></si><si><t>24, place Kléber</t></si><si><t>Strasbourg</t></si><si><t>67000</t></si><si><t>France</t></si><si><t>88.60.15.31</t></si><si><t>88.60.15.32</t></si><si><t>Bólido Comidas preparadas</t></si><si><t>Martín Sommer</t></si><si><t>C/ Araquil, 67</t></si><si><t>Madrid</t></si><si><t>28023</t></si><si><t>Spain</t></si><si><t>(91) 555 22 82</t></si><si><t>(91) 555 91 99</t></si><si><t>Bon app&apos;</t></si><si><t>Laurence Lebihan</t></si><si><t>12, rue des Bouchers</t></si><si><t>Marseille</t></si><si><t>13008</t></si><si><t>91.24.45.40</t></si><si><t>91.24.45.41</t></si><si><t>Bottom-Dollar Markets</t></si><si><t>Elizabeth Lincoln</t></si><si><t>23 Tsawassen Blvd.</t></si><si><t>Tsawassen</t></si><si><t>T2F 8M4</t></si><si><t>Canada</t></si><si><t>(604) 555-4729</t></si><si><t>(604) 555-3745</t></si><si><t>B&apos;s Beverages</t></si><si><t>Victoria Ashworth</t></si><si><t>Fauntleroy Circus</t></si><si><t>EC2 5NT</t></si><si><t>(171) 555-1212</t></si><si><t>Cactus Comidas para llevar</t></si><si><t>Patricio Simpson</t></si><si><t>Cerrito 333</t></si><si><t>Buenos Aires</t></si><si><t>1010</t></si><si><t>Argentina</t></si><si><t>(1) 135-5555</t></si><si><t>(1) 135-4892</t></si><si><t>Centro comercial Moctezuma</t></si><si><t>Francisco Chang</t></si><si><t>Sierras de Granada 9993</t></si><si><t>05022</t></si><si><t>(5) 555-3392</t></si><si><t>(5) 555-7293</t></si><si><t>Chop-suey Chinese</t></si><si><t>Yang Wang</t></si><si><t>Hauptstr. 29</t></si><si><t>Bern</t></si><si><t>3012</t></si><si><t>Switzerland</t></si><si><t>0452-076545</t></si><si><t>Comércio Mineiro</t></si><si><t>Pedro Afonso</t></si><si><t>Av. dos Lusíadas, 23</t></si><si><t>Sao Paulo</t></si><si><t>05432-043</t></si><si><t>Brazil</t></si><si><t>(11) 555-7647</t></si><si><t>Consolidated Holdings</t></si><si><t>Elizabeth Brown</t></si><si><t>Berkeley Gardens 12 Brewery</t></si><si><t>WX1 6LT</t></si><si><t>(171) 555-2282</t></si><si><t>(171) 555-9199</t></si><si><t>Drachenblut Delikatessen</t></si><si><t>Sven Ottlieb</t></si><si><t>Walserweg 21</t></si><si><t>Aachen</t></si><si><t>52066</t></si><si><t>0241-039123</t></si><si><t>0241-059428</t></si><si><t>Du monde entier</t></si><si><t>Janine Labrune</t></si><si><t>67, rue des Cinquante Otages</t></si><si><t>Nantes</t></si><si><t>44000</t></si><si><t>40.67.88.88</t></si><si><t>40.67.89.89</t></si><si><t>Eastern Connection</t></si><si><t>Ann Devon</t></si><si><t>35 King George</t></si><si><t>WX3 6FW</t></si><si><t>(171) 555-0297</t></si><si><t>(171) 555-3373</t></si><si><t>Ernst Handel</t></si><si><t>Roland Mendel</t></si><si><t>Kirchgasse 6</t></si><si><t>Graz</t></si><si><t>8010</t></si><si><t>Austria</t></si><si><t>7675-3425</t></si><si><t>7675-3426</t></si><si><t>Familia Arquibaldo</t></si><si><t>Aria Cruz</t></si><si><t>Rua Orós, 92</t></si><si><t>05442-030</t></si><si><t>(11) 555-9857</t></si><si><t>FISSA Fabrica Inter. Salchichas S.A.</t></si><si><t>Diego Roel</t></si><si><t>C/ Moralzarzal, 86</t></si><si><t>28034</t></si><si><t>(91) 555 94 44</t></si><si><t>(91) 555 55 93</t></si><si><t>Folies gourmandes</t></si><si><t>Martine Rancé</t></si><si><t>184, chaussée de Tournai</t></si><si><t>Lille</t></si><si><t>59000</t></si><si><t>20.16.10.16</t></si><si><t>20.16.10.17</t></si><si><t>Folk och fä HB</t></si><si><t>Maria Larsson</t></si><si><t>Åkergatan 24</t></si><si><t>Bräcke</t></si><si><t>S-844 67</t></si><si><t>0695-34 67 21</t></si><si><t>Frankenversand</t></si><si><t>Peter Franken</t></si><si><t>Berliner Platz 43</t></si><si><t>München</t></si><si><t>80805</t></si><si><t>089-0877310</t></si><si><t>089-0877451</t></si><si><t>France restauration</t></si><si><t>Carine Schmitt</t></si><si><t>54, rue Royale</t></si><si><t>40.32.21.21</t></si><si><t>40.32.21.20</t></si><si><t>Franchi S.p.A.</t></si><si><t>Paolo Accorti</t></si><si><t>Via Monte Bianco 34</t></si><si><t>Torino</t></si><si><t>10100</t></si><si><t>Italy</t></si><si><t>011-4988260</t></si><si><t>011-4988261</t></si>`;

projects/igniteui-angular/src/lib/services/exporter-common/base-export-service.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,7 @@ export abstract class IgxBaseExporter {
219219
private pivotGridColumns: IColumnInfo[] = []
220220
private pivotGridRowDimensionsMap: Map<string, string>;
221221
private pivotGridKeyValueMap = new Map<string, string>();
222+
private ownerGrid: any;
222223

223224
/**
224225
* Method for exporting IgxGrid component's data.
@@ -235,6 +236,7 @@ export abstract class IgxBaseExporter {
235236

236237
this.options = options;
237238
this.locale = grid.locale;
239+
this.ownerGrid = grid;
238240
let columns = grid.columns;
239241

240242
if (this.options.ignoreMultiColumnHeaders) {
@@ -487,7 +489,8 @@ export abstract class IgxBaseExporter {
487489
const rowArgs = {
488490
rowData: record.data,
489491
rowIndex: index,
490-
cancel: false
492+
cancel: false,
493+
owner: record.owner ?? this.ownerGrid
491494
};
492495

493496
this.rowExporting.emit(rowArgs);

0 commit comments

Comments
 (0)