@@ -5,33 +5,40 @@ import ListFilterSelector from "@/components/audit/ListFilterSelector.vue";
5
5
const props = defineProps <{ isLoading: boolean }>();
6
6
const model = defineModel <number | null >({ required: true });
7
7
const emit = defineEmits <{ (e : " manualRefresh" ): Promise <void > }>();
8
- const autoRefreshOptionsText = [" Off" , " Every 5 seconds" , " Every 15 seconds" , " Every 30 seconds" ];
9
- let selectValue = " Off" ;
8
+ const autoRefreshOptionsText: [number , string ][] = [
9
+ [0 , " Off" ],
10
+ [5000 , " Every 5 seconds" ],
11
+ [15000 , " Every 15 seconds" ],
12
+ [30000 , " Every 30 seconds" ],
13
+ [60000 , " Every 1 minute" ],
14
+ [600000 , " Every 10 minute" ],
15
+ [1800000 , " Every 30 minute" ],
16
+ [3600000 , " Every 1 hour" ],
17
+ ];
10
18
11
- if ( model . value === 5000 ) {
12
- selectValue = " Every 5 seconds " ;
13
- }
14
- if ( model . value === 15000 ) {
15
- selectValue = " Every 15 seconds " ;
16
- }
17
- if ( model . value === 30000 ) {
18
- selectValue = " Every 30 seconds " ;
19
+ function extracted( ) {
20
+ const item = autoRefreshOptionsText . find (( item ) => item [ 0 ] === model . value ) ;
21
+
22
+ if ( item ) {
23
+ return item [ 1 ] ;
24
+ }
25
+
26
+ return " Off " ;
19
27
}
20
28
29
+ const selectValue = extracted ();
30
+
21
31
const selectedRefresh = ref <string >(selectValue );
22
32
23
33
watch (selectedRefresh , (newValue ) => {
24
- if (newValue === autoRefreshOptionsText [0 ]) {
25
- model .value = null ;
26
- }
27
- if (newValue === autoRefreshOptionsText [1 ]) {
28
- model .value = 5000 ;
29
- }
30
- if (newValue === autoRefreshOptionsText [2 ]) {
31
- model .value = 15000 ;
32
- }
33
- if (newValue === autoRefreshOptionsText [3 ]) {
34
- model .value = 30000 ;
34
+ const item = autoRefreshOptionsText .find ((item ) => item [1 ] === newValue );
35
+
36
+ if (item ) {
37
+ if (item [0 ] === 0 ) {
38
+ model .value = null ;
39
+ } else {
40
+ model .value = item [0 ];
41
+ }
35
42
}
36
43
});
37
44
@@ -46,7 +53,7 @@ async function refresh() {
46
53
<div class =" filter" >
47
54
<div class =" filter-label" >Auto-Refresh:</div >
48
55
<div class =" filter-component" >
49
- <ListFilterSelector :items =" autoRefreshOptionsText" v-model =" selectedRefresh" item-name =" result" :can-clear =" false" :show-clear =" false" :show-filter =" false" />
56
+ <ListFilterSelector :items =" autoRefreshOptionsText.map((i) => i[1]) " v-model =" selectedRefresh" item-name =" result" :can-clear =" false" :show-clear =" false" :show-filter =" false" />
50
57
</div >
51
58
</div >
52
59
</div >
0 commit comments