11<template >
22
3- <div class =" range-input-filter" >
3+ <div class =" range-input-filter pt-2 pb-3 " >
44
5- <h3 class =" text-sm uppercase tracking-wide text-80 bg-30 p-3 " >
6- {{ filter.name }}
7- </h3 >
5+ <h3 class =" px-3 text-xs uppercase font-bold tracking-wide " >
6+ {{ filter.name }}
7+ </h3 >
88
9- <div class =" flex p-2 flex-no-wrap items-center" >
9+ <div class =" flex p-2 flex-no-wrap items-center" >
1010
11- <input class =" flex items-center form-control form-input text- sm border-60 "
12- :class =" { 'w-full': filter.options.fullWidth }"
13- name =" from"
14- :type =" filter.options.inputType"
15- :placeholder =" filter.options.fromPlaceholder"
16- v-model =" value.from"
17- @change =" handleChange" />
11+ <input class =" w-full block form-control form-select form-control- sm form-select-bordered "
12+ :class =" { 'w-full': filter.options.fullWidth }"
13+ name =" from"
14+ :type =" filter.options.inputType"
15+ :placeholder =" filter.options.fromPlaceholder"
16+ v-model =" value.from"
17+ @change =" handleChange" />
1818
19- <div class =" text-sm mx-2 text-center" >{{ filter.options.dividerLabel }}</div >
19+ <div class =" text-sm mx-2 text-center" >{{ filter.options.dividerLabel }}</div >
2020
21- <input class =" flex items-center form-control form-input text-sm border-60"
22- :class =" { 'w-full': filter.options.fullWidth }"
23- name =" to"
24- :type =" filter.options.inputType"
25- :placeholder =" filter.options.toPlaceholder"
26- v-model =" value.to"
27- @change =" handleChange" />
28-
29- </div >
21+ <input class =" w-full block form-control form-select form-control-sm form-select-bordered"
22+ :class =" { 'w-full': filter.options.fullWidth }"
23+ name =" to"
24+ :type =" filter.options.inputType"
25+ :placeholder =" filter.options.toPlaceholder"
26+ v-model =" value.to"
27+ @change =" handleChange" />
3028
3129 </div >
3230
31+ </div >
32+
3333</template >
3434
3535<script >
36+ export default {
37+ name: ' RangeInputFilter' ,
38+ props: {
39+ resourceName: {
40+ type: String ,
41+ required: true
42+ },
43+ filterKey: {
44+ type: String ,
45+ required: true
46+ }
47+ },
48+ methods: {
49+ handleChange (event ) {
50+
51+ this .$store .commit (` ${ this .resourceName } /updateFilterState` , {
52+ filterClass: this .filterKey ,
53+ value: {
54+ ... this .value ,
55+ [ event .target .name ]: event .target .value
56+ }
57+ })
3658
37- export default {
38- name: ' RangeInputFilter' ,
39- props: {
40- resourceName: {
41- type: String ,
42- required: true
43- },
44- filterKey: {
45- type: String ,
46- required: true
47- }
48- },
49- methods: {
50- handleChange (event ) {
51-
52- /**
53- * Dont refresh the page if user is still typing the values
54- */
55- if (Number .isNaN (parseInt (this .value .from )) !==
56- Number .isNaN (parseInt (this .value .to ))) {
57-
58- return
59-
60- }
61-
62- this .$store .commit (` ${ this .resourceName } /updateFilterState` , {
63- filterClass: this .filterKey ,
64- value: {
65- ... this .value ,
66- [ event .target .name ]: event .target .value
67- }
68- })
69-
70- this .$emit (' change' )
59+ this .$emit (' change' )
7160
72- }
73- },
74- computed: {
75- filter () {
76- return this .$store .getters [ ` ${ this .resourceName } /getFilter` ](this .filterKey )
77- },
78- value () {
79- return { ... this .filter .currentValue } || { from: ' ' , to: ' ' }
80- }
81- }
8261 }
62+ },
63+ computed: {
64+ filter () {
65+ return this .$store .getters [ ` ${ this .resourceName } /getFilter` ](this .filterKey )
66+ },
67+ value () {
68+ return { ... this .filter .currentValue } || { from: ' ' , to: ' ' }
69+ }
70+ }
71+ }
8372
84- </script >
73+ </script >
0 commit comments