@@ -21,48 +21,52 @@ function updateQueryStringParameter(uri, key, value) {
21
21
window . history . pushState ( "object or string" , "Title" , currentURL . href ) ;
22
22
}
23
23
24
- function updateFilterInputs ( ) {
25
- $ ( ".filterSearch" ) . each ( function ( ) {
26
- if ( getQueryVariable ( "filter" ) != false ) {
27
- if ( this . id == getQueryVariable ( "filter" ) + "-filter" ) {
28
- if ( $ ( this ) . css ( "display" ) == "inline-block" && $ ( this ) . css ( "visibility" ) == "visible" && getQueryVariable ( "value" ) == false ) {
29
- updateQueryStringParameter ( window . location . href , "filter" , "" ) ;
30
- updateQueryStringParameter ( window . location . href , "value" , "" ) ;
31
- updateFilterInputs ( ) ;
32
- return ;
33
- }
34
- $ ( this ) . css ( "display" , "inline-block" ) ;
35
- $ ( this ) . css ( "visibility" , "visible" ) ;
36
- } else {
37
- $ ( this ) . css ( "display" , "inline-block" ) ;
38
- $ ( this ) . css ( "visibility" , "hidden" ) ;
39
- }
24
+ function updateFilterInput ( ) {
25
+ const commonFilterInputBox = document . querySelector ( ".filterSearch" ) ;
26
+ commonFilterInputBox . style . display = "none" ;
27
+ commonFilterInputBox . style . visibility = "hidden" ;
28
+ commonFilterInputBox . value = "" ;
29
+
30
+ var filter = getQueryVariable ( "filter" ) ;
31
+ if ( filter ) {
32
+ commonFilterInputBox . style . display = "inline-block" ;
33
+ commonFilterInputBox . style . visibility = "visible" ;
34
+
35
+ if ( filter == "uid" ) {
36
+ commonFilterInputBox . placeholder = "Filter by " + filter . toUpperCase ( ) + '...' ;
40
37
} else {
41
- $ ( this ) . css ( "display" , "none" ) ;
38
+ commonFilterInputBox . placeholder = "Filter by " + filter . charAt ( 0 ) . toUpperCase ( ) + filter . slice ( 1 ) + '...' ;
42
39
}
43
40
44
41
if ( getQueryVariable ( "value" ) != false ) {
45
- $ ( this ) . val ( getQueryVariable ( "value" ) ) ;
46
- } else {
47
- $ ( this ) . val ( "" ) ;
42
+ commonFilterInputBox . value = getQueryVariable ( "value" ) ;
43
+ filterRows ( ) ;
48
44
}
49
45
50
- $ ( this ) . on ( "keyup" , function ( e ) {
51
- updateQueryStringParameter ( window . location . href , "value" , $ ( this ) . val ( ) ) ;
46
+ commonFilterInputBox . addEventListener ( "keyup" , function ( e ) {
47
+ updateQueryStringParameter ( window . location . href , "value" , e . target . value ) ;
52
48
filterRows ( ) ;
53
- } )
54
- } ) ;
49
+ } ) ;
50
+ }
55
51
}
56
52
57
- updateFilterInputs ( ) ;
53
+ updateFilterInput ( ) ;
58
54
59
55
var filters = document . querySelectorAll ( "span.filter" ) ;
60
56
filters . forEach ( function ( filter ) {
61
57
filter . addEventListener ( "click" , function ( e ) {
62
58
e . preventDefault ( ) ;
63
59
e . stopPropagation ( ) ;
64
- updateQueryStringParameter ( window . location . href , "filter" , e . target . parentElement . id ) ;
65
- updateFilterInputs ( ) ;
60
+ if ( e . target . parentElement . id != getQueryVariable ( "filter" ) ) {
61
+ updateQueryStringParameter ( window . location . href , "filter" , e . target . parentElement . id ) ;
62
+ updateQueryStringParameter ( window . location . href , "value" , "" ) ;
63
+ filterRows ( ) ;
64
+ } else {
65
+ updateQueryStringParameter ( window . location . href , "filter" , "" ) ;
66
+ updateQueryStringParameter ( window . location . href , "value" , "" ) ;
67
+ filterRows ( ) ;
68
+ }
69
+ updateFilterInput ( ) ;
66
70
} ) ;
67
71
} ) ;
68
72
0 commit comments