From 16ae6610e0321ca10292ccfc6f58e83703111da4 Mon Sep 17 00:00:00 2001 From: kj1352 Date: Fri, 4 Mar 2022 22:31:11 +0530 Subject: [PATCH 1/4] filters UI modification --- src/app/dashboard/table/table.component.html | 5 ++-- src/app/dashboard/table/table.component.scss | 24 +++++++++----------- 2 files changed, 13 insertions(+), 16 deletions(-) diff --git a/src/app/dashboard/table/table.component.html b/src/app/dashboard/table/table.component.html index 313c5c9..aaf5fa5 100644 --- a/src/app/dashboard/table/table.component.html +++ b/src/app/dashboard/table/table.component.html @@ -23,11 +23,10 @@ - -
-
Filters:
+
Filters:
+
diff --git a/src/app/dashboard/table/table.component.scss b/src/app/dashboard/table/table.component.scss index aedb9e4..afa931c 100644 --- a/src/app/dashboard/table/table.component.scss +++ b/src/app/dashboard/table/table.component.scss @@ -28,20 +28,18 @@ } .filter-row { - padding: 5px 15px; - display: flex; - align-items: center; - - .explainer { - flex-basis: 150px; - font-style: italic; - color: silver; - } + display: grid; + align-items: stretch; + grid-template-columns: 1fr 1fr 1fr 1fr; + justify-content: flex-end; + grid-gap: 10px; + margin: 0px 0px 20px 0px; +} - ng-select { - flex-grow: 1; - margin: 0 5px; - } +.explainer { + font-style: italic; + color: silver; + margin: 20px 0 10px; } .card { From b1e54d4455c18b034ad1050b40d03acc3b186887 Mon Sep 17 00:00:00 2001 From: prahalad Date: Fri, 4 Mar 2022 23:16:39 +0530 Subject: [PATCH 2/4] Bug Fix Export CSV and XLSX --- .../partner-details.component.ts | 17 ++++++++++++----- src/app/dashboard/table/table.component.ts | 17 +++++++++++++++-- 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/src/app/dashboard/partner-details/partner-details.component.ts b/src/app/dashboard/partner-details/partner-details.component.ts index 53c330f..9f72d4d 100644 --- a/src/app/dashboard/partner-details/partner-details.component.ts +++ b/src/app/dashboard/partner-details/partner-details.component.ts @@ -122,8 +122,6 @@ export class PartnerDetailsComponent implements OnInit { "Primary Areas Of Support Required Other": partnerData.strengthAndCapability.primaryAreasOfSupportRequiredOther, }] - - let surveyCtoHIIData = []; for (const hiidata of partnerData.surveyCtoData.hiiData) { let partnerHiiDetails = { @@ -206,22 +204,31 @@ export class PartnerDetailsComponent implements OnInit { this.loadExportData(this.partnerDetails) + const fileTypeCSV = 'text/csv;charset=utf-8;', + element = document.createElement('a'); + let blob; 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(); - + + console.log(this.exportData) if (exportType === 'CSV') { if (this.isProfileData) { - this.exportJsonToCSV(this.exportData,['ProfileData']) + let csvData = Papa.unparse(this.exportData); + blob = new Blob([csvData], { type: fileTypeCSV }); + let url = URL.createObjectURL(blob); + element.href = url; + element.setAttribute('download', 'ProfileData' + '.csv'); + element.click(); } 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']) + this.exportJsonToCSV(completeData, ['HiiData', 'SPData', 'SPSchemaData', 'ProfileData',]) } } else { if (this.isProfileData) { diff --git a/src/app/dashboard/table/table.component.ts b/src/app/dashboard/table/table.component.ts index 4193a1c..2cf86fd 100644 --- a/src/app/dashboard/table/table.component.ts +++ b/src/app/dashboard/table/table.component.ts @@ -140,6 +140,7 @@ export class TableComponent implements OnInit { this.partialLoad(this.userData.slice(0, 100)) }, (e) => console.log(e)); + this.selectedPartnerList = []; } partialLoad(data: Array) { @@ -308,6 +309,10 @@ export class TableComponent implements OnInit { exportProfileData(exportType: exportType) { this.loadExportData(); + const fileTypeCSV = 'text/csv;charset=utf-8;', + element = document.createElement('a'); + let blob; + 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]); @@ -317,13 +322,20 @@ export class TableComponent implements OnInit { if (exportType === 'CSV') { if (this.isProfileData) { - this.exportJsonToCSV(this.exportData,['ProfileData']) + let csvData = Papa.unparse(this.exportData); + blob = new Blob([csvData], { type: fileTypeCSV }); + let url = URL.createObjectURL(blob); + element.href = url; + element.setAttribute('download', 'ProfileData' + '.csv'); + element.click(); } 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']) + + console.log(completeData) + this.exportJsonToCSV(completeData, ['HiiData', 'SPData', 'SPSchemaData', 'ProfileData',]) } } else { if (this.isProfileData) { @@ -350,6 +362,7 @@ export class TableComponent implements OnInit { let blob; csvData.forEach((exportData: any, index: number) => { + console.log(exportData) let csvData = Papa.unparse(exportData); blob = new Blob([csvData], { type: fileTypeCSV }); let url = URL.createObjectURL(blob); From 2918ad0bfaad1a9d21eaa5b4355a03032d453ddc Mon Sep 17 00:00:00 2001 From: prahalad Date: Fri, 4 Mar 2022 23:17:48 +0530 Subject: [PATCH 3/4] Removed unwanted console --- src/app/dashboard/partner-details/partner-details.component.ts | 2 -- src/app/dashboard/table/table.component.ts | 2 -- 2 files changed, 4 deletions(-) diff --git a/src/app/dashboard/partner-details/partner-details.component.ts b/src/app/dashboard/partner-details/partner-details.component.ts index 9f72d4d..819fda1 100644 --- a/src/app/dashboard/partner-details/partner-details.component.ts +++ b/src/app/dashboard/partner-details/partner-details.component.ts @@ -214,7 +214,6 @@ export class PartnerDetailsComponent implements OnInit { const spSchema = XLSX.utils.json_to_sheet(this.exportSurveyCtoData[2]); const wb = XLSX.utils.book_new(); - console.log(this.exportData) if (exportType === 'CSV') { if (this.isProfileData) { let csvData = Papa.unparse(this.exportData); @@ -250,7 +249,6 @@ export class PartnerDetailsComponent implements OnInit { } exportJsonToCSV(csvData: any, fileName?: any) { - console.log(fileName) const fileTypeCSV = 'text/csv;charset=utf-8;', element = document.createElement('a'); let blob; diff --git a/src/app/dashboard/table/table.component.ts b/src/app/dashboard/table/table.component.ts index 2cf86fd..f9895ee 100644 --- a/src/app/dashboard/table/table.component.ts +++ b/src/app/dashboard/table/table.component.ts @@ -334,7 +334,6 @@ export class TableComponent implements OnInit { let completeData = this.exportSurveyCtoData completeData.push(this.exportData) - console.log(completeData) this.exportJsonToCSV(completeData, ['HiiData', 'SPData', 'SPSchemaData', 'ProfileData',]) } } else { @@ -362,7 +361,6 @@ export class TableComponent implements OnInit { let blob; csvData.forEach((exportData: any, index: number) => { - console.log(exportData) let csvData = Papa.unparse(exportData); blob = new Blob([csvData], { type: fileTypeCSV }); let url = URL.createObjectURL(blob); From 25f1be35e929bcd9d2f06621889fbafef7e1cbae Mon Sep 17 00:00:00 2001 From: prahalad Date: Fri, 4 Mar 2022 23:56:01 +0530 Subject: [PATCH 4/4] Fixed Export data error and removed Export options for normal users --- .../partner-details.component.html | 3 +- .../partner-details.component.ts | 37 ++++++++++++++----- src/app/dashboard/table/table.component.ts | 30 ++++++++++++--- 3 files changed, 53 insertions(+), 17 deletions(-) diff --git a/src/app/dashboard/partner-details/partner-details.component.html b/src/app/dashboard/partner-details/partner-details.component.html index cfb727d..0bbdb4a 100644 --- a/src/app/dashboard/partner-details/partner-details.component.html +++ b/src/app/dashboard/partner-details/partner-details.component.html @@ -514,7 +514,8 @@
-
+
+
Select Data Type
diff --git a/src/app/dashboard/partner-details/partner-details.component.ts b/src/app/dashboard/partner-details/partner-details.component.ts index 819fda1..6bf2331 100644 --- a/src/app/dashboard/partner-details/partner-details.component.ts +++ b/src/app/dashboard/partner-details/partner-details.component.ts @@ -65,6 +65,21 @@ export class PartnerDetailsComponent implements OnInit { let surveyCtoData: Array = []; + let areaOfWork: any = []; + let branchLocationCountries: any = []; + let communities: any = []; + let preferredLanguages: any = []; + let primaryAreasOfSupportOffered: any = []; + let primaryAreasOfSupportRequired: any = []; + + partnerData.strengthAndCapability.primaryAreasOfSupportOffered.forEach(x => { primaryAreasOfSupportOffered.push(x.name) }) + partnerData.strengthAndCapability.primaryAreasOfSupportRequired.forEach(x => { primaryAreasOfSupportRequired.push(x.name) }) + partnerData.detailedProfile.preferredLanguages.forEach(x => { preferredLanguages.push(x.name) }) + partnerData.detailedProfile.communities.forEach(x => { communities.push(x.name) }) + partnerData.detailedProfile.branchLocationCountries.forEach(x => { branchLocationCountries.push(x.name) }) + partnerData.organizationBasicInfo.areasOfWork.forEach(x => { areaOfWork.push(x.name) }) + + exportData = [{ "PortalID": partnerData.portalId ? partnerData.portalId : '-', @@ -77,7 +92,7 @@ export class PartnerDetailsComponent implements OnInit { // Basic Info - "Areas Of Work": partnerData.organizationBasicInfo.areasOfWork ? partnerData.organizationBasicInfo.areasOfWork.map(option => option.name).join(', ') : '', + "Areas Of Work": areaOfWork.toString(), "Name": partnerData.organizationBasicInfo.name, "Reason For Becoming Member": partnerData.organizationBasicInfo.reasonForBecomingMember, "Referral Name": partnerData.organizationBasicInfo.referralName, @@ -96,18 +111,18 @@ export class PartnerDetailsComponent implements OnInit { // Detailed Profile 'Bio': partnerData.detailedProfile.bio, - 'Branch Location Countries': partnerData.detailedProfile.branchLocationCountries ? partnerData.detailedProfile.branchLocationCountries.map(option => option.name).join(', ') : '', - "Communities": partnerData.detailedProfile.communities ? partnerData.detailedProfile.communities.map(option => option.name).join(', ') : '', + 'Branch Location Countries': branchLocationCountries.toString(), + "Communities": communities.toString(), "District": partnerData.detailedProfile.district, - "Districts": partnerData.detailedProfile.districts ? partnerData.detailedProfile.districts.map(option => option.name).join(', ') : '', + "Districts": partnerData.detailedProfile.districts ? partnerData.detailedProfile.districts.toString() : '', "Files": partnerData.detailedProfile.files, "Have Branches In Other Districts": partnerData.detailedProfile.haveBranchesInOtherDistricts, "Logo": partnerData.detailedProfile.logo, - "partnerData Location": partnerData.detailedProfile.partnerLocation, - "Preferred Languages": partnerData.detailedProfile.preferredLanguages ? partnerData.detailedProfile.preferredLanguages.map(option => option.name).join(', ') : '', - "Preferred Mode Of Communications": partnerData.detailedProfile.preferredModeOfCommunications ? partnerData.detailedProfile.preferredModeOfCommunications.map(option => option.name).join(', ') : '', + "partner Location": partnerData.detailedProfile.partnerLocation, + "Preferred Languages": preferredLanguages.toString(), + "Preferred Mode Of Communications": partnerData.detailedProfile.preferredModeOfCommunications ? partnerData.detailedProfile.preferredModeOfCommunications.toString() : '', "State": partnerData.detailedProfile.state, - "States": partnerData.detailedProfile.states ? partnerData.detailedProfile.states.map(option => option.name).join(', ') : '', + "States": partnerData.detailedProfile.states ? partnerData.detailedProfile.states.toString() : '', "Total Reach Of Organization": partnerData.detailedProfile.totalReachOfOrganization, "Year Of Establishment": partnerData.detailedProfile.yearOfEstablishment, @@ -115,13 +130,15 @@ export class PartnerDetailsComponent implements OnInit { "Other Specific Support Required": partnerData.strengthAndCapability.otherSpecificSupportRequired, "Primary Areas Of Support Offered": partnerData.strengthAndCapability.otherSpecificSupportRequired ? partnerData.strengthAndCapability.otherSpecificSupportRequired.toString() : '', - "Primary Areas Of Support Offered Description": partnerData.strengthAndCapability.primaryAreasOfSupportOffered.map(option => option.name).join(', '), + "Primary Areas Of Support Offered Description": primaryAreasOfSupportOffered.toString(), "Primary Areas Of Support Offered Other": partnerData.strengthAndCapability.primaryAreasOfSupportOfferedDescription, "Primary Areas Of Support Required": partnerData.strengthAndCapability.primaryAreasOfSupportOfferedOther ? partnerData.strengthAndCapability.primaryAreasOfSupportOfferedOther.toString() : '', - "Primary Areas Of Support Required Description": partnerData.strengthAndCapability.primaryAreasOfSupportRequired.map(option => option.name).join(', '), + "Primary Areas Of Support Required Description": primaryAreasOfSupportRequired.toString(), "Primary Areas Of Support Required Other": partnerData.strengthAndCapability.primaryAreasOfSupportRequiredOther, }] + + let surveyCtoHIIData = []; for (const hiidata of partnerData.surveyCtoData.hiiData) { let partnerHiiDetails = { diff --git a/src/app/dashboard/table/table.component.ts b/src/app/dashboard/table/table.component.ts index f9895ee..c8f6c20 100644 --- a/src/app/dashboard/table/table.component.ts +++ b/src/app/dashboard/table/table.component.ts @@ -172,6 +172,22 @@ export class TableComponent implements OnInit { let surveyCtoData: Array = []; for (const partner of this.selectedPartnerList) { + + let areaOfWork: any = []; + let branchLocationCountries: any = []; + let communities: any = []; + let preferredLanguages: any = []; + let primaryAreasOfSupportOffered: any = []; + let primaryAreasOfSupportRequired: any = []; + + partner.strengthAndCapability.primaryAreasOfSupportOffered.forEach(x => { primaryAreasOfSupportOffered.push(x.name)}) + partner.strengthAndCapability.primaryAreasOfSupportRequired.forEach(x => { primaryAreasOfSupportRequired.push(x.name)}) + partner.detailedProfile.preferredLanguages.forEach(x => { preferredLanguages.push(x.name)}) + partner.detailedProfile.communities.forEach(x => { communities.push(x.name)}) + partner.detailedProfile.branchLocationCountries.forEach(x => { branchLocationCountries.push(x.name)}) + partner.organizationBasicInfo.areasOfWork.forEach(x => { areaOfWork.push(x.name)}) + + let partnerDetails = { "PortalID": partner.portalId ? partner.portalId : '-', @@ -184,7 +200,7 @@ export class TableComponent implements OnInit { // Basic Info - "Areas Of Work": partner.organizationBasicInfo.areasOfWork ? partner.organizationBasicInfo.areasOfWork.toString() : '', + "Areas Of Work": areaOfWork.toString(), "Name": partner.organizationBasicInfo.name, "Reason For Becoming Member": partner.organizationBasicInfo.reasonForBecomingMember, "Referral Name": partner.organizationBasicInfo.referralName, @@ -203,15 +219,15 @@ export class TableComponent implements OnInit { // Detailed Profile 'Bio': partner.detailedProfile.bio, - 'Branch Location Countries': partner.detailedProfile.branchLocationCountries ? partner.detailedProfile.branchLocationCountries.toString() : '', - "Communities": partner.detailedProfile.communities ? partner.detailedProfile.communities.toString() : '', + 'Branch Location Countries': branchLocationCountries.toString(), + "Communities": communities.toString(), "District": partner.detailedProfile.district, "Districts": partner.detailedProfile.districts ? partner.detailedProfile.districts.toString() : '', "Files": partner.detailedProfile.files, "Have Branches In Other Districts": partner.detailedProfile.haveBranchesInOtherDistricts, "Logo": partner.detailedProfile.logo, "partner Location": partner.detailedProfile.partnerLocation, - "Preferred Languages": partner.detailedProfile.preferredLanguages ? partner.detailedProfile.preferredLanguages.toString() : '', + "Preferred Languages": preferredLanguages.toString(), "Preferred Mode Of Communications": partner.detailedProfile.preferredModeOfCommunications ? partner.detailedProfile.preferredModeOfCommunications.toString() : '', "State": partner.detailedProfile.state, "States": partner.detailedProfile.states ? partner.detailedProfile.states.toString() : '', @@ -222,13 +238,15 @@ export class TableComponent implements OnInit { "Other Specific Support Required": partner.strengthAndCapability.otherSpecificSupportRequired, "Primary Areas Of Support Offered": partner.strengthAndCapability.otherSpecificSupportRequired ? partner.strengthAndCapability.otherSpecificSupportRequired.toString() : '', - "Primary Areas Of Support Offered Description": partner.strengthAndCapability.primaryAreasOfSupportOffered, + "Primary Areas Of Support Offered Description": primaryAreasOfSupportOffered.toString(), "Primary Areas Of Support Offered Other": partner.strengthAndCapability.primaryAreasOfSupportOfferedDescription, "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 Description": primaryAreasOfSupportRequired.toString(), "Primary Areas Of Support Required Other": partner.strengthAndCapability.primaryAreasOfSupportRequiredOther, } + exportData.push(partnerDetails); + console.log(exportData) let surveyCtoHIIData = []; for (const hiidata of partner.surveyCtoData.hiiData) {