update split field guide view into categories
This commit is contained in:
@ -88,9 +88,33 @@ module.exports = function(app) {
|
|||||||
completedFieldGuides = req.user.completedFieldGuides;
|
completedFieldGuides = req.user.completedFieldGuides;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// order here determine order on page
|
||||||
|
const categories = [
|
||||||
|
'orientation',
|
||||||
|
'FYI',
|
||||||
|
'outreach',
|
||||||
|
'contact'
|
||||||
|
];
|
||||||
|
|
||||||
|
// produces an array of arrays of field guides ordered by the above
|
||||||
|
// i.e. [[...orientFieldGuides][...FYIfieldGuides]...]
|
||||||
|
const orderFieldGuides = categories
|
||||||
|
.reduce((ordered, category) => {
|
||||||
|
|
||||||
|
const fieldGuidesForCategory = allFieldGuideNamesAndIds
|
||||||
|
.filter(fieldGuide => {
|
||||||
|
return category === fieldGuide.category;
|
||||||
|
});
|
||||||
|
|
||||||
|
return ordered.concat([fieldGuidesForCategory]);
|
||||||
|
}, []);
|
||||||
|
|
||||||
res.render('field-guide/all-articles', {
|
res.render('field-guide/all-articles', {
|
||||||
|
// leaving this property as legacy.
|
||||||
allFieldGuideNamesAndIds: allFieldGuideNamesAndIds,
|
allFieldGuideNamesAndIds: allFieldGuideNamesAndIds,
|
||||||
completedFieldGuides: completedFieldGuides
|
completedFieldGuides: completedFieldGuides,
|
||||||
|
categories: categories,
|
||||||
|
fieldGuides: orderFieldGuides
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -181,7 +181,8 @@ module.exports = {
|
|||||||
return {
|
return {
|
||||||
name: elem.name,
|
name: elem.name,
|
||||||
dashedName: elem.dashedName,
|
dashedName: elem.dashedName,
|
||||||
id: elem.id
|
id: elem.id,
|
||||||
|
category: elem.category
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
return allFieldGuideNames;
|
return allFieldGuideNames;
|
||||||
|
@ -9,9 +9,11 @@ block content
|
|||||||
.panel-body
|
.panel-body
|
||||||
.col-xs-12.col-md-10.col-md-offset-1
|
.col-xs-12.col-md-10.col-md-offset-1
|
||||||
.col-xs-12.no-right-padding
|
.col-xs-12.no-right-padding
|
||||||
|
each category, index in categories
|
||||||
|
h2.text-center= category.charAt(0).toUpperCase() + category.slice(1)
|
||||||
h3
|
h3
|
||||||
ol
|
ol
|
||||||
each fieldGuide in allFieldGuideNamesAndIds
|
each fieldGuide in fieldGuides[index]
|
||||||
if completedFieldGuides.indexOf(fieldGuide.id) > -1
|
if completedFieldGuides.indexOf(fieldGuide.id) > -1
|
||||||
.row
|
.row
|
||||||
.hidden-xs.col-sm-3.col-md-2.text-primary.ion-checkmark-circled.padded-ionic-icon.text-center
|
.hidden-xs.col-sm-3.col-md-2.text-primary.ion-checkmark-circled.padded-ionic-icon.text-center
|
||||||
|
Reference in New Issue
Block a user