Skip to content

Commit

Permalink
Fixed code that displays 'no instances found' message which wasn't
Browse files Browse the repository at this point in the history
working on the free text fields panel. Standardised the structure of the
json containing the panel data across all panels so that if a panel has
no instances, the json contains a field with the name of that panel and
an empty array as it's value.

Fixed the code that was retrieving the CountryCode field for the free
text fields panel, as it was using an incorrect name for the DDI field
containing that data.
  • Loading branch information
ollylucl committed Feb 14, 2025
1 parent e76ce03 commit c711ecf
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 18 deletions.
2 changes: 1 addition & 1 deletion components/DataTable.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ export default function DataTable(props) {
}

function tableRows() {
return (!!props.itemCounts[props.headers[0]]) ? !!props.itemCounts[props.headers[0]] && props.itemCounts[props.headers[0]].map((tableRow, index) => {
return (props.itemCounts[props.headers[0]]?.length!=0) ? !!props.itemCounts[props.headers[0]] && props.itemCounts[props.headers[0]].map((tableRow, index) => {
return <tr key={index}>{tableCells(tableRow)}</tr>
}) : <tr><td>No instances found.</td></tr>

Expand Down
12 changes: 8 additions & 4 deletions pages/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ const tabNames = ["Lifestage",
"Publisher",
"Analysis Unit",
"Kind Of Data",
"Country",
"CountryCode",
"Mode Of Collection",
"Type Of Mode Of Collection"
];
Expand Down Expand Up @@ -96,6 +96,10 @@ function getFreeTextElementValues(allStudyUnits, token) {

const freeTextElementValues = {};

userAttributeTitles.forEach(userAttributeTitle =>
freeTextElementValues[userAttributeTitle] = []
)

!!allStudyUnits && allStudyUnits.map(studyUnit => {
let studyUnitXML = parser.parse(studyUnit.Item)

Expand Down Expand Up @@ -139,12 +143,12 @@ function getFreeTextElementValues(allStudyUnits, token) {

let kindsOfData = studyUnitXML.Fragment.StudyUnit?.['r:KindOfData']

let countries = studyUnitXML.Fragment.StudyUnit['r:Coverage']['r:SpatialCoverage']?.['r:Country']
let countryCodes = studyUnitXML.Fragment.StudyUnit['r:Coverage']['r:SpatialCoverage']?.['r:CountryCode']

!!countries && convertToArray(countries).forEach(country => {
!!countryCodes && convertToArray(countryCodes).forEach(countryCode => {

populateFreeTextElementValue('CountryCode',
!!country ? country : "EMPTY VALUE",
!!countryCode ? countryCode : "EMPTY VALUE",
freeTextElementValues,
studyUnit.AgencyId,
studyUnit.Identifier)
Expand Down
16 changes: 8 additions & 8 deletions pages/missingIncorrectRelationships.js
Original file line number Diff line number Diff line change
Expand Up @@ -101,14 +101,14 @@ export async function getServerSideProps(context) {
}

var dashboardData = {
"orphanPhysicalInstances": !!orphanPhysicalInstances && orphanPhysicalInstances.trim().split('\n').map(x => Array(x)),
"physicalInstancesWithNoFileUri": !!physicalInstancesWithNoFileUri && physicalInstancesWithNoFileUri.trim().split('\n').map(x => Array(x)),
"orphanVariables": !!orphanVariables && orphanVariables.trim().split('\n').map(x => Array(x)),
"orphanQuestionnaires": !!orphanQuestionnaires && orphanQuestionnaires.trim().split('\n').map(x => Array(x)),
"questionnairesWithoutExternalInstruments": !!questionnairesWithoutExternalInstruments && questionnairesWithoutExternalInstruments.trim().split('\n').map(x => Array(x)),
"orphanQuestions": !!orphanQuestions && orphanQuestions.trim().split('\n').map(x => Array(x)),
"invalidAgencies": !!invalidAgencies && invalidAgencies.trim().split('\n').map(x => Array(x)),
"dataCollectionsWithoutOrganisation": !!dataCollectionsWithoutOrganisation && dataCollectionsWithoutOrganisation.trim().split('\n').map(x => Array(x))
"orphanPhysicalInstances": !!orphanPhysicalInstances ? orphanPhysicalInstances.trim().split('\n').map(x => Array(x)) : [],
"physicalInstancesWithNoFileUri": !!physicalInstancesWithNoFileUri ? physicalInstancesWithNoFileUri.trim().split('\n').map(x => Array(x)) : [],
"orphanVariables": !!orphanVariables ? orphanVariables.trim().split('\n').map(x => Array(x)) : [],
"orphanQuestionnaires": !!orphanQuestionnaires ? orphanQuestionnaires.trim().split('\n').map(x => Array(x)) : [],
"questionnairesWithoutExternalInstruments": !!questionnairesWithoutExternalInstruments ? questionnairesWithoutExternalInstruments.trim().split('\n').map(x => Array(x)) : [],
"orphanQuestions": !!orphanQuestions ? orphanQuestions.trim().split('\n').map(x => Array(x)) : [],
"invalidAgencies": !!invalidAgencies ? invalidAgencies.trim().split('\n').map(x => Array(x)) : [],
"dataCollectionsWithoutOrganisation": !!dataCollectionsWithoutOrganisation ? dataCollectionsWithoutOrganisation.trim().split('\n').map(x => Array(x)) : []
}

return {
Expand Down
10 changes: 5 additions & 5 deletions pages/topicIssues.js
Original file line number Diff line number Diff line change
Expand Up @@ -71,16 +71,16 @@ export async function getServerSideProps(context) {
console.error(err);
}

const questionsMappedToMultipleGroupsJSON = !!questionsMappedToMultipleGroups && JSON.parse(questionsMappedToMultipleGroups)
const questionsMappedToMultipleGroupsJSON = !!questionsMappedToMultipleGroups ? JSON.parse(questionsMappedToMultipleGroups) : []

const variablesMappedToMultipleGroupsJSON = !!variablesMappedToMultipleGroups && JSON.parse(variablesMappedToMultipleGroups)
const variablesMappedToMultipleGroupsJSON = !!variablesMappedToMultipleGroups ? JSON.parse(variablesMappedToMultipleGroups) : []

const questionsMappedToNoGroupsJSON = !!questionsMappedToNoGroups && JSON.parse(questionsMappedToNoGroups)
const questionsMappedToNoGroupsJSON = !!questionsMappedToNoGroups ? JSON.parse(questionsMappedToNoGroups) : []

const variablesMappedToNoGroupsJSON = !!variablesMappedToNoGroups && JSON.parse(variablesMappedToNoGroups)
const variablesMappedToNoGroupsJSON = !!variablesMappedToNoGroups ? JSON.parse(variablesMappedToNoGroups) : []

var dashboardData = {
"topicMismatches": !!topicMismatches && JSON.parse(topicMismatches),
"topicMismatches": !!topicMismatches && JSON.parse(topicMismatches) ? JSON.parse(topicMismatches) : [],
"questionsMappedToMultipleGroups": questionsMappedToMultipleGroupsJSON,
"variablesMappedToMultipleGroups": variablesMappedToMultipleGroupsJSON,
"questionsMappedToNoGroups": questionsMappedToNoGroupsJSON,
Expand Down

0 comments on commit c711ecf

Please sign in to comment.