diff --git a/ej2-javascript/ai-assistview/js/es5-getting-started.md b/ej2-javascript/ai-assistview/js/es5-getting-started.md index ae8450f5a..0399c251f 100644 --- a/ej2-javascript/ai-assistview/js/es5-getting-started.md +++ b/ej2-javascript/ai-assistview/js/es5-getting-started.md @@ -92,6 +92,7 @@ The [`Custom Resource Generator (CRG)`](https://crg.syncfusion.com/) is an onlin + @@ -129,6 +130,7 @@ The [`Custom Resource Generator (CRG)`](https://crg.syncfusion.com/) is an onlin + diff --git a/ej2-javascript/chat-ui/js/es5-getting-started.md b/ej2-javascript/chat-ui/js/es5-getting-started.md index 1d68d3e42..75352d9fc 100644 --- a/ej2-javascript/chat-ui/js/es5-getting-started.md +++ b/ej2-javascript/chat-ui/js/es5-getting-started.md @@ -97,6 +97,7 @@ The [`Custom Resource Generator (CRG)`](https://crg.syncfusion.com/) is an onlin + @@ -136,6 +137,7 @@ The [`Custom Resource Generator (CRG)`](https://crg.syncfusion.com/) is an onlin + diff --git a/ej2-javascript/chat-ui/ts/getting-started.md b/ej2-javascript/chat-ui/ts/getting-started.md index a3b615902..c0d5dc87f 100644 --- a/ej2-javascript/chat-ui/ts/getting-started.md +++ b/ej2-javascript/chat-ui/ts/getting-started.md @@ -123,10 +123,16 @@ Then, import the Chat UI control in your `app.ts` file, and initialize it with t {% tabs %} {% highlight ts tabtitle="app.ts" %} -import { ChatUI } from "@syncfusion/ej2-interactive-chat"; +import { ChatUI,UserModel } from "@syncfusion/ej2-interactive-chat"; +let currentUserModel: UserModel = { + id: "user1", + user: "Albert" +}; // Initializes the Chat UI control -let chatUI: ChatUI = new ChatUI({}); +let chatUI: ChatUI = new ChatUI({ + user: currentUserModel +}); // Render initialized Chat UI. chatUI.appendTo('#chatUI'); diff --git a/ej2-javascript/code-snippet/ai-assistview/gettingstarted/js/index.html b/ej2-javascript/code-snippet/ai-assistview/gettingstarted/js/index.html index 11c0cdba9..cd0ae6027 100644 --- a/ej2-javascript/code-snippet/ai-assistview/gettingstarted/js/index.html +++ b/ej2-javascript/code-snippet/ai-assistview/gettingstarted/js/index.html @@ -23,6 +23,7 @@ + diff --git a/ej2-javascript/code-snippet/chat-ui/getting-started/js/index.html b/ej2-javascript/code-snippet/chat-ui/getting-started/js/index.html index 9b90d0d31..70465347b 100644 --- a/ej2-javascript/code-snippet/chat-ui/getting-started/js/index.html +++ b/ej2-javascript/code-snippet/chat-ui/getting-started/js/index.html @@ -24,6 +24,7 @@ + diff --git a/ej2-javascript/code-snippet/inline-ai-assist/gettingstarted/js/index.html b/ej2-javascript/code-snippet/inline-ai-assist/gettingstarted/js/index.html index ec0692ca8..cffd457da 100644 --- a/ej2-javascript/code-snippet/inline-ai-assist/gettingstarted/js/index.html +++ b/ej2-javascript/code-snippet/inline-ai-assist/gettingstarted/js/index.html @@ -24,6 +24,7 @@ + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs1/js/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs1/js/index.html index 8cf102a22..bab940687 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs1/js/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs1/js/index.html @@ -8,19 +8,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs1/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs1/systemjs.config.js index 6d19ef5e9..981462b0c 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs1/systemjs.config.js +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs1/systemjs.config.js @@ -10,7 +10,7 @@ System.config({ } }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/" }, map: { main: "index.ts", diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs1/ts/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs1/ts/index.html index 384f5b31c..e0eff9a7b 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs1/ts/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs1/ts/index.html @@ -8,17 +8,17 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs10/js/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs10/js/index.html index 8cf102a22..bab940687 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs10/js/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs10/js/index.html @@ -8,19 +8,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs10/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs10/systemjs.config.js index 6d19ef5e9..981462b0c 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs10/systemjs.config.js +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs10/systemjs.config.js @@ -10,7 +10,7 @@ System.config({ } }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/" }, map: { main: "index.ts", diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs10/ts/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs10/ts/index.html index 384f5b31c..e0eff9a7b 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs10/ts/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs10/ts/index.html @@ -8,17 +8,17 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs11/js/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs11/js/index.html index 8cf102a22..bab940687 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs11/js/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs11/js/index.html @@ -8,19 +8,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs11/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs11/systemjs.config.js index 6d19ef5e9..981462b0c 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs11/systemjs.config.js +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs11/systemjs.config.js @@ -10,7 +10,7 @@ System.config({ } }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/" }, map: { main: "index.ts", diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs11/ts/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs11/ts/index.html index 384f5b31c..e0eff9a7b 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs11/ts/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs11/ts/index.html @@ -8,17 +8,17 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs24/index.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs24/index.js index 63a2f9c8f..b7901e1ca 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs24/index.js +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs24/index.js @@ -8,7 +8,7 @@ var pivotTableObj = new ej.pivotview.PivotView({ formatSettings: [{ name: 'Amount', format: 'C0' }], filters: [] }, - height: 320, + height: 320, allowPdfExport: true }); pivotTableObj.appendTo('#PivotTable'); diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs24/index.ts b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs24/index.ts index 4c3ae30a0..74fff0ead 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs24/index.ts +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs24/index.ts @@ -1,9 +1,10 @@ -import { PivotView, IDataSet } from '@syncfusion/ej2-pivotview'; +import { PivotView, IDataSet, PDFExport } from '@syncfusion/ej2-pivotview'; import { Button } from '@syncfusion/ej2-buttons'; import { pivotData } from './datasource.ts'; +PivotView.Inject(PDFExport); let pivotTableObj: PivotView = new PivotView({ dataSourceSettings: { dataSource: pivotData as IDataSet[], diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs24/js/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs24/js/index.html index 8cf102a22..bab940687 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs24/js/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs24/js/index.html @@ -8,19 +8,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs24/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs24/systemjs.config.js index 6d19ef5e9..981462b0c 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs24/systemjs.config.js +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs24/systemjs.config.js @@ -10,7 +10,7 @@ System.config({ } }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/" }, map: { main: "index.ts", diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs24/ts/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs24/ts/index.html index 384f5b31c..e0eff9a7b 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs24/ts/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs24/ts/index.html @@ -8,17 +8,17 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs25/datasource.ts b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs25/datasource.ts index 6a40b7be8..3e763ea2c 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs25/datasource.ts +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs25/datasource.ts @@ -155,4 +155,13 @@ export let pivotData: Object[] = [ { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, - { 'Sold': 80, 'Amount': 127640, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }]; \ No newline at end of file + { 'Sold': 80, 'Amount': 127640, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }]; + +export let salesData: { [key: string]: Object }[] = [ + { Region: 'Asia-Pacific', Product: 'Laptop', Quarter: 'Q4', Sales: 1450000, Units: 2900, ProfitMargin: 19 }, + { Region: 'Asia-Pacific', Product: 'Smartphone', Quarter: 'Q4', Sales: 1200000, Units: 6000, ProfitMargin: 21 }, + { Region: 'Europe', Product: 'Laptop', Quarter: 'Q4', Sales: 890000, Units: 1780, ProfitMargin: 16 }, + { Region: 'Europe', Product: 'Smartphone', Quarter: 'Q4', Sales: 720000, Units: 3600, ProfitMargin: 20 }, + { Region: 'North America', Product: 'Laptop', Quarter: 'Q4', Sales: 1250000, Units: 2500, ProfitMargin: 18 }, + { Region: 'North America', Product: 'Smartphone', Quarter: 'Q4', Sales: 980000, Units: 4900, ProfitMargin: -22 } +]; \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs25/es5-datasource.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs25/es5-datasource.js index 4d61e4784..a5e6664c5 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs25/es5-datasource.js +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs25/es5-datasource.js @@ -155,4 +155,13 @@ var pivotData = [ { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, - { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }]; \ No newline at end of file + { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }]; + +var salesData = [ + { Region: 'Asia-Pacific', Product: 'Laptop', Quarter: 'Q4', Sales: 1450000, Units: 2900, ProfitMargin: 19 }, + { Region: 'Asia-Pacific', Product: 'Smartphone', Quarter: 'Q4', Sales: 1200000, Units: 6000, ProfitMargin: 21 }, + { Region: 'Europe', Product: 'Laptop', Quarter: 'Q4', Sales: 890000, Units: 1780, ProfitMargin: 16 }, + { Region: 'Europe', Product: 'Smartphone', Quarter: 'Q4', Sales: 720000, Units: 3600, ProfitMargin: 20 }, + { Region: 'North America', Product: 'Laptop', Quarter: 'Q4', Sales: 1250000, Units: 2500, ProfitMargin: 18 }, + { Region: 'North America', Product: 'Smartphone', Quarter: 'Q4', Sales: 980000, Units: 4900, ProfitMargin: -22 } +]; \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs25/index.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs25/index.js index 591dd7d6c..7621a6ae7 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs25/index.js +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs25/index.js @@ -1,41 +1,56 @@ var pivotTableObj = new ej.pivotview.PivotView({ dataSourceSettings: { - dataSource: pivotData, + dataSource: salesData, expandAll: false, - enableSorting: true, - columns: [{ name: 'Year', caption: 'Production Year' }, { name: 'Quarter' }], - values: [{ name: 'Sold', caption: 'Units Sold' }, { name: 'Amount', caption: 'Sold Amount' }], - rows: [{ name: 'Country' }, { name: 'Products' }], - formatSettings: [{ name: 'Amount', format: 'C0' }], - filters: [] + rows: [{ name: 'Region', caption: 'Region' }], + columns: [{ name: 'Product', caption: 'Product' }], + values: [ + { name: 'Sales', caption: 'Q4 Sales' }, + { name: 'ProfitMargin', caption: 'Profit Margin' } + ], + formatSettings: [ + { name: 'Sales', format: 'C0' }, + { name: 'ProfitMargin', format: '0\'%\'' } + ], + filterSettings: [{ name: 'Product', items: ['Laptop'], type: 'Include' }] }, + width: '100%', height: 300, - allowPdfExport: true + allowPdfExport: true, + showFieldList: true }); var pivotTableObj2 = new ej.pivotview.PivotView({ dataSourceSettings: { - dataSource: pivotData, + dataSource: salesData, expandAll: false, - enableSorting: true, - rows: [{ name: 'Year', caption: 'Production Year' }, { name: 'Quarter' }], - values: [{ name: 'Sold', caption: 'Units Sold' }, { name: 'Amount', caption: 'Sold Amount' }], - columns: [{ name: 'Country' }, { name: 'Products' }], - formatSettings: [{ name: 'Amount', format: 'C0' }], - filters: [] + rows: [{ name: 'Region', caption: 'Region' }], + columns: [{ name: 'Product', caption: 'Product' }], + values: [ + { name: 'Units', caption: 'Units Sold' }, + { name: 'Sales', caption: 'Q4 Sales' } + ], + formatSettings: [ + { name: 'ProfitMargin', format: '0\'%\'' }, + { name: 'Sales', format: 'C0' } + ], + filterSettings: [{ name: 'Product', items: ['Smartphone'], type: 'Include' }] }, + width: '100%', height: 300, - allowPdfExport: true + allowPdfExport: true, + showFieldList: true }); -pivotTableObj.appendTo('#PivotTable'); +pivotTableObj.appendTo('#PivotTable1'); pivotTableObj2.appendTo('#PivotTable2'); var exportBtn = new ej.buttons.Button({ isPrimary: true }); exportBtn.appendTo('#pdf'); document.getElementById('pdf').onclick = function () { - var firstGridPdfExport = pivotTableObj.grid.pdfExport({}, true); - firstGridPdfExport.then(function (pdfData) { - pivotTableObj2.pdfExport({}, false, pdfData); - }); + var pdfExportProperties = { + multipleExport: { type: 'AppendToPage', blankSpace: 100 }, + pivotTableIds: ['PivotTable1', 'PivotTable2'] + }; + pivotTableObj.pdfExport(pdfExportProperties, true); }; diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs25/index.ts b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs25/index.ts index af344fb96..af997f7e4 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs25/index.ts +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs25/index.ts @@ -1,47 +1,63 @@ - - -import { PivotView, IDataSet } from '@syncfusion/ej2-pivotview'; +import { PivotView, IDataSet, PdfExportProperties, FieldList, PDFExport } from '@syncfusion/ej2-pivotview'; import { Button } from '@syncfusion/ej2-buttons'; -import { pivotData } from './datasource.ts'; +import { salesData } from './datasource.ts'; + +PivotView.Inject(FieldList, PDFExport); let pivotTableObj: PivotView = new PivotView({ dataSourceSettings: { - dataSource: pivotData as IDataSet[], + dataSource: salesData as IDataSet[], expandAll: false, - columns: [{ name: 'Year', caption: 'Production Year' }, { name: 'Quarter' }], - values: [{ name: 'Sold', caption: 'Units Sold' }, { name: 'Amount', caption: 'Sold Amount' }], - rows: [{ name: 'Country' }, { name: 'Products' }], - formatSettings: [{ name: 'Amount', format: 'C0' }], - filters: [] + rows: [{ name: 'Region', caption: 'Region' }], + columns: [{ name: 'Product', caption: 'Product' }], + values: [ + { name: 'Sales', caption: 'Q4 Sales' }, + { name: 'ProfitMargin', caption: 'Profit Margin' } + ], + formatSettings: [ + { name: 'Sales', format: 'C0' }, + { name: 'ProfitMargin', format: '0\'%\'' } + ], + filterSettings: [{ name: 'Product', items: ['Laptop'], type: 'Include' }] }, + width: '100%', + height: 300, allowPdfExport: true, - height: 320 + showFieldList: true }); +pivotTableObj.appendTo('#PivotTable1'); + let pivotTableObj2: PivotView = new PivotView({ dataSourceSettings: { - dataSource: pivotData as IDataSet[], + dataSource: salesData as IDataSet[], expandAll: false, - rows: [{ name: 'Year', caption: 'Production Year' }, { name: 'Quarter' }], - values: [{ name: 'Sold', caption: 'Units Sold' }, { name: 'Amount', caption: 'Sold Amount' }], - columns: [{ name: 'Country' }, { name: 'Products' }], - formatSettings: [{ name: 'Amount', format: 'C0' }], - filters: [] + rows: [{ name: 'Region', caption: 'Region' }], + columns: [{ name: 'Product', caption: 'Product' }], + values: [ + { name: 'Units', caption: 'Units Sold' }, + { name: 'Sales', caption: 'Q4 Sales' } + ], + formatSettings: [ + { name: 'ProfitMargin', format: '0\'%\'' }, + { name: 'Sales', format: 'C0' } + ], + filterSettings: [{ name: 'Product', items: ['Smartphone'], type: 'Include' }] }, + width: '100%', + height: 300, allowPdfExport: true, - height: 280 + showFieldList: true }); -pivotTableObj.appendTo('#PivotTable'); pivotTableObj2.appendTo('#PivotTable2'); let exportBtn: Button = new Button({ isPrimary: true }); exportBtn.appendTo('#pdf'); -document.getElementById('pdf').onclick = function () { - let firstGridPdfExport: Promise = pivotTableObj.grid.pdfExport({}, true); - firstGridPdfExport.then((pdfData: Object) => { - pivotTableObj2.pdfExport({}, false, pdfData); - }); +const pdfExportProperties: PdfExportProperties = { + multipleExport: { type: 'AppendToPage', blankSpace: 100 }, + pivotTableIds: ['PivotTable1', 'PivotTable2'] }; - - +document.getElementById('pdf').onclick = function () { + pivotTableObj.pdfExport(pdfExportProperties, true); +}; diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs25/js/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs25/js/index.html index 8cf102a22..9887ea605 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs25/js/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs25/js/index.html @@ -8,19 +8,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + @@ -28,7 +28,7 @@
-
+

diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs25/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs25/systemjs.config.js index 6d19ef5e9..981462b0c 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs25/systemjs.config.js +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs25/systemjs.config.js @@ -10,7 +10,7 @@ System.config({ } }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/" }, map: { main: "index.ts", diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs25/ts/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs25/ts/index.html index 384f5b31c..c96be4aa4 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs25/ts/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs25/ts/index.html @@ -8,17 +8,17 @@ - - - - - - - - - - - + + + + + + + + + + + @@ -27,7 +27,7 @@
Loading....
-
+

diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs26/index.ts b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs26/index.ts index 77a913b17..ab2ce49d7 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs26/index.ts +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs26/index.ts @@ -1,7 +1,7 @@ -import { PivotView, IDataSet, PDFExport} from '@syncfusion/ej2-pivotview'; +import { PivotView, IDataSet, PDFExport } from '@syncfusion/ej2-pivotview'; import { Button } from '@syncfusion/ej2-buttons'; import { pivotData } from './datasource.ts'; diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs26/js/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs26/js/index.html index 8cf102a22..bab940687 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs26/js/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs26/js/index.html @@ -8,19 +8,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs26/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs26/systemjs.config.js index 6d19ef5e9..981462b0c 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs26/systemjs.config.js +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs26/systemjs.config.js @@ -10,7 +10,7 @@ System.config({ } }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/" }, map: { main: "index.ts", diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs26/ts/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs26/ts/index.html index 384f5b31c..e0eff9a7b 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs26/ts/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs26/ts/index.html @@ -8,17 +8,17 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs27/index.ts b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs27/index.ts index 7e72460fb..52b06847d 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs27/index.ts +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs27/index.ts @@ -1,10 +1,11 @@ -import { PivotView, IDataSet } from '@syncfusion/ej2-pivotview'; +import { PivotView, IDataSet, PDFExport } from '@syncfusion/ej2-pivotview'; import { PdfExportProperties } from '@syncfusion/ej2-grids'; import { Button } from '@syncfusion/ej2-buttons'; import { pivotData } from './datasource.ts'; +PivotView.Inject(PDFExport); let pivotTableObj: PivotView = new PivotView({ dataSourceSettings: { dataSource: pivotData as IDataSet[], @@ -34,7 +35,7 @@ document.getElementById('pdf').onclick = function () { type: 'Text', value: "Pivot Table", position: { x: 0, y: 50 }, - style: { textBrushColor: '#000000', fontSize: 13, dashStyle:'Solid',hAlign:'Center' } + style: { textBrushColor: '#000000', fontSize: 13, dashStyle: 'Solid', hAlign: 'Center' } } ] }, diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs27/js/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs27/js/index.html index 8cf102a22..bab940687 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs27/js/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs27/js/index.html @@ -8,19 +8,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs27/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs27/systemjs.config.js index 6d19ef5e9..981462b0c 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs27/systemjs.config.js +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs27/systemjs.config.js @@ -10,7 +10,7 @@ System.config({ } }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/" }, map: { main: "index.ts", diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs27/ts/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs27/ts/index.html index 384f5b31c..e0eff9a7b 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs27/ts/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs27/ts/index.html @@ -8,17 +8,17 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs28/index.ts b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs28/index.ts index 263b6ef31..5fbdff2d4 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs28/index.ts +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs28/index.ts @@ -1,10 +1,11 @@ -import { PivotView, IDataSet } from '@syncfusion/ej2-pivotview'; +import { PivotView, IDataSet, PDFExport } from '@syncfusion/ej2-pivotview'; import { PdfExportProperties } from '@syncfusion/ej2-grids'; import { Button } from '@syncfusion/ej2-buttons'; import { pivotData } from './datasource.ts'; +PivotView.Inject(PDFExport); let pivotTableObj: PivotView = new PivotView({ dataSourceSettings: { dataSource: pivotData as IDataSet[], @@ -26,7 +27,7 @@ exportBtn.appendTo('#pdf'); document.getElementById('pdf').onclick = function () { let pdfExportProperties: PdfExportProperties = { - fileName:'sample.pdf' + fileName: 'sample.pdf' }; pivotTableObj.pdfExport(pdfExportProperties); }; diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs28/js/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs28/js/index.html index 8cf102a22..bab940687 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs28/js/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs28/js/index.html @@ -8,19 +8,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs28/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs28/systemjs.config.js index 6d19ef5e9..981462b0c 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs28/systemjs.config.js +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs28/systemjs.config.js @@ -10,7 +10,7 @@ System.config({ } }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/" }, map: { main: "index.ts", diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs28/ts/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs28/ts/index.html index 384f5b31c..e0eff9a7b 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs28/ts/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs28/ts/index.html @@ -8,17 +8,17 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs29/index.ts b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs29/index.ts index d0b8d1ceb..f6d4dbea9 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs29/index.ts +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs29/index.ts @@ -1,10 +1,11 @@ -import { PivotView, IDataSet } from '@syncfusion/ej2-pivotview'; +import { PivotView, IDataSet, PDFExport } from '@syncfusion/ej2-pivotview'; import { PdfExportProperties } from '@syncfusion/ej2-grids'; import { Button } from '@syncfusion/ej2-buttons'; import { pivotData } from './datasource.ts'; +PivotView.Inject(PDFExport); let pivotTableObj: PivotView = new PivotView({ dataSourceSettings: { dataSource: pivotData as IDataSet[], diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs29/js/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs29/js/index.html index 8cf102a22..bab940687 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs29/js/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs29/js/index.html @@ -8,19 +8,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs29/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs29/systemjs.config.js index 6d19ef5e9..981462b0c 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs29/systemjs.config.js +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs29/systemjs.config.js @@ -10,7 +10,7 @@ System.config({ } }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/" }, map: { main: "index.ts", diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs29/ts/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs29/ts/index.html index 384f5b31c..e0eff9a7b 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs29/ts/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs29/ts/index.html @@ -8,17 +8,17 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs3/js/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs3/js/index.html index 8cf102a22..bab940687 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs3/js/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs3/js/index.html @@ -8,19 +8,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs3/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs3/systemjs.config.js index 6d19ef5e9..981462b0c 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs3/systemjs.config.js +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs3/systemjs.config.js @@ -10,7 +10,7 @@ System.config({ } }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/" }, map: { main: "index.ts", diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs3/ts/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs3/ts/index.html index 384f5b31c..e0eff9a7b 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs3/ts/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs3/ts/index.html @@ -8,17 +8,17 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs30/index.ts b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs30/index.ts index f11709d1c..65d1f998f 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs30/index.ts +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs30/index.ts @@ -1,10 +1,10 @@ - -import { PivotView, IDataSet } from '@syncfusion/ej2-pivotview'; +import { PivotView, IDataSet, PDFExport } from '@syncfusion/ej2-pivotview'; import { PdfExportProperties } from '@syncfusion/ej2-grids'; import { Button } from '@syncfusion/ej2-buttons'; import { pivotData } from './datasource.ts'; +PivotView.Inject(PDFExport); let pivotTableObj: PivotView = new PivotView({ dataSourceSettings: { dataSource: pivotData as IDataSet[], @@ -30,6 +30,3 @@ document.getElementById('pdf').onclick = function () { }; pivotTableObj.pdfExport(pdfExportProperties); }; - - - diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs30/js/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs30/js/index.html index 8cf102a22..bab940687 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs30/js/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs30/js/index.html @@ -8,19 +8,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs30/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs30/systemjs.config.js index 6d19ef5e9..981462b0c 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs30/systemjs.config.js +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs30/systemjs.config.js @@ -10,7 +10,7 @@ System.config({ } }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/" }, map: { main: "index.ts", diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs30/ts/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs30/ts/index.html index 384f5b31c..e0eff9a7b 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs30/ts/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs30/ts/index.html @@ -8,17 +8,17 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs31/js/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs31/js/index.html index 8cf102a22..bab940687 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs31/js/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs31/js/index.html @@ -8,19 +8,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs31/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs31/systemjs.config.js index 6d19ef5e9..981462b0c 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs31/systemjs.config.js +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs31/systemjs.config.js @@ -10,7 +10,7 @@ System.config({ } }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/" }, map: { main: "index.ts", diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs31/ts/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs31/ts/index.html index 384f5b31c..e0eff9a7b 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs31/ts/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs31/ts/index.html @@ -8,17 +8,17 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs32/js/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs32/js/index.html index 8cf102a22..bab940687 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs32/js/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs32/js/index.html @@ -8,19 +8,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs32/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs32/systemjs.config.js index 6d19ef5e9..981462b0c 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs32/systemjs.config.js +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs32/systemjs.config.js @@ -10,7 +10,7 @@ System.config({ } }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/" }, map: { main: "index.ts", diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs32/ts/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs32/ts/index.html index 384f5b31c..e0eff9a7b 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs32/ts/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs32/ts/index.html @@ -8,17 +8,17 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs33/index.ts b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs33/index.ts index 4521d20dd..df7b8f428 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs33/index.ts +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs33/index.ts @@ -1,10 +1,11 @@ -import { PivotView, IDataSet } from '@syncfusion/ej2-pivotview'; +import { PivotView, IDataSet, PDFExport } from '@syncfusion/ej2-pivotview'; import { PdfExportProperties } from '@syncfusion/ej2-grids'; import { Button } from '@syncfusion/ej2-buttons'; import { pivotData } from './datasource.ts'; +PivotView.Inject(PDFExport); let pivotTableObj: PivotView = new PivotView({ dataSourceSettings: { dataSource: pivotData as IDataSet[], diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs33/js/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs33/js/index.html index 8cf102a22..bab940687 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs33/js/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs33/js/index.html @@ -8,19 +8,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs33/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs33/systemjs.config.js index 6d19ef5e9..981462b0c 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs33/systemjs.config.js +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs33/systemjs.config.js @@ -10,7 +10,7 @@ System.config({ } }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/" }, map: { main: "index.ts", diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs33/ts/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs33/ts/index.html index 384f5b31c..e0eff9a7b 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs33/ts/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs33/ts/index.html @@ -8,17 +8,17 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs34/index.ts b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs34/index.ts index 7dd4319ad..4605be795 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs34/index.ts +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs34/index.ts @@ -1,11 +1,12 @@ -import { PivotView, IDataSet } from '@syncfusion/ej2-pivotview'; +import { PivotView, IDataSet, PDFExport } from '@syncfusion/ej2-pivotview'; import { PdfExportProperties } from '@syncfusion/ej2-grids'; import { Button } from '@syncfusion/ej2-buttons'; import { pivotData, base64AlgeriaFont } from './datasource.ts'; import { PdfTrueTypeFont } from '@syncfusion/ej2-pdf-export'; +PivotView.Inject(PDFExport); let pivotTableObj: PivotView = new PivotView({ dataSourceSettings: { dataSource: pivotData as IDataSet[], @@ -27,11 +28,11 @@ exportBtn.appendTo('#pdf'); document.getElementById('pdf').onclick = function () { let pdfExportProperties: PdfExportProperties = { - theme: { - header: {font: new PdfTrueTypeFont(base64AlgeriaFont, 11) }, - caption: { font: new PdfTrueTypeFont(base64AlgeriaFont, 9) }, - record: { font: new PdfTrueTypeFont(base64AlgeriaFont, 10) } - } + theme: { + header: { font: new PdfTrueTypeFont(base64AlgeriaFont, 11) }, + caption: { font: new PdfTrueTypeFont(base64AlgeriaFont, 9) }, + record: { font: new PdfTrueTypeFont(base64AlgeriaFont, 10) } + } }; pivotTableObj.pdfExport(pdfExportProperties); }; diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs34/js/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs34/js/index.html index 8cf102a22..bab940687 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs34/js/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs34/js/index.html @@ -8,19 +8,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs34/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs34/systemjs.config.js index 6d19ef5e9..981462b0c 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs34/systemjs.config.js +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs34/systemjs.config.js @@ -10,7 +10,7 @@ System.config({ } }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/" }, map: { main: "index.ts", diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs34/ts/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs34/ts/index.html index 384f5b31c..e0eff9a7b 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs34/ts/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs34/ts/index.html @@ -8,17 +8,17 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs36/index.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs36/index.js index e48bc0708..2ff27b34d 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs36/index.js +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs36/index.js @@ -1,17 +1,17 @@ var pivotTableObj = new ej.pivotview.PivotView({ dataSourceSettings: { dataSource: pivotData, - expandAll: false, - columns: [{ name: 'Year', caption: 'Production Year' }, { name: 'Quarter' }], - values: [{ name: 'Sold', caption: 'Units Sold' }, { name: 'Amount', caption: 'Sold Amount' }], - rows: [{ name: 'Country' }, { name: 'Products' }], + expandAll: true, + columns: [{ name: 'Year', caption: 'Production Year' }, { name: 'Products' }], + values: [{ name: 'Sold', caption: 'Units Sold' }], + rows: [{ name: 'Country' }], formatSettings: [{ name: 'Amount', format: 'C0' }], filters: [] }, - beforeExport: function(args) { + beforeExport: function (args) { args.allowRepeatHeader = false; }, - height: 320, + height: 320, allowPdfExport: true }); pivotTableObj.appendTo('#PivotTable'); @@ -20,6 +20,6 @@ var exportBtn = new ej.buttons.Button({ isPrimary: true }); exportBtn.appendTo('#pdf'); document.getElementById('pdf').onclick = function () { - pivotTableObj.pdfExportModule.exportToPDF(); + pivotTableObj.pdfExport(); }; diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs36/index.ts b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs36/index.ts index fbb0ec550..c440a4ce9 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs36/index.ts +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs36/index.ts @@ -10,15 +10,14 @@ PivotView.Inject(PDFExport); let pivotTableObj: PivotView = new PivotView({ dataSourceSettings: { dataSource: pivotData as IDataSet[], - expandAll: false, - drilledMembers: [{ name: 'Country', items: ['France'] }], - columns: [{ name: 'Year', caption: 'Production Year' }, { name: 'Quarter' }], - values: [{ name: 'Sold', caption: 'Units Sold' }, { name: 'Amount', caption: 'Sold Amount' }], - rows: [{ name: 'Country' }, { name: 'Products' }], + expandAll: true, + columns: [{ name: 'Year', caption: 'Production Year' }, { name: 'Products' }], + values: [{ name: 'Sold', caption: 'Units Sold' }], + rows: [{ name: 'Country' }], formatSettings: [{ name: 'Amount', format: 'C0' }], filters: [] }, - beforeExport: function(args: BeforeExportEventArgs) { + beforeExport: function (args: BeforeExportEventArgs) { args.allowRepeatHeader = false; }, allowPdfExport: true, diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs36/js/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs36/js/index.html index 8cf102a22..bab940687 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs36/js/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs36/js/index.html @@ -8,19 +8,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs36/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs36/systemjs.config.js index 6d19ef5e9..981462b0c 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs36/systemjs.config.js +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs36/systemjs.config.js @@ -10,7 +10,7 @@ System.config({ } }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/" }, map: { main: "index.ts", diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs36/ts/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs36/ts/index.html index 384f5b31c..e0eff9a7b 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs36/ts/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs36/ts/index.html @@ -8,17 +8,17 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs37/index.ts b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs37/index.ts index f11767ea2..c64bb0333 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs37/index.ts +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs37/index.ts @@ -1,10 +1,10 @@ -import { PivotView, IDataSet, VirtualScroll } from '@syncfusion/ej2-pivotview'; +import { PivotView, IDataSet, VirtualScroll, PDFExport } from '@syncfusion/ej2-pivotview'; import { Button } from '@syncfusion/ej2-buttons'; import { pivotData } from './datasource.ts'; -PivotView.Inject(VirtualScroll); +PivotView.Inject(VirtualScroll, PDFExport); let pivotTableObj: PivotView = new PivotView({ dataSourceSettings: { dataSource: pivotData as IDataSet[], diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs37/js/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs37/js/index.html index 8cf102a22..bab940687 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs37/js/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs37/js/index.html @@ -8,19 +8,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs37/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs37/systemjs.config.js index 6d19ef5e9..981462b0c 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs37/systemjs.config.js +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs37/systemjs.config.js @@ -10,7 +10,7 @@ System.config({ } }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/" }, map: { main: "index.ts", diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs37/ts/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs37/ts/index.html index 384f5b31c..e0eff9a7b 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs37/ts/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs37/ts/index.html @@ -8,17 +8,17 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs38/index.ts b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs38/index.ts index de67f71df..20c8c3eb1 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs38/index.ts +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs38/index.ts @@ -1,7 +1,7 @@ -import { PivotView, IDataSet, VirtualScroll, PDFExport } from '@syncfusion/ej2-pivotview'; +import { PivotView, IDataSet, VirtualScroll, PDFExport, ExportCompleteEventArgs } from '@syncfusion/ej2-pivotview'; import { Button } from '@syncfusion/ej2-buttons'; import { pivotData } from './datasource.ts'; diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs39/index.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs39/index.js index f93a4328e..9f5788ac9 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs39/index.js +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs39/index.js @@ -12,11 +12,15 @@ var pivotTableObj = new ej.pivotview.PivotView({ allowPdfExport: true, enableVirtualization: true, height: 320, - onPdfCellRender: function (args) { - if (args.pivotCell && args.pivotCell.valueSort && args.pivotCell.valueSort.levelName === 'FY 2015.Units Sold') { - args.column.width = 60 + gridSettings: { + pdfHeaderQueryCellInfo: function (args) { + if (args.gridCell && args.gridCell.valueSort && args.gridCell.valueSort.levelName === 'FY 2015.Units Sold' + && args.cell && args.cell.row && args.cell.row.pdfGrid && args.cell.row.pdfGrid.gridColumns + && args.cell.row.pdfGrid.gridColumns.columns[args.gridCell.colIndex]) { + args.cell.row.pdfGrid.gridColumns.columns[args.gridCell.colIndex].width = 250; + } } - }, + } }); pivotTableObj.appendTo('#PivotTable'); @@ -24,6 +28,6 @@ var exportBtn = new ej.buttons.Button({ isPrimary: true }); exportBtn.appendTo('#pdf'); document.getElementById('pdf').onclick = function () { - pivotTableObj.pdfExport({}, false, null, false, true); + pivotTableObj.pdfExport(); }; diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs39/index.ts b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs39/index.ts index 6784ce1af..3f0d4b242 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs39/index.ts +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs39/index.ts @@ -1,9 +1,10 @@ -import { PivotView, IDataSet, PDFExport, PdfCellRenderArgs, VirtualScroll} from '@syncfusion/ej2-pivotview'; +import { PivotView, IDataSet, PDFExport, VirtualScroll } from '@syncfusion/ej2-pivotview'; import { Button } from '@syncfusion/ej2-buttons'; import { pivotData } from './datasource.ts'; +import { PdfHeaderQueryCellInfoEventArgs } from '@syncfusion/ej2-grids'; PivotView.Inject(PDFExport, VirtualScroll); let pivotTableObj: PivotView = new PivotView({ @@ -20,11 +21,15 @@ let pivotTableObj: PivotView = new PivotView({ allowPdfExport: true, enableVirtualization: true, height: 320, - onPdfCellRender: (args: PdfCellRenderArgs) => { - if (args.pivotCell && args.pivotCell.valueSort && args.pivotCell.valueSort.levelName === 'FY 2015.Units Sold') { - args.column.width = 60 + gridSettings: { + pdfHeaderQueryCellInfo: function (args: PdfHeaderQueryCellInfoEventArgs) { + if (args.gridCell && args.gridCell.valueSort && args.gridCell.valueSort.levelName === 'FY 2015.Units Sold' + && args.cell && args.cell.row && args.cell.row.pdfGrid && args.cell.row.pdfGrid.gridColumns + && args.cell.row.pdfGrid.gridColumns.columns[args.gridCell.colIndex]) { + args.cell.row.pdfGrid.gridColumns.columns[args.gridCell.colIndex].width = 250; + } } - }, + } }); pivotTableObj.appendTo('#PivotTable'); @@ -32,8 +37,5 @@ let exportBtn: Button = new Button({ isPrimary: true }); exportBtn.appendTo('#pdf'); document.getElementById('pdf').onclick = function () { - pivotTableObj.pdfExport({}, false, null, false, true); + pivotTableObj.pdfExport(); }; - - - diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs39/js/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs39/js/index.html index 8cf102a22..bab940687 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs39/js/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs39/js/index.html @@ -8,19 +8,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs39/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs39/systemjs.config.js index 6d19ef5e9..981462b0c 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs39/systemjs.config.js +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs39/systemjs.config.js @@ -10,7 +10,7 @@ System.config({ } }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/" }, map: { main: "index.ts", diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs39/ts/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs39/ts/index.html index 384f5b31c..e0eff9a7b 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs39/ts/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs39/ts/index.html @@ -8,17 +8,17 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs4/js/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs4/js/index.html index 8cf102a22..bab940687 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs4/js/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs4/js/index.html @@ -8,19 +8,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs4/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs4/systemjs.config.js index 6d19ef5e9..981462b0c 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs4/systemjs.config.js +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs4/systemjs.config.js @@ -10,7 +10,7 @@ System.config({ } }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/" }, map: { main: "index.ts", diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs4/ts/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs4/ts/index.html index 384f5b31c..e0eff9a7b 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs4/ts/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs4/ts/index.html @@ -8,17 +8,17 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs40/index.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs40/index.js index 85ee301b5..da64cdc78 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs40/index.js +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs40/index.js @@ -12,11 +12,13 @@ var pivotTableObj = new ej.pivotview.PivotView({ allowPdfExport: true, enableVirtualization: true, height: 320, - onPdfCellRender: function (args) { - if (args.pivotCell && args.pivotCell.valueSort && args.pivotCell.valueSort.levelName === 'France.Mountain Bikes') { - args.cell.height = 30 + gridSettings: { + pdfQueryCellInfo: function (args) { + if (args.data && args.data.rowHeaders === 'France.Mountain Bikes' && args.cell && args.cell.gridRow) { + args.cell.gridRow.height = 100; + } } - }, + } }); pivotTableObj.appendTo('#PivotTable'); @@ -24,6 +26,6 @@ var exportBtn = new ej.buttons.Button({ isPrimary: true }); exportBtn.appendTo('#pdf'); document.getElementById('pdf').onclick = function () { - pivotTableObj.pdfExport({}, false, null, false, true); + pivotTableObj.pdfExport(); }; diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs40/index.ts b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs40/index.ts index 74252e94e..b6577f4b4 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs40/index.ts +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs40/index.ts @@ -1,11 +1,12 @@ -import { PivotView, IDataSet, PDFExport, PdfCellRenderArgs, VirtualScroll} from '@syncfusion/ej2-pivotview'; +import { PivotView, IDataSet, PDFExport } from '@syncfusion/ej2-pivotview'; import { Button } from '@syncfusion/ej2-buttons'; import { pivotData } from './datasource.ts'; +import { PdfQueryCellInfoEventArgs } from '@syncfusion/ej2-grids'; -PivotView.Inject(PDFExport, VirtualScroll); +PivotView.Inject(PDFExport); let pivotTableObj: PivotView = new PivotView({ dataSourceSettings: { dataSource: pivotData as IDataSet[], @@ -18,13 +19,14 @@ let pivotTableObj: PivotView = new PivotView({ filters: [] }, allowPdfExport: true, - enableVirtualization: true, height: 320, - onPdfCellRender: (args: PdfCellRenderArgs) => { - if (args.pivotCell && args.pivotCell.valueSort && args.pivotCell.valueSort.levelName === 'France.Mountain Bikes') { - args.cell.height = 30 + gridSettings: { + pdfQueryCellInfo: function (args: PdfQueryCellInfoEventArgs) { + if (args.data && args.data.rowHeaders === 'France.Mountain Bikes' && args.cell && args.cell.gridRow) { + args.cell.gridRow.height = 100; + } } - }, + } }); pivotTableObj.appendTo('#PivotTable'); @@ -32,8 +34,5 @@ let exportBtn: Button = new Button({ isPrimary: true }); exportBtn.appendTo('#pdf'); document.getElementById('pdf').onclick = function () { - pivotTableObj.pdfExport({}, false, null, false, true); + pivotTableObj.pdfExport(); }; - - - diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs40/js/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs40/js/index.html index 8cf102a22..bab940687 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs40/js/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs40/js/index.html @@ -8,19 +8,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs40/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs40/systemjs.config.js index 6d19ef5e9..981462b0c 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs40/systemjs.config.js +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs40/systemjs.config.js @@ -10,7 +10,7 @@ System.config({ } }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/" }, map: { main: "index.ts", diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs40/ts/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs40/ts/index.html index 384f5b31c..e0eff9a7b 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs40/ts/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs40/ts/index.html @@ -8,17 +8,17 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs41/index.ts b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs41/index.ts index abd90fe5b..8065e101e 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs41/index.ts +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs41/index.ts @@ -1,9 +1,10 @@ -import { PivotView, IDataSet } from '@syncfusion/ej2-pivotview'; +import { PivotView, IDataSet, PDFExport } from '@syncfusion/ej2-pivotview'; import { PdfExportProperties } from '@syncfusion/ej2-grids'; import { Button } from '@syncfusion/ej2-buttons'; import { pivotData } from './datasource.ts'; import { image } from './image.ts'; +PivotView.Inject(PDFExport); let pivotTableObj: PivotView = new PivotView({ dataSourceSettings: { dataSource: pivotData as IDataSet[], diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs41/js/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs41/js/index.html index f4b99e848..fcfc27da8 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs41/js/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs41/js/index.html @@ -9,18 +9,18 @@ - - - - - - - - - - + + + + + + + + + + - + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs41/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs41/systemjs.config.js index 6d19ef5e9..981462b0c 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs41/systemjs.config.js +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs41/systemjs.config.js @@ -10,7 +10,7 @@ System.config({ } }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/" }, map: { main: "index.ts", diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs41/ts/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs41/ts/index.html index 384f5b31c..e0eff9a7b 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs41/ts/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs41/ts/index.html @@ -8,17 +8,17 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs42/datasource.ts b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs42/datasource.ts new file mode 100644 index 000000000..79192c8e7 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs42/datasource.ts @@ -0,0 +1,8 @@ +export let salesData: { [key: string]: Object }[] = [ + { Region: 'Asia-Pacific', Product: 'Laptop', Quarter: 'Q4', Sales: 1450000, Units: 2900, ProfitMargin: 19 }, + { Region: 'Asia-Pacific', Product: 'Smartphone', Quarter: 'Q4', Sales: 1200000, Units: 6000, ProfitMargin: 21 }, + { Region: 'Europe', Product: 'Laptop', Quarter: 'Q4', Sales: 890000, Units: 1780, ProfitMargin: 16 }, + { Region: 'Europe', Product: 'Smartphone', Quarter: 'Q4', Sales: 720000, Units: 3600, ProfitMargin: 20 }, + { Region: 'North America', Product: 'Laptop', Quarter: 'Q4', Sales: 1250000, Units: 2500, ProfitMargin: 18 }, + { Region: 'North America', Product: 'Smartphone', Quarter: 'Q4', Sales: 980000, Units: 4900, ProfitMargin: -22 } +]; \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs42/es5-datasource.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs42/es5-datasource.js new file mode 100644 index 000000000..e40bf5177 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs42/es5-datasource.js @@ -0,0 +1,8 @@ +var salesData = [ + { Region: 'Asia-Pacific', Product: 'Laptop', Quarter: 'Q4', Sales: 1450000, Units: 2900, ProfitMargin: 19 }, + { Region: 'Asia-Pacific', Product: 'Smartphone', Quarter: 'Q4', Sales: 1200000, Units: 6000, ProfitMargin: 21 }, + { Region: 'Europe', Product: 'Laptop', Quarter: 'Q4', Sales: 890000, Units: 1780, ProfitMargin: 16 }, + { Region: 'Europe', Product: 'Smartphone', Quarter: 'Q4', Sales: 720000, Units: 3600, ProfitMargin: 20 }, + { Region: 'North America', Product: 'Laptop', Quarter: 'Q4', Sales: 1250000, Units: 2500, ProfitMargin: 18 }, + { Region: 'North America', Product: 'Smartphone', Quarter: 'Q4', Sales: 980000, Units: 4900, ProfitMargin: -22 } +]; \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs42/index.css b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs42/index.css new file mode 100644 index 000000000..a2b083f54 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs42/index.css @@ -0,0 +1,12 @@ +#container { + visibility: hidden; +} + +#loader { + color: #008cff; + height: 40px; + width: 30%; + position: absolute; + top: 45%; + left: 45%; +} diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs42/index.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs42/index.js new file mode 100644 index 000000000..8a193ccf2 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs42/index.js @@ -0,0 +1,56 @@ +var pivotTableObj = new ej.pivotview.PivotView({ + dataSourceSettings: { + dataSource: salesData, + expandAll: false, + rows: [{ name: 'Region', caption: 'Region' }], + columns: [{ name: 'Product', caption: 'Product' }], + values: [ + { name: 'Sales', caption: 'Q4 Sales' }, + { name: 'ProfitMargin', caption: 'Profit Margin' } + ], + formatSettings: [ + { name: 'Sales', format: 'C0' }, + { name: 'ProfitMargin', format: '0\'%\'' } + ], + filterSettings: [{ name: 'Product', items: ['Laptop'], type: 'Include' }] + }, + width: '100%', + height: 300, + allowPdfExport: true, + showFieldList: true +}); +var pivotTableObj2 = new ej.pivotview.PivotView({ + dataSourceSettings: { + dataSource: salesData, + expandAll: false, + rows: [{ name: 'Region', caption: 'Region' }], + columns: [{ name: 'Product', caption: 'Product' }], + values: [ + { name: 'Units', caption: 'Units Sold' }, + { name: 'Sales', caption: 'Q4 Sales' } + ], + formatSettings: [ + { name: 'ProfitMargin', format: '0\'%\'' }, + { name: 'Sales', format: 'C0' } + ], + filterSettings: [{ name: 'Product', items: ['Smartphone'], type: 'Include' }] + }, + width: '100%', + height: 300, + allowPdfExport: true, + showFieldList: true +}); +pivotTableObj.appendTo('#PivotTable1'); +pivotTableObj2.appendTo('#PivotTable2'); + +var exportBtn = new ej.buttons.Button({ isPrimary: true }); +exportBtn.appendTo('#pdf'); + +document.getElementById('pdf').onclick = function () { + var pdfExportProperties = { + multipleExport: { type: 'NewPage' }, + pivotTableIds: ['PivotTable1', 'PivotTable2'] + }; + pivotTableObj.pdfExport(pdfExportProperties, true); +}; + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs42/index.ts b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs42/index.ts new file mode 100644 index 000000000..32a105ec8 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs42/index.ts @@ -0,0 +1,63 @@ +import { PivotView, IDataSet, PdfExportProperties, FieldList, PDFExport } from '@syncfusion/ej2-pivotview'; +import { Button } from '@syncfusion/ej2-buttons'; +import { salesData } from './datasource.ts'; + +PivotView.Inject(FieldList, PDFExport); + +let pivotTableObj: PivotView = new PivotView({ + dataSourceSettings: { + dataSource: salesData as IDataSet[], + expandAll: false, + rows: [{ name: 'Region', caption: 'Region' }], + columns: [{ name: 'Product', caption: 'Product' }], + values: [ + { name: 'Sales', caption: 'Q4 Sales' }, + { name: 'ProfitMargin', caption: 'Profit Margin' } + ], + formatSettings: [ + { name: 'Sales', format: 'C0' }, + { name: 'ProfitMargin', format: '0\'%\'' } + ], + filterSettings: [{ name: 'Product', items: ['Laptop'], type: 'Include' }] + }, + width: '100%', + height: 300, + allowPdfExport: true, + showFieldList: true +}); +pivotTableObj.appendTo('#PivotTable1'); + +let pivotTableObj2: PivotView = new PivotView({ + dataSourceSettings: { + dataSource: salesData as IDataSet[], + expandAll: false, + rows: [{ name: 'Region', caption: 'Region' }], + columns: [{ name: 'Product', caption: 'Product' }], + values: [ + { name: 'Units', caption: 'Units Sold' }, + { name: 'Sales', caption: 'Q4 Sales' } + ], + formatSettings: [ + { name: 'ProfitMargin', format: '0\'%\'' }, + { name: 'Sales', format: 'C0' } + ], + filterSettings: [{ name: 'Product', items: ['Smartphone'], type: 'Include' }] + }, + width: '100%', + height: 300, + allowPdfExport: true, + showFieldList: true +}); +pivotTableObj2.appendTo('#PivotTable2'); + +let exportBtn: Button = new Button({ isPrimary: true }); +exportBtn.appendTo('#pdf'); + +const pdfExportProperties: PdfExportProperties = { + multipleExport: { type: 'NewPage' }, + pivotTableIds: ['PivotTable1', 'PivotTable2'] +}; + +document.getElementById('pdf').onclick = function () { + pivotTableObj.pdfExport(pdfExportProperties, true); +}; diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs42/js/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs42/js/index.html new file mode 100644 index 000000000..9887ea605 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs42/js/index.html @@ -0,0 +1,46 @@ + + + + + EJ2 Pivot Grid + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + + + + + \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs42/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs42/systemjs.config.js new file mode 100644 index 000000000..981462b0c --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs42/systemjs.config.js @@ -0,0 +1,44 @@ +System.config({ + transpiler: "typescript", + typescriptOptions: { + compilerOptions: { + target: "umd", + module: "commonjs", + moduleResolution: "node", + emitDecoratorMetadata: true, + experimentalDecorators: true + } + }, + paths: { + "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/" + }, + map: { + main: "index.ts", + typescript: "https://unpkg.com/typescript@2.2.2/lib/typescript.js", + 'plugin-json': 'https://cdnjs.cloudflare.com/ajax/libs/systemjs-plugin-json/0.3.0/json.min.js', + "@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js", + "@syncfusion/ej2-data": "syncfusion:ej2-data/dist/ej2-data.umd.min.js", + "@syncfusion/ej2-inputs": "syncfusion:ej2-inputs/dist/ej2-inputs.umd.min.js", + "@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js", + "@syncfusion/ej2-splitbuttons": "syncfusion:ej2-splitbuttons/dist/ej2-splitbuttons.umd.min.js", + "@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js", + "@syncfusion/ej2-navigations": "syncfusion:ej2-navigations/dist/ej2-navigations.umd.min.js", + "@syncfusion/ej2-grids": "syncfusion:ej2-grids/dist/ej2-grids.umd.min.js", + "@syncfusion/ej2-charts": "syncfusion:ej2-charts/dist/ej2-charts.umd.min.js", + "@syncfusion/ej2-svg-base": "syncfusion:ej2-svg-base/dist/ej2-svg-base.umd.min.js", + "@syncfusion/ej2-dropdowns": "syncfusion:ej2-dropdowns/dist/ej2-dropdowns.umd.min.js", + "@syncfusion/ej2-calendars": "syncfusion:ej2-calendars/dist/ej2-calendars.umd.min.js", + "@syncfusion/ej2-lists": "syncfusion:ej2-lists/dist/ej2-lists.umd.min.js", + "@syncfusion/ej2-excel-export": "syncfusion:ej2-excel-export/dist/ej2-excel-export.umd.min.js", + "@syncfusion/ej2-pdf-export": "syncfusion:ej2-pdf-export/dist/ej2-pdf-export.umd.min.js", + "@syncfusion/ej2-file-utils": "syncfusion:ej2-file-utils/dist/ej2-file-utils.umd.min.js", + "@syncfusion/ej2-compression": "syncfusion:ej2-compression/dist/ej2-compression.umd.min.js", + "@syncfusion/ej2-pivotview": "syncfusion:ej2-pivotview/dist/ej2-pivotview.umd.min.js", + "@syncfusion/ej2-notifications":"syncfusion:ej2-notifications/dist/ej2-notifications.umd.min.js", + } +}); + +System.import('index.ts').catch(console.error.bind(console)).then(function () { + document.getElementById('loader').style.display = "none"; + document.getElementById('container').style.visibility = "visible"; +}); \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs42/ts/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs42/ts/index.html new file mode 100644 index 000000000..c96be4aa4 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs42/ts/index.html @@ -0,0 +1,36 @@ + + + + + EJ2 Pivot Grid + + + + + + + + + + + + + + + + + + + + + +
Loading....
+
+ +
+
+
+
+ + + \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs43/datasource.ts b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs43/datasource.ts new file mode 100644 index 000000000..e65eb85ce --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs43/datasource.ts @@ -0,0 +1,1250 @@ +export let pivotData: Object[] = [ + { + Sold: 25, + Amount: 42600, + Country: 'France', + Products: 'Mountain Bikes', + Year: 'FY 2015', + Quarter: 'Q4', + }, + { + Sold: 27, + Amount: 46008, + Country: 'France', + Products: 'Mountain Bikes', + Year: 'FY 2016', + Quarter: 'Q1', + }, + { + Sold: 49, + Amount: 83496, + Country: 'France', + Products: 'Mountain Bikes', + Year: 'FY 2016', + Quarter: 'Q2', + }, + { + Sold: 31, + Amount: 52824, + Country: 'France', + Products: 'Mountain Bikes', + Year: 'FY 2015', + Quarter: 'Q1', + }, + { + Sold: 51, + Amount: 86904, + Country: 'France', + Products: 'Mountain Bikes', + Year: 'FY 2015', + Quarter: 'Q2', + }, + { + Sold: 90, + Amount: 153360, + Country: 'France', + Products: 'Mountain Bikes', + Year: 'FY 2017', + Quarter: 'Q4', + }, + { + Sold: 95, + Amount: 161880, + Country: 'France', + Products: 'Mountain Bikes', + Year: 'FY 2016', + Quarter: 'Q3', + }, + { + Sold: 67, + Amount: 114168, + Country: 'France', + Products: 'Mountain Bikes', + Year: 'FY 2016', + Quarter: 'Q4', + }, + { + Sold: 90, + Amount: 153360, + Country: 'France', + Products: 'Mountain Bikes', + Year: 'FY 2015', + Quarter: 'Q3', + }, + { + Sold: 67, + Amount: 114168, + Country: 'France', + Products: 'Mountain Bikes', + Year: 'FY 2017', + Quarter: 'Q2', + }, + { + Sold: 93, + Amount: 139412, + Country: 'France', + Products: 'Road Bikes', + Year: 'FY 2015', + Quarter: 'Q4', + }, + { + Sold: 35, + Amount: 52470, + Country: 'France', + Products: 'Road Bikes', + Year: 'FY 2016', + Quarter: 'Q1', + }, + { + Sold: 16, + Amount: 27264, + Country: 'France', + Products: 'Mountain Bikes', + Year: 'FY 2018', + Quarter: 'Q1', + }, + { + Sold: 69, + Amount: 117576, + Country: 'France', + Products: 'Mountain Bikes', + Year: 'FY 2017', + Quarter: 'Q3', + }, + { + Sold: 75, + Amount: 127800, + Country: 'France', + Products: 'Mountain Bikes', + Year: 'FY 2017', + Quarter: 'Q1', + }, + { + Sold: 20, + Amount: 29985, + Country: 'France', + Products: 'Road Bikes', + Year: 'FY 2015', + Quarter: 'Q3', + }, + { + Sold: 83, + Amount: 124422, + Country: 'France', + Products: 'Road Bikes', + Year: 'FY 2015', + Quarter: 'Q1', + }, + { + Sold: 16, + Amount: 23989, + Country: 'France', + Products: 'Road Bikes', + Year: 'FY 2017', + Quarter: 'Q3', + }, + { + Sold: 28, + Amount: 41977, + Country: 'France', + Products: 'Road Bikes', + Year: 'FY 2016', + Quarter: 'Q2', + }, + { + Sold: 48, + Amount: 71957, + Country: 'France', + Products: 'Road Bikes', + Year: 'FY 2016', + Quarter: 'Q3', + }, + { + Sold: 57, + Amount: 85448, + Country: 'France', + Products: 'Road Bikes', + Year: 'FY 2015', + Quarter: 'Q2', + }, + { + Sold: 25, + Amount: 37480, + Country: 'France', + Products: 'Road Bikes', + Year: 'FY 2017', + Quarter: 'Q1', + }, + { + Sold: 69, + Amount: 103436, + Country: 'France', + Products: 'Road Bikes', + Year: 'FY 2017', + Quarter: 'Q2', + }, + { + Sold: 36, + Amount: 53969, + Country: 'France', + Products: 'Road Bikes', + Year: 'FY 2016', + Quarter: 'Q4', + }, + { + Sold: 75, + Amount: 119662.5, + Country: 'France', + Products: 'Touring Bikes', + Year: 'FY 2015', + Quarter: 'Q4', + }, + { + Sold: 28, + Amount: 41977, + Country: 'France', + Products: 'Road Bikes', + Year: 'FY 2017', + Quarter: 'Q4', + }, + { + Sold: 19, + Amount: 28486, + Country: 'France', + Products: 'Road Bikes', + Year: 'FY 2018', + Quarter: 'Q1', + }, + { + Sold: 91, + Amount: 145190.5, + Country: 'France', + Products: 'Touring Bikes', + Year: 'FY 2015', + Quarter: 'Q2', + }, + { + Sold: 24, + Amount: 38292, + Country: 'France', + Products: 'Touring Bikes', + Year: 'FY 2015', + Quarter: 'Q3', + }, + { + Sold: 94, + Amount: 149977, + Country: 'France', + Products: 'Touring Bikes', + Year: 'FY 2017', + Quarter: 'Q2', + }, + { + Sold: 100, + Amount: 159550, + Country: 'France', + Products: 'Touring Bikes', + Year: 'FY 2016', + Quarter: 'Q1', + }, + { + Sold: 30, + Amount: 47865, + Country: 'France', + Products: 'Touring Bikes', + Year: 'FY 2016', + Quarter: 'Q2', + }, + { + Sold: 89, + Amount: 141999.5, + Country: 'France', + Products: 'Touring Bikes', + Year: 'FY 2015', + Quarter: 'Q1', + }, + { + Sold: 25, + Amount: 39887.5, + Country: 'France', + Products: 'Touring Bikes', + Year: 'FY 2016', + Quarter: 'Q4', + }, + { + Sold: 42, + Amount: 67011, + Country: 'France', + Products: 'Touring Bikes', + Year: 'FY 2017', + Quarter: 'Q1', + }, + { + Sold: 21, + Amount: 33505.5, + Country: 'Germany', + Products: 'Touring Bikes', + Year: 'FY 2015', + Quarter: 'Q1', + }, + { + Sold: 74, + Amount: 126096, + Country: 'Germany', + Products: 'Mountain Bikes', + Year: 'FY 2015', + Quarter: 'Q1', + }, + { + Sold: 76, + Amount: 121258, + Country: 'France', + Products: 'Touring Bikes', + Year: 'FY 2017', + Quarter: 'Q3', + }, + { + Sold: 69, + Amount: 110089.5, + Country: 'France', + Products: 'Touring Bikes', + Year: 'FY 2016', + Quarter: 'Q3', + }, + { + Sold: 16, + Amount: 23989, + Country: 'Germany', + Products: 'Road Bikes', + Year: 'FY 2015', + Quarter: 'Q1', + }, + { + Sold: 52, + Amount: 82966, + Country: 'France', + Products: 'Touring Bikes', + Year: 'FY 2017', + Quarter: 'Q4', + }, + { + Sold: 85, + Amount: 144840, + Country: 'Germany', + Products: 'Mountain Bikes', + Year: 'FY 2017', + Quarter: 'Q1', + }, + { + Sold: 99, + Amount: 148406, + Country: 'Germany', + Products: 'Road Bikes', + Year: 'FY 2016', + Quarter: 'Q1', + }, + { + Sold: 31, + Amount: 49460.5, + Country: 'Germany', + Products: 'Touring Bikes', + Year: 'FY 2016', + Quarter: 'Q1', + }, + { + Sold: 33, + Amount: 52651.5, + Country: 'France', + Products: 'Touring Bikes', + Year: 'FY 2018', + Quarter: 'Q1', + }, + { + Sold: 41, + Amount: 61464, + Country: 'Germany', + Products: 'Road Bikes', + Year: 'FY 2017', + Quarter: 'Q1', + }, + { + Sold: 64, + Amount: 102112, + Country: 'Germany', + Products: 'Touring Bikes', + Year: 'FY 2017', + Quarter: 'Q1', + }, + { + Sold: 57, + Amount: 97128, + Country: 'Germany', + Products: 'Mountain Bikes', + Year: 'FY 2016', + Quarter: 'Q1', + }, + { + Sold: 39, + Amount: 66456, + Country: 'Germany', + Products: 'Mountain Bikes', + Year: 'FY 2016', + Quarter: 'Q3', + }, + { + Sold: 76, + Amount: 129504, + Country: 'Germany', + Products: 'Mountain Bikes', + Year: 'FY 2018', + Quarter: 'Q1', + }, + { + Sold: 33, + Amount: 56232, + Country: 'Germany', + Products: 'Mountain Bikes', + Year: 'FY 2015', + Quarter: 'Q2', + }, + { + Sold: 81, + Amount: 138024, + Country: 'Germany', + Products: 'Mountain Bikes', + Year: 'FY 2017', + Quarter: 'Q2', + }, + { + Sold: 65, + Amount: 110760, + Country: 'Germany', + Products: 'Mountain Bikes', + Year: 'FY 2015', + Quarter: 'Q3', + }, + { + Sold: 47, + Amount: 70458, + Country: 'Germany', + Products: 'Road Bikes', + Year: 'FY 2015', + Quarter: 'Q2', + }, + { + Sold: 91, + Amount: 155064, + Country: 'Germany', + Products: 'Mountain Bikes', + Year: 'FY 2017', + Quarter: 'Q3', + }, + { + Sold: 16, + Amount: 27264, + Country: 'Germany', + Products: 'Mountain Bikes', + Year: 'FY 2015', + Quarter: 'Q4', + }, + { + Sold: 71, + Amount: 120984, + Country: 'Germany', + Products: 'Mountain Bikes', + Year: 'FY 2016', + Quarter: 'Q2', + }, + { + Sold: 36, + Amount: 61344, + Country: 'Germany', + Products: 'Mountain Bikes', + Year: 'FY 2017', + Quarter: 'Q4', + }, + { + Sold: 39, + Amount: 58466, + Country: 'Germany', + Products: 'Road Bikes', + Year: 'FY 2018', + Quarter: 'Q1', + }, + { + Sold: 59, + Amount: 100536, + Country: 'Germany', + Products: 'Mountain Bikes', + Year: 'FY 2016', + Quarter: 'Q4', + }, + { + Sold: 83, + Amount: 124422, + Country: 'Germany', + Products: 'Road Bikes', + Year: 'FY 2015', + Quarter: 'Q4', + }, + { + Sold: 19, + Amount: 28486, + Country: 'Germany', + Products: 'Road Bikes', + Year: 'FY 2016', + Quarter: 'Q2', + }, + { + Sold: 34, + Amount: 50971, + Country: 'Germany', + Products: 'Road Bikes', + Year: 'FY 2017', + Quarter: 'Q2', + }, + { + Sold: 26, + Amount: 38979, + Country: 'Germany', + Products: 'Road Bikes', + Year: 'FY 2016', + Quarter: 'Q3', + }, + { + Sold: 15, + Amount: 22490, + Country: 'Germany', + Products: 'Road Bikes', + Year: 'FY 2017', + Quarter: 'Q3', + }, + { + Sold: 13, + Amount: 20741.5, + Country: 'Germany', + Products: 'Touring Bikes', + Year: 'FY 2017', + Quarter: 'Q2', + }, + { + Sold: 79, + Amount: 118426, + Country: 'Germany', + Products: 'Road Bikes', + Year: 'FY 2016', + Quarter: 'Q4', + }, + { + Sold: 14, + Amount: 20991, + Country: 'Germany', + Products: 'Road Bikes', + Year: 'FY 2017', + Quarter: 'Q4', + }, + { + Sold: 34, + Amount: 50971, + Country: 'Germany', + Products: 'Road Bikes', + Year: 'FY 2015', + Quarter: 'Q3', + }, + { + Sold: 47, + Amount: 74988.5, + Country: 'Germany', + Products: 'Touring Bikes', + Year: 'FY 2015', + Quarter: 'Q2', + }, + { + Sold: 93, + Amount: 148381.5, + Country: 'Germany', + Products: 'Touring Bikes', + Year: 'FY 2016', + Quarter: 'Q2', + }, + { + Sold: 15, + Amount: 23932.5, + Country: 'Germany', + Products: 'Touring Bikes', + Year: 'FY 2018', + Quarter: 'Q1', + }, + { + Sold: 48, + Amount: 76584, + Country: 'Germany', + Products: 'Touring Bikes', + Year: 'FY 2015', + Quarter: 'Q4', + }, + { + Sold: 44, + Amount: 70202, + Country: 'Germany', + Products: 'Touring Bikes', + Year: 'FY 2015', + Quarter: 'Q3', + }, + { + Sold: 59, + Amount: 94134.5, + Country: 'Germany', + Products: 'Touring Bikes', + Year: 'FY 2016', + Quarter: 'Q3', + }, + { + Sold: 77, + Amount: 131208, + Country: 'United Kingdom', + Products: 'Mountain Bikes', + Year: 'FY 2015', + Quarter: 'Q1', + }, + { + Sold: 84, + Amount: 143136, + Country: 'United Kingdom', + Products: 'Mountain Bikes', + Year: 'FY 2017', + Quarter: 'Q3', + }, + { + Sold: 34, + Amount: 54247, + Country: 'Germany', + Products: 'Touring Bikes', + Year: 'FY 2017', + Quarter: 'Q3', + }, + { + Sold: 56, + Amount: 95424, + Country: 'United Kingdom', + Products: 'Mountain Bikes', + Year: 'FY 2016', + Quarter: 'Q2', + }, + { + Sold: 35, + Amount: 55842.5, + Country: 'Germany', + Products: 'Touring Bikes', + Year: 'FY 2016', + Quarter: 'Q4', + }, + { + Sold: 71, + Amount: 113280.5, + Country: 'Germany', + Products: 'Touring Bikes', + Year: 'FY 2017', + Quarter: 'Q4', + }, + { + Sold: 91, + Amount: 155064, + Country: 'United Kingdom', + Products: 'Mountain Bikes', + Year: 'FY 2015', + Quarter: 'Q4', + }, + { + Sold: 90, + Amount: 153360, + Country: 'United Kingdom', + Products: 'Mountain Bikes', + Year: 'FY 2016', + Quarter: 'Q1', + }, + { + Sold: 40, + Amount: 68160, + Country: 'United Kingdom', + Products: 'Mountain Bikes', + Year: 'FY 2017', + Quarter: 'Q4', + }, + { + Sold: 24, + Amount: 40896, + Country: 'United Kingdom', + Products: 'Mountain Bikes', + Year: 'FY 2017', + Quarter: 'Q1', + }, + { + Sold: 31, + Amount: 46474, + Country: 'United Kingdom', + Products: 'Road Bikes', + Year: 'FY 2015', + Quarter: 'Q2', + }, + { + Sold: 92, + Amount: 156768, + Country: 'United Kingdom', + Products: 'Mountain Bikes', + Year: 'FY 2015', + Quarter: 'Q2', + }, + { + Sold: 14, + Amount: 23856, + Country: 'United Kingdom', + Products: 'Mountain Bikes', + Year: 'FY 2016', + Quarter: 'Q3', + }, + { + Sold: 95, + Amount: 161880, + Country: 'United Kingdom', + Products: 'Mountain Bikes', + Year: 'FY 2016', + Quarter: 'Q4', + }, + { + Sold: 51, + Amount: 86904, + Country: 'United Kingdom', + Products: 'Mountain Bikes', + Year: 'FY 2015', + Quarter: 'Q3', + }, + { + Sold: 39, + Amount: 66456, + Country: 'United Kingdom', + Products: 'Mountain Bikes', + Year: 'FY 2017', + Quarter: 'Q2', + }, + { + Sold: 36, + Amount: 53969, + Country: 'United States', + Products: 'Road Bikes', + Year: 'FY 2015', + Quarter: 'Q2', + }, + { + Sold: 86, + Amount: 128919, + Country: 'United States', + Products: 'Road Bikes', + Year: 'FY 2015', + Quarter: 'Q1', + }, + { + Sold: 40, + Amount: 59965, + Country: 'United Kingdom', + Products: 'Road Bikes', + Year: 'FY 2015', + Quarter: 'Q3', + }, + { + Sold: 96, + Amount: 163584, + Country: 'United Kingdom', + Products: 'Mountain Bikes', + Year: 'FY 2018', + Quarter: 'Q1', + }, + { + Sold: 24, + Amount: 35981, + Country: 'United Kingdom', + Products: 'Road Bikes', + Year: 'FY 2015', + Quarter: 'Q1', + }, + { + Sold: 97, + Amount: 145408, + Country: 'United Kingdom', + Products: 'Road Bikes', + Year: 'FY 2016', + Quarter: 'Q2', + }, + { + Sold: 69, + Amount: 103436, + Country: 'United States', + Products: 'Road Bikes', + Year: 'FY 2015', + Quarter: 'Q3', + }, + { + Sold: 95, + Amount: 142410, + Country: 'United Kingdom', + Products: 'Road Bikes', + Year: 'FY 2015', + Quarter: 'Q4', + }, + { + Sold: 30, + Amount: 44975, + Country: 'United Kingdom', + Products: 'Road Bikes', + Year: 'FY 2016', + Quarter: 'Q1', + }, + { + Sold: 11, + Amount: 16494, + Country: 'United States', + Products: 'Road Bikes', + Year: 'FY 2016', + Quarter: 'Q1', + }, + { + Sold: 95, + Amount: 142410, + Country: 'United States', + Products: 'Road Bikes', + Year: 'FY 2015', + Quarter: 'Q4', + }, + { + Sold: 11, + Amount: 16494, + Country: 'United Kingdom', + Products: 'Road Bikes', + Year: 'FY 2016', + Quarter: 'Q4', + }, + { + Sold: 27, + Amount: 40478, + Country: 'United States', + Products: 'Road Bikes', + Year: 'FY 2016', + Quarter: 'Q4', + }, + { + Sold: 68, + Amount: 101937, + Country: 'United States', + Products: 'Road Bikes', + Year: 'FY 2016', + Quarter: 'Q3', + }, + { + Sold: 100, + Amount: 149905, + Country: 'United Kingdom', + Products: 'Road Bikes', + Year: 'FY 2017', + Quarter: 'Q3', + }, + { + Sold: 45, + Amount: 67460, + Country: 'United Kingdom', + Products: 'Road Bikes', + Year: 'FY 2017', + Quarter: 'Q1', + }, + { + Sold: 16, + Amount: 23989, + Country: 'United States', + Products: 'Road Bikes', + Year: 'FY 2016', + Quarter: 'Q2', + }, + { + Sold: 40, + Amount: 59965, + Country: 'United Kingdom', + Products: 'Road Bikes', + Year: 'FY 2016', + Quarter: 'Q3', + }, + { + Sold: 18, + Amount: 26987, + Country: 'United States', + Products: 'Road Bikes', + Year: 'FY 2017', + Quarter: 'Q3', + }, + { + Sold: 70, + Amount: 104935, + Country: 'United Kingdom', + Products: 'Road Bikes', + Year: 'FY 2017', + Quarter: 'Q4', + }, + { + Sold: 43, + Amount: 73272, + Country: 'United States', + Products: 'Mountain Bikes', + Year: 'FY 2015', + Quarter: 'Q1', + }, + { + Sold: 43, + Amount: 73272, + Country: 'United States', + Products: 'Mountain Bikes', + Year: 'FY 2015', + Quarter: 'Q2', + }, + { + Sold: 83, + Amount: 124422, + Country: 'United States', + Products: 'Road Bikes', + Year: 'FY 2017', + Quarter: 'Q2', + }, + { + Sold: 52, + Amount: 88608, + Country: 'United States', + Products: 'Mountain Bikes', + Year: 'FY 2015', + Quarter: 'Q3', + }, + { + Sold: 91, + Amount: 155064, + Country: 'United States', + Products: 'Mountain Bikes', + Year: 'FY 2015', + Quarter: 'Q4', + }, + { + Sold: 100, + Amount: 149905, + Country: 'United States', + Products: 'Road Bikes', + Year: 'FY 2017', + Quarter: 'Q1', + }, + { + Sold: 70, + Amount: 104935, + Country: 'United Kingdom', + Products: 'Road Bikes', + Year: 'FY 2017', + Quarter: 'Q2', + }, + { + Sold: 37, + Amount: 63048, + Country: 'United States', + Products: 'Mountain Bikes', + Year: 'FY 2016', + Quarter: 'Q1', + }, + { + Sold: 41, + Amount: 69864, + Country: 'United States', + Products: 'Mountain Bikes', + Year: 'FY 2016', + Quarter: 'Q2', + }, + { + Sold: 99, + Amount: 148406, + Country: 'United States', + Products: 'Road Bikes', + Year: 'FY 2018', + Quarter: 'Q1', + }, + { + Sold: 67, + Amount: 114168, + Country: 'United States', + Products: 'Mountain Bikes', + Year: 'FY 2017', + Quarter: 'Q1', + }, + { + Sold: 41, + Amount: 65415.5, + Country: 'United States', + Products: 'Touring Bikes', + Year: 'FY 2015', + Quarter: 'Q1', + }, + { + Sold: 81, + Amount: 121424, + Country: 'United States', + Products: 'Road Bikes', + Year: 'FY 2017', + Quarter: 'Q4', + }, + { + Sold: 20, + Amount: 29985, + Country: 'United Kingdom', + Products: 'Road Bikes', + Year: 'FY 2018', + Quarter: 'Q1', + }, + { + Sold: 85, + Amount: 144840, + Country: 'United States', + Products: 'Mountain Bikes', + Year: 'FY 2017', + Quarter: 'Q2', + }, + { + Sold: 49, + Amount: 83496, + Country: 'United States', + Products: 'Mountain Bikes', + Year: 'FY 2016', + Quarter: 'Q3', + }, + { + Sold: 23, + Amount: 39192, + Country: 'United States', + Products: 'Mountain Bikes', + Year: 'FY 2016', + Quarter: 'Q4', + }, + { + Sold: 34, + Amount: 54247, + Country: 'United States', + Products: 'Touring Bikes', + Year: 'FY 2015', + Quarter: 'Q4', + }, + { + Sold: 53, + Amount: 90312, + Country: 'United States', + Products: 'Mountain Bikes', + Year: 'FY 2018', + Quarter: 'Q1', + }, + { + Sold: 82, + Amount: 130831, + Country: 'United Kingdom', + Products: 'Touring Bikes', + Year: 'FY 2015', + Quarter: 'Q1', + }, + { + Sold: 60, + Amount: 95730, + Country: 'United Kingdom', + Products: 'Touring Bikes', + Year: 'FY 2015', + Quarter: 'Q2', + }, + { + Sold: 71, + Amount: 113280.5, + Country: 'United States', + Products: 'Touring Bikes', + Year: 'FY 2015', + Quarter: 'Q2', + }, + { + Sold: 25, + Amount: 42600, + Country: 'United States', + Products: 'Mountain Bikes', + Year: 'FY 2017', + Quarter: 'Q3', + }, + { + Sold: 28, + Amount: 47712, + Country: 'United States', + Products: 'Mountain Bikes', + Year: 'FY 2017', + Quarter: 'Q4', + }, + { + Sold: 21, + Amount: 33505.5, + Country: 'United States', + Products: 'Touring Bikes', + Year: 'FY 2015', + Quarter: 'Q3', + }, + { + Sold: 94, + Amount: 149977, + Country: 'United Kingdom', + Products: 'Touring Bikes', + Year: 'FY 2015', + Quarter: 'Q4', + }, + { + Sold: 45, + Amount: 71797.5, + Country: 'United Kingdom', + Products: 'Touring Bikes', + Year: 'FY 2015', + Quarter: 'Q3', + }, + { + Sold: 75, + Amount: 119662.5, + Country: 'United States', + Products: 'Touring Bikes', + Year: 'FY 2016', + Quarter: 'Q2', + }, + { + Sold: 49, + Amount: 78179.5, + Country: 'United Kingdom', + Products: 'Touring Bikes', + Year: 'FY 2016', + Quarter: 'Q3', + }, + { + Sold: 50, + Amount: 79775, + Country: 'United Kingdom', + Products: 'Touring Bikes', + Year: 'FY 2016', + Quarter: 'Q2', + }, + { + Sold: 56, + Amount: 89348, + Country: 'United States', + Products: 'Touring Bikes', + Year: 'FY 2017', + Quarter: 'Q1', + }, + { + Sold: 40, + Amount: 63820, + Country: 'United States', + Products: 'Touring Bikes', + Year: 'FY 2016', + Quarter: 'Q3', + }, + { + Sold: 14, + Amount: 22337, + Country: 'United Kingdom', + Products: 'Touring Bikes', + Year: 'FY 2016', + Quarter: 'Q1', + }, + { + Sold: 76, + Amount: 121258, + Country: 'United States', + Products: 'Touring Bikes', + Year: 'FY 2016', + Quarter: 'Q1', + }, + { + Sold: 75, + Amount: 119662.5, + Country: 'United Kingdom', + Products: 'Touring Bikes', + Year: 'FY 2017', + Quarter: 'Q2', + }, + { + Sold: 11, + Amount: 17550.5, + Country: 'United States', + Products: 'Touring Bikes', + Year: 'FY 2017', + Quarter: 'Q2', + }, + { + Sold: 94, + Amount: 149977, + Country: 'United Kingdom', + Products: 'Touring Bikes', + Year: 'FY 2016', + Quarter: 'Q4', + }, + { + Sold: 80, + Amount: 127640, + Country: 'United States', + Products: 'Touring Bikes', + Year: 'FY 2018', + Quarter: 'Q1', + }, + { + Sold: 54, + Amount: 86157, + Country: 'United Kingdom', + Products: 'Touring Bikes', + Year: 'FY 2017', + Quarter: 'Q3', + }, + { + Sold: 14, + Amount: 22337, + Country: 'United States', + Products: 'Touring Bikes', + Year: 'FY 2017', + Quarter: 'Q3', + }, + { + Sold: 17, + Amount: 27123.5, + Country: 'United States', + Products: 'Touring Bikes', + Year: 'FY 2016', + Quarter: 'Q4', + }, + { + Sold: 45, + Amount: 71797.5, + Country: 'United Kingdom', + Products: 'Touring Bikes', + Year: 'FY 2017', + Quarter: 'Q1', + }, + { + Sold: 76, + Amount: 121258, + Country: 'United States', + Products: 'Touring Bikes', + Year: 'FY 2017', + Quarter: 'Q4', + }, + { + Sold: 45, + Amount: 71797.5, + Country: 'United Kingdom', + Products: 'Touring Bikes', + Year: 'FY 2018', + Quarter: 'Q1', + }, + { + Sold: 11, + Amount: 17550.5, + Country: 'United Kingdom', + Products: 'Touring Bikes', + Year: 'FY 2017', + Quarter: 'Q4', + }, +]; \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs43/es5-datasource.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs43/es5-datasource.js new file mode 100644 index 000000000..2621ab2fa --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs43/es5-datasource.js @@ -0,0 +1,157 @@ +var pivotData = [ + { 'Sold': 25, 'Amount': 42600, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 27, 'Amount': 46008, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 49, 'Amount': 83496, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 31, 'Amount': 52824, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 51, 'Amount': 86904, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 95, 'Amount': 161880, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 93, 'Amount': 139412, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 35, 'Amount': 52470, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 16, 'Amount': 27264, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 69, 'Amount': 117576, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 75, 'Amount': 127800, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 20, 'Amount': 29985, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 83, 'Amount': 124422, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 16, 'Amount': 23989, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 48, 'Amount': 71957, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 57, 'Amount': 85448, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 25, 'Amount': 37480, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 69, 'Amount': 103436, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 36, 'Amount': 53969, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 75, 'Amount': 119662.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 19, 'Amount': 28486, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 91, 'Amount': 145190.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 24, 'Amount': 38292, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 94, 'Amount': 149977, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 100, 'Amount': 159550, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 30, 'Amount': 47865, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 89, 'Amount': 141999.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 25, 'Amount': 39887.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 42, 'Amount': 67011, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 21, 'Amount': 33505.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 74, 'Amount': 126096, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 76, 'Amount': 121258, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 69, 'Amount': 110089.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 16, 'Amount': 23989, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 52, 'Amount': 82966, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 85, 'Amount': 144840, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 99, 'Amount': 148406, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 31, 'Amount': 49460.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 33, 'Amount': 52651.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 41, 'Amount': 61464, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 64, 'Amount': 102112, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 57, 'Amount': 97128, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 39, 'Amount': 66456, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 76, 'Amount': 129504, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 33, 'Amount': 56232, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 81, 'Amount': 138024, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 65, 'Amount': 110760, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 47, 'Amount': 70458, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 91, 'Amount': 155064, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 16, 'Amount': 27264, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 71, 'Amount': 120984, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 36, 'Amount': 61344, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 39, 'Amount': 58466, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 59, 'Amount': 100536, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 83, 'Amount': 124422, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 19, 'Amount': 28486, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 26, 'Amount': 38979, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 15, 'Amount': 22490, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 13, 'Amount': 20741.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 79, 'Amount': 118426, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 14, 'Amount': 20991, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 47, 'Amount': 74988.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 93, 'Amount': 148381.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 15, 'Amount': 23932.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 48, 'Amount': 76584, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 44, 'Amount': 70202, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 59, 'Amount': 94134.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 77, 'Amount': 131208, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 84, 'Amount': 143136, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 34, 'Amount': 54247, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 56, 'Amount': 95424, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 35, 'Amount': 55842.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 71, 'Amount': 113280.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 91, 'Amount': 155064, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 90, 'Amount': 153360, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 40, 'Amount': 68160, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 24, 'Amount': 40896, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 31, 'Amount': 46474, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 92, 'Amount': 156768, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 14, 'Amount': 23856, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 95, 'Amount': 161880, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 51, 'Amount': 86904, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 39, 'Amount': 66456, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 36, 'Amount': 53969, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 86, 'Amount': 128919, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 96, 'Amount': 163584, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 24, 'Amount': 35981, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 97, 'Amount': 145408, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 69, 'Amount': 103436, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 95, 'Amount': 142410, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 30, 'Amount': 44975, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 11, 'Amount': 16494, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 95, 'Amount': 142410, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 11, 'Amount': 16494, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 27, 'Amount': 40478, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 68, 'Amount': 101937, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 100, 'Amount': 149905, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 45, 'Amount': 67460, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 16, 'Amount': 23989, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 18, 'Amount': 26987, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 83, 'Amount': 124422, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 52, 'Amount': 88608, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 91, 'Amount': 155064, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 100, 'Amount': 149905, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 37, 'Amount': 63048, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 41, 'Amount': 69864, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 99, 'Amount': 148406, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 67, 'Amount': 114168, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 41, 'Amount': 65415.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 81, 'Amount': 121424, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 20, 'Amount': 29985, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 85, 'Amount': 144840, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 49, 'Amount': 83496, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 23, 'Amount': 39192, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 34, 'Amount': 54247, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 53, 'Amount': 90312, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 82, 'Amount': 130831, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 60, 'Amount': 95730, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 71, 'Amount': 113280.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 25, 'Amount': 42600, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 28, 'Amount': 47712, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 21, 'Amount': 33505.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 49, 'Amount': 78179.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 50, 'Amount': 79775, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 56, 'Amount': 89348, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 40, 'Amount': 63820, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 14, 'Amount': 22337, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 80, 'Amount': 127640, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 54, 'Amount': 86157, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 14, 'Amount': 22337, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 17, 'Amount': 27123.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }]; \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs43/index.css b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs43/index.css new file mode 100644 index 000000000..a2b083f54 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs43/index.css @@ -0,0 +1,12 @@ +#container { + visibility: hidden; +} + +#loader { + color: #008cff; + height: 40px; + width: 30%; + position: absolute; + top: 45%; + left: 45%; +} diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs43/index.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs43/index.js new file mode 100644 index 000000000..374abdb3f --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs43/index.js @@ -0,0 +1,33 @@ +var pivotGridObj = new ej.pivotview.PivotView({ + dataSourceSettings: { + dataSource: pivotData, + enableSorting: true, + columns: [{ name: 'Year' }], + values: [ + { name: 'Sold', caption: 'Units Sold' }, + { name: 'Amount', caption: 'Sold Amount' }, + ], + rows: [{ name: 'Country' }, { name: 'Products' }], + formatSettings: [{ name: 'Amount', format: 'C0' }], + expandAll: false, + filters: [] + }, + height: 300, + allowPdfExport: true, + beforeExport: function (args) { + let drilledMembers = pivotGridObj.dataSourceSettings.drilledMembers; + pivotGridObj.setProperties({ dataSourceSettings: { expandAll: true, drilledMembers: [] } }, true); + pivotGridObj.engineModule.generateGridData(pivotGridObj.dataSourceSettings, true); + args.dataCollections = [pivotGridObj.engineModule.pivotValues]; + pivotGridObj.setProperties({ dataSourceSettings: { expandAll: false, drilledMembers: drilledMembers } }, true); + } +}); +pivotGridObj.appendTo('#PivotView'); + +var exportBtn = new ej.buttons.Button({ isPrimary: true }); +exportBtn.appendTo('#pdf'); + +document.getElementById('pdf').onclick = function () { + pivotGridObj.pdfExport(); +}; + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs43/index.ts b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs43/index.ts new file mode 100644 index 000000000..78d481d93 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs43/index.ts @@ -0,0 +1,38 @@ +import { PivotView, IDataSet, PDFExport, BeforeExportEventArgs } from '@syncfusion/ej2-pivotview'; +import { pivotData } from './datasource.ts'; +import { Button } from '@syncfusion/ej2-buttons'; + +//335 or 315 +PivotView.Inject(PDFExport); +let pivotGridObj: PivotView = new PivotView({ + dataSourceSettings: { + dataSource: pivotData as IDataSet[], + enableSorting: true, + columns: [{ name: 'Year' }, { name: 'Quarter' }], + values: [ + { name: 'Sold', caption: 'Units Sold' }, + { name: 'Amount', caption: 'Sold Amount' }, + ], + rows: [{ name: 'Country' }, { name: 'Products' }], + formatSettings: [{ name: 'Amount', format: 'C0' }], + expandAll: false, + filters: [] + }, + width: '100%', + height: 400, + allowPdfExport: true, + beforeExport: function (args: BeforeExportEventArgs): void { + let drilledMembers = pivotGridObj.dataSourceSettings.drilledMembers; + pivotGridObj.setProperties({ dataSourceSettings: { expandAll: true, drilledMembers: [] } }, true); + pivotGridObj.engineModule.generateGridData(pivotGridObj.dataSourceSettings, true); + args.dataCollections = [pivotGridObj.engineModule.pivotValues]; + pivotGridObj.setProperties({ dataSourceSettings: { expandAll: false, drilledMembers: drilledMembers } }, true); + } +}); +pivotGridObj.appendTo('#PivotView'); +let exportBtn: Button = new Button({ isPrimary: true }); +exportBtn.appendTo('#pdf'); + +document.getElementById('pdf').onclick = function () { + pivotGridObj.pdfExport(); +}; \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs43/js/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs43/js/index.html new file mode 100644 index 000000000..dff4ca1b5 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs43/js/index.html @@ -0,0 +1,44 @@ + + + + + EJ2 Pivot Grid + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs43/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs43/systemjs.config.js new file mode 100644 index 000000000..981462b0c --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs43/systemjs.config.js @@ -0,0 +1,44 @@ +System.config({ + transpiler: "typescript", + typescriptOptions: { + compilerOptions: { + target: "umd", + module: "commonjs", + moduleResolution: "node", + emitDecoratorMetadata: true, + experimentalDecorators: true + } + }, + paths: { + "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/" + }, + map: { + main: "index.ts", + typescript: "https://unpkg.com/typescript@2.2.2/lib/typescript.js", + 'plugin-json': 'https://cdnjs.cloudflare.com/ajax/libs/systemjs-plugin-json/0.3.0/json.min.js', + "@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js", + "@syncfusion/ej2-data": "syncfusion:ej2-data/dist/ej2-data.umd.min.js", + "@syncfusion/ej2-inputs": "syncfusion:ej2-inputs/dist/ej2-inputs.umd.min.js", + "@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js", + "@syncfusion/ej2-splitbuttons": "syncfusion:ej2-splitbuttons/dist/ej2-splitbuttons.umd.min.js", + "@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js", + "@syncfusion/ej2-navigations": "syncfusion:ej2-navigations/dist/ej2-navigations.umd.min.js", + "@syncfusion/ej2-grids": "syncfusion:ej2-grids/dist/ej2-grids.umd.min.js", + "@syncfusion/ej2-charts": "syncfusion:ej2-charts/dist/ej2-charts.umd.min.js", + "@syncfusion/ej2-svg-base": "syncfusion:ej2-svg-base/dist/ej2-svg-base.umd.min.js", + "@syncfusion/ej2-dropdowns": "syncfusion:ej2-dropdowns/dist/ej2-dropdowns.umd.min.js", + "@syncfusion/ej2-calendars": "syncfusion:ej2-calendars/dist/ej2-calendars.umd.min.js", + "@syncfusion/ej2-lists": "syncfusion:ej2-lists/dist/ej2-lists.umd.min.js", + "@syncfusion/ej2-excel-export": "syncfusion:ej2-excel-export/dist/ej2-excel-export.umd.min.js", + "@syncfusion/ej2-pdf-export": "syncfusion:ej2-pdf-export/dist/ej2-pdf-export.umd.min.js", + "@syncfusion/ej2-file-utils": "syncfusion:ej2-file-utils/dist/ej2-file-utils.umd.min.js", + "@syncfusion/ej2-compression": "syncfusion:ej2-compression/dist/ej2-compression.umd.min.js", + "@syncfusion/ej2-pivotview": "syncfusion:ej2-pivotview/dist/ej2-pivotview.umd.min.js", + "@syncfusion/ej2-notifications":"syncfusion:ej2-notifications/dist/ej2-notifications.umd.min.js", + } +}); + +System.import('index.ts').catch(console.error.bind(console)).then(function () { + document.getElementById('loader').style.display = "none"; + document.getElementById('container').style.visibility = "visible"; +}); \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs43/ts/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs43/ts/index.html new file mode 100644 index 000000000..4bbfb54b0 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs43/ts/index.html @@ -0,0 +1,34 @@ + + + + + EJ2 Pivot Grid + + + + + + + + + + + + + + + + + + + + + +
Loading....
+
+ +
+
+ + + \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs44/datasource.ts b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs44/datasource.ts new file mode 100644 index 000000000..346b44daa --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs44/datasource.ts @@ -0,0 +1,157 @@ +export let pivotData: Object[] = [ + { 'Sold': 31, 'Amount': 52824, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 51, 'Amount': 86904, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 25, 'Amount': 42600, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 27, 'Amount': 46008, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 49, 'Amount': 83496, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 95, 'Amount': 161880, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 75, 'Amount': 127800, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 69, 'Amount': 117576, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 16, 'Amount': 27264, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 83, 'Amount': 124422, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 57, 'Amount': 85448, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 20, 'Amount': 29985, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 93, 'Amount': 139412, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 35, 'Amount': 52470, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 48, 'Amount': 71957, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 36, 'Amount': 53969, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 25, 'Amount': 37480, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 69, 'Amount': 103436, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 16, 'Amount': 23989, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 19, 'Amount': 28486, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 89, 'Amount': 141999.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 91, 'Amount': 145190.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 24, 'Amount': 38292, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 75, 'Amount': 119662.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 100, 'Amount': 159550, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 30, 'Amount': 47865, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 69, 'Amount': 110089.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 25, 'Amount': 39887.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 42, 'Amount': 67011, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 94, 'Amount': 149977, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 76, 'Amount': 121258, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 52, 'Amount': 82966, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 33, 'Amount': 52651.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 16, 'Amount': 23989, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 21, 'Amount': 33505.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 74, 'Amount': 126096, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 99, 'Amount': 148406, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 31, 'Amount': 49460.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 57, 'Amount': 97128, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 41, 'Amount': 61464, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 64, 'Amount': 102112, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 85, 'Amount': 144840, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 76, 'Amount': 129504, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 33, 'Amount': 56232, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 71, 'Amount': 120984, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 81, 'Amount': 138024, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 65, 'Amount': 110760, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 39, 'Amount': 66456, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 91, 'Amount': 155064, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 16, 'Amount': 27264, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 59, 'Amount': 100536, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 36, 'Amount': 61344, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 39, 'Amount': 58466, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 47, 'Amount': 70458, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 19, 'Amount': 28486, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 26, 'Amount': 38979, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 15, 'Amount': 22490, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 83, 'Amount': 124422, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 79, 'Amount': 118426, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 14, 'Amount': 20991, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 15, 'Amount': 23932.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 47, 'Amount': 74988.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 93, 'Amount': 148381.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 13, 'Amount': 20741.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 44, 'Amount': 70202, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 59, 'Amount': 94134.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 34, 'Amount': 54247, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 48, 'Amount': 76584, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 35, 'Amount': 55842.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 71, 'Amount': 113280.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 77, 'Amount': 131208, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 92, 'Amount': 156768, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 51, 'Amount': 86904, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 91, 'Amount': 155064, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 90, 'Amount': 153360, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 56, 'Amount': 95424, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 14, 'Amount': 23856, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 95, 'Amount': 161880, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 24, 'Amount': 40896, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 39, 'Amount': 66456, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 84, 'Amount': 143136, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 40, 'Amount': 68160, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 96, 'Amount': 163584, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 24, 'Amount': 35981, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 86, 'Amount': 128919, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 31, 'Amount': 46474, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 36, 'Amount': 53969, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 69, 'Amount': 103436, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 95, 'Amount': 142410, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 95, 'Amount': 142410, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 30, 'Amount': 44975, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 11, 'Amount': 16494, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 97, 'Amount': 145408, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 16, 'Amount': 23989, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 68, 'Amount': 101937, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 11, 'Amount': 16494, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 27, 'Amount': 40478, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 45, 'Amount': 67460, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 100, 'Amount': 149905, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 83, 'Amount': 124422, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 100, 'Amount': 149905, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 18, 'Amount': 26987, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 81, 'Amount': 121424, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 20, 'Amount': 29985, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 99, 'Amount': 148406, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 52, 'Amount': 88608, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 91, 'Amount': 155064, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 37, 'Amount': 63048, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 41, 'Amount': 69864, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 49, 'Amount': 83496, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 23, 'Amount': 39192, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 67, 'Amount': 114168, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 85, 'Amount': 144840, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 25, 'Amount': 42600, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 28, 'Amount': 47712, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 53, 'Amount': 90312, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 82, 'Amount': 130831, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 41, 'Amount': 65415.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 60, 'Amount': 95730, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 71, 'Amount': 113280.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 21, 'Amount': 33505.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 34, 'Amount': 54247, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 14, 'Amount': 22337, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 50, 'Amount': 79775, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 49, 'Amount': 78179.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 40, 'Amount': 63820, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 17, 'Amount': 27123.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 56, 'Amount': 89348, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 54, 'Amount': 86157, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 14, 'Amount': 22337, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 80, 'Amount': 127640, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }]; diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs44/es5-datasource.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs44/es5-datasource.js new file mode 100644 index 000000000..bd3582292 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs44/es5-datasource.js @@ -0,0 +1,157 @@ +var pivotData = [ + { 'Sold': 25, 'Amount': 42600, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 27, 'Amount': 46008, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 49, 'Amount': 83496, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 31, 'Amount': 52824, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 51, 'Amount': 86904, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 95, 'Amount': 161880, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 93, 'Amount': 139412, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 35, 'Amount': 52470, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 16, 'Amount': 27264, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 69, 'Amount': 117576, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 75, 'Amount': 127800, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 20, 'Amount': 29985, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 83, 'Amount': 124422, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 16, 'Amount': 23989, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 48, 'Amount': 71957, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 57, 'Amount': 85448, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 25, 'Amount': 37480, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 69, 'Amount': 103436, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 36, 'Amount': 53969, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 75, 'Amount': 119662.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 19, 'Amount': 28486, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 91, 'Amount': 145190.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 24, 'Amount': 38292, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 94, 'Amount': 149977, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 100, 'Amount': 159550, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 30, 'Amount': 47865, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 89, 'Amount': 141999.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 25, 'Amount': 39887.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 42, 'Amount': 67011, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 21, 'Amount': 33505.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 74, 'Amount': 126096, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 76, 'Amount': 121258, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 69, 'Amount': 110089.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 16, 'Amount': 23989, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 52, 'Amount': 82966, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 85, 'Amount': 144840, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 99, 'Amount': 148406, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 31, 'Amount': 49460.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 33, 'Amount': 52651.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 41, 'Amount': 61464, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 64, 'Amount': 102112, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 57, 'Amount': 97128, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 39, 'Amount': 66456, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 76, 'Amount': 129504, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 33, 'Amount': 56232, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 81, 'Amount': 138024, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 65, 'Amount': 110760, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 47, 'Amount': 70458, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 91, 'Amount': 155064, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 16, 'Amount': 27264, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 71, 'Amount': 120984, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 36, 'Amount': 61344, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 39, 'Amount': 58466, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 59, 'Amount': 100536, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 83, 'Amount': 124422, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 19, 'Amount': 28486, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 26, 'Amount': 38979, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 15, 'Amount': 22490, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 13, 'Amount': 20741.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 79, 'Amount': 118426, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 14, 'Amount': 20991, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 47, 'Amount': 74988.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 93, 'Amount': 148381.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 15, 'Amount': 23932.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 48, 'Amount': 76584, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 44, 'Amount': 70202, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 59, 'Amount': 94134.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 77, 'Amount': 131208, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 84, 'Amount': 143136, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 34, 'Amount': 54247, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 56, 'Amount': 95424, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 35, 'Amount': 55842.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 71, 'Amount': 113280.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 91, 'Amount': 155064, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 90, 'Amount': 153360, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 40, 'Amount': 68160, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 24, 'Amount': 40896, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 31, 'Amount': 46474, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 92, 'Amount': 156768, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 14, 'Amount': 23856, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 95, 'Amount': 161880, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 51, 'Amount': 86904, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 39, 'Amount': 66456, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 36, 'Amount': 53969, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 86, 'Amount': 128919, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 96, 'Amount': 163584, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 24, 'Amount': 35981, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 97, 'Amount': 145408, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 69, 'Amount': 103436, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 95, 'Amount': 142410, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 30, 'Amount': 44975, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 11, 'Amount': 16494, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 95, 'Amount': 142410, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 11, 'Amount': 16494, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 27, 'Amount': 40478, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 68, 'Amount': 101937, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 100, 'Amount': 149905, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 45, 'Amount': 67460, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 16, 'Amount': 23989, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 18, 'Amount': 26987, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 83, 'Amount': 124422, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 52, 'Amount': 88608, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 91, 'Amount': 155064, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 100, 'Amount': 149905, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 37, 'Amount': 63048, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 41, 'Amount': 69864, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 99, 'Amount': 148406, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 67, 'Amount': 114168, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 41, 'Amount': 65415.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 81, 'Amount': 121424, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 20, 'Amount': 29985, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 85, 'Amount': 144840, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 49, 'Amount': 83496, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 23, 'Amount': 39192, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 34, 'Amount': 54247, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 53, 'Amount': 90312, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 82, 'Amount': 130831, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 60, 'Amount': 95730, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 71, 'Amount': 113280.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 25, 'Amount': 42600, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 28, 'Amount': 47712, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 21, 'Amount': 33505.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 49, 'Amount': 78179.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 50, 'Amount': 79775, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 56, 'Amount': 89348, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 40, 'Amount': 63820, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 14, 'Amount': 22337, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 80, 'Amount': 127640, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 54, 'Amount': 86157, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 14, 'Amount': 22337, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 17, 'Amount': 27123.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }]; diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs44/index.css b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs44/index.css new file mode 100644 index 000000000..247eeb734 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs44/index.css @@ -0,0 +1,74 @@ +#container { + visibility: hidden; +} + +#loader { + color: #008cff; + height: 40px; + width: 30%; + position: absolute; + top: 45%; + left: 45%; +} + +.e-custom-class { + color: #008cff; + text-decoration: underline; +} + +.e-custom-class:hover { + color: red; + text-decoration: none; +} + +.e-pivotview .e-columnsheader .tempwrap { + display: none; +} +.e-pivotview .e-rowsheader .tempwrap { + display: none; +} + +/* csslint ignore:start */ +@font-face { + font-family: 'e-pivot'; + src: + url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAAKAIAAAwAgT1MvMjhUSmAAAAEoAAAAVmNtYXCs3q0zAAABkAAAAEpnbHlmdaItOwAAAegAAAE0aGVhZBRYEz0AAADQAAAANmhoZWEHmQNtAAAArAAAACRobXR4D7gAAAAAAYAAAAAQbG9jYQDAAHIAAAHcAAAACm1heHABDwBBAAABCAAAACBuYW1lc0cOBgAAAxwAAAIlcG9zdK9TctUAAAVEAAAARwABAAADUv9qAFoEAAAA//4D6gABAAAAAAAAAAAAAAAAAAAABAABAAAAAQAAT8kba18PPPUACwPoAAAAANin5zgAAAAA2KfnOAAAAAAD6gPoAAAACAACAAAAAAAAAAEAAAAEADUAAQAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAQPuAZAABQAAAnoCvAAAAIwCegK8AAAB4AAxAQIAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABA4jToTQNS/2oAWgPoAJYAAAABAAAAAAAABAAAAAPoAAAD6AAAA+gAAAAAAAIAAAADAAAAFAADAAEAAAAUAAQANgAAAAgACAACAADiNOI56E3//wAA4jTiOehN//8AAAAAAAAAAQAIAAgACAAAAAEAAwACAAAAAAAAACYAcgCaAAAAAQAAAAADTAPoABUAAAkBBhY7AREUFjsBMjY1ETMyNicBJiIB3f7KCw4SxxAMqgwQxhIPC/7FCBgD3/6tDyH9wAwQEAwCQCEPAVMJAAEAAAAAA+oDTAA0AAABMx8BAR8DDwMBDwMjLwwhLwE1NzUnPwEhPwQ1PwQCXgIFCQFxBAIEAgEDBAf+ogYKBQUEAwQDAwICAQIBAQYJCf3mAgEDAgEBAh4KCAQCAQICAgIDA0wBBf7VAwQJCQkJCQf+4QQGAgEBAQIDBAQFC50DBAQDAQICCuANAgECBQIDAqcMBQQDAQAAAQAAAAADTAPoABYAAAEGFREjIgYXARYyNwE2JisBETQmKwEiAYsIxhIPDAE5CRgJATUMDhPGEAyqDAPgCAz9wCEP/q0JCQFTDyECQAwQAAAAABIA3gABAAAAAAAAAAEAAAABAAAAAAABAAcAAQABAAAAAAACAAcACAABAAAAAAADAAcADwABAAAAAAAEAAcAFgABAAAAAAAFAAsAHQABAAAAAAAGAAcAKAABAAAAAAAKACwALwABAAAAAAALABIAWwADAAEECQAAAAIAbQADAAEECQABAA4AbwADAAEECQACAA4AfQADAAEECQADAA4AiwADAAEECQAEAA4AmQADAAEECQAFABYApwADAAEECQAGAA4AvQADAAEECQAKAFgAywADAAEECQALACQBIyBlLWljb25zUmVndWxhcmUtaWNvbnNlLWljb25zVmVyc2lvbiAxLjBlLWljb25zRm9udCBnZW5lcmF0ZWQgdXNpbmcgU3luY2Z1c2lvbiBNZXRybyBTdHVkaW93d3cuc3luY2Z1c2lvbi5jb20AIABlAC0AaQBjAG8AbgBzAFIAZQBnAHUAbABhAHIAZQAtAGkAYwBvAG4AcwBlAC0AaQBjAG8AbgBzAFYAZQByAHMAaQBvAG4AIAAxAC4AMABlAC0AaQBjAG8AbgBzAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAHUAcwBpAG4AZwAgAFMAeQBuAGMAZgB1AHMAaQBvAG4AIABNAGUAdAByAG8AIABTAHQAdQBkAGkAbwB3AHcAdwAuAHMAeQBuAGMAZgB1AHMAaQBvAG4ALgBjAG8AbQAAAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQBAgEDAQQBBQADVXAxC2Fycm93LXJpZ2h0CURvd25fU29ydAAAAA==) format('truetype'); + font-weight: normal; + font-style: normal; +} + +.pv-icons { + font-family: 'e-pivot'; + font-style: normal; + font-variant: normal; + font-weight: normal; + text-transform: none; + line-height: 1; +} + +.sb-icon-profit::before { + content: '\e234'; + padding-left: 30px; + margin: auto !important; + color: #219122; + size: 20px; +} + +.sb-icon-neutral::before { + content: '\e84d'; + padding-left: 30px; + margin: auto !important; + color: #82b5e9; +} + +.sb-icon-loss::before { + content: '\e239'; + padding-left: 30px; + margin: auto !important; + color: #ff2222; +} + +/* csslint ignore:end */ +.e-tool-expand::before { + content: '\e702'; +} \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs44/index.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs44/index.js new file mode 100644 index 000000000..726d33e8b --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs44/index.js @@ -0,0 +1,61 @@ +ej.base.L10n.load({ + 'en-US': { + pivotview: { + CustomAggregateType1: 'Custom Aggregate Type 1', + CustomAggregateType2: 'Custom Aggregate Type 2', + }, + pivotfieldlist: { + CustomAggregateType1: 'Custom Aggregate Type 1', + CustomAggregateType2: 'Custom Aggregate Type 2', + } + } +}); +var SummaryType = [ + 'Sum', + 'Count', + 'DistinctCount', + 'Avg', + 'CustomAggregateType1', + 'CustomAggregateType2' +]; +var pivotTableObj = new ej.pivotview.PivotView({ + dataSourceSettings: { + dataSource: pivotData, + expandAll: false, + enableSorting: true, + columns: [{ name: 'Year' }, { name: 'Quarter' }], + values: [{ name: 'Sold', type: 'CustomAggregateType1' }, { name: 'Amount', type: 'CustomAggregateType2' }], + rows: [{ name: 'Country' }, { name: 'Products' }], + formatSettings: [{ name: 'Amount', format: 'C0' }], + }, + width: '100%', + height: 300, + showFieldList: true, + allowPdfExport: true, + enableVirtualization: true, + dataBound: function () { + pivotTableObj.getAllSummaryType = function () { + return SummaryType; + }; + pivotTableObj.pivotFieldListModule.aggregateTypes = SummaryType; + pivotTableObj.pivotFieldListModule.getAllSummaryType = function () { + return SummaryType; + }; + }, + aggregateCellInfo: function (args) { + if (args.aggregateType === 'CustomAggregateType1') { + args.value = args.value * 100; + } + if (args.aggregateType === 'CustomAggregateType2') { + args.value = args.value / 100; + } + } +}); +pivotTableObj.appendTo('#PivotTable'); + +var exportBtn = new ej.buttons.Button({ isPrimary: true }); +exportBtn.appendTo('#pdf'); + +document.getElementById('pdf').onclick = function () { + pivotTableObj.pdfExport(); +}; \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs44/index.ts b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs44/index.ts new file mode 100644 index 000000000..7fb7fe964 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs44/index.ts @@ -0,0 +1,66 @@ +import { PivotView, PDFExport, FieldList, IDataSet, AggregateTypes, AggregateEventArgs, SummaryTypes } from '@syncfusion/ej2-pivotview'; +import { L10n } from '@syncfusion/ej2-base'; +import { pivotData } from './datasource.ts'; +import { Button } from '@syncfusion/ej2-buttons'; + +PivotView.Inject(FieldList, PDFExport); +L10n.load({ + 'en-US': { + pivotview: { + CustomAggregateType1: 'Custom Aggregate Type 1', + CustomAggregateType2: 'Custom Aggregate Type 2' + }, + pivotfieldlist: { + CustomAggregateType1: 'Custom Aggregate Type 1', + CustomAggregateType2: 'Custom Aggregate Type 2' + } + } +}); +const SummaryType: string[] = [ + 'Sum', + 'Count', + 'DistinctCount', + 'Avg', + 'CustomAggregateType1', + 'CustomAggregateType2' +]; +let pivotTableObj: PivotView = new PivotView({ + dataSourceSettings: { + expandAll: true, + dataSource: pivotData as IDataSet[], + columns: [{ name: 'Year' }], + values: [{ name: 'Sold', type: 'CustomAggregateType1' as SummaryTypes }, { name: 'Amount', type: 'CustomAggregateType2' as SummaryTypes }], + rows: [{ name: 'Country' }, { name: 'Products' }], + formatSettings: [{ name: 'Amount', format: 'C0' }], + }, + width: '100%', + height: 300, + showFieldList: true, + allowPdfExport: true, + enableVirtualization: true, + dataBound: function (): void { + pivotTableObj.getAllSummaryType = function () { + return SummaryType as AggregateTypes[]; + }; + pivotTableObj.pivotFieldListModule.aggregateTypes = SummaryType as AggregateTypes[]; + pivotTableObj.pivotFieldListModule.getAllSummaryType = function () { + return SummaryType as AggregateTypes[]; + }; + }, + aggregateCellInfo: function (args: AggregateEventArgs): void { + if (args.aggregateType === 'CustomAggregateType1' as SummaryTypes) { + args.value = args.value * 100; + } + if (args.aggregateType === 'CustomAggregateType2' as SummaryTypes) { + args.value = args.value / 100; + } + } +}); +pivotTableObj.appendTo('#PivotTable'); + +let exportBtn: Button = new Button({ isPrimary: true }); +exportBtn.appendTo('#pdf'); + +document.getElementById('pdf').onclick = function (): void { + pivotTableObj.pdfExport(); +}; \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs44/js/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs44/js/index.html new file mode 100644 index 000000000..9f62792be --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs44/js/index.html @@ -0,0 +1,44 @@ + + + + + EJ2 Pivot Grid + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs44/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs44/systemjs.config.js new file mode 100644 index 000000000..09acf632f --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs44/systemjs.config.js @@ -0,0 +1,47 @@ +System.config({ + transpiler: "typescript", + typescriptOptions: { + compilerOptions: { + target: "umd", + module: "commonjs", + moduleResolution: "node", + emitDecoratorMetadata: true, + experimentalDecorators: true + } + }, + paths: { + "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/" + }, + map: { + main: "index.ts", + typescript: "https://unpkg.com/typescript@2.2.2/lib/typescript.js", + 'plugin-json':'https://cdnjs.cloudflare.com/ajax/libs/systemjs-plugin-json/0.3.0/json.min.js', + "@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js", + "@syncfusion/ej2-data": "syncfusion:ej2-data/dist/ej2-data.umd.min.js", + "@syncfusion/ej2-inputs": "syncfusion:ej2-inputs/dist/ej2-inputs.umd.min.js", + "@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js", + "@syncfusion/ej2-splitbuttons": "syncfusion:ej2-splitbuttons/dist/ej2-splitbuttons.umd.min.js", + "@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js", + "@syncfusion/ej2-navigations": "syncfusion:ej2-navigations/dist/ej2-navigations.umd.min.js", + "@syncfusion/ej2-grids": "syncfusion:ej2-grids/dist/ej2-grids.umd.min.js", + "@syncfusion/ej2-charts": "syncfusion:ej2-charts/dist/ej2-charts.umd.min.js", + "@syncfusion/ej2-svg-base": "syncfusion:ej2-svg-base/dist/ej2-svg-base.umd.min.js", + "@syncfusion/ej2-dropdowns": "syncfusion:ej2-dropdowns/dist/ej2-dropdowns.umd.min.js", + "@syncfusion/ej2-calendars": "syncfusion:ej2-calendars/dist/ej2-calendars.umd.min.js", + "@syncfusion/ej2-lists": "syncfusion:ej2-lists/dist/ej2-lists.umd.min.js", + "@syncfusion/ej2-excel-export": "syncfusion:ej2-excel-export/dist/ej2-excel-export.umd.min.js", + "@syncfusion/ej2-pdf-export": "syncfusion:ej2-pdf-export/dist/ej2-pdf-export.umd.min.js", + "@syncfusion/ej2-file-utils": "syncfusion:ej2-file-utils/dist/ej2-file-utils.umd.min.js", + "@syncfusion/ej2-compression": "syncfusion:ej2-compression/dist/ej2-compression.umd.min.js", + "@syncfusion/ej2-pivotview": "syncfusion:ej2-pivotview/dist/ej2-pivotview.umd.min.js", + "@syncfusion/ej2-notifications":"syncfusion:ej2-notifications/dist/ej2-notifications.umd.min.js", + }, + meta: { + '*.json': { loader: 'plugin-json' } + } +}); + +System.import('index.ts').catch(console.error.bind(console)).then(function () { + document.getElementById('loader').style.display = "none"; + document.getElementById('container').style.visibility = "visible"; +}); \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs44/ts/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs44/ts/index.html new file mode 100644 index 000000000..4ab529599 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs44/ts/index.html @@ -0,0 +1,36 @@ + + + + + EJ2 Pivot Grid + + + + + + + + + + + + + + + + + + + + + + + +
Loading....
+
+ +
+
+ + + \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs45/datasource.ts b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs45/datasource.ts new file mode 100644 index 000000000..fb20f1561 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs45/datasource.ts @@ -0,0 +1,208 @@ +let gData: Object[] = [ + { + 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Accessories', + 'Product_ID': 1001, + 'Sold': 2 + + }, + { + 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Accessories', + 'Product_ID': 1002, + 'Sold': 3 + + }, + { + 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Accessories', + 'Product_ID': 1003, + 'Sold': 5 + + }, + { + 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Bikes', + 'Product_ID': 1004, + 'Sold': 1 + + }, + { + 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Bikes', + 'Product_ID': 1005, + 'Sold': 1 + + }, + { + 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Clothings', + 'Product_ID': 1007, + 'Sold': 2 + + }, + { + 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Clothings', + 'Product_ID': 1008, + 'Sold': 1 + + }, + { + 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Clothings', + 'Product_ID': 1009, + 'Sold': 3 + + }, + { + 'Date': '1/5/2015 20:19:15 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Accessories', + 'Product_ID': 1003, + 'Sold': 3 + }, + { + 'Date': '2/2/2015 10:22:07 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Accessories', + 'Product_ID': 1002, + 'Sold': 4 + + }, + { + 'Date': '2/10/2015 10:23:07 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Accessories', + 'Product_ID': 1002, + 'Sold': 1 + + }, + { + 'Date': '1/5/2015 20:19:15 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Bikes', + 'Product_ID': 1004, + 'Sold': 3 + }, + { + 'Date': '2/2/2015 10:22:07 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Bikes', + 'Product_ID': 1005, + 'Sold': 2 + + }, + { + 'Date': '2/10/2015 10:23:07 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Bikes', + 'Product_ID': 1006, + 'Sold': 4 + + }, + { + 'Date': '1/5/2015 20:19:15 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Clothings', + 'Product_ID': 1008, + 'Sold': 8 + }, + { + 'Date': '2/2/2015 10:22:07 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Clothings', + 'Product_ID': 1009, + 'Sold': 1 + + }, + { + 'Date': '2/10/2015 10:23:07 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Clothings', + 'Product_ID': 1010, + 'Sold': 6 + + }, + { + 'Date': '2/20/2015 11:25:07 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Clothings', + 'Product_ID': 1002, + 'Sold': 8 + }, + { + 'Date': '2/20/2015 11:25:07 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Bikes', + 'Product_ID': 1002, + 'Sold': 8 + }, + { + 'Date': '2/20/2015 11:25:07 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Accessories', + 'Product_ID': 1002, + 'Sold': 8 + }, + { + 'Date': '3/07/2015 05:11:50 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Accessories', + 'Product_ID': 1001, + 'Sold': 4 + }, + { + 'Date': '3/07/2015 05:11:50 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Clothings', + 'Product_ID': 1001, + 'Sold': 4 + }, + { + 'Date': '3/07/2015 05:11:50 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Bikes', + 'Product_ID': 1001, + 'Sold': 4 + + }, + { + 'Date': '3/13/2015 05:11:55 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Bikes', + 'Product_ID': 1005, + 'Sold': 2 + }, + { + 'Date': '3/13/2015 05:11:55 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Clothings', + 'Product_ID': 1005, + 'Sold': 2 + }, + { + 'Date': '3/13/2015 05:11:55 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Accessories', + 'Product_ID': 1005, + 'Sold': 2 + }, + { + 'Date': '9/1/2015 04:14:43 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Bikes', + 'Product_ID': 1004, + 'Sold': 1 + + }, + { + 'Date': '9/1/2015 04:14:43 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Clothings', + 'Product_ID': 1010, + 'Sold': 2 + }, + { + 'Date': '9/1/2015 04:14:43 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Accessories', + 'Product_ID': 1004, + 'Sold': 1 + }, +]; + +export let Group_Data: Object[] = getGroupData(gData); + +function getGroupData(data: any): Object[] { + let date: Date; + let products: string[] = ['Bottles and Cages', 'Cleaners', 'Fenders', 'Mountain Bikes', 'Road Bikes', 'Touring Bikes', 'Gloves', 'Jerseys', 'Shorts', 'Vests']; + let amount: number[] = [0, 2, 3, 8, 60, 75, 65, 3, 5, 4, 2] + for (let ln: number = 0, lt: number = data.length; ln < lt; ln++) { + date = new Date(data[ln].Date.toString()); + data[ln].Date = date.toString(); + data[ln].Products = products[data[ln].Product_ID - 1000]; + data[ln].Sold = data[ln].Sold * (date.getFullYear() === 2015 ? 3 : date.getFullYear() === 2016 ? 4 : date.getFullYear() === 2017 ? 2 : 5); + data[ln].Amount = ((date.getFullYear() === 2018 ? 2 : 0) + data[ln].Sold) * amount[data[ln].Product_ID - 1000]; + } + return data as Object[]; +} \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs45/es5-datasource.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs45/es5-datasource.js new file mode 100644 index 000000000..52bd6d32b --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs45/es5-datasource.js @@ -0,0 +1,207 @@ +var gData = [ + { + 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Accessories', + 'Product_ID': 1001, + 'Sold': 2 + + }, + { + 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Accessories', + 'Product_ID': 1002, + 'Sold': 3 + + }, + { + 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Accessories', + 'Product_ID': 1003, + 'Sold': 5 + + }, + { + 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Bikes', + 'Product_ID': 1004, + 'Sold': 1 + + }, + { + 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Bikes', + 'Product_ID': 1005, + 'Sold': 1 + + }, + { + 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Clothings', + 'Product_ID': 1007, + 'Sold': 2 + + }, + { + 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Clothings', + 'Product_ID': 1008, + 'Sold': 1 + + }, + { + 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Clothings', + 'Product_ID': 1009, + 'Sold': 3 + + }, + { + 'Date': '1/5/2015 20:19:15 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Accessories', + 'Product_ID': 1003, + 'Sold': 3 + }, + { + 'Date': '2/2/2015 10:22:07 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Accessories', + 'Product_ID': 1002, + 'Sold': 4 + + }, + { + 'Date': '2/10/2015 10:23:07 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Accessories', + 'Product_ID': 1002, + 'Sold': 1 + + }, + { + 'Date': '1/5/2015 20:19:15 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Bikes', + 'Product_ID': 1004, + 'Sold': 3 + }, + { + 'Date': '2/2/2015 10:22:07 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Bikes', + 'Product_ID': 1005, + 'Sold': 2 + + }, + { + 'Date': '2/10/2015 10:23:07 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Bikes', + 'Product_ID': 1006, + 'Sold': 4 + + }, + { + 'Date': '1/5/2015 20:19:15 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Clothings', + 'Product_ID': 1008, + 'Sold': 8 + }, + { + 'Date': '2/2/2015 10:22:07 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Clothings', + 'Product_ID': 1009, + 'Sold': 1 + + }, + { + 'Date': '2/10/2015 10:23:07 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Clothings', + 'Product_ID': 1010, + 'Sold': 6 + + }, + { + 'Date': '2/20/2015 11:25:07 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Clothings', + 'Product_ID': 1002, + 'Sold': 8 + }, + { + 'Date': '2/20/2015 11:25:07 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Bikes', + 'Product_ID': 1002, + 'Sold': 8 + }, + { + 'Date': '2/20/2015 11:25:07 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Accessories', + 'Product_ID': 1002, + 'Sold': 8 + }, + { + 'Date': '3/07/2015 05:11:50 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Accessories', + 'Product_ID': 1001, + 'Sold': 4 + }, + { + 'Date': '3/07/2015 05:11:50 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Clothings', + 'Product_ID': 1001, + 'Sold': 4 + }, + { + 'Date': '3/07/2015 05:11:50 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Bikes', + 'Product_ID': 1001, + 'Sold': 4 + + }, + { + 'Date': '3/13/2015 05:11:55 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Bikes', + 'Product_ID': 1005, + 'Sold': 2 + }, + { + 'Date': '3/13/2015 05:11:55 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Clothings', + 'Product_ID': 1005, + 'Sold': 2 + }, + { + 'Date': '3/13/2015 05:11:55 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Accessories', + 'Product_ID': 1005, + 'Sold': 2 + }, + { + 'Date': '9/1/2015 04:14:43 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Bikes', + 'Product_ID': 1004, + 'Sold': 1 + + }, + { + 'Date': '9/1/2015 04:14:43 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Clothings', + 'Product_ID': 1010, + 'Sold': 2 + }, + { + 'Date': '9/1/2015 04:14:43 GMT+0530 (India Standard Time)', + 'Product_Categories': 'Accessories', + 'Product_ID': 1004, + 'Sold': 1 + }, +]; + +var Group_Data = getGroupData(gData); +function getGroupData(data) { + var date; + var products = ['', 'Bottles and Cages', 'Cleaners', 'Fenders', 'Mountain Bikes', 'Road Bikes', 'Touring Bikes', 'Gloves', 'Jerseys', 'Shorts', 'Vests']; + var amount = [0, 2, 3, 8, 60, 75, 65, 3, 5, 4, 2]; + for (var ln = 0, lt = data.length; ln < lt; ln++) { + date = new Date(data[ln].Date.toString()); + data[ln].Date = date.toString(); + data[ln].Products = products[data[ln].Product_ID - 1000]; + data[ln].Sold = data[ln].Sold * (date.getFullYear() === 2015 ? 3 : date.getFullYear() === 2016 ? 4 : date.getFullYear() === 2017 ? 2 : 5); + data[ln].Amount = ((date.getFullYear() === 2018 ? 2 : 0) + data[ln].Sold) * amount[data[ln].Product_ID - 1000]; + } + return data; +} \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs45/index.css b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs45/index.css new file mode 100644 index 000000000..86c21c260 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs45/index.css @@ -0,0 +1,12 @@ +#container { + visibility: hidden; +} + +#loader { + color: #008cff; + height: 40px; + width: 30%; + position: absolute; + top: 45%; + left: 45%; +} \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs45/index.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs45/index.js new file mode 100644 index 000000000..929cef752 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs45/index.js @@ -0,0 +1,24 @@ +var pivotTableObj = new ej.pivotview.PivotView({ + dataSourceSettings: { + dataSource: Group_Data, + expandAll: false, + enableSorting: true, + formatSettings: [{ name: 'Date', type: 'date', format: "EEE, MMM d, ''yy" }], + rows: [{ name: 'Date' }], + columns: [{ name: 'Product_Categories', caption: 'Product Categories' }], + values: [{ name: 'Sold', caption: 'Unit Sold' }, + { name: 'Amount', caption: 'Sold Amount' }], + }, + allowPdfExport: true, + height: 500, + width: 1000 +}); +pivotTableObj.appendTo('#PivotTable'); + +var exportBtn = new ej.buttons.Button({ isPrimary: true }); +exportBtn.appendTo('#pdf'); + +document.getElementById('pdf').onclick = function () { + pivotTableObj.pdfExport(); +}; + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs45/index.ts b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs45/index.ts new file mode 100644 index 000000000..e273f8afd --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs45/index.ts @@ -0,0 +1,31 @@ + + +import { PivotView, IDataSet, PDFExport } from '@syncfusion/ej2-pivotview'; +import { Group_Data } from './datasource.ts'; +import { Button } from '@syncfusion/ej2-buttons'; + +PivotView.Inject(PDFExport); +let pivotTableObj: PivotView = new PivotView({ + dataSourceSettings: { + dataSource: Group_Data as IDataSet[], + expandAll: false, + enableSorting: true, + formatSettings: [{ name: 'Date', type: 'date', format: "EEE, MMM d, ''yy" }], + rows: [{ name: 'Date' }], + columns: [{ name: 'Product_Categories', caption: 'Product Categories' }], + values: [{ name: 'Sold', caption: 'Unit Sold' }, + { name: 'Amount', caption: 'Sold Amount' }], + }, + allowPdfExport: true, + height: 500, + width: 1000 +}); +pivotTableObj.appendTo('#PivotTable'); + +let exportBtn: Button = new Button({ isPrimary: true }); +exportBtn.appendTo('#pdf'); + +document.getElementById('pdf').onclick = function (): void { + pivotTableObj.pdfExport(); +}; + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs45/js/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs45/js/index.html new file mode 100644 index 000000000..002bcb6b5 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs45/js/index.html @@ -0,0 +1,47 @@ + + + + + EJ2 Pivot Grid + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs45/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs45/systemjs.config.js new file mode 100644 index 000000000..09acf632f --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs45/systemjs.config.js @@ -0,0 +1,47 @@ +System.config({ + transpiler: "typescript", + typescriptOptions: { + compilerOptions: { + target: "umd", + module: "commonjs", + moduleResolution: "node", + emitDecoratorMetadata: true, + experimentalDecorators: true + } + }, + paths: { + "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/" + }, + map: { + main: "index.ts", + typescript: "https://unpkg.com/typescript@2.2.2/lib/typescript.js", + 'plugin-json':'https://cdnjs.cloudflare.com/ajax/libs/systemjs-plugin-json/0.3.0/json.min.js', + "@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js", + "@syncfusion/ej2-data": "syncfusion:ej2-data/dist/ej2-data.umd.min.js", + "@syncfusion/ej2-inputs": "syncfusion:ej2-inputs/dist/ej2-inputs.umd.min.js", + "@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js", + "@syncfusion/ej2-splitbuttons": "syncfusion:ej2-splitbuttons/dist/ej2-splitbuttons.umd.min.js", + "@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js", + "@syncfusion/ej2-navigations": "syncfusion:ej2-navigations/dist/ej2-navigations.umd.min.js", + "@syncfusion/ej2-grids": "syncfusion:ej2-grids/dist/ej2-grids.umd.min.js", + "@syncfusion/ej2-charts": "syncfusion:ej2-charts/dist/ej2-charts.umd.min.js", + "@syncfusion/ej2-svg-base": "syncfusion:ej2-svg-base/dist/ej2-svg-base.umd.min.js", + "@syncfusion/ej2-dropdowns": "syncfusion:ej2-dropdowns/dist/ej2-dropdowns.umd.min.js", + "@syncfusion/ej2-calendars": "syncfusion:ej2-calendars/dist/ej2-calendars.umd.min.js", + "@syncfusion/ej2-lists": "syncfusion:ej2-lists/dist/ej2-lists.umd.min.js", + "@syncfusion/ej2-excel-export": "syncfusion:ej2-excel-export/dist/ej2-excel-export.umd.min.js", + "@syncfusion/ej2-pdf-export": "syncfusion:ej2-pdf-export/dist/ej2-pdf-export.umd.min.js", + "@syncfusion/ej2-file-utils": "syncfusion:ej2-file-utils/dist/ej2-file-utils.umd.min.js", + "@syncfusion/ej2-compression": "syncfusion:ej2-compression/dist/ej2-compression.umd.min.js", + "@syncfusion/ej2-pivotview": "syncfusion:ej2-pivotview/dist/ej2-pivotview.umd.min.js", + "@syncfusion/ej2-notifications":"syncfusion:ej2-notifications/dist/ej2-notifications.umd.min.js", + }, + meta: { + '*.json': { loader: 'plugin-json' } + } +}); + +System.import('index.ts').catch(console.error.bind(console)).then(function () { + document.getElementById('loader').style.display = "none"; + document.getElementById('container').style.visibility = "visible"; +}); \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs45/ts/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs45/ts/index.html new file mode 100644 index 000000000..58865a9bc --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs45/ts/index.html @@ -0,0 +1,36 @@ + + + + + EJ2 Pivot Grid + + + + + + + + + + + + + + + + + + + + + + + +
Loading....
+
+ +
+
+ + + \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs46/datasource.ts b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs46/datasource.ts new file mode 100644 index 000000000..866e0c341 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs46/datasource.ts @@ -0,0 +1,157 @@ +export let pivotData: Object[] = [ + { 'Sold': 31, 'Amount': 52824, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 51, 'Amount': 86904, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 25, 'Amount': 42600, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 27, 'Amount': 46008, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 49, 'Amount': 83496, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 95, 'Amount': 161880, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 75, 'Amount': 127800, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 69, 'Amount': 117576, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 16, 'Amount': 27264, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 83, 'Amount': 124422, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 57, 'Amount': 85448, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 20, 'Amount': 29985, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 93, 'Amount': 139412, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 35, 'Amount': 52470, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 48, 'Amount': 71957, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 36, 'Amount': 53969, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 25, 'Amount': 37480, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 69, 'Amount': 103436, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 16, 'Amount': 23989, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 19, 'Amount': 28486, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 89, 'Amount': 141999.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 91, 'Amount': 145190.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 24, 'Amount': 38292, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 75, 'Amount': 119662.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 100, 'Amount': 159550, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 30, 'Amount': 47865, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 69, 'Amount': 110089.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 25, 'Amount': 39887.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 42, 'Amount': 67011, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 94, 'Amount': 149977, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 76, 'Amount': 121258, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 52, 'Amount': 82966, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 33, 'Amount': 52651.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 16, 'Amount': 23989, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 21, 'Amount': 33505.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 74, 'Amount': 126096, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 99, 'Amount': 148406, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 31, 'Amount': 49460.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 57, 'Amount': 97128, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 41, 'Amount': 61464, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 64, 'Amount': 102112, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 85, 'Amount': 144840, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 76, 'Amount': 129504, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 33, 'Amount': 56232, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 71, 'Amount': 120984, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 81, 'Amount': 138024, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 65, 'Amount': 110760, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 39, 'Amount': 66456, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 91, 'Amount': 155064, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 16, 'Amount': 27264, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 59, 'Amount': 100536, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 36, 'Amount': 61344, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 39, 'Amount': 58466, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 47, 'Amount': 70458, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 19, 'Amount': 28486, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 26, 'Amount': 38979, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 15, 'Amount': 22490, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 83, 'Amount': 124422, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 79, 'Amount': 118426, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 14, 'Amount': 20991, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 15, 'Amount': 23932.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 47, 'Amount': 74988.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 93, 'Amount': 148381.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 13, 'Amount': 20741.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 44, 'Amount': 70202, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 59, 'Amount': 94134.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 34, 'Amount': 54247, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 48, 'Amount': 76584, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 35, 'Amount': 55842.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 71, 'Amount': 113280.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 77, 'Amount': 131208, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 92, 'Amount': 156768, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 51, 'Amount': 86904, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 91, 'Amount': 155064, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 90, 'Amount': 153360, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 56, 'Amount': 95424, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 14, 'Amount': 23856, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 95, 'Amount': 161880, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 24, 'Amount': 40896, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 39, 'Amount': 66456, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 84, 'Amount': 143136, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 40, 'Amount': 68160, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 96, 'Amount': 163584, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 24, 'Amount': 35981, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 86, 'Amount': 128919, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 31, 'Amount': 46474, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 36, 'Amount': 53969, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 69, 'Amount': 103436, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 95, 'Amount': 142410, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 95, 'Amount': 142410, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 30, 'Amount': 44975, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 11, 'Amount': 16494, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 97, 'Amount': 145408, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 16, 'Amount': 23989, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 68, 'Amount': 101937, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 11, 'Amount': 16494, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 27, 'Amount': 40478, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 45, 'Amount': 67460, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 100, 'Amount': 149905, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 83, 'Amount': 124422, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 100, 'Amount': 149905, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 18, 'Amount': 26987, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 81, 'Amount': 121424, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 20, 'Amount': 29985, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 99, 'Amount': 148406, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 52, 'Amount': 88608, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 91, 'Amount': 155064, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 37, 'Amount': 63048, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 41, 'Amount': 69864, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 49, 'Amount': 83496, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 23, 'Amount': 39192, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 67, 'Amount': 114168, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 85, 'Amount': 144840, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 25, 'Amount': 42600, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 28, 'Amount': 47712, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 53, 'Amount': 90312, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 82, 'Amount': 130831, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 41, 'Amount': 65415.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 60, 'Amount': 95730, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 71, 'Amount': 113280.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 21, 'Amount': 33505.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 34, 'Amount': 54247, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 14, 'Amount': 22337, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 50, 'Amount': 79775, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 49, 'Amount': 78179.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 40, 'Amount': 63820, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 17, 'Amount': 27123.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 56, 'Amount': 89348, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 54, 'Amount': 86157, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 14, 'Amount': 22337, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 80, 'Amount': 127640, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }]; \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs46/es5-datasource.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs46/es5-datasource.js new file mode 100644 index 000000000..e9f616bbb --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs46/es5-datasource.js @@ -0,0 +1,158 @@ +var pivotData = [ + { 'Sold': 25, 'Amount': 42600, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 27, 'Amount': 46008, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 49, 'Amount': 83496, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 31, 'Amount': 52824, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 51, 'Amount': 86904, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 95, 'Amount': 161880, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 93, 'Amount': 139412, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 35, 'Amount': 52470, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 16, 'Amount': 27264, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 69, 'Amount': 117576, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 75, 'Amount': 127800, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 20, 'Amount': 29985, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 83, 'Amount': 124422, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 16, 'Amount': 23989, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 48, 'Amount': 71957, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 57, 'Amount': 85448, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 25, 'Amount': 37480, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 69, 'Amount': 103436, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 36, 'Amount': 53969, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 75, 'Amount': 119662.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 19, 'Amount': 28486, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 91, 'Amount': 145190.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 24, 'Amount': 38292, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 94, 'Amount': 149977, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 100, 'Amount': 159550, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 30, 'Amount': 47865, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 89, 'Amount': 141999.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 25, 'Amount': 39887.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 42, 'Amount': 67011, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 21, 'Amount': 33505.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 74, 'Amount': 126096, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 76, 'Amount': 121258, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 69, 'Amount': 110089.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 16, 'Amount': 23989, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 52, 'Amount': 82966, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 85, 'Amount': 144840, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 99, 'Amount': 148406, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 31, 'Amount': 49460.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 33, 'Amount': 52651.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 41, 'Amount': 61464, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 64, 'Amount': 102112, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 57, 'Amount': 97128, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 39, 'Amount': 66456, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 76, 'Amount': 129504, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 33, 'Amount': 56232, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 81, 'Amount': 138024, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 65, 'Amount': 110760, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 47, 'Amount': 70458, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 91, 'Amount': 155064, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 16, 'Amount': 27264, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 71, 'Amount': 120984, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 36, 'Amount': 61344, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 39, 'Amount': 58466, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 59, 'Amount': 100536, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 83, 'Amount': 124422, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 19, 'Amount': 28486, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 26, 'Amount': 38979, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 15, 'Amount': 22490, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 13, 'Amount': 20741.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 79, 'Amount': 118426, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 14, 'Amount': 20991, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 47, 'Amount': 74988.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 93, 'Amount': 148381.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 15, 'Amount': 23932.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 48, 'Amount': 76584, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 44, 'Amount': 70202, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 59, 'Amount': 94134.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 77, 'Amount': 131208, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 84, 'Amount': 143136, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 34, 'Amount': 54247, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 56, 'Amount': 95424, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 35, 'Amount': 55842.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 71, 'Amount': 113280.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 91, 'Amount': 155064, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 90, 'Amount': 153360, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 40, 'Amount': 68160, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 24, 'Amount': 40896, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 31, 'Amount': 46474, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 92, 'Amount': 156768, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 14, 'Amount': 23856, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 95, 'Amount': 161880, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 51, 'Amount': 86904, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 39, 'Amount': 66456, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 36, 'Amount': 53969, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 86, 'Amount': 128919, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 96, 'Amount': 163584, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 24, 'Amount': 35981, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 97, 'Amount': 145408, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 69, 'Amount': 103436, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 95, 'Amount': 142410, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 30, 'Amount': 44975, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 11, 'Amount': 16494, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 95, 'Amount': 142410, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 11, 'Amount': 16494, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 27, 'Amount': 40478, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 68, 'Amount': 101937, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 100, 'Amount': 149905, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 45, 'Amount': 67460, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 16, 'Amount': 23989, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 18, 'Amount': 26987, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 83, 'Amount': 124422, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 52, 'Amount': 88608, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 91, 'Amount': 155064, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 100, 'Amount': 149905, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 37, 'Amount': 63048, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 41, 'Amount': 69864, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 99, 'Amount': 148406, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 67, 'Amount': 114168, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 41, 'Amount': 65415.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 81, 'Amount': 121424, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 20, 'Amount': 29985, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 85, 'Amount': 144840, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 49, 'Amount': 83496, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 23, 'Amount': 39192, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 34, 'Amount': 54247, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 53, 'Amount': 90312, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 82, 'Amount': 130831, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 60, 'Amount': 95730, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 71, 'Amount': 113280.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 25, 'Amount': 42600, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 28, 'Amount': 47712, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 21, 'Amount': 33505.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 49, 'Amount': 78179.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 50, 'Amount': 79775, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 56, 'Amount': 89348, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 40, 'Amount': 63820, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 14, 'Amount': 22337, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 80, 'Amount': 127640, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 54, 'Amount': 86157, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 14, 'Amount': 22337, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 17, 'Amount': 27123.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }]; + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs46/index.css b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs46/index.css new file mode 100644 index 000000000..86c21c260 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs46/index.css @@ -0,0 +1,12 @@ +#container { + visibility: hidden; +} + +#loader { + color: #008cff; + height: 40px; + width: 30%; + position: absolute; + top: 45%; + left: 45%; +} \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs46/index.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs46/index.js new file mode 100644 index 000000000..61ce24c2c --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs46/index.js @@ -0,0 +1,39 @@ +var pivotTableObj = new ej.pivotview.PivotView({ + dataSourceSettings: { + dataSource: pivotData, + expandAll: false, + columns: [{ name: 'Year', caption: 'Production Year' }, { name: 'Quarter' }], + values: [{ name: 'Sold', caption: 'Units Sold' }, { name: 'Amount', caption: 'Sold Amount' }], + rows: [{ name: 'Country' }, { name: 'Products' }], + }, + width: '100%', + height: 300, + allowPdfExport: true, + gridSettings: { + pdfQueryCellInfo: function (args) { + if (args.data && args.data.actualText === 'Sold') { + if ((args).value < 700) { + args.style = { + backgroundColor: '#df3800', + fontFamily: 'Courier', + textPenColor: '#FFFFFF' + }; + } else { + args.style = { + backgroundColor: '#00A45A', + fontFamily: 'TimesRoman', + textPenColor: '#FFFFFF' + }; + } + } + } + } +}); +pivotTableObj.appendTo('#PivotTable'); + +var exportBtn = new ej.buttons.Button({ isPrimary: true }); +exportBtn.appendTo('#pdf'); + +document.getElementById('pdf').onclick = function () { + pivotTableObj.pdfExport(); +}; \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs46/index.ts b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs46/index.ts new file mode 100644 index 000000000..a4740904a --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs46/index.ts @@ -0,0 +1,45 @@ +import { PivotView, PDFExport, IDataSet } from '@syncfusion/ej2-pivotview'; +import { PdfQueryCellInfoEventArgs } from '@syncfusion/ej2-grids'; +import { pivotData } from './datasource.ts'; +import { Button } from '@syncfusion/ej2-buttons'; + +PivotView.Inject(PDFExport); +let pivotTableObj: PivotView = new PivotView({ + dataSourceSettings: { + dataSource: pivotData as IDataSet[], + expandAll: false, + columns: [{ name: 'Year', caption: 'Production Year' }, { name: 'Quarter' }], + values: [{ name: 'Sold', caption: 'Units Sold' }, { name: 'Amount', caption: 'Sold Amount' }], + rows: [{ name: 'Country' }, { name: 'Products' }], + }, + width: '100%', + height: 300, + allowPdfExport: true, + gridSettings: { + pdfQueryCellInfo: function (args: PdfQueryCellInfoEventArgs): void { + if (args.data && args.data.actualText === 'Sold') { + if ((args as any).value < 700) { + args.style = { + backgroundColor: '#df3800', + fontFamily: 'Courier', + textPenColor: '#FFFFFF' + }; + } else { + args.style = { + backgroundColor: '#00A45A', + fontFamily: 'TimesRoman', + textPenColor: '#FFFFFF' + }; + } + } + } + } +}); +pivotTableObj.appendTo('#PivotTable'); + +let exportBtn: Button = new Button({ isPrimary: true }); +exportBtn.appendTo('#pdf'); + +document.getElementById('pdf').onclick = function (): void { + pivotTableObj.pdfExport(); +}; \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs46/js/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs46/js/index.html new file mode 100644 index 000000000..b2356bda5 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs46/js/index.html @@ -0,0 +1,47 @@ + + + + + EJ2 Pivot Grid + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs46/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs46/systemjs.config.js new file mode 100644 index 000000000..09acf632f --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs46/systemjs.config.js @@ -0,0 +1,47 @@ +System.config({ + transpiler: "typescript", + typescriptOptions: { + compilerOptions: { + target: "umd", + module: "commonjs", + moduleResolution: "node", + emitDecoratorMetadata: true, + experimentalDecorators: true + } + }, + paths: { + "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/" + }, + map: { + main: "index.ts", + typescript: "https://unpkg.com/typescript@2.2.2/lib/typescript.js", + 'plugin-json':'https://cdnjs.cloudflare.com/ajax/libs/systemjs-plugin-json/0.3.0/json.min.js', + "@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js", + "@syncfusion/ej2-data": "syncfusion:ej2-data/dist/ej2-data.umd.min.js", + "@syncfusion/ej2-inputs": "syncfusion:ej2-inputs/dist/ej2-inputs.umd.min.js", + "@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js", + "@syncfusion/ej2-splitbuttons": "syncfusion:ej2-splitbuttons/dist/ej2-splitbuttons.umd.min.js", + "@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js", + "@syncfusion/ej2-navigations": "syncfusion:ej2-navigations/dist/ej2-navigations.umd.min.js", + "@syncfusion/ej2-grids": "syncfusion:ej2-grids/dist/ej2-grids.umd.min.js", + "@syncfusion/ej2-charts": "syncfusion:ej2-charts/dist/ej2-charts.umd.min.js", + "@syncfusion/ej2-svg-base": "syncfusion:ej2-svg-base/dist/ej2-svg-base.umd.min.js", + "@syncfusion/ej2-dropdowns": "syncfusion:ej2-dropdowns/dist/ej2-dropdowns.umd.min.js", + "@syncfusion/ej2-calendars": "syncfusion:ej2-calendars/dist/ej2-calendars.umd.min.js", + "@syncfusion/ej2-lists": "syncfusion:ej2-lists/dist/ej2-lists.umd.min.js", + "@syncfusion/ej2-excel-export": "syncfusion:ej2-excel-export/dist/ej2-excel-export.umd.min.js", + "@syncfusion/ej2-pdf-export": "syncfusion:ej2-pdf-export/dist/ej2-pdf-export.umd.min.js", + "@syncfusion/ej2-file-utils": "syncfusion:ej2-file-utils/dist/ej2-file-utils.umd.min.js", + "@syncfusion/ej2-compression": "syncfusion:ej2-compression/dist/ej2-compression.umd.min.js", + "@syncfusion/ej2-pivotview": "syncfusion:ej2-pivotview/dist/ej2-pivotview.umd.min.js", + "@syncfusion/ej2-notifications":"syncfusion:ej2-notifications/dist/ej2-notifications.umd.min.js", + }, + meta: { + '*.json': { loader: 'plugin-json' } + } +}); + +System.import('index.ts').catch(console.error.bind(console)).then(function () { + document.getElementById('loader').style.display = "none"; + document.getElementById('container').style.visibility = "visible"; +}); \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs46/ts/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs46/ts/index.html new file mode 100644 index 000000000..4ab529599 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs46/ts/index.html @@ -0,0 +1,36 @@ + + + + + EJ2 Pivot Grid + + + + + + + + + + + + + + + + + + + + + + + +
Loading....
+
+ +
+
+ + + \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs47/index.css b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs47/index.css new file mode 100644 index 000000000..247eeb734 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs47/index.css @@ -0,0 +1,74 @@ +#container { + visibility: hidden; +} + +#loader { + color: #008cff; + height: 40px; + width: 30%; + position: absolute; + top: 45%; + left: 45%; +} + +.e-custom-class { + color: #008cff; + text-decoration: underline; +} + +.e-custom-class:hover { + color: red; + text-decoration: none; +} + +.e-pivotview .e-columnsheader .tempwrap { + display: none; +} +.e-pivotview .e-rowsheader .tempwrap { + display: none; +} + +/* csslint ignore:start */ +@font-face { + font-family: 'e-pivot'; + src: + url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAAKAIAAAwAgT1MvMjhUSmAAAAEoAAAAVmNtYXCs3q0zAAABkAAAAEpnbHlmdaItOwAAAegAAAE0aGVhZBRYEz0AAADQAAAANmhoZWEHmQNtAAAArAAAACRobXR4D7gAAAAAAYAAAAAQbG9jYQDAAHIAAAHcAAAACm1heHABDwBBAAABCAAAACBuYW1lc0cOBgAAAxwAAAIlcG9zdK9TctUAAAVEAAAARwABAAADUv9qAFoEAAAA//4D6gABAAAAAAAAAAAAAAAAAAAABAABAAAAAQAAT8kba18PPPUACwPoAAAAANin5zgAAAAA2KfnOAAAAAAD6gPoAAAACAACAAAAAAAAAAEAAAAEADUAAQAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAQPuAZAABQAAAnoCvAAAAIwCegK8AAAB4AAxAQIAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABA4jToTQNS/2oAWgPoAJYAAAABAAAAAAAABAAAAAPoAAAD6AAAA+gAAAAAAAIAAAADAAAAFAADAAEAAAAUAAQANgAAAAgACAACAADiNOI56E3//wAA4jTiOehN//8AAAAAAAAAAQAIAAgACAAAAAEAAwACAAAAAAAAACYAcgCaAAAAAQAAAAADTAPoABUAAAkBBhY7AREUFjsBMjY1ETMyNicBJiIB3f7KCw4SxxAMqgwQxhIPC/7FCBgD3/6tDyH9wAwQEAwCQCEPAVMJAAEAAAAAA+oDTAA0AAABMx8BAR8DDwMBDwMjLwwhLwE1NzUnPwEhPwQ1PwQCXgIFCQFxBAIEAgEDBAf+ogYKBQUEAwQDAwICAQIBAQYJCf3mAgEDAgEBAh4KCAQCAQICAgIDA0wBBf7VAwQJCQkJCQf+4QQGAgEBAQIDBAQFC50DBAQDAQICCuANAgECBQIDAqcMBQQDAQAAAQAAAAADTAPoABYAAAEGFREjIgYXARYyNwE2JisBETQmKwEiAYsIxhIPDAE5CRgJATUMDhPGEAyqDAPgCAz9wCEP/q0JCQFTDyECQAwQAAAAABIA3gABAAAAAAAAAAEAAAABAAAAAAABAAcAAQABAAAAAAACAAcACAABAAAAAAADAAcADwABAAAAAAAEAAcAFgABAAAAAAAFAAsAHQABAAAAAAAGAAcAKAABAAAAAAAKACwALwABAAAAAAALABIAWwADAAEECQAAAAIAbQADAAEECQABAA4AbwADAAEECQACAA4AfQADAAEECQADAA4AiwADAAEECQAEAA4AmQADAAEECQAFABYApwADAAEECQAGAA4AvQADAAEECQAKAFgAywADAAEECQALACQBIyBlLWljb25zUmVndWxhcmUtaWNvbnNlLWljb25zVmVyc2lvbiAxLjBlLWljb25zRm9udCBnZW5lcmF0ZWQgdXNpbmcgU3luY2Z1c2lvbiBNZXRybyBTdHVkaW93d3cuc3luY2Z1c2lvbi5jb20AIABlAC0AaQBjAG8AbgBzAFIAZQBnAHUAbABhAHIAZQAtAGkAYwBvAG4AcwBlAC0AaQBjAG8AbgBzAFYAZQByAHMAaQBvAG4AIAAxAC4AMABlAC0AaQBjAG8AbgBzAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAHUAcwBpAG4AZwAgAFMAeQBuAGMAZgB1AHMAaQBvAG4AIABNAGUAdAByAG8AIABTAHQAdQBkAGkAbwB3AHcAdwAuAHMAeQBuAGMAZgB1AHMAaQBvAG4ALgBjAG8AbQAAAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQBAgEDAQQBBQADVXAxC2Fycm93LXJpZ2h0CURvd25fU29ydAAAAA==) format('truetype'); + font-weight: normal; + font-style: normal; +} + +.pv-icons { + font-family: 'e-pivot'; + font-style: normal; + font-variant: normal; + font-weight: normal; + text-transform: none; + line-height: 1; +} + +.sb-icon-profit::before { + content: '\e234'; + padding-left: 30px; + margin: auto !important; + color: #219122; + size: 20px; +} + +.sb-icon-neutral::before { + content: '\e84d'; + padding-left: 30px; + margin: auto !important; + color: #82b5e9; +} + +.sb-icon-loss::before { + content: '\e239'; + padding-left: 30px; + margin: auto !important; + color: #ff2222; +} + +/* csslint ignore:end */ +.e-tool-expand::before { + content: '\e702'; +} \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs47/index.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs47/index.js new file mode 100644 index 000000000..60b6f88ea --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs47/index.js @@ -0,0 +1,53 @@ +var names = ['TOM', 'Hawk', 'Jon', 'Chandler', 'Monica', 'Rachel', 'Phoebe', 'Gunther', + 'Ross', 'Geller', 'Joey', 'Bing', 'Tribbiani', 'Janice', 'Bong', 'Perk', 'Green', 'Ken', 'Adams']; +var city = ['New York', 'Los Angeles', 'Chicago', 'Houston', 'Philadelphia', 'Phoenix', 'San Antonio', 'Austin', + 'San Francisco', 'Columbus', 'Washington', 'Portland', 'Oklahoma', 'Las Vegas', 'Virginia', 'St. Louis', 'Birmingham']; +var hours = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; +var rating = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; +var designation = ['Manager', 'Engineer 1', 'Engineer 2', 'Developer', 'Tester']; +var status = ['Completed', 'Open', 'In Progress', 'Review', 'Testing']; +var time = 0; +var data = function (count) { + var result = []; + for (var i = 0; i < count; i++) { + result.push({ + TaskID: i + 1, + Engineer: names[Math.round(Math.random() * names.length)] || names[0], + City: names[Math.round(Math.random() * city.length)] || city[0], + Designation: designation[Math.round(Math.random() * designation.length)] || designation[0], + Estimation: hours[Math.round(Math.random() * hours.length)] || hours[0], + Rating: hours[Math.round(Math.random() * rating.length)] || rating[0], + Status: status[Math.round(Math.random() * status.length)] || status[0] + }); + } + time = new Date().getTime(); + return result; +}; + +var pivotTableObj = new ej.pivotview.PivotView({ + dataSourceSettings: { + dataSource: data(10000), + expandAll: false, + rows: [{ name: 'TaskID' }, { name: 'Status' }], + columns: [{ name: 'Designation' }], + values: [{ name: 'Estimation' }, { name: 'Rating' }] + }, + width: 1200, + height: 400, + enableVirtualization: true, + allowPdfExport: true, + exportComplete: function () { + pivotTableObj.hideWaitingPopup(); + } +}); +pivotTableObj.appendTo('#PivotTable'); + +var exportBtn = new ej.buttons.Button({ isPrimary: true }); +exportBtn.appendTo('#pdf'); + +document.getElementById('pdf').onclick = function () { + pivotTableObj.showWaitingPopup(); + setTimeout(function () { + pivotTableObj.pdfExport(); + }); +}; \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs47/index.ts b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs47/index.ts new file mode 100644 index 000000000..209912241 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs47/index.ts @@ -0,0 +1,56 @@ +import { PivotView, PDFExport, IDataSet, VirtualScroll } from '@syncfusion/ej2-pivotview'; +import { Button } from '@syncfusion/ej2-buttons'; + +let names: string[] = ['TOM', 'Hawk', 'Jon', 'Chandler', 'Monica', 'Rachel', 'Phoebe', 'Gunther', + 'Ross', 'Geller', 'Joey', 'Bing', 'Tribbiani', 'Janice', 'Bong', 'Perk', 'Green', 'Ken', 'Adams']; +let city: string[] = ['New York', 'Los Angeles', 'Chicago', 'Houston', 'Philadelphia', 'Phoenix', 'San Antonio', 'Austin', + 'San Francisco', 'Columbus', 'Washington', 'Portland', 'Oklahoma', 'Las Vegas', 'Virginia', 'St. Louis', 'Birmingham'] +let hours: number[] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; +let rating: number[] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; +let designation: string[] = ['Manager', 'Engineer 1', 'Engineer 2', 'Developer', 'Tester']; +let status: string[] = ['Completed', 'Open', 'In Progress', 'Review', 'Testing']; +let time: number = 0; +let data: Function = (count: number) => { + let result: Object[] = []; + for (let i: number = 0; i < count; i++) { + result.push({ + TaskID: i + 1, + Engineer: names[Math.round(Math.random() * names.length)] || names[0], + City: names[Math.round(Math.random() * city.length)] || city[0], + Designation: designation[Math.round(Math.random() * designation.length)] || designation[0], + Estimation: hours[Math.round(Math.random() * hours.length)] || hours[0], + Rating: hours[Math.round(Math.random() * rating.length)] || rating[0], + Status: status[Math.round(Math.random() * status.length)] || status[0] + }); + } + time = new Date().getTime(); + return result; +}; + +PivotView.Inject(VirtualScroll, PDFExport); +let pivotGridObj: PivotView = new PivotView({ + dataSourceSettings: { + dataSource: data(10000) as IDataSet[], + expandAll: false, + rows: [{ name: 'TaskID' }, { name: 'Status' }], + columns: [{ name: 'Designation' }], + values: [{ name: 'Estimation' }, { name: 'Rating' }] + }, + width: 1200, + height: 400, + enableVirtualization: true, + allowPdfExport: true, + exportComplete: function (): void { + pivotGridObj.hideWaitingPopup(); + } +}); +pivotGridObj.appendTo('#PivotTable'); + +let exportBtn: Button = new Button({ isPrimary: true }); +exportBtn.appendTo('#pdf'); +document.getElementById('pdf').onclick = function (): void { + pivotGridObj.showWaitingPopup(); + setTimeout(() => { + pivotGridObj.pdfExport(); + }); +}; \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs47/js/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs47/js/index.html new file mode 100644 index 000000000..002bcb6b5 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs47/js/index.html @@ -0,0 +1,47 @@ + + + + + EJ2 Pivot Grid + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs47/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs47/systemjs.config.js new file mode 100644 index 000000000..09acf632f --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs47/systemjs.config.js @@ -0,0 +1,47 @@ +System.config({ + transpiler: "typescript", + typescriptOptions: { + compilerOptions: { + target: "umd", + module: "commonjs", + moduleResolution: "node", + emitDecoratorMetadata: true, + experimentalDecorators: true + } + }, + paths: { + "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/" + }, + map: { + main: "index.ts", + typescript: "https://unpkg.com/typescript@2.2.2/lib/typescript.js", + 'plugin-json':'https://cdnjs.cloudflare.com/ajax/libs/systemjs-plugin-json/0.3.0/json.min.js', + "@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js", + "@syncfusion/ej2-data": "syncfusion:ej2-data/dist/ej2-data.umd.min.js", + "@syncfusion/ej2-inputs": "syncfusion:ej2-inputs/dist/ej2-inputs.umd.min.js", + "@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js", + "@syncfusion/ej2-splitbuttons": "syncfusion:ej2-splitbuttons/dist/ej2-splitbuttons.umd.min.js", + "@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js", + "@syncfusion/ej2-navigations": "syncfusion:ej2-navigations/dist/ej2-navigations.umd.min.js", + "@syncfusion/ej2-grids": "syncfusion:ej2-grids/dist/ej2-grids.umd.min.js", + "@syncfusion/ej2-charts": "syncfusion:ej2-charts/dist/ej2-charts.umd.min.js", + "@syncfusion/ej2-svg-base": "syncfusion:ej2-svg-base/dist/ej2-svg-base.umd.min.js", + "@syncfusion/ej2-dropdowns": "syncfusion:ej2-dropdowns/dist/ej2-dropdowns.umd.min.js", + "@syncfusion/ej2-calendars": "syncfusion:ej2-calendars/dist/ej2-calendars.umd.min.js", + "@syncfusion/ej2-lists": "syncfusion:ej2-lists/dist/ej2-lists.umd.min.js", + "@syncfusion/ej2-excel-export": "syncfusion:ej2-excel-export/dist/ej2-excel-export.umd.min.js", + "@syncfusion/ej2-pdf-export": "syncfusion:ej2-pdf-export/dist/ej2-pdf-export.umd.min.js", + "@syncfusion/ej2-file-utils": "syncfusion:ej2-file-utils/dist/ej2-file-utils.umd.min.js", + "@syncfusion/ej2-compression": "syncfusion:ej2-compression/dist/ej2-compression.umd.min.js", + "@syncfusion/ej2-pivotview": "syncfusion:ej2-pivotview/dist/ej2-pivotview.umd.min.js", + "@syncfusion/ej2-notifications":"syncfusion:ej2-notifications/dist/ej2-notifications.umd.min.js", + }, + meta: { + '*.json': { loader: 'plugin-json' } + } +}); + +System.import('index.ts').catch(console.error.bind(console)).then(function () { + document.getElementById('loader').style.display = "none"; + document.getElementById('container').style.visibility = "visible"; +}); \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs47/ts/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs47/ts/index.html new file mode 100644 index 000000000..4ab529599 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs47/ts/index.html @@ -0,0 +1,36 @@ + + + + + EJ2 Pivot Grid + + + + + + + + + + + + + + + + + + + + + + + +
Loading....
+
+ +
+
+ + + \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs48/datasource.ts b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs48/datasource.ts new file mode 100644 index 000000000..6a40b7be8 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs48/datasource.ts @@ -0,0 +1,158 @@ +export let base64AlgeriaFont: string = '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AAAAAAADAAgAIwABAAAAAAAEAAgAIwABAAAAAAAFAAwAMgABAAAAAAAGAAgAIwADAAEEBgACAAwAPgADAAEEBgAEABAASgADAAEEBwACABAAWgADAAEEBwAEABAASgADAAEECQAAAEYAagADAAEECQABABAASgADAAEECQACAA4AsAADAAEECQADABAASgADAAEECQAEABAASgADAAEECQAFABgAvgADAAEECQAGABAASgADAAEECgACAAwA1gADAAEECgAEABAASgADAAEECwACABAA4gADAAEECwAEABAASgADAAEEDAACAAwA1gADAAEEDAAEABAASgADAAEEEAACAA4A8gADAAEEEAAEABAASgADAAEEEwACABIBAAADAAEEEwAEABAASgADAAEEFAACAAwA1gADAAEEFAAEABAASgADAAEEHQACAAwA1gADAAEEHQAEABAASgADAAEIFgACAAwA1gADAAEIFgAEABAASgADAAEMCgACAAwA1gADAAEMCgAEABAASgADAAEMDAACAAwA1gADAAEMDAAEABAASlVSVyBTb2Z0d2FyZSwgQ29weXJpZ2h0IDE5OTMgYnkgVVJXQWxnZXJpYW5SZWd1bGFyVmVyc2lvbiAxLjU3AG4AbwByAG0AYQBsAEEAbABnAGUAcgBpAGEAbgBTAHQAYQBuAGQAYQByAGQAVQBSAFcAIABTAG8AZgB0AHcAYQByAGUALAAgAEMAbwBwAHkAcgBpAGcAaAB0ACAAMQA5ADkAMwAgAGIAeQAgAFUAUgBXAFIAZQBnAHUAbABhAHIAVgBlAHIAcwBpAG8AbgAgADEALgA1ADcATgBvAHIAbQBhAGwATgBvAHIAbQBhAGEAbABpAE4AbwByAG0AYQBsAGUAUwB0AGEAbgBkAGEAYQByAGQAAgAAAAAAAP8OAHUAAAAAAAAAAAAAAAAAAAAAAAAAAADMAAABAgEDAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBeAF8AYABhAGIAYwBkAGUAZgBnAGgAggCDAIQAhQCGAIcAiACK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'; +export let pivotData: Object[] = [ + { 'Sold': 31, 'Amount': 52824, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 51, 'Amount': 86904, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 25, 'Amount': 42600, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 27, 'Amount': 46008, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 49, 'Amount': 83496, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 95, 'Amount': 161880, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 75, 'Amount': 127800, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 69, 'Amount': 117576, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 16, 'Amount': 27264, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 83, 'Amount': 124422, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 57, 'Amount': 85448, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 20, 'Amount': 29985, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 93, 'Amount': 139412, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 35, 'Amount': 52470, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 48, 'Amount': 71957, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 36, 'Amount': 53969, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 25, 'Amount': 37480, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 69, 'Amount': 103436, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 16, 'Amount': 23989, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 19, 'Amount': 28486, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 89, 'Amount': 141999.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 91, 'Amount': 145190.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 24, 'Amount': 38292, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 75, 'Amount': 119662.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 100, 'Amount': 159550, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 30, 'Amount': 47865, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 69, 'Amount': 110089.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 25, 'Amount': 39887.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 42, 'Amount': 67011, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 94, 'Amount': 149977, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 76, 'Amount': 121258, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 52, 'Amount': 82966, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 33, 'Amount': 52651.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 16, 'Amount': 23989, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 21, 'Amount': 33505.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 74, 'Amount': 126096, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 99, 'Amount': 148406, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 31, 'Amount': 49460.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 57, 'Amount': 97128, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 41, 'Amount': 61464, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 64, 'Amount': 102112, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 85, 'Amount': 144840, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 76, 'Amount': 129504, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 33, 'Amount': 56232, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 71, 'Amount': 120984, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 81, 'Amount': 138024, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 65, 'Amount': 110760, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 39, 'Amount': 66456, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 91, 'Amount': 155064, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 16, 'Amount': 27264, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 59, 'Amount': 100536, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 36, 'Amount': 61344, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 39, 'Amount': 58466, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 47, 'Amount': 70458, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 19, 'Amount': 28486, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 26, 'Amount': 38979, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 15, 'Amount': 22490, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 83, 'Amount': 124422, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 79, 'Amount': 118426, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 14, 'Amount': 20991, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 15, 'Amount': 23932.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 47, 'Amount': 74988.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 93, 'Amount': 148381.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 13, 'Amount': 20741.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 44, 'Amount': 70202, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 59, 'Amount': 94134.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 34, 'Amount': 54247, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 48, 'Amount': 76584, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 35, 'Amount': 55842.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 71, 'Amount': 113280.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 77, 'Amount': 131208, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 92, 'Amount': 156768, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 51, 'Amount': 86904, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 91, 'Amount': 155064, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 90, 'Amount': 153360, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 56, 'Amount': 95424, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 14, 'Amount': 23856, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 95, 'Amount': 161880, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 24, 'Amount': 40896, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 39, 'Amount': 66456, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 84, 'Amount': 143136, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 40, 'Amount': 68160, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 96, 'Amount': 163584, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 24, 'Amount': 35981, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 86, 'Amount': 128919, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 31, 'Amount': 46474, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 36, 'Amount': 53969, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 69, 'Amount': 103436, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 95, 'Amount': 142410, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 95, 'Amount': 142410, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 30, 'Amount': 44975, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 11, 'Amount': 16494, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 97, 'Amount': 145408, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 16, 'Amount': 23989, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 68, 'Amount': 101937, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 11, 'Amount': 16494, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 27, 'Amount': 40478, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 45, 'Amount': 67460, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 100, 'Amount': 149905, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 83, 'Amount': 124422, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 100, 'Amount': 149905, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 18, 'Amount': 26987, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 81, 'Amount': 121424, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 20, 'Amount': 29985, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 99, 'Amount': 148406, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 52, 'Amount': 88608, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 91, 'Amount': 155064, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 37, 'Amount': 63048, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 41, 'Amount': 69864, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 49, 'Amount': 83496, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 23, 'Amount': 39192, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 67, 'Amount': 114168, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 85, 'Amount': 144840, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 25, 'Amount': 42600, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 28, 'Amount': 47712, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 53, 'Amount': 90312, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 82, 'Amount': 130831, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 41, 'Amount': 65415.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 60, 'Amount': 95730, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 71, 'Amount': 113280.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 21, 'Amount': 33505.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 34, 'Amount': 54247, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 14, 'Amount': 22337, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 50, 'Amount': 79775, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 49, 'Amount': 78179.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 40, 'Amount': 63820, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 17, 'Amount': 27123.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 56, 'Amount': 89348, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 54, 'Amount': 86157, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 14, 'Amount': 22337, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 80, 'Amount': 127640, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }]; \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs48/es5-datasource.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs48/es5-datasource.js new file mode 100644 index 000000000..4d61e4784 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs48/es5-datasource.js @@ -0,0 +1,158 @@ +window.base64AlgeriaFont = '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AAAAAAADAAgAIwABAAAAAAAEAAgAIwABAAAAAAAFAAwAMgABAAAAAAAGAAgAIwADAAEEBgACAAwAPgADAAEEBgAEABAASgADAAEEBwACABAAWgADAAEEBwAEABAASgADAAEECQAAAEYAagADAAEECQABABAASgADAAEECQACAA4AsAADAAEECQADABAASgADAAEECQAEABAASgADAAEECQAFABgAvgADAAEECQAGABAASgADAAEECgACAAwA1gADAAEECgAEABAASgADAAEECwACABAA4gADAAEECwAEABAASgADAAEEDAACAAwA1gADAAEEDAAEABAASgADAAEEEAACAA4A8gADAAEEEAAEABAASgADAAEEEwACABIBAAADAAEEEwAEABAASgADAAEEFAACAAwA1gADAAEEFAAEABAASgADAAEEHQACAAwA1gADAAEEHQAEABAASgADAAEIFgACAAwA1gADAAEIFgAEABAASgADAAEMCgACAAwA1gADAAEMCgAEABAASgADAAEMDAACAAwA1gADAAEMDAAEABAASlVSVyBTb2Z0d2FyZSwgQ29weXJpZ2h0IDE5OTMgYnkgVVJXQWxnZXJpYW5SZWd1bGFyVmVyc2lvbiAxLjU3AG4AbwByAG0AYQBsAEEAbABnAGUAcgBpAGEAbgBTAHQAYQBuAGQAYQByAGQAVQBSAFcAIABTAG8AZgB0AHcAYQByAGUALAAgAEMAbwBwAHkAcgBpAGcAaAB0ACAAMQA5ADkAMwAgAGIAeQAgAFUAUgBXAFIAZQBnAHUAbABhAHIAVgBlAHIAcwBpAG8AbgAgADEALgA1ADcATgBvAHIAbQBhAGwATgBvAHIAbQBhAGEAbABpAE4AbwByAG0AYQBsAGUAUwB0AGEAbgBkAGEAYQByAGQAAgAAAAAAAP8OAHUAAAAAAAAAAAAAAAAAAAAAAAAAAADMAAABAgEDAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBeAF8AYABhAGIAYwBkAGUAZgBnAGgAggCDAIQAhQCGAIcAiACK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'; +var pivotData = [ + { 'Sold': 25, 'Amount': 42600, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 27, 'Amount': 46008, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 49, 'Amount': 83496, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 31, 'Amount': 52824, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 51, 'Amount': 86904, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 95, 'Amount': 161880, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 93, 'Amount': 139412, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 35, 'Amount': 52470, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 16, 'Amount': 27264, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 69, 'Amount': 117576, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 75, 'Amount': 127800, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 20, 'Amount': 29985, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 83, 'Amount': 124422, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 16, 'Amount': 23989, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 48, 'Amount': 71957, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 57, 'Amount': 85448, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 25, 'Amount': 37480, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 69, 'Amount': 103436, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 36, 'Amount': 53969, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 75, 'Amount': 119662.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 19, 'Amount': 28486, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 91, 'Amount': 145190.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 24, 'Amount': 38292, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 94, 'Amount': 149977, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 100, 'Amount': 159550, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 30, 'Amount': 47865, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 89, 'Amount': 141999.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 25, 'Amount': 39887.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 42, 'Amount': 67011, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 21, 'Amount': 33505.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 74, 'Amount': 126096, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 76, 'Amount': 121258, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 69, 'Amount': 110089.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 16, 'Amount': 23989, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 52, 'Amount': 82966, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 85, 'Amount': 144840, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 99, 'Amount': 148406, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 31, 'Amount': 49460.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 33, 'Amount': 52651.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 41, 'Amount': 61464, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 64, 'Amount': 102112, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 57, 'Amount': 97128, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 39, 'Amount': 66456, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 76, 'Amount': 129504, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 33, 'Amount': 56232, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 81, 'Amount': 138024, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 65, 'Amount': 110760, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 47, 'Amount': 70458, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 91, 'Amount': 155064, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 16, 'Amount': 27264, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 71, 'Amount': 120984, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 36, 'Amount': 61344, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 39, 'Amount': 58466, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 59, 'Amount': 100536, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 83, 'Amount': 124422, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 19, 'Amount': 28486, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 26, 'Amount': 38979, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 15, 'Amount': 22490, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 13, 'Amount': 20741.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 79, 'Amount': 118426, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 14, 'Amount': 20991, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 47, 'Amount': 74988.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 93, 'Amount': 148381.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 15, 'Amount': 23932.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 48, 'Amount': 76584, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 44, 'Amount': 70202, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 59, 'Amount': 94134.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 77, 'Amount': 131208, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 84, 'Amount': 143136, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 34, 'Amount': 54247, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 56, 'Amount': 95424, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 35, 'Amount': 55842.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 71, 'Amount': 113280.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 91, 'Amount': 155064, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 90, 'Amount': 153360, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 40, 'Amount': 68160, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 24, 'Amount': 40896, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 31, 'Amount': 46474, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 92, 'Amount': 156768, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 14, 'Amount': 23856, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 95, 'Amount': 161880, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 51, 'Amount': 86904, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 39, 'Amount': 66456, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 36, 'Amount': 53969, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 86, 'Amount': 128919, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 96, 'Amount': 163584, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 24, 'Amount': 35981, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 97, 'Amount': 145408, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 69, 'Amount': 103436, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 95, 'Amount': 142410, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 30, 'Amount': 44975, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 11, 'Amount': 16494, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 95, 'Amount': 142410, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 11, 'Amount': 16494, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 27, 'Amount': 40478, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 68, 'Amount': 101937, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 100, 'Amount': 149905, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 45, 'Amount': 67460, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 16, 'Amount': 23989, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 18, 'Amount': 26987, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 83, 'Amount': 124422, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 52, 'Amount': 88608, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 91, 'Amount': 155064, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 100, 'Amount': 149905, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 37, 'Amount': 63048, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 41, 'Amount': 69864, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 99, 'Amount': 148406, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 67, 'Amount': 114168, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 41, 'Amount': 65415.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 81, 'Amount': 121424, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 20, 'Amount': 29985, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 85, 'Amount': 144840, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 49, 'Amount': 83496, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 23, 'Amount': 39192, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 34, 'Amount': 54247, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 53, 'Amount': 90312, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 82, 'Amount': 130831, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 60, 'Amount': 95730, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 71, 'Amount': 113280.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 25, 'Amount': 42600, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 28, 'Amount': 47712, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 21, 'Amount': 33505.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 49, 'Amount': 78179.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 50, 'Amount': 79775, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 56, 'Amount': 89348, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 40, 'Amount': 63820, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 14, 'Amount': 22337, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 80, 'Amount': 127640, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 54, 'Amount': 86157, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 14, 'Amount': 22337, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 17, 'Amount': 27123.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }]; \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs48/index.css b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs48/index.css new file mode 100644 index 000000000..a2b083f54 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs48/index.css @@ -0,0 +1,12 @@ +#container { + visibility: hidden; +} + +#loader { + color: #008cff; + height: 40px; + width: 30%; + position: absolute; + top: 45%; + left: 45%; +} diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs48/index.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs48/index.js new file mode 100644 index 000000000..76fef6b4e --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs48/index.js @@ -0,0 +1,26 @@ +var pivotTableObj = new ej.pivotview.PivotView({ + dataSourceSettings: { + dataSource: pivotData, + expandAll: false, + drilledMembers: [{ name: 'Year', items: ['FY 2015'] }], + columns: [{ name: 'Year', caption: 'Production Year' }, { name: 'Quarter' }], + rows: [{ name: 'Country' }, { name: 'Products' }], + values: [{ name: 'Sold', caption: 'Units Sold' }], + formatSettings: [{ name: 'Amount', format: 'C0' }], + filters: [] + }, + allowPdfExport: true, + height: 320 +}); +pivotTableObj.appendTo('#PivotTable'); + +var exportBtn = new ej.buttons.Button({ isPrimary: true }); +exportBtn.appendTo('#pdf'); + +document.getElementById('pdf').onclick = function () { + let pdfExportProperties = { + allowHorizontalOverflow: true + }; + pivotTableObj.pdfExport(pdfExportProperties); +}; + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs48/index.ts b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs48/index.ts new file mode 100644 index 000000000..9e44371c2 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs48/index.ts @@ -0,0 +1,31 @@ +import { PivotView, IDataSet, PDFExport } from '@syncfusion/ej2-pivotview'; +import { Button } from '@syncfusion/ej2-buttons'; +import { pivotData } from './datasource.ts'; +import { PdfExportProperties } from '@syncfusion/ej2-grids'; + +PivotView.Inject(PDFExport); +let pivotTableObj: PivotView = new PivotView({ + dataSourceSettings: { + dataSource: pivotData as IDataSet[], + expandAll: false, + drilledMembers: [{ name: 'Year', items: ['FY 2015'] }], + columns: [{ name: 'Year', caption: 'Production Year' }, { name: 'Quarter' }], + rows: [{ name: 'Country' }, { name: 'Products' }], + values: [{ name: 'Sold', caption: 'Units Sold' }], + formatSettings: [{ name: 'Amount', format: 'C0' }], + filters: [] + }, + allowPdfExport: true, + height: 320 +}); +pivotTableObj.appendTo('#PivotTable'); + +let exportBtn: Button = new Button({ isPrimary: true }); +exportBtn.appendTo('#pdf'); + +document.getElementById('pdf').onclick = function () { + let pdfExportProperties: PdfExportProperties = { + allowHorizontalOverflow: true + }; + pivotTableObj.pdfExport(pdfExportProperties); +}; diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs48/js/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs48/js/index.html new file mode 100644 index 000000000..bab940687 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs48/js/index.html @@ -0,0 +1,46 @@ + + + + + EJ2 Pivot Grid + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + + + + + \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs48/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs48/systemjs.config.js new file mode 100644 index 000000000..981462b0c --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs48/systemjs.config.js @@ -0,0 +1,44 @@ +System.config({ + transpiler: "typescript", + typescriptOptions: { + compilerOptions: { + target: "umd", + module: "commonjs", + moduleResolution: "node", + emitDecoratorMetadata: true, + experimentalDecorators: true + } + }, + paths: { + "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/" + }, + map: { + main: "index.ts", + typescript: "https://unpkg.com/typescript@2.2.2/lib/typescript.js", + 'plugin-json': 'https://cdnjs.cloudflare.com/ajax/libs/systemjs-plugin-json/0.3.0/json.min.js', + "@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js", + "@syncfusion/ej2-data": "syncfusion:ej2-data/dist/ej2-data.umd.min.js", + "@syncfusion/ej2-inputs": "syncfusion:ej2-inputs/dist/ej2-inputs.umd.min.js", + "@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js", + "@syncfusion/ej2-splitbuttons": "syncfusion:ej2-splitbuttons/dist/ej2-splitbuttons.umd.min.js", + "@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js", + "@syncfusion/ej2-navigations": "syncfusion:ej2-navigations/dist/ej2-navigations.umd.min.js", + "@syncfusion/ej2-grids": "syncfusion:ej2-grids/dist/ej2-grids.umd.min.js", + "@syncfusion/ej2-charts": "syncfusion:ej2-charts/dist/ej2-charts.umd.min.js", + "@syncfusion/ej2-svg-base": "syncfusion:ej2-svg-base/dist/ej2-svg-base.umd.min.js", + "@syncfusion/ej2-dropdowns": "syncfusion:ej2-dropdowns/dist/ej2-dropdowns.umd.min.js", + "@syncfusion/ej2-calendars": "syncfusion:ej2-calendars/dist/ej2-calendars.umd.min.js", + "@syncfusion/ej2-lists": "syncfusion:ej2-lists/dist/ej2-lists.umd.min.js", + "@syncfusion/ej2-excel-export": "syncfusion:ej2-excel-export/dist/ej2-excel-export.umd.min.js", + "@syncfusion/ej2-pdf-export": "syncfusion:ej2-pdf-export/dist/ej2-pdf-export.umd.min.js", + "@syncfusion/ej2-file-utils": "syncfusion:ej2-file-utils/dist/ej2-file-utils.umd.min.js", + "@syncfusion/ej2-compression": "syncfusion:ej2-compression/dist/ej2-compression.umd.min.js", + "@syncfusion/ej2-pivotview": "syncfusion:ej2-pivotview/dist/ej2-pivotview.umd.min.js", + "@syncfusion/ej2-notifications":"syncfusion:ej2-notifications/dist/ej2-notifications.umd.min.js", + } +}); + +System.import('index.ts').catch(console.error.bind(console)).then(function () { + document.getElementById('loader').style.display = "none"; + document.getElementById('container').style.visibility = "visible"; +}); \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs48/ts/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs48/ts/index.html new file mode 100644 index 000000000..e0eff9a7b --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs48/ts/index.html @@ -0,0 +1,36 @@ + + + + + EJ2 Pivot Grid + + + + + + + + + + + + + + + + + + + + + +
Loading....
+
+ +
+
+
+
+ + + \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs49/datasource.ts b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs49/datasource.ts new file mode 100644 index 000000000..8db52561a --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs49/datasource.ts @@ -0,0 +1,128 @@ +export let employeeData: { [key: string]: Object }[] = [ + { + EmployeeID: 1, + LastName: 'Davolio', + FirstName: 'Nancy', + EmailID: 'nancy@domain.com', + Title: 'Sales Representative', + Department: 'Sales', + Office: 'Seattle', + Salary: 720000, + SalesYTD: 1850000, + OrdersCount: 420, + EmployeeImage: + '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', + }, + { + EmployeeID: 2, + LastName: 'Fuller', + FirstName: 'Andrew', + EmailID: 'andrew@domain.com', + Title: 'Vice President, Sales', + Department: 'Sales Management', + Office: 'Seattle', + Salary: 1200000, + SalesYTD: 2500000, + OrdersCount: 180, + EmployeeImage: + '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', + }, + { + EmployeeID: 3, + LastName: 'Leverling', + FirstName: 'Janet', + EmailID: 'janet@domain.com', + Title: 'Sales Representative', + Department: 'Sales', + Office: 'Tacoma', + Salary: 680000, + SalesYTD: 1620000, + OrdersCount: 390, + EmployeeImage: + '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', + }, + { + EmployeeID: 4, + LastName: 'Peacock', + FirstName: 'Margaret', + EmailID: 'margaret@domain.com', + Title: 'Sales Representative', + Department: 'Sales', + Office: 'Redmond', + Salary: 700000, + SalesYTD: 1735000, + OrdersCount: 405, + EmployeeImage: + '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', + }, + { + EmployeeID: 5, + LastName: 'Buchanan', + FirstName: 'Steven', + EmailID: 'steven@domain.com', + Title: 'Sales Manager', + Department: 'Sales Management', + Office: 'Kirkland', + Salary: 950000, + SalesYTD: 2210000, + OrdersCount: 260, + EmployeeImage: + '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', + }, + { + EmployeeID: 6, + LastName: 'Suyama', + FirstName: 'Michael', + EmailID: 'michael@domain.com', + Title: 'Sales Representative', + Department: 'Sales', + Office: 'Kirkland', + Salary: 660000, + SalesYTD: 1510000, + OrdersCount: 370, + EmployeeImage: + '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', + }, + { + EmployeeID: 7, + LastName: 'King', + FirstName: 'Robert', + EmailID: 'robert@domain.com', + Title: 'Sales Representative', + Department: 'Sales', + Office: 'Seattle', + Salary: 690000, + SalesYTD: 1655000, + OrdersCount: 398, + EmployeeImage: + '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', + }, + { + EmployeeID: 8, + LastName: 'Callahan', + FirstName: 'Laura', + EmailID: 'laura@domain.com', + Title: 'Inside Sales Coordinator', + Department: 'Sales Operations', + Office: 'Redmond', + Salary: 620000, + SalesYTD: 890000, + OrdersCount: 520, + EmployeeImage: + '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', + }, + { + EmployeeID: 9, + LastName: 'Dodsworth', + FirstName: 'Anne', + EmailID: 'anne@domain.com', + Title: 'Sales Representative', + Department: 'Sales', + Office: 'Tacoma', + Salary: 670000, + SalesYTD: 1580000, + OrdersCount: 384, + EmployeeImage: + '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', + } +]; \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs49/es5-datasource.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs49/es5-datasource.js new file mode 100644 index 000000000..8b96ab004 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs49/es5-datasource.js @@ -0,0 +1,128 @@ +var employeeData = [ + { + EmployeeID: 1, + LastName: 'Davolio', + FirstName: 'Nancy', + EmailID: 'nancy@domain.com', + Title: 'Sales Representative', + Department: 'Sales', + Office: 'Seattle', + Salary: 720000, + SalesYTD: 1850000, + OrdersCount: 420, + EmployeeImage: + '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', + }, + { + EmployeeID: 2, + LastName: 'Fuller', + FirstName: 'Andrew', + EmailID: 'andrew@domain.com', + Title: 'Vice President, Sales', + Department: 'Sales Management', + Office: 'Seattle', + Salary: 1200000, + SalesYTD: 2500000, + OrdersCount: 180, + EmployeeImage: + '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', + }, + { + EmployeeID: 3, + LastName: 'Leverling', + FirstName: 'Janet', + EmailID: 'janet@domain.com', + Title: 'Sales Representative', + Department: 'Sales', + Office: 'Tacoma', + Salary: 680000, + SalesYTD: 1620000, + OrdersCount: 390, + EmployeeImage: + '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', + }, + { + EmployeeID: 4, + LastName: 'Peacock', + FirstName: 'Margaret', + EmailID: 'margaret@domain.com', + Title: 'Sales Representative', + Department: 'Sales', + Office: 'Redmond', + Salary: 700000, + SalesYTD: 1735000, + OrdersCount: 405, + EmployeeImage: + '/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAB4AHgDASIAAhEBAxEB/8QAHgABAAEEAwEBAAAAAAAAAAAAAAgEBQcJAQIGAwr/xAA8EAABAwMDAgQDBQYEBwAAAAABAgMEAAURBhIhBzEIE0FRFCJhCTJxgbEVI0JykaFSYsHRFhckM0Th8P/EABsBAAEFAQEAAAAAAAAAAAAAAAABAgMFBgQH/8QALhEAAgIBAwIFAgUFAAAAAAAAAAECAxEEITEFEhNBUYGxoeEGFGFxkRUiQtHx/9oADAMBAAIRAxEAPwDanSlKAFKUoAVwSB3rmoQ/aA+KuV0+ZPSLRctz9pSWPNvTjC9i2mlgFDG/I27kncr3SpI7KUKjtsVUe5klVbtl2ozJ1U8aPRnphOfsaLhJ1FeIzoZeiWpKVIaV/FueUQ2SnsQkqIVwQMHGJ9ZfaTaShadluaY0VOZvgTmM3d3WxHHyKJKi0slR3BKQkFOd2SRtwYJaZnXS6283OQlphhI3OLQM7AOwKj6n0A79vasca3kz9Y3w22zW6bJUgkbiSMnPZKQMnnt71Tf1G2c2uEWz0FUIpvdk0+nf2kPUC0XuMz1CuEO8MvbfiWVsMsgJ3c+SphtJSruAVlY45A7jYP016naR6r6aY1Ro+4iTGcCQ62oYcYcKQShY9xnuMpPoSK0BzNPzLXd0252M58U0gBSS5lQWBkgEHHfNS98E3Xe/dNLwkSBKVbQtLVwjODcrycjdgcbikZKSOQrj7qiKfHWOhqUnmPn+n6jJaNXJqCxJfU210r4QZka4QmJ8KQh+PJbS8y6g5S4hQylQPqCCDX3q65KgUpSgBSlKAFKUoAUpSgBWkTxO6gk6t8Reu58e4xpjLOoZrTMkqDyVoQ8ptvaclJCUJSE8EADj3rdNqq+M6Y0zdtSyGFvNWmE/OcbQQFLS02pZSCeATtxzWhawQpb+oDNuKzht5xcg4x8wWQfzOMfnVZ1K1QikWfTKu+bf7GSzbbpH0yw45HckPOYDbbqtrQKu2QkjPZSu44TycYByb0Z6T3d2zSblFgtO3SSkB6WhISGwrjYggDAweQBk+uMg14vQ1qvvUe/MwJDS/hvNCW2tpCdzhwnIHO0ADPsPxrZFoLp/adJWaNEZhtp8ppASAPQDHP1x3/OsjBz1NjrjwuTXKmumHiz9jXNq/wAMOooN+nfEOb3m2kvMJQSnJBBTtOc5zuGc+1fGBb5eioY1YtlBVHW2ma04naHWjwl3HvyAoD059Kml1tZcjXFFyQUoGWm0kJwdw3KP5Yx/Q1DPWOsv2quJZ7jF3i4x5RbQlONyW1qVjH+YbU/gqo3fPxXVJ7IdbpYQgrYLGTZn4XOods170otbEB1jzdPoTaHG2+D5bI2Mubc5AUhI57FSV47cZeqD/wBmDJku6f17GfxsjToiUHOT/wCRlJPqQQR+GKnBW36dZK3SwlPnj+Hgw+urjXqJRjx/vcUpSu45BSlKAFKUoAUpSgDyHWGc3a+kutbm62pxETT1xfUhJAKgiM4ogZBHOPY1pz6M2NV71EqDcLeZLLM3fJbdG0LUghRHJB+8COeMZrdRqaxRNUacummZ+fhbtCfgv7e/lutqQrH5KNaxNJdPJvTLqtfrFe0odmwLo6HHUj5H2sFKlJ+mQVY74VzVF1hPug2tjQdCSnKUc7mVOlsWNGvsi5WnQZ08zFZS+qQw6p9LoUCNq0qTtBThOdhB5GCQCazxEu1xuOkWbqy6+mS9EU6oMkFSPlwNoPHqK8nqW722x6Hkrilphclvyxg4+Y/X0r0GgZ7MPT9iLjqV+axsSOCVcdsevA/tVJiP+OxrfDsUf7lnD2z8HlILF46gwpOntX9OQwwFuIZuKpgcfSUnKXDu52q4xtOQcgpxUR+veg4mgOpbdxipLseDbPhIkccq81QOT7AYTk59K2MSJkFNvMhhTPPogAfjn61FPr1olzU9wblQY7js2fKbaSEp3EkkhIA75IJ7e1cvUEqsTgt+PYj06ldFqfl6+pkr7PfR91sdl1fqR1oC1XtyCiIsEfM6156nceuNrzPOMckckHEu68Z0f0R/y66bWDRqt2+3RcOAkHataitScgkHClkZHfGa9nW30FTp00IS5xv+73PP9Zarr5zjxn7ClKV1nMKUpQApSlAClKUAKxR1R6TWfUCbvqg2yGbh5Lkj4rYS8pLccoSzjkcn5twweycHvWV6pbpOt9stsq5XeZHiQYjK35UiS4ltlllKSVrWpXCUhIJJPAAJNR2VxtWJIkqtnTLug8Gv3UutLra7DZw/ZUXKLLkuRXnHJCWmo6gOC6TykHtnBGSAcVlGx3C/aY029cotj0vbmm28pU5dHHjIO0cNJQkkk+w7+nesFv6hsWrbm3KtEwKsl6d+IiLcQUodbXyk4PbKSFYPIyR6VIPQegLXBhNzGmoiC2gYVsyQfcE/rWQ7YwfbjdZPVKLYWU+JY/TbGfrlY/hl009N1BdrA1dNR21m1S5CPMXDaeLvl5JxuUQOSACR6FWMnGa9J0Y07pzVWpbxq2RK+Mf0/NRbI8Q48ph1LKHFPkfxKy6UAnhJbVjntZ0XCJMurFpinzW/ObaeWVYTyoApKv8A3xUgIVqt0Bxb8KEwy46lCHFobAUtKBtQFHurA4Ge1dnStNG+x2vDUX9fsZj8QauVUI1Rys/HoVYGOBXNKVpzHClKUAKUpQApSlAClR16zePDoB0R1Q/oq/XS63q+w1BM2DZYqXlRFEAhLi3FtthWD90KJHqBWDNa/ax6Witra6f9KLpNcUlYS9eZzcUNKwNii00Hd4yVZHmJ7DB54BUmyflauvtHvHDC1WxcPDv0iubci1BwN6mvLCwpMpSFA/BsKHdsKA8xY+8RsHy7t+I+tv2gviG6uWudps3+HpiyXJsRZECxRyyXWtxUoKfWVPZUn5VhK0oUkYKcKUDE11KjIIQnKlntQOUGuSenhmtzHUPpRBtMQpVIhMCGpGcFt1v7pB9DtCTn61IzQGntavWiOmZqZ1LDKi06wpnDgCSARvHPvzULvA51DZ0brtOlbpIAYvmxMfJwPiUnhI/mSSB7kAetbM4lvghJfQykb/3hA4BJ5J/rmsbr9O4aiUXxz7M9B6brVPSxl7P2MX9YAxpjpJfXESDDUbPOdDrZKVNkMLKcHvu3bcHvk1lnwndfIfX7pTBv0iQz/wARWwJhXyOjakpkAcPBGSQhwfMk9shYH3TUU/H1rX9h6Gh6ShukSb3K8sjPaM0kKWPzUpIqLPh48Q+r/DtrhnVunR8XAf2sXa1OLKWp8bOSknnY4nlSFgZSe4UlSkquejV9lUpeTfwZvr1ni2xj5pfJu7pWEuiPjA6H9c4rDVg1Wxab26pDSrFeHERpvmKKglLQKtr+dpP7pSiAU7gknbWbMjOKuTP8HNKUoAUpSgBSldVKKRnBNAH52NfTLjd9dX69m4uy7lJuUmVJMhZU5IWp1SlKUo8lRJOSe55qnhXJqbEU8ASpsfOg8KBHof0/pX31DGTcNR3WShwIUuc+tp1B7fvDj8qtxj+Y4qQUeRNQNru37jw/2Pv3FPZKinmKLryAy+ptLyA4hY7gEd8GuILG1IecKHFEYCgMZGe55rtakiUxb3FclLb7ZP8AKvj9ao3G5zU925RUFyI8opUyk+o43CminobVdJ9nu0K9W2W41LgPtyY7g7ocQoKSR+BArc9061hbeoeg7BrazuISxd4LUvywsL8lakje2SPVCspP1Sa0qQpUeSje0oqAOCMYKT7EelTi8FXXS36Z6W6y0rqOcEDS0Z69wAtXzKjKB8xtCf8AK7g98kvjtiqfq1PfWrEt18P7l70TUKFrqk9n8r7GPPGTrw6163XKIxJDsPT7SLc0Un5SsDc6fx3KKT/IKwLMcRGaU8vdsAyrAzj8qrZ86Vdp8m6zXPMlTHlyHlf4lrUVKP8AUmqR99CAGgkKUv8AhPbHufpVjp6lTVGv0RVaq78xdKz1f/Cmiyg8gPxyoAHKSUlJ/oalN0D+0E6u9IvIsurZLmtNON4T8PcHj8XHTk58mQcqP8rm5IAAG2orWwfuC0oAKbUUH8u39q7S2lKebaRwFAn8+AP9T+VTkGMrc3l9DfEn0n8Qlvfk9Or+qRMgMMO3G3yGFsyIZdSSEqCgErwQpJU2VJyO/IzlKtVX2WGp7HZ+vGoNMyluJm3qwONwyEkoUpl1DikEgcHYFHJwPkI7kCtqtIQyWGKUpQIKpLtdIVktku8XN4Mw4LDkqQ4QSENoSVKVx7AE1V1HPx69V9V9JPDzfLppjSS7si9Nrsc6duPl2liSgtmQtA5Vkq2JJISFrQSTwhQtwNJ0aU5FccW8kqjuOElQ58tWf0q7rLS2gvCVnHAPqPUZ/wDv9atdtjLQSptwKQo/MlScA19HCLcVRpCSYjoJRg8t+4H4dx9AfYU9kpSWlSG9OuSG87kPvIbJ78q7H+1XeLFDDLEf/Ann8asemz59liRkr3gS3dyu2dqs5/SvStjcd49aRAebv9ukwrki72lPzqTh9r+FxP1Hv9autsua5UVa4b77SlAIebS4UkgEKKFY7pJA47cD1HFbIH71JPok1RS4TsRkXSEj/qGsqWgD/ut+qfxHcH3pGk+RU2uC7PT20AIaUFOqRvA9k+5qnt5W4FPOEqUtfJPqBVrtr7b6pr7RykbEpV7gp3D+xFXeIA2wlOcYoQZCB5NxWgZAdQFfmKqeXJK/LyShsAeyck810eQhwsuBW1YV8p+pB4/tXFvczJlJcHzYSP1oYZM3+BXWUXQfit0TJm7jFu0l2yr2AFRclNLaZ7kDHnLaz3OM4BOBW6oHNfnrhTpdpv1uulseUxJhymn2HEueWUOJWFJUFcFOCAc+nev0KJ7f2poyfqc0pSlGCo5faHkJ8HfUIkd27an+tziilKVcgjTBb0nyAQPXNcz48iVb5DyWHCywUb3g2VIZUo4RuI4GVDgHGeaUpZvBNFZeCzaVa8u3PbUlPkyZPynkgHBAJ98GvTMJ2tpGRnFKULgb5HctJWQpX8P6Vk/oZo/R2splxi6pftAdaVHKG7pdfgGfg1JfMl1twrQPNQURkp3FQHnKUW1hJKVKZPgVPcxAxbY9vclRoSy6wmQsNuFOCtAJ2nHpxjiqtvclOFJI9uaUpwhxMdUiEhYPzNvoOfpn/bNd0mSbhIQ0oJbJTyk8hWPUe3NKUIVF50LpiLrLqRpjRd5vYtsa+3mFbX5hAxFbefQ2p0gkA7QonkgcdxX6BE9uKUpqGzOaUpSjD//Z', + }, + { + EmployeeID: 5, + LastName: 'Buchanan', + FirstName: 'Steven', + EmailID: 'steven@domain.com', + Title: 'Sales Manager', + Department: 'Sales Management', + Office: 'Kirkland', + Salary: 950000, + SalesYTD: 2210000, + OrdersCount: 260, + EmployeeImage: + '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', + }, + { + EmployeeID: 6, + LastName: 'Suyama', + FirstName: 'Michael', + EmailID: 'michael@domain.com', + Title: 'Sales Representative', + Department: 'Sales', + Office: 'Kirkland', + Salary: 660000, + SalesYTD: 1510000, + OrdersCount: 370, + EmployeeImage: + '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', + }, + { + EmployeeID: 7, + LastName: 'King', + FirstName: 'Robert', + EmailID: 'robert@domain.com', + Title: 'Sales Representative', + Department: 'Sales', + Office: 'Seattle', + Salary: 690000, + SalesYTD: 1655000, + OrdersCount: 398, + EmployeeImage: + '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', + }, + { + EmployeeID: 8, + LastName: 'Callahan', + FirstName: 'Laura', + EmailID: 'laura@domain.com', + Title: 'Inside Sales Coordinator', + Department: 'Sales Operations', + Office: 'Redmond', + Salary: 620000, + SalesYTD: 890000, + OrdersCount: 520, + EmployeeImage: + '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', + }, + { + EmployeeID: 9, + LastName: 'Dodsworth', + FirstName: 'Anne', + EmailID: 'anne@domain.com', + Title: 'Sales Representative', + Department: 'Sales', + Office: 'Tacoma', + Salary: 670000, + SalesYTD: 1580000, + OrdersCount: 384, + EmployeeImage: + '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', + } +]; \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs49/index.css b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs49/index.css new file mode 100644 index 000000000..a2b083f54 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs49/index.css @@ -0,0 +1,12 @@ +#container { + visibility: hidden; +} + +#loader { + color: #008cff; + height: 40px; + width: 30%; + position: absolute; + top: 45%; + left: 45%; +} diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs49/index.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs49/index.js new file mode 100644 index 000000000..27b7504d3 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs49/index.js @@ -0,0 +1,85 @@ +var pivotTableObj = new ej.pivotview.PivotView({ + dataSourceSettings: { + dataSource: employeeData, + rows: [{ name: 'FirstName' }, { name: 'EmployeeID', caption: 'Employee Image' }], + columns: [{ name: 'Title' }], + values: [{ name: 'Salary' }, { name: 'OrdersCount' }], + filterSettings: [ + { name: 'Title', type: 'Include', items: ['Sales Representative'] } + ], + expandAll: true, + showSubTotals: false, + showRowGrandTotals: false + }, + width: '100%', + height: 450, + allowPdfExport: true, + showFieldList: true, + cellTemplate: '${getCellContent(data)}', + hyperlinkSettings: { + showRowHeaderHyperlink: true, + cssClass: 'e-custom-class' + }, + gridSettings: { + layout: 'Tabular', + pdfQueryCellInfo: function (args) { + if (args.data && args.data.axis === 'row') { + if (args.data.valueSort && args.data.valueSort.axis === 'FirstName') { + var firstName_1 = args.data.actualText; + var employee = pivotTableObj.dataSourceSettings.dataSource.find(function (emp) { return emp.FirstName === firstName_1; }); + if (employee && employee.EmailID) { + args.hyperLink = { + target: 'mailto:' + employee.EmailID, + displayText: args.value + }; + } + } + if (args.data.valueSort && args.data.valueSort.axis === 'EmployeeID') { + var employeeId_1 = Number(args.data.actualText); + var employee = pivotTableObj.dataSourceSettings.dataSource.find(function (emp) { return emp.EmployeeID === employeeId_1; }); + if (employee && employee.EmployeeImage) { + args.image = { + base64: employee.EmployeeImage, + height: 57.5, + width: 57.5 + }; + } + } + } + } + } +}); +pivotTableObj.appendTo('#PivotTable'); + +var exportBtn = new ej.buttons.Button({ isPrimary: true }); +exportBtn.appendTo('#pdf'); + +document.getElementById('pdf').onclick = function () { + pivotTableObj.pdfExport(); +}; + +window.getCellContent = function (args) { + if (args.cellInfo && args.cellInfo.axis === 'row' && args.cellInfo.valueSort.axis === 'EmployeeID') { + var employeeId_2 = Number(args.cellInfo.actualText); + var employee = pivotTableObj.dataSourceSettings.dataSource.find(function (emp) { return emp.EmployeeID === employeeId_2; }); + if (employee && employee.EmployeeImage) { + var imgSrc = 'data:image/png;base64,' + employee.EmployeeImage; + return '
'; + } + } + return ''; +}; +window.handleImageLoad = function (imgElement) { + try { + var cell = imgElement.closest('th, td'); + if (cell) { + var cellValue = cell.querySelector('.e-cellvalue'); + if (cellValue) { + cellValue.style.display = 'none'; + } + } + } + catch (error) { + console.warn('Error handling image load:', error); + } +}; diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs49/index.ts b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs49/index.ts new file mode 100644 index 000000000..5d7ec1616 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs49/index.ts @@ -0,0 +1,91 @@ +import { PivotView, IDataSet, PDFExport } from '@syncfusion/ej2-pivotview'; +import { Button } from '@syncfusion/ej2-buttons'; +import { employeeData } from './datasource.ts'; + +PivotView.Inject(PDFExport); +let pivotTableObj: PivotView = new PivotView({ + dataSourceSettings: { + dataSource: employeeData as IDataSet[], + rows: [{ name: 'FirstName' }, { name: 'EmployeeID', caption: 'Employee Image' }], + columns: [{ name: 'Title' }], + values: [{ name: 'Salary' }, { name: 'OrdersCount' }], + filterSettings: [ + { name: 'Title', type: 'Include', items: ['Sales Representative'] } + ], + expandAll: true, + showSubTotals: false, + showRowGrandTotals: false + }, + width: '100%', + height: 450, + allowPdfExport: true, + showFieldList: true, + hyperlinkSettings: { + showRowHeaderHyperlink: true, + cssClass: 'e-custom-class' + }, + cellTemplate: '${getCellContent(data)}', + gridSettings: { + layout: 'Tabular', + pdfQueryCellInfo: (args: any) => { + if (args.data && args.data.axis === 'row') { + if (args.data.valueSort && args.data.valueSort.axis === 'FirstName') { + const firstName: any = args.data.actualText; + const employee: any = employeeData.find((emp: any) => emp.FirstName === firstName); + if (employee && employee.EmailID) { + args.hyperLink = { + target: 'mailto:' + employee.EmailID, + displayText: args.value + }; + } + } + if (args.data.valueSort && args.data.valueSort.axis === 'EmployeeID') { + const employeeId: any = Number(args.data.actualText); + const employee: any = employeeData.find((emp: any) => emp.EmployeeID === employeeId); + if (employee && employee.EmployeeImage) { + args.image = { + base64: employee.EmployeeImage, + height: 57.5, + width: 57.5 + }; + } + } + } + } + } +}); +pivotTableObj.appendTo('#PivotTable'); + +let exportBtn: Button = new Button({ isPrimary: true }); +exportBtn.appendTo('#pdf'); + +document.getElementById('pdf').onclick = function () { + pivotTableObj.pdfExport(); +}; + +(<{ getCellContent?: Function }>window).getCellContent = (args: any): any => { + if (args.cellInfo && args.cellInfo.axis === 'row' && args.cellInfo.valueSort.axis === 'EmployeeID') { + let employeeId: number = Number(args.cellInfo.actualText); + // eslint-disable-next-line @typescript-eslint/tslint/config + let employee: { [key: string]: Object; } | any = employeeData.find(function (emp: any) { return emp.EmployeeID === employeeId; }); + if (employee && employee.EmployeeImage) { + let imgSrc: string = 'data:image/png;base64,' + employee.EmployeeImage; + return '
'; + } + } + return ''; +}; + +(<{ handleImageLoad?: Function }>window).handleImageLoad = (imgElement: any): void => { + try { + const cell: HTMLElement = imgElement.closest('th, td'); + if (cell) { + const cellValue: HTMLElement | any = cell.querySelector('.e-cellvalue'); + if (cellValue) { + cellValue.style.display = 'none'; + } + } + } catch (error) { + console.warn('Error handling image load:', error); + } +}; \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs49/js/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs49/js/index.html new file mode 100644 index 000000000..6e0b9c86f --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs49/js/index.html @@ -0,0 +1,50 @@ + + + + + EJ2 Pivot Grid + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + + + + + \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs49/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs49/systemjs.config.js new file mode 100644 index 000000000..981462b0c --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs49/systemjs.config.js @@ -0,0 +1,44 @@ +System.config({ + transpiler: "typescript", + typescriptOptions: { + compilerOptions: { + target: "umd", + module: "commonjs", + moduleResolution: "node", + emitDecoratorMetadata: true, + experimentalDecorators: true + } + }, + paths: { + "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/" + }, + map: { + main: "index.ts", + typescript: "https://unpkg.com/typescript@2.2.2/lib/typescript.js", + 'plugin-json': 'https://cdnjs.cloudflare.com/ajax/libs/systemjs-plugin-json/0.3.0/json.min.js', + "@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js", + "@syncfusion/ej2-data": "syncfusion:ej2-data/dist/ej2-data.umd.min.js", + "@syncfusion/ej2-inputs": "syncfusion:ej2-inputs/dist/ej2-inputs.umd.min.js", + "@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js", + "@syncfusion/ej2-splitbuttons": "syncfusion:ej2-splitbuttons/dist/ej2-splitbuttons.umd.min.js", + "@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js", + "@syncfusion/ej2-navigations": "syncfusion:ej2-navigations/dist/ej2-navigations.umd.min.js", + "@syncfusion/ej2-grids": "syncfusion:ej2-grids/dist/ej2-grids.umd.min.js", + "@syncfusion/ej2-charts": "syncfusion:ej2-charts/dist/ej2-charts.umd.min.js", + "@syncfusion/ej2-svg-base": "syncfusion:ej2-svg-base/dist/ej2-svg-base.umd.min.js", + "@syncfusion/ej2-dropdowns": "syncfusion:ej2-dropdowns/dist/ej2-dropdowns.umd.min.js", + "@syncfusion/ej2-calendars": "syncfusion:ej2-calendars/dist/ej2-calendars.umd.min.js", + "@syncfusion/ej2-lists": "syncfusion:ej2-lists/dist/ej2-lists.umd.min.js", + "@syncfusion/ej2-excel-export": "syncfusion:ej2-excel-export/dist/ej2-excel-export.umd.min.js", + "@syncfusion/ej2-pdf-export": "syncfusion:ej2-pdf-export/dist/ej2-pdf-export.umd.min.js", + "@syncfusion/ej2-file-utils": "syncfusion:ej2-file-utils/dist/ej2-file-utils.umd.min.js", + "@syncfusion/ej2-compression": "syncfusion:ej2-compression/dist/ej2-compression.umd.min.js", + "@syncfusion/ej2-pivotview": "syncfusion:ej2-pivotview/dist/ej2-pivotview.umd.min.js", + "@syncfusion/ej2-notifications":"syncfusion:ej2-notifications/dist/ej2-notifications.umd.min.js", + } +}); + +System.import('index.ts').catch(console.error.bind(console)).then(function () { + document.getElementById('loader').style.display = "none"; + document.getElementById('container').style.visibility = "visible"; +}); \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs49/ts/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs49/ts/index.html new file mode 100644 index 000000000..39250b788 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs49/ts/index.html @@ -0,0 +1,42 @@ + + + + + EJ2 Pivot Grid + + + + + + + + + + + + + + + + + + + + + + +
Loading....
+
+ +
+
+
+
+ + + \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs5/js/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs5/js/index.html index 8cf102a22..bab940687 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs5/js/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs5/js/index.html @@ -8,19 +8,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs5/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs5/systemjs.config.js index 6d19ef5e9..981462b0c 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs5/systemjs.config.js +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs5/systemjs.config.js @@ -10,7 +10,7 @@ System.config({ } }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/" }, map: { main: "index.ts", diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs5/ts/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs5/ts/index.html index 384f5b31c..e0eff9a7b 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs5/ts/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs5/ts/index.html @@ -8,17 +8,17 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs50/datasource.ts b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs50/datasource.ts new file mode 100644 index 000000000..866e0c341 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs50/datasource.ts @@ -0,0 +1,157 @@ +export let pivotData: Object[] = [ + { 'Sold': 31, 'Amount': 52824, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 51, 'Amount': 86904, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 25, 'Amount': 42600, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 27, 'Amount': 46008, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 49, 'Amount': 83496, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 95, 'Amount': 161880, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 75, 'Amount': 127800, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 69, 'Amount': 117576, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 16, 'Amount': 27264, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 83, 'Amount': 124422, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 57, 'Amount': 85448, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 20, 'Amount': 29985, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 93, 'Amount': 139412, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 35, 'Amount': 52470, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 48, 'Amount': 71957, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 36, 'Amount': 53969, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 25, 'Amount': 37480, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 69, 'Amount': 103436, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 16, 'Amount': 23989, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 19, 'Amount': 28486, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 89, 'Amount': 141999.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 91, 'Amount': 145190.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 24, 'Amount': 38292, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 75, 'Amount': 119662.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 100, 'Amount': 159550, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 30, 'Amount': 47865, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 69, 'Amount': 110089.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 25, 'Amount': 39887.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 42, 'Amount': 67011, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 94, 'Amount': 149977, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 76, 'Amount': 121258, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 52, 'Amount': 82966, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 33, 'Amount': 52651.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 16, 'Amount': 23989, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 21, 'Amount': 33505.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 74, 'Amount': 126096, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 99, 'Amount': 148406, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 31, 'Amount': 49460.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 57, 'Amount': 97128, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 41, 'Amount': 61464, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 64, 'Amount': 102112, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 85, 'Amount': 144840, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 76, 'Amount': 129504, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 33, 'Amount': 56232, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 71, 'Amount': 120984, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 81, 'Amount': 138024, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 65, 'Amount': 110760, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 39, 'Amount': 66456, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 91, 'Amount': 155064, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 16, 'Amount': 27264, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 59, 'Amount': 100536, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 36, 'Amount': 61344, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 39, 'Amount': 58466, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 47, 'Amount': 70458, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 19, 'Amount': 28486, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 26, 'Amount': 38979, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 15, 'Amount': 22490, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 83, 'Amount': 124422, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 79, 'Amount': 118426, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 14, 'Amount': 20991, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 15, 'Amount': 23932.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 47, 'Amount': 74988.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 93, 'Amount': 148381.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 13, 'Amount': 20741.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 44, 'Amount': 70202, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 59, 'Amount': 94134.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 34, 'Amount': 54247, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 48, 'Amount': 76584, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 35, 'Amount': 55842.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 71, 'Amount': 113280.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 77, 'Amount': 131208, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 92, 'Amount': 156768, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 51, 'Amount': 86904, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 91, 'Amount': 155064, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 90, 'Amount': 153360, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 56, 'Amount': 95424, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 14, 'Amount': 23856, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 95, 'Amount': 161880, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 24, 'Amount': 40896, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 39, 'Amount': 66456, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 84, 'Amount': 143136, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 40, 'Amount': 68160, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 96, 'Amount': 163584, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 24, 'Amount': 35981, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 86, 'Amount': 128919, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 31, 'Amount': 46474, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 36, 'Amount': 53969, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 69, 'Amount': 103436, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 95, 'Amount': 142410, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 95, 'Amount': 142410, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 30, 'Amount': 44975, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 11, 'Amount': 16494, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 97, 'Amount': 145408, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 16, 'Amount': 23989, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 68, 'Amount': 101937, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 11, 'Amount': 16494, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 27, 'Amount': 40478, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 45, 'Amount': 67460, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 100, 'Amount': 149905, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 83, 'Amount': 124422, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 100, 'Amount': 149905, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 18, 'Amount': 26987, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 81, 'Amount': 121424, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 20, 'Amount': 29985, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 99, 'Amount': 148406, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 52, 'Amount': 88608, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 91, 'Amount': 155064, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 37, 'Amount': 63048, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 41, 'Amount': 69864, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 49, 'Amount': 83496, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 23, 'Amount': 39192, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 67, 'Amount': 114168, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 85, 'Amount': 144840, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 25, 'Amount': 42600, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 28, 'Amount': 47712, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 53, 'Amount': 90312, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 82, 'Amount': 130831, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 41, 'Amount': 65415.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 60, 'Amount': 95730, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 71, 'Amount': 113280.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 21, 'Amount': 33505.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 34, 'Amount': 54247, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 14, 'Amount': 22337, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 50, 'Amount': 79775, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 49, 'Amount': 78179.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 40, 'Amount': 63820, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 17, 'Amount': 27123.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 56, 'Amount': 89348, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 54, 'Amount': 86157, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 14, 'Amount': 22337, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 80, 'Amount': 127640, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }]; \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs50/es5-datasource.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs50/es5-datasource.js new file mode 100644 index 000000000..2621ab2fa --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs50/es5-datasource.js @@ -0,0 +1,157 @@ +var pivotData = [ + { 'Sold': 25, 'Amount': 42600, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 27, 'Amount': 46008, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 49, 'Amount': 83496, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 31, 'Amount': 52824, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 51, 'Amount': 86904, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 95, 'Amount': 161880, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 93, 'Amount': 139412, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 35, 'Amount': 52470, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 16, 'Amount': 27264, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 69, 'Amount': 117576, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 75, 'Amount': 127800, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 20, 'Amount': 29985, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 83, 'Amount': 124422, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 16, 'Amount': 23989, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 48, 'Amount': 71957, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 57, 'Amount': 85448, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 25, 'Amount': 37480, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 69, 'Amount': 103436, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 36, 'Amount': 53969, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 75, 'Amount': 119662.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 19, 'Amount': 28486, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 91, 'Amount': 145190.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 24, 'Amount': 38292, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 94, 'Amount': 149977, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 100, 'Amount': 159550, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 30, 'Amount': 47865, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 89, 'Amount': 141999.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 25, 'Amount': 39887.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 42, 'Amount': 67011, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 21, 'Amount': 33505.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 74, 'Amount': 126096, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 76, 'Amount': 121258, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 69, 'Amount': 110089.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 16, 'Amount': 23989, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 52, 'Amount': 82966, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 85, 'Amount': 144840, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 99, 'Amount': 148406, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 31, 'Amount': 49460.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 33, 'Amount': 52651.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 41, 'Amount': 61464, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 64, 'Amount': 102112, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 57, 'Amount': 97128, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 39, 'Amount': 66456, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 76, 'Amount': 129504, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 33, 'Amount': 56232, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 81, 'Amount': 138024, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 65, 'Amount': 110760, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 47, 'Amount': 70458, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 91, 'Amount': 155064, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 16, 'Amount': 27264, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 71, 'Amount': 120984, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 36, 'Amount': 61344, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 39, 'Amount': 58466, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 59, 'Amount': 100536, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 83, 'Amount': 124422, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 19, 'Amount': 28486, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 26, 'Amount': 38979, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 15, 'Amount': 22490, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 13, 'Amount': 20741.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 79, 'Amount': 118426, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 14, 'Amount': 20991, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 47, 'Amount': 74988.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 93, 'Amount': 148381.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 15, 'Amount': 23932.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 48, 'Amount': 76584, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 44, 'Amount': 70202, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 59, 'Amount': 94134.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 77, 'Amount': 131208, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 84, 'Amount': 143136, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 34, 'Amount': 54247, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 56, 'Amount': 95424, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 35, 'Amount': 55842.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 71, 'Amount': 113280.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 91, 'Amount': 155064, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 90, 'Amount': 153360, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 40, 'Amount': 68160, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 24, 'Amount': 40896, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 31, 'Amount': 46474, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 92, 'Amount': 156768, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 14, 'Amount': 23856, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 95, 'Amount': 161880, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 51, 'Amount': 86904, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 39, 'Amount': 66456, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 36, 'Amount': 53969, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 86, 'Amount': 128919, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 96, 'Amount': 163584, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 24, 'Amount': 35981, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 97, 'Amount': 145408, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 69, 'Amount': 103436, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 95, 'Amount': 142410, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 30, 'Amount': 44975, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 11, 'Amount': 16494, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 95, 'Amount': 142410, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 11, 'Amount': 16494, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 27, 'Amount': 40478, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 68, 'Amount': 101937, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 100, 'Amount': 149905, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 45, 'Amount': 67460, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 16, 'Amount': 23989, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 18, 'Amount': 26987, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 83, 'Amount': 124422, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 52, 'Amount': 88608, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 91, 'Amount': 155064, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 100, 'Amount': 149905, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 37, 'Amount': 63048, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 41, 'Amount': 69864, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 99, 'Amount': 148406, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 67, 'Amount': 114168, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 41, 'Amount': 65415.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 81, 'Amount': 121424, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 20, 'Amount': 29985, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 85, 'Amount': 144840, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 49, 'Amount': 83496, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 23, 'Amount': 39192, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 34, 'Amount': 54247, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 53, 'Amount': 90312, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 82, 'Amount': 130831, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'Sold': 60, 'Amount': 95730, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 71, 'Amount': 113280.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' }, + { 'Sold': 25, 'Amount': 42600, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 28, 'Amount': 47712, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 21, 'Amount': 33505.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 49, 'Amount': 78179.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 50, 'Amount': 79775, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' }, + { 'Sold': 56, 'Amount': 89348, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 40, 'Amount': 63820, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'Sold': 14, 'Amount': 22337, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' }, + { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 80, 'Amount': 127640, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 54, 'Amount': 86157, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 14, 'Amount': 22337, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' }, + { 'Sold': 17, 'Amount': 27123.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' }]; \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs50/index.css b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs50/index.css new file mode 100644 index 000000000..a2b083f54 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs50/index.css @@ -0,0 +1,12 @@ +#container { + visibility: hidden; +} + +#loader { + color: #008cff; + height: 40px; + width: 30%; + position: absolute; + top: 45%; + left: 45%; +} diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs50/index.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs50/index.js new file mode 100644 index 000000000..e2ab8e276 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs50/index.js @@ -0,0 +1,30 @@ +var pivotTableObj = new ej.pivotview.PivotView({ + dataSourceSettings: { + dataSource: pivotData, + expandAll: true, + drilledMembers: [{ name: 'Year', items: ['FY 2015'] }], + columns: [{ name: 'Year', caption: 'Production Year' }], + rows: [{ name: 'Country' }, { name: 'Products' }, { name: 'Quarter' }], + values: [{ name: 'Sold', caption: 'Units Sold' }], + formatSettings: [{ name: 'Amount', format: 'C0' }], + filters: [] + }, + allowPdfExport: true, + height: 320, + gridSettings: { + pdfQueryCellInfo: function (args) { + if (args.cell && args.cell.row && args.cell.row.pdfGrid) { + args.cell.row.pdfGrid.repeatHeader = false; + } + } + } +}); +pivotTableObj.appendTo('#PivotTable'); + +var exportBtn = new ej.buttons.Button({ isPrimary: true }); +exportBtn.appendTo('#pdf'); + +document.getElementById('pdf').onclick = function () { + pivotTableObj.pdfExport(); +}; + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs50/index.ts b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs50/index.ts new file mode 100644 index 000000000..d52597264 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs50/index.ts @@ -0,0 +1,35 @@ +import { PivotView, IDataSet, PDFExport } from '@syncfusion/ej2-pivotview'; +import { Button } from '@syncfusion/ej2-buttons'; +import { pivotData } from './datasource.ts'; +import { PdfQueryCellInfoEventArgs } from '@syncfusion/ej2-grids'; + +PivotView.Inject(PDFExport); +let pivotTableObj: PivotView = new PivotView({ + dataSourceSettings: { + dataSource: pivotData as IDataSet[], + expandAll: true, + drilledMembers: [{ name: 'Year', items: ['FY 2015'] }], + columns: [{ name: 'Year', caption: 'Production Year' }], + rows: [{ name: 'Country' }, { name: 'Products' }, { name: 'Quarter' }], + values: [{ name: 'Sold', caption: 'Units Sold' }], + formatSettings: [{ name: 'Amount', format: 'C0' }], + filters: [] + }, + allowPdfExport: true, + height: 320, + gridSettings: { + pdfQueryCellInfo: function (args: PdfQueryCellInfoEventArgs) { + if (args.cell && args.cell.row && args.cell.row.pdfGrid) { + args.cell.row.pdfGrid.repeatHeader = false; + } + } + } +}); +pivotTableObj.appendTo('#PivotTable'); + +let exportBtn: Button = new Button({ isPrimary: true }); +exportBtn.appendTo('#pdf'); + +document.getElementById('pdf').onclick = function () { + pivotTableObj.pdfExport(); +}; diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs50/js/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs50/js/index.html new file mode 100644 index 000000000..bab940687 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs50/js/index.html @@ -0,0 +1,46 @@ + + + + + EJ2 Pivot Grid + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + + + + + \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs50/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs50/systemjs.config.js new file mode 100644 index 000000000..981462b0c --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs50/systemjs.config.js @@ -0,0 +1,44 @@ +System.config({ + transpiler: "typescript", + typescriptOptions: { + compilerOptions: { + target: "umd", + module: "commonjs", + moduleResolution: "node", + emitDecoratorMetadata: true, + experimentalDecorators: true + } + }, + paths: { + "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/" + }, + map: { + main: "index.ts", + typescript: "https://unpkg.com/typescript@2.2.2/lib/typescript.js", + 'plugin-json': 'https://cdnjs.cloudflare.com/ajax/libs/systemjs-plugin-json/0.3.0/json.min.js', + "@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js", + "@syncfusion/ej2-data": "syncfusion:ej2-data/dist/ej2-data.umd.min.js", + "@syncfusion/ej2-inputs": "syncfusion:ej2-inputs/dist/ej2-inputs.umd.min.js", + "@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js", + "@syncfusion/ej2-splitbuttons": "syncfusion:ej2-splitbuttons/dist/ej2-splitbuttons.umd.min.js", + "@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js", + "@syncfusion/ej2-navigations": "syncfusion:ej2-navigations/dist/ej2-navigations.umd.min.js", + "@syncfusion/ej2-grids": "syncfusion:ej2-grids/dist/ej2-grids.umd.min.js", + "@syncfusion/ej2-charts": "syncfusion:ej2-charts/dist/ej2-charts.umd.min.js", + "@syncfusion/ej2-svg-base": "syncfusion:ej2-svg-base/dist/ej2-svg-base.umd.min.js", + "@syncfusion/ej2-dropdowns": "syncfusion:ej2-dropdowns/dist/ej2-dropdowns.umd.min.js", + "@syncfusion/ej2-calendars": "syncfusion:ej2-calendars/dist/ej2-calendars.umd.min.js", + "@syncfusion/ej2-lists": "syncfusion:ej2-lists/dist/ej2-lists.umd.min.js", + "@syncfusion/ej2-excel-export": "syncfusion:ej2-excel-export/dist/ej2-excel-export.umd.min.js", + "@syncfusion/ej2-pdf-export": "syncfusion:ej2-pdf-export/dist/ej2-pdf-export.umd.min.js", + "@syncfusion/ej2-file-utils": "syncfusion:ej2-file-utils/dist/ej2-file-utils.umd.min.js", + "@syncfusion/ej2-compression": "syncfusion:ej2-compression/dist/ej2-compression.umd.min.js", + "@syncfusion/ej2-pivotview": "syncfusion:ej2-pivotview/dist/ej2-pivotview.umd.min.js", + "@syncfusion/ej2-notifications":"syncfusion:ej2-notifications/dist/ej2-notifications.umd.min.js", + } +}); + +System.import('index.ts').catch(console.error.bind(console)).then(function () { + document.getElementById('loader').style.display = "none"; + document.getElementById('container').style.visibility = "visible"; +}); \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs50/ts/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs50/ts/index.html new file mode 100644 index 000000000..e0eff9a7b --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs50/ts/index.html @@ -0,0 +1,36 @@ + + + + + EJ2 Pivot Grid + + + + + + + + + + + + + + + + + + + + + +
Loading....
+
+ +
+
+
+
+ + + \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs51/datasource.ts b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs51/datasource.ts new file mode 100644 index 000000000..f9673fcbb --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs51/datasource.ts @@ -0,0 +1,14 @@ +export let pivotData: Object[] = [ + { 'Amount': 100, 'Country': "Canada", 'Date': "FY 2024", 'Product': "Bike", 'Quantity': 2, 'State': "Alberta" }, + { 'Amount': 200, 'Country': "Canada", 'Date': "FY 2024", 'Product': "Van", 'Quantity': 3, 'State': "British Columbia" }, + { 'Amount': 200, 'Country': "Canada", 'Date': "FY 2025", 'Product': "Van", 'Quantity': 3, 'State': "British Columbia" }, + { 'Amount': 100, 'Country': "Canada", 'Date': "FY 2025", 'Product': "Bike", 'Quantity': 2, 'State': "Alberta" }, + { 'Amount': 150, 'Country': "Canada", 'Date': "FY 2024", 'Product': "Car", 'Quantity': 3, 'State': "New Mexico" }, + { 'Amount': 200, 'Country': "Canada", 'Date': "FY 2024", 'Product': "Bike", 'Quantity': 4, 'State': "New York" }, + { 'Amount': 150, 'Country': "United States", 'Date': "FY 2025", 'Product': "Car", 'Quantity': 3, 'State': "New Mexico" }, + { 'Amount': 200, 'Country': "United States", 'Date': "FY 2024", 'Product': "Bike", 'Quantity': 4, 'State': "New York" }, + { 'Amount': 150, 'Country': "United States", 'Date': "FY 2024", 'Product': "Car", 'Quantity': 3, 'State': "Alberta" }, + { 'Amount': 150, 'Country': "United States", 'Date': "FY 2025", 'Product': "Car", 'Quantity': 3, 'State': "Alberta" }, + { 'Amount': 200, 'Country': "United States", 'Date': "FY 2025", 'Product': "Van", 'Quantity': 3, 'State': "British Columbia" }, + { 'Amount': 200, 'Country': "United States", 'Date': "FY 2025", 'Product': "Bike", 'Quantity': 4, 'State': "New York" }, +]; \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs51/es5-datasource.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs51/es5-datasource.js new file mode 100644 index 000000000..09c90c1bb --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs51/es5-datasource.js @@ -0,0 +1,14 @@ +var pivotData = [ + { 'Amount': 100, 'Country': "Canada", 'Date': "FY 2024", 'Product': "Bike", 'Quantity': 2, 'State': "Alberta" }, + { 'Amount': 200, 'Country': "Canada", 'Date': "FY 2024", 'Product': "Van", 'Quantity': 3, 'State': "British Columbia" }, + { 'Amount': 200, 'Country': "Canada", 'Date': "FY 2025", 'Product': "Van", 'Quantity': 3, 'State': "British Columbia" }, + { 'Amount': 100, 'Country': "Canada", 'Date': "FY 2025", 'Product': "Bike", 'Quantity': 2, 'State': "Alberta" }, + { 'Amount': 150, 'Country': "Canada", 'Date': "FY 2024", 'Product': "Car", 'Quantity': 3, 'State': "New Mexico" }, + { 'Amount': 200, 'Country': "Canada", 'Date': "FY 2024", 'Product': "Bike", 'Quantity': 4, 'State': "New York" }, + { 'Amount': 150, 'Country': "United States", 'Date': "FY 2025", 'Product': "Car", 'Quantity': 3, 'State': "New Mexico" }, + { 'Amount': 200, 'Country': "United States", 'Date': "FY 2024", 'Product': "Bike", 'Quantity': 4, 'State': "New York" }, + { 'Amount': 150, 'Country': "United States", 'Date': "FY 2024", 'Product': "Car", 'Quantity': 3, 'State': "Alberta" }, + { 'Amount': 150, 'Country': "United States", 'Date': "FY 2025", 'Product': "Car", 'Quantity': 3, 'State': "Alberta" }, + { 'Amount': 200, 'Country': "United States", 'Date': "FY 2025", 'Product': "Van", 'Quantity': 3, 'State': "British Columbia" }, + { 'Amount': 200, 'Country': "United States", 'Date': "FY 2025", 'Product': "Bike", 'Quantity': 4, 'State': "New York" }, +]; \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs51/index.css b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs51/index.css new file mode 100644 index 000000000..a2b083f54 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs51/index.css @@ -0,0 +1,12 @@ +#container { + visibility: hidden; +} + +#loader { + color: #008cff; + height: 40px; + width: 30%; + position: absolute; + top: 45%; + left: 45%; +} diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs51/index.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs51/index.js new file mode 100644 index 000000000..21691c045 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs51/index.js @@ -0,0 +1,43 @@ +var pivotTableObj = new ej.pivotview.PivotView({ + dataSourceSettings: { + dataSource: pivotData, + expandAll: true, + formatSettings: [{ name: 'Amount', format: 'C0' }], + columns: [{ name: 'Date', showNoDataItems: true }], + values: [{ name: 'Quantity' }, { name: 'Amount', caption: 'Sold Amount' }], + rows: [{ name: 'Country', showNoDataItems: true }, { name: 'State', showNoDataItems: true }], + filters: [], + emptyCellsTextContent: '**' + }, + allowPdfExport: true, + height: 450, + gridSettings: { + queryCellInfo: function (args) { + const colIndex = Number(args.cell.getAttribute('aria-colindex')); + const currentCell = args.data[colIndex - 1]; + if (currentCell.formattedText === '**' && + currentCell.actualText === 'Quantity' && + ['Canada.New Mexico', 'United States.British Columbia'].includes(currentCell.rowHeaders)) { + args.rowSpan = 2; + args.colSpan = 2; + } + }, + pdfQueryCellInfo: function (args) { + if (args.value === '**' && + args.data.actualText === 'Quantity' && + ['Canada.New Mexico', 'United States.British Columbia'].includes(args.data.rowHeaders)) { + args.cell.rowSpan = 2; + args.cell.colSpan = 2; + } + } + } +}); +pivotTableObj.appendTo('#PivotTable'); + +var exportBtn = new ej.buttons.Button({ isPrimary: true }); +exportBtn.appendTo('#pdf'); + +document.getElementById('pdf').onclick = function () { + pivotTableObj.pdfExport(); +}; + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs51/index.ts b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs51/index.ts new file mode 100644 index 000000000..3fc26a563 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs51/index.ts @@ -0,0 +1,48 @@ +import { PivotView, IDataSet, PDFExport, QueryCellInfoEventArgs } from '@syncfusion/ej2-pivotview'; +import { Button } from '@syncfusion/ej2-buttons'; +import { pivotData } from './datasource.ts'; +import { PdfQueryCellInfoEventArgs } from '@syncfusion/ej2-grids'; + +PivotView.Inject(PDFExport); +let pivotTableObj: PivotView = new PivotView({ + dataSourceSettings: { + dataSource: pivotData as IDataSet[], + expandAll: true, + formatSettings: [{ name: 'Amount', format: 'C0' }], + columns: [{ name: 'Date', showNoDataItems: true }], + values: [{ name: 'Quantity' }, { name: 'Amount', caption: 'Sold Amount' }], + rows: [{ name: 'Country', showNoDataItems: true }, { name: 'State', showNoDataItems: true }], + filters: [], + emptyCellsTextContent: '**' + }, + allowPdfExport: true, + height: 450, + gridSettings: { + queryCellInfo: function (args: QueryCellInfoEventArgs) { + const colIndex = Number(args.cell.getAttribute('aria-colindex')); + const currentCell = args.data[colIndex - 1]; + if (currentCell.formattedText === '**' && + currentCell.actualText === 'Quantity' && + ['Canada.New Mexico', 'United States.British Columbia'].includes(currentCell.rowHeaders)) { + args.rowSpan = 2; + args.colSpan = 2; + } + }, + pdfQueryCellInfo: function (args: PdfQueryCellInfoEventArgs) { + if (args.value === '**' && + args.data.actualText === 'Quantity' && + ['Canada.New Mexico', 'United States.British Columbia'].includes(args.data.rowHeaders)) { + args.cell.rowSpan = 2; + args.cell.colSpan = 2; + } + } + } +}); +pivotTableObj.appendTo('#PivotTable'); + +let exportBtn: Button = new Button({ isPrimary: true }); +exportBtn.appendTo('#pdf'); + +document.getElementById('pdf').onclick = function () { + pivotTableObj.pdfExport(); +}; diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs51/js/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs51/js/index.html new file mode 100644 index 000000000..bab940687 --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs51/js/index.html @@ -0,0 +1,46 @@ + + + + + EJ2 Pivot Grid + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + + + + + \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs51/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs51/systemjs.config.js new file mode 100644 index 000000000..981462b0c --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs51/systemjs.config.js @@ -0,0 +1,44 @@ +System.config({ + transpiler: "typescript", + typescriptOptions: { + compilerOptions: { + target: "umd", + module: "commonjs", + moduleResolution: "node", + emitDecoratorMetadata: true, + experimentalDecorators: true + } + }, + paths: { + "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/" + }, + map: { + main: "index.ts", + typescript: "https://unpkg.com/typescript@2.2.2/lib/typescript.js", + 'plugin-json': 'https://cdnjs.cloudflare.com/ajax/libs/systemjs-plugin-json/0.3.0/json.min.js', + "@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js", + "@syncfusion/ej2-data": "syncfusion:ej2-data/dist/ej2-data.umd.min.js", + "@syncfusion/ej2-inputs": "syncfusion:ej2-inputs/dist/ej2-inputs.umd.min.js", + "@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js", + "@syncfusion/ej2-splitbuttons": "syncfusion:ej2-splitbuttons/dist/ej2-splitbuttons.umd.min.js", + "@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js", + "@syncfusion/ej2-navigations": "syncfusion:ej2-navigations/dist/ej2-navigations.umd.min.js", + "@syncfusion/ej2-grids": "syncfusion:ej2-grids/dist/ej2-grids.umd.min.js", + "@syncfusion/ej2-charts": "syncfusion:ej2-charts/dist/ej2-charts.umd.min.js", + "@syncfusion/ej2-svg-base": "syncfusion:ej2-svg-base/dist/ej2-svg-base.umd.min.js", + "@syncfusion/ej2-dropdowns": "syncfusion:ej2-dropdowns/dist/ej2-dropdowns.umd.min.js", + "@syncfusion/ej2-calendars": "syncfusion:ej2-calendars/dist/ej2-calendars.umd.min.js", + "@syncfusion/ej2-lists": "syncfusion:ej2-lists/dist/ej2-lists.umd.min.js", + "@syncfusion/ej2-excel-export": "syncfusion:ej2-excel-export/dist/ej2-excel-export.umd.min.js", + "@syncfusion/ej2-pdf-export": "syncfusion:ej2-pdf-export/dist/ej2-pdf-export.umd.min.js", + "@syncfusion/ej2-file-utils": "syncfusion:ej2-file-utils/dist/ej2-file-utils.umd.min.js", + "@syncfusion/ej2-compression": "syncfusion:ej2-compression/dist/ej2-compression.umd.min.js", + "@syncfusion/ej2-pivotview": "syncfusion:ej2-pivotview/dist/ej2-pivotview.umd.min.js", + "@syncfusion/ej2-notifications":"syncfusion:ej2-notifications/dist/ej2-notifications.umd.min.js", + } +}); + +System.import('index.ts').catch(console.error.bind(console)).then(function () { + document.getElementById('loader').style.display = "none"; + document.getElementById('container').style.visibility = "visible"; +}); \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs51/ts/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs51/ts/index.html new file mode 100644 index 000000000..e0eff9a7b --- /dev/null +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs51/ts/index.html @@ -0,0 +1,36 @@ + + + + + EJ2 Pivot Grid + + + + + + + + + + + + + + + + + + + + + +
Loading....
+
+ +
+
+
+
+ + + \ No newline at end of file diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs6/js/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs6/js/index.html index 8cf102a22..bab940687 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs6/js/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs6/js/index.html @@ -8,19 +8,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs6/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs6/systemjs.config.js index 6d19ef5e9..981462b0c 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs6/systemjs.config.js +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs6/systemjs.config.js @@ -10,7 +10,7 @@ System.config({ } }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/" }, map: { main: "index.ts", diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs6/ts/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs6/ts/index.html index 384f5b31c..e0eff9a7b 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs6/ts/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs6/ts/index.html @@ -8,17 +8,17 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs7/js/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs7/js/index.html index 8cf102a22..bab940687 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs7/js/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs7/js/index.html @@ -8,19 +8,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs7/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs7/systemjs.config.js index 6d19ef5e9..981462b0c 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs7/systemjs.config.js +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs7/systemjs.config.js @@ -10,7 +10,7 @@ System.config({ } }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/" }, map: { main: "index.ts", diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs7/ts/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs7/ts/index.html index 384f5b31c..e0eff9a7b 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs7/ts/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs7/ts/index.html @@ -8,17 +8,17 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs8/js/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs8/js/index.html index 8cf102a22..bab940687 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs8/js/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs8/js/index.html @@ -8,19 +8,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs8/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs8/systemjs.config.js index 6d19ef5e9..981462b0c 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs8/systemjs.config.js +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs8/systemjs.config.js @@ -10,7 +10,7 @@ System.config({ } }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/" }, map: { main: "index.ts", diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs8/ts/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs8/ts/index.html index 384f5b31c..e0eff9a7b 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs8/ts/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs8/ts/index.html @@ -8,17 +8,17 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs9/js/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs9/js/index.html index 8cf102a22..bab940687 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs9/js/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs9/js/index.html @@ -8,19 +8,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs9/systemjs.config.js b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs9/systemjs.config.js index 6d19ef5e9..981462b0c 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs9/systemjs.config.js +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs9/systemjs.config.js @@ -10,7 +10,7 @@ System.config({ } }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/" }, map: { main: "index.ts", diff --git a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs9/ts/index.html b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs9/ts/index.html index 384f5b31c..e0eff9a7b 100644 --- a/ej2-javascript/code-snippet/pivot-table/pdf-export-cs9/ts/index.html +++ b/ej2-javascript/code-snippet/pivot-table/pdf-export-cs9/ts/index.html @@ -8,17 +8,17 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/ej2-javascript/inline-ai-assist/js/es5-getting-started.md b/ej2-javascript/inline-ai-assist/js/es5-getting-started.md index 9b6df989f..9c96e63bb 100644 --- a/ej2-javascript/inline-ai-assist/js/es5-getting-started.md +++ b/ej2-javascript/inline-ai-assist/js/es5-getting-started.md @@ -94,6 +94,7 @@ The [`Custom Resource Generator (CRG)`](https://crg.syncfusion.com/) is an onlin + @@ -129,6 +130,7 @@ The [`Custom Resource Generator (CRG)`](https://crg.syncfusion.com/) is an onlin + diff --git a/ej2-javascript/pivotview/js/pdf-export.md b/ej2-javascript/pivotview/js/pdf-export.md index dd7d1feb8..3fd2d792a 100644 --- a/ej2-javascript/pivotview/js/pdf-export.md +++ b/ej2-javascript/pivotview/js/pdf-export.md @@ -28,34 +28,39 @@ In the following example, an external button is used to start the PDF export pro ## Multiple pivot table exporting -The PDF export option allows users to save data from multiple Pivot Tables into a single PDF file. Each Pivot Table appears on a separate page in the exported document, making it easy to review and share information from multiple tables at once. +Multiple Pivot Tables can be exported to the same or different pages in a single PDF file for easy comparison. Each Pivot Table requires a unique HTML element ID, such as **PivotTable1** and **PivotTable2**. To export multiple Pivot Tables, provide their IDs in the `pivotTableIds` property of the [`pdfExportProperties`](https://ej2.syncfusion.com/javascript/documentation/api/grid/pdfexportproperties), then pass the configured [`pdfExportProperties`](https://ej2.syncfusion.com/javascript/documentation/api/grid/pdfexportproperties) to the [`pdfExport`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/index-default#pdfexport) method with `isMultipleExport` set to **true** to enable multiple Pivot Table export mode. -To export multiple Pivot Tables into a single PDF document, use the [`pdfExport`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/index-default#pdfexport) method. This method accepts the following parameters: +> Note: PivotView PDF export uses Grid's PdfExportProperties model for configuration. -- `pdfExportProperties` (optional): Configures export export options for the table and chart. See the [`pdfExportProperties`](https://ej2.syncfusion.com/javascript/documentation/api/grid/pdfexportproperties) API reference for details. -- `isMultipleExport` (optional): Set to **true** for the first Pivot Table to create a new multi-page PDF file. For additional tables, set to **false** to add them to the same file. -- `pdfDoc` (optional): The PDF document object returned from the previous export. Use this to add more Pivot Tables to the same PDF. -- `isBlob` (optional): Set to **true** to save the PDF document as blob data. -- `exportBothTableAndChart` (optional): When the [`displayOption.view`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/displayOption#view) property is set to **Both** this exports both table and chart data into a single PDF document. +### Same page -**Steps to export multiple Pivot Tables:** +To export multiple Pivot Tables on the same page, set the `multipleExport.type` property to **AppendToPage** in [`pdfExportProperties`](https://ej2.syncfusion.com/javascript/documentation/api/grid/pdfexportproperties). Blank space between the Pivot Tables can be added by using the `multipleExport.blankSpace` property. -1. Call [`pdfExport`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/index-default#pdfexport) on the first Pivot Table with `isMultipleExport` set to **true** to start the export process. -2. Once the PDF data for the first table is ready, pass it as the `pdfDoc` parameter to the next Pivot Table's [`pdfExport`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/index-default#pdfexport) call with `isMultipleExport` set to **false**. -3. Repeat this process for each additional Pivot Table you want to include. +{% tabs %} +{% highlight js tabtitle="index.js" %} +{% include code-snippet/pivot-table/pdf-export-cs25/index.js %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/pivot-table/pdf-export-cs25/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/pdf-export-cs25" %} + +### New page -The following code example shows how clicking the Export button exports both tables to a single PDF file, with each table on its own page: +To export each Pivot Table on a separate page, set the `multipleExport.type` property to **NewPage** in [`pdfExportProperties`](https://ej2.syncfusion.com/javascript/documentation/api/grid/pdfexportproperties). {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/pivot-table/pdf-export-cs2/index.js %} +{% highlight ts tabtitle="index.js" %} +{% include code-snippet/pivot-table/pdf-export-cs42/index.js %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/pivot-table/pdf-export-cs2/index.html %} +{% include code-snippet/pivot-table/pdf-export-cs42/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "page.domainurl/code-snippet/pivot-table/pdf-export-cs2" %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/pdf-export-cs42" %} ## Export table and chart into the same document @@ -267,8 +272,6 @@ This option lets users easily adjust the PDF layout to fit their specific needs You can adjust the size of the exported PDF document by setting the [`height`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/beforeExportEventArgs#height) and [`width`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/beforeExportEventArgs#width) options in the [`beforeExport`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/index-default#beforeexport) event. This allows you to specify the dimensions of the PDF before creating it. -> Note: This option is available only when [`enableVirtualization`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/index-default#enablevirtualization) is set to **true**. Also, make sure that both the `VirtualScroll` and `PDFExport` modules are added to the Pivot Table. - {% tabs %} {% highlight js tabtitle="index.js" %} {% include code-snippet/pivot-table/pdf-export-cs8/index.js %} @@ -284,8 +287,6 @@ You can adjust the size of the exported PDF document by setting the [`height`](h Users can control how many Pivot Table columns appear on each page of the exported PDF by setting the [`columnSize`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/beforeExportEventArgs#columnsize) option in the [`beforeExport`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/index-default#beforeexport) event. This allows users to split Pivot Table columns across multiple pages when exporting large tables to PDF, making the output easier to read. -> Note: This option works only when [`enableVirtualization`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/index-default#enablevirtualization) is enabled in the Pivot Table settings. Also, make sure that both `VirtualScroll` and `PDFExport` modules are injected into the Pivot Table. - {% tabs %} {% highlight js tabtitle="index.js" %} {% include code-snippet/pivot-table/pdf-export-cs9/index.js %} @@ -299,12 +300,16 @@ Users can control how many Pivot Table columns appear on each page of the export ### Changing the table's column width and row height while exporting -You can adjust column width and row height in the PDF document when exporting data from the Pivot Table by handling the [`onPdfCellRender`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/index-default#onpdfcellrender) event. To set the width of specific columns during export, use the `args.column.width` property inside this event. +The column width and row height in the PDF document can be adjusted when exporting data from the Pivot Table by handling the [`pdfHeaderQueryCellInfo`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/gridSettingsModel#pdfheaderquerycellinfo) and [`pdfQueryCellInfo`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/gridSettingsModel#pdfquerycellinfo) events. These changes apply only to the exported PDF and do not affect the on-screen Pivot Table display. + +#### Adjusting column width + +To set the width of specific columns during export, use the [`pdfHeaderQueryCellInfo`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/gridSettingsModel#pdfheaderquerycellinfo) event. This event triggers for each header cell during PDF export. Check if the current header cell matches the target column by comparing the level name using `args.gridCell.valueSort.levelName`, which contains the exact row and column level name of the current cell. If it matches, use the column index (`args.gridCell.colIndex`) to locate the column in the `pdfGrid` columns collection, which holds the current PDF grid and allows adjustment of specific column widths during export. Then set the **width** property with the desired value in **points**. -For example, the **"Unit Sold"** column under **"FY 2015"** can be set to a width of **60** pixels as shown in the example below. +For example, the **"Units Sold"** column under **"FY 2015"** can be set to a width of **250 points**: {% tabs %} -{% highlight js tabtitle="index.js" %} +{% highlight ts tabtitle="index.js" %} {% include code-snippet/pivot-table/pdf-export-cs39/index.js %} {% endhighlight %} {% highlight html tabtitle="index.html" %} @@ -314,10 +319,14 @@ For example, the **"Unit Sold"** column under **"FY 2015"** can be set to a widt {% previewsample "page.domainurl/code-snippet/pivot-table/pdf-export-cs39" %} -Similarly, if you want to change the height of a particular row in the PDF document, you can use the `args.cell.height` property inside the same [onPdfCellRender](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/index-default#onpdfcellrender) event. For instance, the **"Mountain Bikes"** row under **"France"** can be set to a height of **30** pixels as shown below. +#### Adjusting row height + +To change the height of a particular row in the PDF document, use the [`pdfQueryCellInfo`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/gridSettingsModel#pdfquerycellinfo) event. Check if the current row matches the target row by comparing the row headers using `args.data.rowHeaders`, which holds the string value of the row header level names. If it matches, set the `args.cell.gridRow.height` property with the desired value in **points**. + +For example, the **"Mountain Bikes"** row under **"France"** can be set to a height of **100 points**: {% tabs %} -{% highlight js tabtitle="index.js" %} +{% highlight ts tabtitle="index.js" %} {% include code-snippet/pivot-table/pdf-export-cs40/index.js %} {% endhighlight %} {% highlight html tabtitle="index.html" %} @@ -327,7 +336,110 @@ Similarly, if you want to change the height of a particular row in the PDF docum {% previewsample "page.domainurl/code-snippet/pivot-table/pdf-export-cs40" %} -> Note: To use this option, make sure that [enableVirtualization](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/index-default#enablevirtualization) is set to **true**. Additionally, both `VirtualScroll` and `PDFExport` must be injected into the Pivot Table. +### Customize the pivot report during export + +The Pivot Table report can be modified before exporting by applying filters, adding formatting, or performing drill operations. These modifications apply only to the Pivot Table when exported to the PDF file and do not affect the Pivot Table displayed on the screen. To modify the export behavior, use the [`beforeExport`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/index-default#beforeexport) event. This event is triggered right before the export operation begins. + +In the following example, the [`beforeExport`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/index-default#beforeexport) event is used to expand all Pivot Table headers by setting the [`expandAll`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/dataSourceSettings#expandall) property to **true**. The `generateGridData` method is then called to obtain the updated [`pivotValues`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/index-default#pivotvalues). The updated [`pivotValues`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/index-default#pivotvalues) are assigned to [`args.dataCollections`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/beforeExportEventArgs#datacollections) for the export. Finally, [`expandAll`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/dataSourceSettings#expandall) is set to **false** again to restore the original state of the Pivot Table. + +{% tabs %} +{% highlight ts tabtitle="index.js" %} +{% include code-snippet/pivot-table/pdf-export-cs43/index.js %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/pivot-table/pdf-export-cs43/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/pdf-export-cs43" %} + +### Exporting with row and column cells spanning + +Exporting data from the Pivot Table with cell spanning preserves the row and column cell layout in the exported PDF. The [`pdfQueryCellInfo`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/gridSettingsModel#pdfquerycellinfo) event allows customization of cell span properties during the PDF export process to match the Pivot Table UI layout. + +In the [`pdfQueryCellInfo`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/gridSettingsModel#pdfquerycellinfo) event, customize the following cell span properties: + +- `args.cell.rowSpan` - Defines the number of rows a cell should span in the exported PDF. +- `args.cell.colSpan` - Defines the number of columns a cell should span in the exported PDF. + +In the following code example, the row and column spans are adjusted for empty cells in the Pivot Table and during PDF export. + +{% tabs %} +{% highlight ts tabtitle="index.js" %} +{% include code-snippet/pivot-table/pdf-export-cs51/index.js %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/pivot-table/pdf-export-cs51/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/pdf-export-cs51" %} + +### Exporting with hyperlinks and images + +The Pivot Table allows adding hyperlinks and images to cells during PDF export. The [`pdfQueryCellInfo`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/gridSettingsModel#pdfquerycellinfo) event handles row and value cells, while the [`pdfHeaderQueryCellInfo`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/gridSettingsModel#pdfheaderquerycellinfo) event handles header cells. Both events provide access to the [hyperlink](https://ej2.syncfusion.com/javascript/documentation/api/grid/pdfquerycellinfoeventargs#hyperlink) property to set URLs in cells and the [image](https://ej2.syncfusion.com/javascript/documentation/api/grid/pdfquerycellinfoeventargs#image) property to add images to cells. + +> PDF export supports base64 strings for exporting images. + +{% tabs %} +{% highlight ts tabtitle="index.js" %} +{% include code-snippet/pivot-table/pdf-export-cs49/index.js %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/pivot-table/pdf-export-cs49/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/pdf-export-cs49" %} + +## Exporting with custom aggregates + +The Pivot Table supports exporting data with custom calculations beyond the default options such as **Sum**, **Count**, or **Average**. Custom aggregates allow for advanced analytical scenarios where standard calculations are not sufficient. + +To export with custom aggregates, follow these steps: + +1. Define custom aggregate names using the [localization](https://ej2.syncfusion.com/javascript/documentation/pivotview/globalization-and-localization#localization) option. These names appear in the Pivot Table's aggregation menu. +2. Add custom aggregation types to the aggregate menu during Pivot Table initialization using the [`dataBound`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/index-default#databound) event. +3. Use the [`aggregateCellInfo`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/index-default#aggregatecellinfo) event to define the calculation logic for each custom type. This event triggers for every aggregate cell, allowing custom calculations to be applied. +4. Once the calculations are defined, call the [`pdfExport`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/index-default#pdfexport) method to export the Pivot Table with all custom aggregations applied. + +For more information about adding custom aggregation types, see the [custom aggregation documentation](https://ej2.syncfusion.com/javascript/documentation/pivotview/how-to/add-custom-aggregation-type-in-menu). + +The following example shows how to add two custom aggregate types to the aggregate menu: **CustomAggregateType 1**, which calculates a weighted average, and **CustomAggregateType 2**, which calculates the percentage of the total. + +{% tabs %} +{% highlight ts tabtitle="index.js" %} +{% include code-snippet/pivot-table/pdf-export-cs44/index.js %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/pivot-table/pdf-export-cs44/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/pdf-export-cs44" %} + +## Exporting with custom date format + +The Pivot Table component allows applying custom date formatting to date-type fields added to the row and column axes. This formatting maintains consistency between the rendered pivot table and the exported PDF file. Configure custom date formatting through the [`formatSettings`](https://ej2.syncfusion.com/documentation/api/pivotview/datasourcesettings#formatsettings) property by following these steps: + +1. Set the [`name`](https://ej2.syncfusion.com/documentation/api/pivotview/formatsettingsmodel#name) property to the target date field. +2. Set the [`type`](https://ej2.syncfusion.com/documentation/api/pivotview/formatsettingsmodel#type) property to **date** to identify the field as a date type. +3. Set the [`format`](https://ej2.syncfusion.com/documentation/api/pivotview/formatsettingsmodel#format) property to the desired date format pattern (for example, `"EEE, MMM d, ''yy"`). + +After configuration, call the [`pdfExport`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/index-default#pdfexport) method to export the Pivot Table with the applied formatting. + +The following example demonstrates exporting a Pivot Table with a custom date format. The date field uses the pattern `"EEE, MMM d, ''yy"` to display dates in the format: weekday abbreviation, month abbreviation, day, and two-digit year (for example, Sun, May 8, '23). + +{% tabs %} +{% highlight ts tabtitle="index.js" %} +{% include code-snippet/pivot-table/pdf-export-cs45/index.js %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/pivot-table/pdf-export-cs45/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/pdf-export-cs45" %} ## Changing the pivot table style while exporting @@ -387,60 +499,99 @@ You can also use custom fonts when exporting if you need support for languages o > Non-English alphabets can also be exported correctly when you specify a suitable font. -## Virtual Scroll Data +### Apply custom styles based on specific conditions -When working with large amounts of data in the Pivot Table, the virtual scroll option allows users to efficiently export all the table data as a complete PDF document, without any slowdown or performance issues. This method uses PivotEngine export to manage and export extensive datasets smoothly. To use this option, make sure to enable the [`allowPdfExport`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/index-default#allowpdfexport) property and use the [`pdfExport`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/index-default#pdfexport) method in the Pivot Table. +When exporting Pivot Table data to PDF, custom styles can be applied to cells based on their values or other criteria. To apply custom styles, use the [`pdfQueryCellInfo`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/gridSettingsModel#pdfquerycellinfo) event. In this event, the cell information can be accessed through the [`args.data`](https://ej2.syncfusion.com/javascript/documentation/api/grid/pdfquerycellinfoeventargs#data) property, and its style properties, such as [`backgroundColor`](https://ej2.syncfusion.com/javascript/documentation/api/grid/pdfstyle#backgroundcolor), [`fontFamily`](https://ej2.syncfusion.com/javascript/documentation/api/grid/pdfstyle#fontfamily), and [`textPenColor`](https://ej2.syncfusion.com/javascript/documentation/api/grid/pdfstyle#textpencolor), can be customized. These changes apply only to the exported PDF and do not affect the on-screen Pivot Table display -> To use PivotEngine export, inject the `PDFExport` module into the Pivot Table. -> When virtual scrolling is enabled, PivotEngine export is used automatically. +The following example demonstrates how to apply conditional formatting to the **Sold** field values in the exported PDF document. Values below **700** units are highlighted in **red**, while values of **700** units or more are highlighted in **green**. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/pivot-table/pdf-export-cs12/index.js %} +{% highlight ts tabtitle="index.js" %} +{% include code-snippet/pivot-table/pdf-export-cs46/index.js %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/pivot-table/pdf-export-cs12/index.html %} +{% include code-snippet/pivot-table/pdf-export-cs46/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "page.domainurl/code-snippet/pivot-table/pdf-export-cs12" %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/pdf-export-cs46" %} + +## Enabling horizontal overflow + +The Pivot Table component supports exporting all columns on a single page in the exported PDF document, even if the number of columns exceeds the maximum page limits. This functionality ensures readability and comprehensiveness of the exported PDF. To enable this option, set the [allowHorizontalOverflow](https://ej2.syncfusion.com/javascript/documentation/api/grid/pdfexportproperties#allowhorizontaloverflow) property in the [`pdfExportProperties`](https://ej2.syncfusion.com/javascript/documentation/api/grid/pdfexportproperties) object to **true**. + +{% tabs %} +{% highlight ts tabtitle="index.js" %} +{% include code-snippet/pivot-table/pdf-export-cs48/index.js %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/pivot-table/pdf-export-cs48/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/pdf-export-cs48" %} -### Repeat row headers +## Export only the current page -When exporting the Pivot Table as a PDF using the PivotEngine export option, the row headers are repeated on each page by default. This helps users easily identify rows when viewing larger tables split across multiple PDF pages. +By default, the Pivot Table exports all data records. When working with large datasets, this can result in larger file sizes. To optimize file size and performance, only the data records currently visible in the viewport can be exported by setting the [`exportAllPages`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/index-default#exportallpages) property to **false**. -If you want to turn off the repeated row headers in your PDF, set the [`allowRepeatHeader`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/beforeExportEventArgs#allowrepeatheader) property to **false** inside the [`beforeExport`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/index-default#beforeexport) event. Make sure you are using the [`pdfExport`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/index-default#pdfexport) method with the PivotEngine export. +> This option is applicable only when the virtualization or paging functionality is enabled. -> To use PivotEngine export, inject the `PDFExport` module in the Pivot Table. -> By default, repeating row headers is enabled in the PivotEngine export. +{% tabs %} +{% highlight ts tabtitle="index.js" %} +{% include code-snippet/pivot-table/pdf-export-cs37/index.js %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/pivot-table/pdf-export-cs37/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/pdf-export-cs37" %} + +## Repeat row headers + +By default, row headers are repeated on each page when exporting the Pivot Table as a PDF. This allows easy identification of rows in larger tables that extend across multiple pages. To turn off repeated row headers, set the [`allowRepeatHeader`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/beforeExportEventArgs#allowrepeatheader) property to **false** within the [`beforeExport`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/index-default#beforeexport) event. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/pivot-table/pdf-export-cs13/index.js %} +{% highlight ts tabtitle="index.js" %} +{% include code-snippet/pivot-table/pdf-export-cs36/index.js %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/pivot-table/pdf-export-cs13/index.html %} +{% include code-snippet/pivot-table/pdf-export-cs36/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "page.domainurl/code-snippet/pivot-table/pdf-export-cs13" %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/pdf-export-cs36" %} -### Export all pages +## Repeat column headers on every page -The Pivot Table allows users to export the entire set of virtual data—meaning all records used to create the complete table—as a PDF document. By default, when virtual scrolling is enabled, the pivot engine will export all data. If you want to export only the data currently shown in the visible area of the Pivot Table, set the [`exportAllPages`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/index-default#exportallpages) property to **false**. To make use of the pivot engine export, include the `PDFExport` module in your Pivot Table. +By default, column headers are repeated on each page when exporting the Pivot Table as a PDF. This ensures consistent column identification across multi-page documents. To prevent column headers from repeating on each page, use the [`pdfQueryCellInfo`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/gridSettingsModel#pdfquerycellinfo) event. In this event, access the `pdfGrid` object through `args.cell.row.pdfGrid`, which holds the current PDF grid and allows component over the repeat header behavior. Then set its `repeatHeader` property to **false** to disable the repetition. -> By default, the pivot engine export is performed automatically when virtual scrolling is enabled. +{% tabs %} +{% highlight ts tabtitle="index.js" %} +{% include code-snippet/pivot-table/pdf-export-cs50/index.js %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/pivot-table/pdf-export-cs50/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/pdf-export-cs50" %} + +## Show spinner during export + +When exporting data, displaying a spinner provides visual feedback to users that the export process is in progress. To show a spinner, invoke the `showWaitingPopup` method in the button's click event before calling the [`pdfExport`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/index-default#pdfexport) method. After the export is complete, use the [`exportComplete`](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/index-default#exportcomplete) event to trigger the `hideWaitingPopup` method, which hides the spinner and indicates that the export has finished. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/pivot-table/pdf-export-cs14/index.js %} +{% highlight ts tabtitle="index.js" %} +{% include code-snippet/pivot-table/pdf-export-cs47/index.js %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/pivot-table/pdf-export-cs14/index.html %} +{% include code-snippet/pivot-table/pdf-export-cs47/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "page.domainurl/code-snippet/pivot-table/pdf-export-cs14" %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/pdf-export-cs47" %} ## Events diff --git a/ej2-javascript/pivotview/ts/pdf-export.md b/ej2-javascript/pivotview/ts/pdf-export.md index cfc3f0dbe..3e01a8765 100644 --- a/ej2-javascript/pivotview/ts/pdf-export.md +++ b/ej2-javascript/pivotview/ts/pdf-export.md @@ -11,7 +11,7 @@ domainurl: ##DomainURL## # PDF export in ##Platform_Name## Pivot Table component -The Typescript Pivot Table lets users easily export their pivot table data as a PDF document. By setting the [`allowPdfExport`](https://ej2.syncfusion.com/documentation/api/pivotview/index-default#allowpdfexport) property to **true** in the Pivot Table configuration, users can enable PDF export. Once enabled, you can use the [`pdfExport`](https://ej2.syncfusion.com/documentation/api/pivotview/index-default#pdfexport) method to generate and download the PDF file. +The Typescript Pivot Table allows exporting pivot table data as a PDF document. To enable PDF export, inject the `PDFExport` module into the Pivot Table and set the [`allowPdfExport`](https://ej2.syncfusion.com/documentation/api/pivotview/index-default#allowpdfexport) property to **true**. Once enabled, use the [`pdfExport`](https://ej2.syncfusion.com/documentation/api/pivotview/index-default#pdfexport) method to generate and download the PDF file. In the following example, an external button is used to start the PDF export process. When the user clicks the button, the [`pdfExport`](https://ej2.syncfusion.com/documentation/api/pivotview/index-default#pdfexport) method is called so that the Pivot Table data can be saved as a PDF file. @@ -26,25 +26,15 @@ In the following example, an external button is used to start the PDF export pro {% previewsample "page.domainurl/code-snippet/pivot-table/pdf-export-cs24" %} -## Multiple pivot table exporting +## Multiple Pivot Table exporting -The PDF export option allows users to save data from multiple Pivot Tables into a single PDF file. Each Pivot Table appears on a separate page in the exported document, making it easy to review and share information from multiple tables at once. +Multiple Pivot Tables can be exported to the same or different pages in a single PDF file for easy comparison. Each Pivot Table requires a unique HTML element ID, such as **PivotTable1** and **PivotTable2**. To export multiple Pivot Tables, provide their IDs in the `pivotTableIds` property of the [`pdfExportProperties`](https://ej2.syncfusion.com/documentation/api/grid/pdfexportproperties), then pass the configured [`pdfExportProperties`](https://ej2.syncfusion.com/documentation/api/grid/pdfexportproperties) to the [`pdfExport`](https://ej2.syncfusion.com/documentation/api/pivotview/index-default#pdfexport) method with `isMultipleExport` set to **true** to enable multiple Pivot Table export mode. -To export multiple Pivot Tables into a single PDF document, use the [`pdfExport`](https://ej2.syncfusion.com/documentation/api/pivotview/index-default#pdfexport) method. This method accepts the following parameters: +> Note: PivotView PDF export uses Grid's PdfExportProperties model for configuration. -- `pdfExportProperties` (optional): Configures export export options for the table and chart. See the [`pdfExportProperties`](https://ej2.syncfusion.com/documentation/api/grid/pdfexportproperties) API reference for details. -- `isMultipleExport` (optional): Set to **true** for the first Pivot Table to create a new multi-page PDF file. For additional tables, set to **false** to add them to the same file. -- `pdfDoc` (optional): The PDF document object returned from the previous export. Use this to add more Pivot Tables to the same PDF. -- `isBlob` (optional): Set to **true** to save the PDF document as blob data. -- `exportBothTableAndChart` (optional): When the [`displayOption.view`](https://ej2.syncfusion.com/documentation/api/pivotview/displayOption#view) property is set to **Both** this exports both table and chart data into a single PDF document. +### Same page -**Steps to export multiple Pivot Tables:** - -1. Call [`pdfExport`](https://ej2.syncfusion.com/documentation/api/pivotview/index-default#pdfexport) on the first Pivot Table with `isMultipleExport` set to **true** to start the export process. -2. Once the PDF data for the first table is ready, pass it as the `pdfDoc` parameter to the next Pivot Table's [`pdfExport`](https://ej2.syncfusion.com/documentation/api/pivotview/index-default#pdfexport) call with `isMultipleExport` set to **false**. -3. Repeat this process for each additional Pivot Table you want to include. - -The following code example shows how clicking the Export button exports both tables to a single PDF file, with each table on its own page: +To export multiple Pivot Tables on the same page, set the `multipleExport.type` property to **AppendToPage** in [`pdfExportProperties`](https://ej2.syncfusion.com/documentation/api/grid/pdfexportproperties). Blank space between the Pivot Tables can be added by using the `multipleExport.blankSpace` property. {% tabs %} {% highlight ts tabtitle="index.ts" %} @@ -57,6 +47,21 @@ The following code example shows how clicking the Export button exports both tab {% previewsample "page.domainurl/code-snippet/pivot-table/pdf-export-cs25" %} +### New page + +To export each Pivot Table on a separate page, set the `multipleExport.type` property to **NewPage** in [`pdfExportProperties`](https://ej2.syncfusion.com/documentation/api/grid/pdfexportproperties). + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/pivot-table/pdf-export-cs42/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/pivot-table/pdf-export-cs42/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/pdf-export-cs42" %} + ## Export table and chart into the same document If you want to export both the table and the chart from the Pivot Table into a single PDF file, set the [`displayOption`](https://ej2.syncfusion.com/documentation/api/pivotview/displayOptionModel) property to **Both**. Then, when you use the [`pdfExport`](https://ej2.syncfusion.com/documentation/api/pivotview/index-default#pdfexport) method, make sure to set the `exportBothTableAndChart` option to **true**. This will include both the data table and its chart in one PDF document when you export. @@ -299,9 +304,13 @@ Users can control how many Pivot Table columns appear on each page of the export ### Changing the table's column width and row height while exporting -You can adjust column width and row height in the PDF document when exporting data from the Pivot Table by handling the [`onPdfCellRender`](https://ej2.syncfusion.com/documentation/api/pivotview/index-default#onpdfcellrender) event. To set the width of specific columns during export, use the `args.column.width` property inside this event. +The column width and row height in the PDF document can be adjusted when exporting data from the Pivot Table by handling the [`pdfHeaderQueryCellInfo`](https://ej2.syncfusion.com/documentation/api/pivotview/gridSettingsModel#pdfheaderquerycellinfo) and [`pdfQueryCellInfo`](https://ej2.syncfusion.com/documentation/api/pivotview/gridSettingsModel#pdfquerycellinfo) events. These changes apply only to the exported PDF and do not affect the on-screen Pivot Table display. + +#### Adjusting column width + +To set the width of specific columns during export, use the [`pdfHeaderQueryCellInfo`](https://ej2.syncfusion.com/documentation/api/pivotview/gridSettingsModel#pdfheaderquerycellinfo) event. This event triggers for each header cell during PDF export. Check if the current header cell matches the target column by comparing the level name using `args.gridCell.valueSort.levelName`, which contains the exact row and column level name of the current cell. If it matches, use the column index (`args.gridCell.colIndex`) to locate the column in the `pdfGrid` columns collection, which holds the current PDF grid and allows adjustment of specific column widths during export. Then set the **width** property with the desired value in **points**. -For example, the **"Unit Sold"** column under **"FY 2015"** can be set to a width of **60** pixels as shown in the example below. +For example, the **"Units Sold"** column under **"FY 2015"** can be set to a width of **250 points**: {% tabs %} {% highlight ts tabtitle="index.ts" %} @@ -314,7 +323,11 @@ For example, the **"Unit Sold"** column under **"FY 2015"** can be set to a widt {% previewsample "page.domainurl/code-snippet/pivot-table/pdf-export-cs39" %} -Similarly, if you want to change the height of a particular row in the PDF document, you can use the `args.cell.height` property inside the same [onPdfCellRender](https://ej2.syncfusion.com/documentation/api/pivotview/index-default#onpdfcellrender) event. For instance, the **"Mountain Bikes"** row under **"France"** can be set to a height of **30** pixels as shown below. +#### Adjusting row height + +To change the height of a particular row in the PDF document, use the [`pdfQueryCellInfo`](https://ej2.syncfusion.com/documentation/api/pivotview/gridSettingsModel#pdfquerycellinfo) event. Check if the current row matches the target row by comparing the row headers using `args.data.rowHeaders`, which holds the string value of the row header level names. If it matches, set the `args.cell.gridRow.height` property with the desired value in **points**. + +For example, the **"Mountain Bikes"** row under **"France"** can be set to a height of **100 points**: {% tabs %} {% highlight ts tabtitle="index.ts" %} @@ -327,7 +340,110 @@ Similarly, if you want to change the height of a particular row in the PDF docum {% previewsample "page.domainurl/code-snippet/pivot-table/pdf-export-cs40" %} -> Note: To use this option, make sure that [enableVirtualization](https://ej2.syncfusion.com/documentation/api/pivotview/index-default#enablevirtualization) is set to **true**. Additionally, both `VirtualScroll` and `PDFExport` must be injected into the Pivot Table. +### Customize the pivot report during export + +The Pivot Table report can be modified before exporting by applying filters, adding formatting, or performing drill operations. These modifications apply only to the Pivot Table exported to the PDF file and do not affect the Pivot Table displayed on the screen. To modify the export behavior, use the [`beforeExport`](https://ej2.syncfusion.com/documentation/api/pivotview/index-default#beforeexport) event. This event is triggered right before the export operation begins. + +The following example demonstrates how the [`beforeExport`](https://ej2.syncfusion.com/documentation/api/pivotview/index-default#beforeexport) event can be used to expand all Pivot Table headers during export. Before expanding, the current drill state is stored by saving the [`drilledMembers`](https://ej2.syncfusion.com/documentation/api/pivotview/dataSourceSettings#drilledmembers) property. Then, the [`expandAll`](https://ej2.syncfusion.com/documentation/api/pivotview/dataSourceSettings#expandall) property is set to **true** to include all hierarchy levels in the export. After the export completes, the original drill state is restored by resetting [`expandAll`](https://ej2.syncfusion.com/documentation/api/pivotview/dataSourceSettings#expandall) to **false** and reapplying the saved [`drilledMembers`](https://ej2.syncfusion.com/documentation/api/pivotview/dataSourceSettings#drilledmembers) to the Pivot Table. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/pivot-table/pdf-export-cs43/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/pivot-table/pdf-export-cs43/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/pdf-export-cs43" %} + +### Exporting with row and column cells spanning + +Exporting data from the Pivot Table with cell spanning preserves the row and column cell layout in the exported PDF. The [`pdfQueryCellInfo`](https://ej2.syncfusion.com/documentation/api/grid/index-default#pdfquerycellinfo) event allows customization of cell span properties during the PDF export process to match the Pivot Table UI layout. + +In the [`pdfQueryCellInfo`](https://ej2.syncfusion.com/documentation/api/grid/index-default#pdfquerycellinfo) event, customize the following cell span properties: + +- `args.cell.rowSpan` - Defines the number of rows a cell should span in the exported PDF. +- `args.cell.colSpan` - Defines the number of columns a cell should span in the exported PDF. + +In the following code example, the row and column spans are adjusted for empty cells in the Pivot Table and during PDF export. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/pivot-table/pdf-export-cs51/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/pivot-table/pdf-export-cs51/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/pdf-export-cs51" %} + +### Exporting with hyperlinks and images + +The Pivot Table allows adding hyperlinks and images to cells during PDF export. The [`pdfQueryCellInfo`](https://ej2.syncfusion.com/documentation/api/grid/#pdfquerycellinfo) event handles row and value cells, while the [`pdfHeaderQueryCellInfo`](https://ej2.syncfusion.com/documentation/api/pivotview/gridSettingsModel#pdfheaderquerycellinfo) event handles header cells. Both events provide access to the [hyperlink](https://ej2.syncfusion.com/documentation/api/grid/pdfquerycellinfoeventargs#hyperlink) property to set URLs in cells and the [image](https://ej2.syncfusion.com/documentation/api/grid/pdfquerycellinfoeventargs#image) property to add images to cells. + +> PDF export supports base64 strings for exporting images. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/pivot-table/pdf-export-cs49/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/pivot-table/pdf-export-cs49/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/pdf-export-cs49" %} + +## Exporting with custom aggregates + +The Pivot Table supports exporting data with custom calculations beyond the default options such as **Sum**, **Count**, or **Average**. Custom aggregates allow for advanced analytical scenarios where standard calculations are not sufficient. + +To export with custom aggregates, follow these steps: + +1. Define custom aggregate names using the [localization](https://ej2.syncfusion.com/documentation/pivotview/globalization-and-localization#localization) option. These names appear in the Pivot Table's aggregation menu. +2. Add custom aggregation types to the aggregate menu during Pivot Table initialization using the [`dataBound`](https://ej2.syncfusion.com/documentation/api/pivotview/index-default#databound) event. +3. Use the [`aggregateCellInfo`](https://ej2.syncfusion.com/documentation/api/pivotview/index-default#aggregatecellinfo) event to define the calculation logic for each custom type. This event triggers for every aggregate cell, allowing custom calculations to be applied. +4. Once the calculations are defined, call the [`pdfExport`](https://ej2.syncfusion.com/documentation/api/pivotview/index-default#pdfexport) method to export the Pivot Table with all custom aggregations applied. + +For more information about adding custom aggregation types, see the [custom aggregation documentation](https://ej2.syncfusion.com/documentation/pivotview/how-to/add-custom-aggregation-type-in-menu). + +The following example shows how to add two custom aggregate types to the aggregate menu: **CustomAggregateType 1**, which calculates a weighted average, and **CustomAggregateType 2**, which calculates the percentage of the total. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/pivot-table/pdf-export-cs44/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/pivot-table/pdf-export-cs44/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/pdf-export-cs44" %} + +## Exporting with custom date format + +The Pivot Table component allows applying custom date formatting to date-type fields added to the row and column axes. This formatting maintains consistency between the rendered pivot table and the exported PDF file. Configure custom date formatting through the [`formatSettings`](https://ej2.syncfusion.com/documentation/api/pivotview/dataSourceSettings#formatsettings) property by following these steps: + +1. Set the [`name`](https://ej2.syncfusion.com/documentation/api/pivotview/formatSettingsModel#name) property to the target date field. +2. Set the [`type`](https://ej2.syncfusion.com/documentation/api/pivotview/formatSettingsModel#type) property to **date** to identify the field as a date type. +3. Set the [`format`](https://ej2.syncfusion.com/documentation/api/pivotview/formatSettingsModel#format) property to the desired date format pattern (for example, `"EEE, MMM d, ''yy"`). + +After configuration, call the [`pdfExport`](https://ej2.syncfusion.com/documentation/api/pivotview/index-default#pdfexport) method to export the Pivot Table with the applied formatting. + +The following example demonstrates exporting a Pivot Table with a custom date format. The date field uses the pattern `"EEE, MMM d, ''yy"` to display dates in the format: weekday abbreviation, month abbreviation, day, and two-digit year (for example, Sun, May 8, '23). + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/pivot-table/pdf-export-cs45/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/pivot-table/pdf-export-cs45/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/pdf-export-cs45" %} ## Changing the pivot table style while exporting @@ -387,32 +503,58 @@ You can also use custom fonts when exporting if you need support for languages o > Non-English alphabets can also be exported correctly when you specify a suitable font. -## Virtual Scroll Data +### Apply custom styles based on specific conditions -When working with large amounts of data in the Pivot Table, the virtual scroll option allows users to efficiently export all the table data as a complete PDF document, without any slowdown or performance issues. This method uses PivotEngine export to manage and export extensive datasets smoothly. To use this option, make sure to enable the [`allowPdfExport`](https://ej2.syncfusion.com/documentation/api/pivotview/index-default#allowpdfexport) property and use the [`pdfExport`](https://ej2.syncfusion.com/documentation/api/pivotview/index-default#pdfexport) method in the Pivot Table. +When exporting Pivot Table data to PDF, custom styles can be applied to cells based on their values or other criteria. To apply custom styles, use the [`pdfQueryCellInfo`](https://ej2.syncfusion.com/documentation/api/pivotview/gridSettingsModel#pdfquerycellinfo) event. In this event, the cell information can be accessed through the [`args.data`](https://ej2.syncfusion.com/documentation/api/grid/pdfQueryCellInfoEventArgs#data) property, and its style properties, such as [`backgroundColor`](https://ej2.syncfusion.com/documentation/api/grid/pdfstyle#backgroundcolor), [`fontFamily`](https://ej2.syncfusion.com/documentation/api/grid/pdfstyle#fontfamily), and [`textPenColor`](https://ej2.syncfusion.com/documentation/api/grid/pdfstyle#textpencolor), can be customized. These changes apply only to the exported PDF and do not affect the on-screen Pivot Table display -> To use PivotEngine export, inject the `PDFExport` module into the Pivot Table. -> When virtual scrolling is enabled, PivotEngine export is used automatically. +The following example demonstrates how to apply conditional formatting to the **Sold** field values in the exported PDF document. Values below **700** units are highlighted in **red**, while values of **700** units or more are highlighted in **green**. {% tabs %} {% highlight ts tabtitle="index.ts" %} -{% include code-snippet/pivot-table/pdf-export-cs35/index.ts %} +{% include code-snippet/pivot-table/pdf-export-cs46/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/pivot-table/pdf-export-cs35/index.html %} +{% include code-snippet/pivot-table/pdf-export-cs46/index.html %} {% endhighlight %} {% endtabs %} -{% previewsample "page.domainurl/code-snippet/pivot-table/pdf-export-cs35" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/pdf-export-cs46" %} + +## Enabling horizontal overflow + +The Pivot Table component supports exporting all columns on a single page in the exported PDF document, even if the number of columns exceeds the maximum page limits. This functionality ensures readability and comprehensiveness of the exported PDF. To enable this option, set the [allowHorizontalOverflow](https://ej2.syncfusion.com/documentation/api/grid/pdfExportProperties/#allowhorizontaloverflow) property in the [`pdfExportProperties`](https://ej2.syncfusion.com/documentation/api/grid/pdfexportproperties) object to **true**. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/pivot-table/pdf-export-cs48/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/pivot-table/pdf-export-cs48/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/pdf-export-cs48" %} + +## Export only the current page -### Repeat row headers +By default, the Pivot Table exports all data records. When working with large datasets, this can result in larger file sizes. To optimize file size and performance, only the data records currently visible in the viewport can be exported by setting the [`exportAllPages`](https://ej2.syncfusion.com/documentation/api/pivotview/index-default#exportallpages) property to **false**. -When exporting the Pivot Table as a PDF using the PivotEngine export option, the row headers are repeated on each page by default. This helps users easily identify rows when viewing larger tables split across multiple PDF pages. +> This option is applicable only when the virtualization or paging functionality is enabled. -If you want to turn off the repeated row headers in your PDF, set the [`allowRepeatHeader`](https://ej2.syncfusion.com/documentation/api/pivotview/beforeExportEventArgs#allowrepeatheader) property to **false** inside the [`beforeExport`](https://ej2.syncfusion.com/documentation/api/pivotview/index-default#beforeexport) event. Make sure you are using the [`pdfExport`](https://ej2.syncfusion.com/documentation/api/pivotview/index-default#pdfexport) method with the PivotEngine export. +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/pivot-table/pdf-export-cs37/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/pivot-table/pdf-export-cs37/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/pdf-export-cs37" %} -> To use PivotEngine export, inject the `PDFExport` module in the Pivot Table. -> By default, repeating row headers is enabled in the PivotEngine export. +## Repeat row headers + +By default, row headers are repeated on each page when exporting the Pivot Table as a PDF. This allows easy identification of rows in larger tables that extend across multiple pages. To turn off repeated row headers, set the [`allowRepeatHeader`](https://ej2.syncfusion.com/documentation/api/pivotview/beforeExportEventArgs#allowrepeatheader) property to **false** within the [`beforeExport`](https://ej2.syncfusion.com/documentation/api/pivotview/index-default#beforeexport) event. {% tabs %} {% highlight ts tabtitle="index.ts" %} @@ -425,22 +567,35 @@ If you want to turn off the repeated row headers in your PDF, set the [`allowRep {% previewsample "page.domainurl/code-snippet/pivot-table/pdf-export-cs36" %} -### Export all pages +## Repeat column headers on every page -The Pivot Table allows users to export the entire set of virtual data—meaning all records used to create the complete table—as a PDF document. By default, when virtual scrolling is enabled, the pivot engine will export all data. If you want to export only the data currently shown in the visible area of the Pivot Table, set the [`exportAllPages`](https://ej2.syncfusion.com/documentation/api/pivotview/index-default#exportallpages) property to **false**. To make use of the pivot engine export, include the `PDFExport` module in your Pivot Table. +By default, column headers are repeated on each page when exporting the Pivot Table as a PDF. This ensures consistent column identification across multi-page documents. To prevent column headers from repeating on each page, use the [`pdfQueryCellInfo`](https://ej2.syncfusion.com/documentation/api/pivotview/gridsettingsmodel#pdfquerycellinfo) event. In this event, access the `pdfGrid` object through `args.cell.row.pdfGrid`, which holds the current PDF grid and allows component over the repeat header behavior. Then set its `repeatHeader` property to **false** to disable the repetition. -> By default, the pivot engine export is performed automatically when virtual scrolling is enabled. +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/pivot-table/pdf-export-cs50/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/pivot-table/pdf-export-cs50/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/pdf-export-cs50" %} + +## Show spinner during export + +When exporting data, displaying a spinner provides visual feedback to users that the export process is in progress. To show a spinner, invoke the `showWaitingPopup` method in the button's click event before calling the [`pdfExport`](https://ej2.syncfusion.com/documentation/api/pivotview/index-default#pdfexport) method. After the export is complete, use the [`exportComplete`](https://ej2.syncfusion.com/documentation/api/pivotview/index-default#exportcomplete) event to trigger the `hideWaitingPopup` method, which hides the spinner and indicates that the export has finished. {% tabs %} {% highlight ts tabtitle="index.ts" %} -{% include code-snippet/pivot-table/pdf-export-cs37/index.ts %} +{% include code-snippet/pivot-table/pdf-export-cs47/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/pivot-table/pdf-export-cs37/index.html %} +{% include code-snippet/pivot-table/pdf-export-cs47/index.html %} {% endhighlight %} {% endtabs %} -{% previewsample "page.domainurl/code-snippet/pivot-table/pdf-export-cs37" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/pdf-export-cs47" %} ## Events