Makes date and range date filters editable via keyboard.

This commit is contained in:
Mateus Machado Luna 2019-06-26 10:21:11 -03:00
parent ac1c668875
commit 9eaf1a25bd
2 changed files with 23 additions and 0 deletions

View File

@ -9,6 +9,9 @@
size="is-small"
@focus="isTouched = true"
@input="validate_values()"
editable
:date-formatter="(date) => dateFormatter(date)"
:date-parser="(date) => dateParser(date)"
icon="calendar-today"
:day-names="[
$i18n.get('datepicker_short_sunday'),
@ -27,6 +30,9 @@
size="is-small"
@input="validate_values()"
@focus="isTouched = true"
editable
:date-formatter="(date) => dateFormatter(date)"
:date-parser="(date) => dateParser(date)"
icon="calendar-today"
:day-names="[
$i18n.get('datepicker_short_sunday'),
@ -62,6 +68,7 @@
<script>
import { tainacan as axios } from '../../../js/axios/axios';
import { wpAjax, dateInter } from "../../../admin/js/mixins";
import moment from 'moment';
export default {
mixins: [ wpAjax, dateInter ],
@ -166,6 +173,12 @@
type: 'is-danger'
})
},
dateFormatter(dateObject) {
return moment(dateObject, moment.ISO_8601).format(this.dateFormat);
},
dateParser(dateString) {
return moment(dateString, this.dateFormat).toDate();
},
selectedValues(){
if ( !this.query || !this.query.metaquery || !Array.isArray( this.query.metaquery ) )
return false;

View File

@ -65,6 +65,9 @@
:placeholder="$i18n.get('instruction_select_a_date')"
v-model="value"
@input="emit()"
editable
:date-formatter="(date) => dateFormatter(date)"
:date-parser="(date) => dateParser(date)"
size="is-small"
icon="calendar-today"
:day-names="[
@ -82,6 +85,7 @@
<script>
import { tainacan as axios } from '../../../js/axios/axios';
import { wpAjax, dateInter } from "../../../admin/js/mixins";
import moment from 'moment';
export default {
mixins: [ wpAjax, dateInter ],
@ -192,6 +196,12 @@
this.value = null;
},
dateFormatter(dateObject) {
return moment(dateObject, moment.ISO_8601).format(this.dateFormat);
},
dateParser(dateString) {
return moment(dateString, this.dateFormat).toDate();
},
// emit the operation for listeners
emit() {