Updates on numeric interval list filter.

This commit is contained in:
Mateus Machado Luna 2019-10-14 14:54:04 -03:00
parent f5d8d2c80a
commit 3438dab861
4 changed files with 23 additions and 11 deletions

View File

@ -135,6 +135,7 @@ return apply_filters( 'tainacan-admin-i18n', [
// Labels (used mainly on Aria Labels and Inputs)
'label' => __( 'label', 'tainacan' ),
'label_clean' => __( 'Clear', 'tainacan' ),
'label_none' => __( 'None', 'tainacan' ),
'label_clear_filters' => __( 'Clear filters', 'tainacan' ),
'label_and' => __( 'and', 'tainacan' ),
'label_selected' => __( 'Selected', 'tainacan' ),

View File

@ -1,11 +1,12 @@
<template>
<div>
<b-select
expanded
:placeholder="$i18n.get('instruction_select_a_interval')"
@input="changeInterval"
v-model="selectedInterval">
<option value="">
{{ $i18n.get('label_clean') }}
{{ $i18n.get('label_none') }}
</option>
<option
v-for="(interval, index) in filterTypeOptions.intervals"
@ -32,6 +33,11 @@
mounted() {
this.selectedValues();
},
watch: {
'query.metaquery'() {
this.selectedValues();
}
},
methods: {
changeInterval() {
if (this.selectedInterval !== '') {
@ -40,16 +46,16 @@
this.emit();
} else {
this.$emit('input', {
filter: 'range',
type: 'DECIMAL',
compare: 'BETWEEN',
metadatum_id: this.metadatumId,
collection_id: this.collectionId,
value: ''
value: [null, null]
});
this.valueEnd = null;
this.valueInit = null;
this.$emit('sendValuesToTags', { label: '', value: null });
}
},
// emit the operation for listeners
emit() {
@ -92,7 +98,9 @@
let labelValue = this.filterTypeOptions.intervals[this.selectedInterval].label + (this.filterTypeOptions.showIntervalOnTag ? ` (${this.valueInit}-${this.valueEnd})` : '');
this.$emit('sendValuesToTags', { label: labelValue, value: [ this.valueInit, this.valueEnd ] });
} else {
return false;
this.valueInit = null;
this.valueEnd = null;
this.selectedInterval = '';
}
},
}

View File

@ -39,7 +39,7 @@ export const remove_fetch_only_meta = ( { commit }, metadatum ) => {
// Tax Queries from filters
export const add_taxquery = ( { commit }, filter ) => {
if (filter && (filter.terms == undefined || filter.terms == null || filter.terms == '' || filter.terms.length == 0 )) {
if (filter && (filter.terms === undefined || filter.terms === null || filter.terms === '' || filter.terms.length === 0 )) {
commit('removeTaxQuery', filter );
} else {
commit('addTaxQuery', filter );
@ -146,6 +146,9 @@ export const setAdminViewMode = ({ commit }, adminViewMode ) => {
// Remove filter tag
export const addFilterTag = ( { commit }, filterTag ) => {
if (filterTag && (filterTag.value === undefined || filterTag.value === null || filterTag.value === '' || filterTag.value.length === 0 ))
commit('removeFilterTag', filterTag);
else
commit('addFilterTag', filterTag);
};