From 4e8fdc6030096858b99ce5bf04fad0cbe10177e4 Mon Sep 17 00:00:00 2001 From: prahalad Date: Fri, 4 Mar 2022 20:22:09 +0530 Subject: [PATCH] Multiselect Export and CSV with Partner and Table --- .../partner-details.component.html | 37 ++++++++-- .../partner-details.component.ts | 72 +++++++++++-------- src/app/dashboard/table/table.component.html | 4 +- src/app/dashboard/table/table.component.ts | 63 +++++++++------- 4 files changed, 113 insertions(+), 63 deletions(-) diff --git a/src/app/dashboard/partner-details/partner-details.component.html b/src/app/dashboard/partner-details/partner-details.component.html index 6a149ec..30238e8 100644 --- a/src/app/dashboard/partner-details/partner-details.component.html +++ b/src/app/dashboard/partner-details/partner-details.component.html @@ -315,7 +315,7 @@ -
+
HII Data
@@ -389,13 +389,14 @@ Relevant Documents
-
+
SP Data
@@ -416,6 +417,31 @@ {{ package.status }} +
+
+ Female Number +
+
+ {{ package.femaleNo }} +
+
+
+
+ Male Number +
+
+ {{ package.maleNo }} +
+
+
+
+ Transgenders Number +
+
+ {{ package.tgNo }} +
+
+
Total Aggregation @@ -437,13 +463,14 @@ Relevant Documents
-
+
SP Scheme
diff --git a/src/app/dashboard/partner-details/partner-details.component.ts b/src/app/dashboard/partner-details/partner-details.component.ts index 2cb66a0..53c330f 100644 --- a/src/app/dashboard/partner-details/partner-details.component.ts +++ b/src/app/dashboard/partner-details/partner-details.component.ts @@ -151,9 +151,9 @@ export class PartnerDetailsComponent implements OnInit { "SP Name": spData.name, "SP Status": spData.status, 'SP Reason Name': spData.reasonName, - "SP Female Number" : spData.femaleNo ? spData.femaleNo : '' , - "SP Male Number" : spData.maleNo ? spData.maleNo : '', - "Tg Number" : spData.tgNo ? spData.tgNo : '', + "SP Female Number": spData.femaleNo ? spData.femaleNo : '', + "SP Male Number": spData.maleNo ? spData.maleNo : '', + "Tg Number": spData.tgNo ? spData.tgNo : '', "SP TotalAggregation": spData.totalAggregation, "SP OtherRemarks": spData.otherRemarks, "SP RelevantDocuments": spData.relevantDocuments, @@ -200,49 +200,61 @@ export class PartnerDetailsComponent implements OnInit { } exportProfileData(exportType: ExportType) { - const fileTypeXLS = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8', - fileTypeCSV = 'text/csv;charset=utf-8;', - fileExtension = exportType === 'CSV' ? '.csv' : '.xlsx', - element = document.createElement('a'); - - let blob; - if (!this.partnerDetails) { return; } this.loadExportData(this.partnerDetails) + const partnerData = XLSX.utils.json_to_sheet(this.exportData); const hiiData = XLSX.utils.json_to_sheet(this.exportSurveyCtoData[0]); const spData = XLSX.utils.json_to_sheet(this.exportSurveyCtoData[1]); const spSchema = XLSX.utils.json_to_sheet(this.exportSurveyCtoData[2]); const wb = XLSX.utils.book_new(); + + if (exportType === 'CSV') { + if (this.isProfileData) { + this.exportJsonToCSV(this.exportData,['ProfileData']) + } else if (this.isImplementationData) { + this.exportJsonToCSV(this.exportSurveyCtoData, ['HiiData', 'SPData', 'SPSchemaData']) + } else { + let completeData = this.exportSurveyCtoData + completeData.push(this.exportData) + this.exportJsonToCSV(completeData, ['ProfileData', 'HiiData', 'SPData', 'SPSchemaData']) + } + } else { + if (this.isProfileData) { + XLSX.utils.book_append_sheet(wb, partnerData, "Partner Profile"); + XLSX.writeFile(wb, 'PartnerProfile.xlsx'); + } else if (this.isImplementationData) { + XLSX.utils.book_append_sheet(wb, hiiData, "Hii Data"); + XLSX.utils.book_append_sheet(wb, spData, "Sp DATA"); + XLSX.utils.book_append_sheet(wb, spSchema, "SP Schema Data"); + XLSX.writeFile(wb, 'PartnerProfile.xlsx'); + } else { + XLSX.utils.book_append_sheet(wb, partnerData, "PartneData"); + XLSX.utils.book_append_sheet(wb, hiiData, "HiiData"); + XLSX.utils.book_append_sheet(wb, spData, "SPData"); + XLSX.utils.book_append_sheet(wb, spSchema, "SPSchemaData"); + XLSX.writeFile(wb, 'PartnerProfile.xlsx'); + } + } + } + exportJsonToCSV(csvData: any, fileName?: any) { + console.log(fileName) + const fileTypeCSV = 'text/csv;charset=utf-8;', + element = document.createElement('a'); + let blob; - if (exportType === 'CSV') { - let csvData = Papa.unparse(this.exportData); + csvData.forEach((exportData: any, index: number) => { + let csvData = Papa.unparse(exportData); blob = new Blob([csvData], { type: fileTypeCSV }); let url = URL.createObjectURL(blob); element.href = url; - element.setAttribute('download', 'PartnerProfile' + fileExtension); + element.setAttribute('download', fileName[index] + '.csv'); element.click(); - - } else if (this.isImplementationData) { - XLSX.utils.book_append_sheet(wb, hiiData, "Hii Data"); - XLSX.utils.book_append_sheet(wb, spData, "Sp DATA"); - XLSX.utils.book_append_sheet(wb, spSchema, "SP Schema Data"); - XLSX.writeFile(wb, 'PartnerProfile' + fileExtension); - - } else if (this.isBothData) { - XLSX.utils.book_append_sheet(wb, partnerData, "Partner Profile"); - XLSX.utils.book_append_sheet(wb, hiiData, "Hii Data"); - XLSX.utils.book_append_sheet(wb, spData, "Sp DATA"); - XLSX.utils.book_append_sheet(wb, spSchema, "SP Schema Data"); - XLSX.writeFile(wb, 'PartnerProfile' + fileExtension); - } else { - XLSX.utils.book_append_sheet(wb, partnerData, "Partner Profile"); - XLSX.writeFile(wb, 'PartnerProfile' + fileExtension); - } + }); } } diff --git a/src/app/dashboard/table/table.component.html b/src/app/dashboard/table/table.component.html index 45a256b..10e05f1 100644 --- a/src/app/dashboard/table/table.component.html +++ b/src/app/dashboard/table/table.component.html @@ -19,7 +19,7 @@ Show all Partners - + @@ -51,7 +51,7 @@ - + diff --git a/src/app/dashboard/table/table.component.ts b/src/app/dashboard/table/table.component.ts index 7cb2d08..c34122c 100644 --- a/src/app/dashboard/table/table.component.ts +++ b/src/app/dashboard/table/table.component.ts @@ -224,13 +224,6 @@ export class TableComponent implements OnInit { } exportProfileData(exportType: exportType) { - const fileTypeXLS = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8', - fileTypeCSV = 'text/csv;charset=utf-8;', - fileExtension = exportType === 'CSV' ? '.csv' : '.xlsx', - element = document.createElement('a'); - - let blob; - this.loadExportData(); const partnerData = XLSX.utils.json_to_sheet(this.exportData); @@ -241,28 +234,46 @@ export class TableComponent implements OnInit { if (exportType === 'CSV') { - let csvData = Papa.unparse(this.exportData); + if (this.isProfileData) { + this.exportJsonToCSV(this.exportData,['ProfileData']) + } else if (this.isImplementationData) { + this.exportJsonToCSV(this.exportSurveyCtoData, ['HiiData', 'SPData', 'SPSchemaData']) + } else { + let completeData = this.exportSurveyCtoData + completeData.push(this.exportData) + this.exportJsonToCSV(completeData, ['ProfileData', 'HiiData', 'SPData', 'SPSchemaData']) + } + } else { + if (this.isProfileData) { + XLSX.utils.book_append_sheet(wb, partnerData, "Partner Profile"); + XLSX.writeFile(wb, 'PartnerProfile.xlsx'); + } else if (this.isImplementationData) { + XLSX.utils.book_append_sheet(wb, hiiData, "Hii Data"); + XLSX.utils.book_append_sheet(wb, spData, "Sp DATA"); + XLSX.utils.book_append_sheet(wb, spSchema, "SP Schema Data"); + XLSX.writeFile(wb, 'PartnerProfile.xlsx'); + } else { + XLSX.utils.book_append_sheet(wb, partnerData, "PartneData"); + XLSX.utils.book_append_sheet(wb, hiiData, "HiiData"); + XLSX.utils.book_append_sheet(wb, spData, "SPData"); + XLSX.utils.book_append_sheet(wb, spSchema, "SPSchemaData"); + XLSX.writeFile(wb, 'PartnerProfile.xlsx'); + } + } + } + + exportJsonToCSV(csvData: any, fileName?: any) { + const fileTypeCSV = 'text/csv;charset=utf-8;', + element = document.createElement('a'); + let blob; + + csvData.forEach((exportData: any, index: number) => { + let csvData = Papa.unparse(exportData); blob = new Blob([csvData], { type: fileTypeCSV }); let url = URL.createObjectURL(blob); element.href = url; - element.setAttribute('download', 'PartnerProfile' + fileExtension); + element.setAttribute('download', fileName[index] + '.csv'); element.click(); - - } else if (this.isImplementationData && this.shouldHaveImplementationData) { - XLSX.utils.book_append_sheet(wb, hiiData, "Hii Data"); - XLSX.utils.book_append_sheet(wb, spData, "Sp DATA"); - XLSX.utils.book_append_sheet(wb, spSchema, "SP Schema Data"); - XLSX.writeFile(wb, 'PartnerProfile' + fileExtension); - - } else if (this.isBothData && this.shouldHaveImplementationData) { - XLSX.utils.book_append_sheet(wb, partnerData, "Partner Profile"); - XLSX.utils.book_append_sheet(wb, hiiData, "Hii Data"); - XLSX.utils.book_append_sheet(wb, spData, "Sp DATA"); - XLSX.utils.book_append_sheet(wb, spSchema, "SP Schema Data"); - XLSX.writeFile(wb, 'PartnerProfile' + fileExtension); - } else { - XLSX.utils.book_append_sheet(wb, partnerData, "Partner Profile"); - XLSX.writeFile(wb, 'PartnerProfile' + fileExtension); - } + }); } }