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