From 09d82b4da5f53ceb65724e0bc023d2c9e5b30c3a Mon Sep 17 00:00:00 2001 From: efarooqui Date: Mon, 24 May 2021 22:00:51 -0700 Subject: [PATCH] Working with default category values from store if none are provided in config --- src/actions/index.js | 2 +- src/common/utilities.js | 11 +++++++---- src/components/Toolbar.js | 19 +++++++------------ 3 files changed, 15 insertions(+), 17 deletions(-) diff --git a/src/actions/index.js b/src/actions/index.js index 5306df4..9730c21 100644 --- a/src/actions/index.js +++ b/src/actions/index.js @@ -120,7 +120,7 @@ export function fetchDomain() { ); } dispatch(toggleFetchingDomain()); - // dispatch(setInitialCategories(result.associations)); + dispatch(setInitialCategories(result.associations)); dispatch(setInitialShapes(result.shapes)); return result; }) diff --git a/src/common/utilities.js b/src/common/utilities.js index cd7c73d..8315cb9 100644 --- a/src/common/utilities.js +++ b/src/common/utilities.js @@ -534,8 +534,8 @@ export function mapStyleByShape(shapes, activeShapes) { return styledShapes; } -export function mapCategoriesToPaths(categories) { - const categoryMap = categories.reduce((acc, cat) => { +export function mapCategoriesToPaths(categories, panelCategories) { + const mappedCats = categories.reduce((acc, cat) => { const type = cat.filter_paths[0]; if (!(type in acc)) { acc[type] = []; @@ -543,6 +543,9 @@ export function mapCategoriesToPaths(categories) { acc[type].push(cat); return acc; }, {}); + + const categoryMap = + panelCategories.length > 1 ? mappedCats : { default: categories }; return categoryMap; } @@ -550,7 +553,7 @@ export function getCategoryIdxs(panelCategories, startingIdx) { let idxCounter = startingIdx; // If there are specified categories from the config, filter out the default value; else, leave the default value const catTypes = - panelCategories.length > 1 && panelCategories.includes("default") + panelCategories.length > 1 ? panelCategories.filter((val) => val !== "default") : panelCategories; return catTypes.reduce((set, val) => { @@ -568,5 +571,5 @@ export function getFilterIdx( if (narrativesExist && !categoriesExist) return 1; else if (!narrativesExist && categoriesExist) return numCategoryPanels; else if (narrativesExist && categoriesExist) return numCategoryPanels + 1; - else return; + else return 0; } diff --git a/src/components/Toolbar.js b/src/components/Toolbar.js index c6cdc9a..ad9dc2a 100644 --- a/src/components/Toolbar.js +++ b/src/components/Toolbar.js @@ -114,8 +114,11 @@ class Toolbar extends React.Component { renderToolbarCategoriesPanel() { const { categories: panelCategories } = this.props.toolbarCopy.panels; - const catMap = mapCategoriesToPaths(this.props.categories); - console.info(catMap); + const catMap = mapCategoriesToPaths( + this.props.categories, + Object.keys(panelCategories) + ); + return (
{Object.keys(catMap).map((type) => { @@ -127,16 +130,8 @@ class Toolbar extends React.Component { activeCategories={this.props.activeCategories} onCategoryFilter={this.props.methods.onCategoryFilter} language={this.props.language} - title={ - panelCategories[type] - ? panelCategories[type].label - : panelCategories.default.label - } - description={ - panelCategories[type] - ? panelCategories[type].description - : panelCategories.default.description - } + title={panelCategories[type].label} + description={panelCategories[type].description} /> );