Skip to content

Commit

Permalink
fix(exporter): set owner in RowExportingEventArgs (#14766)
Browse files Browse the repository at this point in the history
* fix(exporter): set owner in RowExportingEventArgs
  • Loading branch information
onlyexeption authored Sep 16, 2024
1 parent c59cdfe commit 969c52c
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -913,6 +913,21 @@ describe('Excel Exporter', () => {

await exportAndVerify(hGrid, options, actualData.exportHierarchicalDataWithSkippedColumns);
});

it('should export hierarchical grid with all child rows canceled.', async () => {
exporter.rowExporting.subscribe((args: IRowExportingEventArgs) => {
if (args.owner?.key === "Albums" ||
args.owner?.key === "Songs" ||
args.owner?.key === "Tours" ||
args.owner?.key === "TourData") {
args.cancel = true;
}
});

fix.detectChanges();

await exportAndVerify(hGrid, options, actualData.exportHierarchicalDataWithSkippedRows);
});
});

describe('', () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1552,6 +1552,19 @@ export class FileContentData {
return this.createData();
}

public get exportHierarchicalDataWithSkippedRows() {
this._sharedStringsData =
`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>`;

this._worksheetData =
`<sheetViews><sheetView tabSelected="1" workbookViewId="0"></sheetView></sheetViews>
<sheetFormatPr defaultRowHeight="15" x14ac:dyDescent="0.25"/>
<cols><col min="1" max="4" width="20" customWidth="1"/></cols>
<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>`;

return this.createData();
}

public get exportMultiColumnHeadersWithSkippedColumnData() {
this._sharedStringsData =
`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>`;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,7 @@ export abstract class IgxBaseExporter {
private pivotGridColumns: IColumnInfo[] = []
private pivotGridRowDimensionsMap: Map<string, string>;
private pivotGridKeyValueMap = new Map<string, string>();
private ownerGrid: any;

/* alternateName: exportGrid */
/**
Expand All @@ -238,6 +239,7 @@ export abstract class IgxBaseExporter {

this.options = options;
this.locale = grid.locale;
this.ownerGrid = grid;
let columns = grid.columns;

if (this.options.ignoreMultiColumnHeaders) {
Expand Down Expand Up @@ -490,7 +492,8 @@ export abstract class IgxBaseExporter {
const rowArgs = {
rowData: record.data,
rowIndex: index,
cancel: false
cancel: false,
owner: record.owner ?? this.ownerGrid
};

this.rowExporting.emit(rowArgs);
Expand Down

0 comments on commit 969c52c

Please sign in to comment.