-
+
{{ partner.organizationBasicInfo.name }}
diff --git a/src/app/dashboard/table/table.component.scss b/src/app/dashboard/table/table.component.scss
index 13c16e8..1e4ddcf 100644
--- a/src/app/dashboard/table/table.component.scss
+++ b/src/app/dashboard/table/table.component.scss
@@ -44,7 +44,7 @@
}
.export-options {
- width: 190px;
+ width: 210px;
position: absolute;
top: 70px;
right: 120px;
@@ -69,6 +69,53 @@
justify-content: space-between;
}
+ .sub-options {
+
+ div{
+ margin: 3px 0;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ text-align: left;
+ font-size: 14px;
+ color: var(--input-border);
+
+
+ span{
+ width: 85%;
+ }
+ }
+
+ .radioButton{
+ border: 2px solid var(--input-border);
+ width: 15px;
+ height: 15px;
+ border-radius: 50%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ &::before {
+ content: '';
+ display: block;
+ width: 7px;
+ height: 7px;
+ border-radius: inherit;
+ background-color: white;
+ }
+
+ &.active {
+ border-color: var(--input-border);
+
+ &::before {
+ background-color: var(--input-border);
+ }
+ }
+ }
+ }
+
+
+
button {
border: 2px solid var(--input-border);
padding: 7px 20px;
@@ -78,6 +125,8 @@
color: var(--secondary-text);
font-weight: 500;
}
+
+
}
.table {
diff --git a/src/app/dashboard/table/table.component.ts b/src/app/dashboard/table/table.component.ts
index 9f9dc73..f618763 100644
--- a/src/app/dashboard/table/table.component.ts
+++ b/src/app/dashboard/table/table.component.ts
@@ -4,6 +4,8 @@ import { Router } from '@angular/router';
import * as Papa from 'papaparse';
import * as XLSX from 'xlsx'
+type exportType = "CSV" | "XLSX";
+
@Component({
selector: 'app-table',
templateUrl: './table.component.html',
@@ -17,6 +19,12 @@ export class TableComponent implements OnInit {
shouldHaveImplementationData: boolean = false;
searchText: string = '';
selectedPartnerList: Array
= [];
+ isProfileData: boolean = true;
+ isImplementationData: boolean = false;
+ isBothData: boolean = false;
+
+ exportData: Array = [];
+ exportSurveyCtoData: Array = [];
constructor(
private partnerProfileService: PartnerProfileService,
@@ -45,7 +53,7 @@ export class TableComponent implements OnInit {
})
}
- this.partialLoad(this.userData.slice(0, 10))
+ this.partialLoad(this.userData.slice(0, 100))
console.log(this.userData);
}, (e) => console.log(e));
@@ -66,7 +74,6 @@ export class TableComponent implements OnInit {
selectPartner(partner: any) {
if (this.selectedPartnerList) {
- console.log(!this.checkedInput(partner))
if (this.selectedPartnerList.some(x => JSON.stringify(x) === JSON.stringify(partner))) {
this.selectedPartnerList = this.selectedPartnerList.filter(x => JSON.stringify(x) !== JSON.stringify(partner))
} else this.selectedPartnerList.push(partner)
@@ -74,28 +81,34 @@ export class TableComponent implements OnInit {
}
loadExportData() {
- let tempArray = [];
+ let exportData: Array = [];
+ let exportHiiData: Array = [];
+ let exportSpData: Array = [];
+ let exportSPSchemaData: Array = [];
+
+ let surveyCtoData: Array = [];
+
for (const partner of this.selectedPartnerList) {
- let csvArray = [{
+ let partnerDetails = {
"PortalID": partner.portalId ? partner.portalId : '-',
// Primary Contact
- "Primary Name": partner.primaryContact.contactNumber,
+ "Primary Name": partner.primaryContact.name,
"Primary Contact Number": partner.primaryContact.contactNumber,
- "Primary Email": partner.primaryContact.contactNumber,
- "Primary Designation": partner.primaryContact.contactNumber,
+ "Primary Email": partner.primaryContact.email,
+ "Primary Designation": partner.primaryContact.designation,
// Basic Info
- "areasOfWork": partner.organizationBasicInfo.areasOfWork ? partner.organizationBasicInfo.areasOfWork.toString() : '',
- "name": partner.organizationBasicInfo.name,
- "reasonForBecomingMember": partner.organizationBasicInfo.reasonForBecomingMember,
- "referralName": partner.organizationBasicInfo.referralName,
- "source": partner.organizationBasicInfo.source,
- "type": partner.organizationBasicInfo.type,
- "website": partner.organizationBasicInfo.website,
- "wouldLikeUpdates": partner.organizationBasicInfo.wouldLikeUpdates,
+ "Areas Of Work": partner.organizationBasicInfo.areasOfWork ? partner.organizationBasicInfo.areasOfWork.toString() : '',
+ "Name": partner.organizationBasicInfo.name,
+ "Reason For Becoming Member": partner.organizationBasicInfo.reasonForBecomingMember,
+ "Referral Name": partner.organizationBasicInfo.referralName,
+ "Source": partner.organizationBasicInfo.source,
+ "Type": partner.organizationBasicInfo.type,
+ "Website": partner.organizationBasicInfo.website,
+ "Would Like Updates": partner.organizationBasicInfo.wouldLikeUpdates,
// Alternative Contact
@@ -114,7 +127,7 @@ export class TableComponent implements OnInit {
"Files": partner.detailedProfile.files,
"Have Branches In Other Districts": partner.detailedProfile.haveBranchesInOtherDistricts,
"Logo": partner.detailedProfile.logo,
- "Partner Location": partner.detailedProfile.partnerLocation,
+ "partner Location": partner.detailedProfile.partnerLocation,
"Preferred Languages": partner.detailedProfile.preferredLanguages ? partner.detailedProfile.preferredLanguages.toString() : '',
"Preferred Mode Of Communications": partner.detailedProfile.preferredModeOfCommunications ? partner.detailedProfile.preferredModeOfCommunications.toString() : '',
"State": partner.detailedProfile.state,
@@ -131,48 +144,121 @@ export class TableComponent implements OnInit {
"Primary Areas Of Support Required": partner.strengthAndCapability.primaryAreasOfSupportOfferedOther ? partner.strengthAndCapability.primaryAreasOfSupportOfferedOther.toString() : '',
"Primary Areas Of Support Required Description": partner.strengthAndCapability.primaryAreasOfSupportRequired,
"Primary Areas Of Support Required Other": partner.strengthAndCapability.primaryAreasOfSupportRequiredOther,
- }]
+ }
+ exportData.push(partnerDetails);
+
+ let surveyCtoHIIData = [];
+ for (const hiidata of partner.surveyCtoData.hiiData) {
+ let partnerHiiDetails = {
+ "HII Id": hiidata.id,
+ "HII Name": hiidata.name,
+ "HII Packages Health": hiidata.packagesHealth,
+ "HII Implementation Status": hiidata.implementationStatus,
+ "HII Disaggregation Note": hiidata.disaggregationNote,
+ "HII No Of Males": hiidata.id,
+ "HII No Of Females": hiidata.noOfMales,
+ "HII No Of Transgender": hiidata.noOfTransgender,
+ "HII Health Remarks": hiidata.healthRemarks,
+ "HII Relevant Documents": hiidata.relevantDocuments,
+ }
+ surveyCtoHIIData.push(partnerHiiDetails)
+ }
+ surveyCtoHIIData.forEach(data => {
+ exportHiiData.push(data)
+ })
+
+ let surveyCtoSpData = []
+ for (const spData of partner.surveyCtoData.spData) {
+ let partnerSpDetails = {
+ "SP Id": spData.id,
+ "SP Name": spData.name,
+ "SP Status": spData.status,
+ "SP TotalAggregation": spData.totalAggregation,
+ "SP OtherRemarks": spData.otherRemarks,
+ "SP RelevantDocuments": spData.relevantDocuments,
+ }
+
+ surveyCtoSpData.push(partnerSpDetails)
+ }
+ surveyCtoSpData.forEach(data => {
+ exportSpData.push(data)
+ })
+
+ let surveyCtoSpSchemaData = []
+ for (const spSchema of partner.surveyCtoData.spSchemeData) {
+ let partnerSpSchemaDetails = {
+ "SPSchema SchemeId": spSchema.schemeId,
+ "SPSchema Count": spSchema.count,
+ }
- tempArray.push(csvArray[0])
+ surveyCtoSpSchemaData.push(partnerSpSchemaDetails)
+ }
+ surveyCtoSpSchemaData.forEach(data => {
+ exportSPSchemaData.push(data)
+ })
}
- return tempArray;
+
+
+ surveyCtoData.push(exportHiiData)
+ surveyCtoData.push(exportSpData)
+ surveyCtoData.push(exportSPSchemaData)
+
+ this.exportData = exportData;
+ this.exportSurveyCtoData = surveyCtoData
}
- checkedInput(partner: any) {
- return this.selectedPartnerList.some(x => JSON.stringify(x) === JSON.stringify(partner))
+ isInputChecked(partner: any) {
+ return this.selectedPartnerList.some(x => JSON.stringify(x) === JSON.stringify(partner));
}
- checkedAllInput() {
- return JSON.stringify(this.selectedPartnerList) === JSON.stringify(this.tempUserData)
+ isAllInputChecked() {
+ return JSON.stringify(this.selectedPartnerList) === JSON.stringify(this.tempUserData);
}
selectAllPartner() {
- if (JSON.stringify(this.selectedPartnerList) === JSON.stringify(this.tempUserData)) {
- this.selectedPartnerList = []
- } else this.selectedPartnerList = this.tempUserData
+ JSON.stringify(this.selectedPartnerList) === JSON.stringify(this.tempUserData) ? this.selectedPartnerList = [] : this.selectedPartnerList = this.tempUserData;
}
- exportProfileData(index: number) {
- let fileTypeXLS = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';
- let fileTypeCSV = 'text/csv;charset=utf-8;';
- let fileExtension = index === 0 ? '.csv' : '.xlsx';
- let element = document.createElement('a');
+ 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 (index === 0) {
- let csvData = Papa.unparse(this.loadExportData());
+ this.loadExportData();
+
+ 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') {
+ let csvData = Papa.unparse(this.exportData);
blob = new Blob([csvData], { type: fileTypeCSV });
+ let url = URL.createObjectURL(blob);
+ element.href = url;
+ element.setAttribute('download', 'PartnerProfile' + fileExtension);
+ 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 {
- let ws = XLSX.utils.json_to_sheet(this.loadExportData());
- let wb = { Sheets: { 'data': ws }, SheetNames: ['data'] };
- let excelBuffer = XLSX.write(wb, { bookType: 'xlsx', type: 'array' });
- blob = new Blob([excelBuffer], { type: fileTypeXLS });
+ XLSX.utils.book_append_sheet(wb, partnerData, "Partner Profile");
+ XLSX.writeFile(wb, 'PartnerProfile' + fileExtension);
}
- let url = URL.createObjectURL(blob);
- element.href = url;
- element.setAttribute('download', 'PartnerProfile' + fileExtension);
- element.click();
}
-
-
}