From d414e07f417baca799623bcfbd24db30cb8260b2 Mon Sep 17 00:00:00 2001 From: Zach Baird <30800863+ZachBaird@users.noreply.github.com> Date: Tue, 18 Apr 2023 23:49:04 -0400 Subject: [PATCH] Resolves inaccurate OR relationship between loaders and versions. (#86) * Resolves inaccurate OR relationship between loaders and versions. * Removes todo comment. --- theseus_gui/src/store/search.js | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/theseus_gui/src/store/search.js b/theseus_gui/src/store/search.js index 38bb6945d..4af8b63ae 100644 --- a/theseus_gui/src/store/search.js +++ b/theseus_gui/src/store/search.js @@ -36,28 +36,31 @@ export const useSearch = defineStore('searchStore', { formattedAndFacets = formattedAndFacets.slice(0, formattedAndFacets.length - 1) formattedAndFacets += '' - // TODO: fix me - ask jai // If orFacets are present, start building formatted orFacet filter let formattedOrFacets = '' - if (this.orFacets.length > 0 || this.activeVersions.length > 0) { + if (this.orFacets.length > 0) { formattedOrFacets += '[' - // Aggregate normal orFacets this.orFacets.forEach((orF) => (formattedOrFacets += `"${orF}",`)) - - // Add version list to orFacets - if (this.activeVersions.length > 0) - this.activeVersions.forEach((ver) => (formattedOrFacets += `"versions:${ver}",`)) - - // Add environments to orFacets if enabled - if (this.environments.client) - formattedOrFacets += '"client_side:optional","client_side:required,"' - if (this.environments.server) - formattedOrFacets += '"server_side:optional","server_side:required,"' - formattedOrFacets = formattedOrFacets.slice(0, formattedOrFacets.length - 1) - formattedOrFacets += ']' + formattedOrFacets += '],' } + // Snip normal orFacets and start version orFacets + if (this.activeVersions.length > 0) { + formattedOrFacets += '[' + this.activeVersions.forEach((ver) => (formattedOrFacets += `"versions:${ver}",`)) + formattedOrFacets = formattedOrFacets.slice(0, formattedOrFacets.length - 1) + formattedOrFacets += '],' + } + + // Add environments to orFacets if enabled + if (this.environments.client) + formattedOrFacets += '["client_side:optional","client_side:required"]]' + if (this.environments.server) + formattedOrFacets += '["server_side:optional","server_side:required"]]' + + formattedOrFacets = formattedOrFacets.slice(0, formattedOrFacets.length - 1) + // Aggregate facet query string const facets = `&facets=[${formattedAndFacets}${ formattedOrFacets.length > 0 ? `,${formattedOrFacets}` : ''