Switch loaders to OR filtering (#460)
* Switch loaders to OR filtering * Add or filters to clear button * Fix clear filters button again
This commit is contained in:
parent
06d921d855
commit
dc11340faf
@ -24,7 +24,8 @@
|
||||
selectedLicenses.length === 0 &&
|
||||
selectedEnvironments.length === 0 &&
|
||||
selectedVersions.length === 0 &&
|
||||
facets.length === 0
|
||||
facets.length === 0 &&
|
||||
orFacets.length === 0
|
||||
"
|
||||
class="iconified-button"
|
||||
@click="clearFilters"
|
||||
@ -70,11 +71,11 @@
|
||||
x.supported_project_types.includes(projectType)
|
||||
)"
|
||||
:key="loader.name"
|
||||
:active-filters="facets"
|
||||
:active-filters="orFacets"
|
||||
:display-name="loader.name"
|
||||
:facet-name="`categories:${loader.name}`"
|
||||
:icon="loader.icon"
|
||||
@toggle="toggleFacet"
|
||||
@toggle="toggleOrFacet"
|
||||
/>
|
||||
</section>
|
||||
<section aria-label="Environment filters">
|
||||
@ -286,6 +287,7 @@ export default {
|
||||
selectedEnvironments: [],
|
||||
|
||||
facets: [],
|
||||
orFacets: [],
|
||||
results: null,
|
||||
pages: [],
|
||||
currentPage: 1,
|
||||
@ -376,13 +378,15 @@ export default {
|
||||
methods: {
|
||||
async clearFilters() {
|
||||
for (const facet of [...this.facets]) await this.toggleFacet(facet, true)
|
||||
for (const facet of [...this.orFacets])
|
||||
await this.toggleOrFacet(facet, true)
|
||||
|
||||
this.selectedLicenses = []
|
||||
this.selectedVersions = []
|
||||
this.selectedEnvironments = []
|
||||
await this.onSearchChange(1)
|
||||
},
|
||||
async toggleFacet(elementName, sendRequest) {
|
||||
async toggleFacet(elementName, doNotSendRequest) {
|
||||
const index = this.facets.indexOf(elementName)
|
||||
if (index !== -1) {
|
||||
this.facets.splice(index, 1)
|
||||
@ -390,7 +394,17 @@ export default {
|
||||
this.facets.push(elementName)
|
||||
}
|
||||
|
||||
if (!sendRequest) await this.onSearchChange(1)
|
||||
if (!doNotSendRequest) await this.onSearchChange(1)
|
||||
},
|
||||
async toggleOrFacet(elementName, doNotSendRequest) {
|
||||
const index = this.orFacets.indexOf(elementName)
|
||||
if (index !== -1) {
|
||||
this.orFacets.splice(index, 1)
|
||||
} else {
|
||||
this.orFacets.push(elementName)
|
||||
}
|
||||
|
||||
if (!doNotSendRequest) await this.onSearchChange(1)
|
||||
},
|
||||
async toggleEnv(environment, sendRequest) {
|
||||
const index = this.selectedEnvironments.indexOf(environment)
|
||||
@ -431,6 +445,10 @@ export default {
|
||||
formattedFacets.push([facet])
|
||||
}
|
||||
|
||||
if (this.orFacets.length > 0) {
|
||||
formattedFacets.push(this.orFacets)
|
||||
}
|
||||
|
||||
if (this.selectedVersions.length > 0) {
|
||||
const versionFacets = []
|
||||
for (const facet of this.selectedVersions) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user