From ba1e216c99b3a6b43d65ebad92e105908e2da67f Mon Sep 17 00:00:00 2001 From: aswanson-nr Date: Mon, 20 Sep 2021 14:22:29 -0700 Subject: [PATCH] fix: update catalog ordering and search fields * quickstarts are now sorted alphanumerically by the title field * catalog search now compares against title instead of name, to align with the internal catalog. * catalog search now includes summary --- src/pages/instant-observability.js | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/pages/instant-observability.js b/src/pages/instant-observability.js index 863e0383f..1e1a20c69 100644 --- a/src/pages/instant-observability.js +++ b/src/pages/instant-observability.js @@ -51,14 +51,20 @@ const stringIncludes = (substring) => (fullstring) => * @param {String} search Search term. * @returns {(Function) => Boolean} Callback function to be used by filter. */ -const filterBySearch = (search) => ({ name, description, keywords }) => { +const filterBySearch = (search) => ({ + title, + summary, + description, + keywords, +}) => { if (!search) { return true; } const searchIncludes = stringIncludes(search); return ( - searchIncludes(name) || + searchIncludes(title) || + searchIncludes(summary) || searchIncludes(description) || keywords.some(searchIncludes) ); @@ -152,7 +158,8 @@ const QuickstartsPage = ({ data, location }) => { const quickstarts = data.allQuickstarts.nodes; - const sortedQuickstarts = sortFeaturedQuickstarts(quickstarts); + const alphaSort = quickstarts.sort((a, b) => a.title.localeCompare(b.title)); + const sortedQuickstarts = sortFeaturedQuickstarts(alphaSort); const filteredQuickstarts = sortedQuickstarts .filter(filterBySearch(search))