2
2
$ ( 'button.toggle-ips' ) . click ( function ( ) {
3
3
var selected = $ ( this ) . attr ( 'selected' ) ;
4
4
if ( selected ) {
5
- $ ( '#interfaces_table tr.ipaddresses' ) . hide ( ) ;
5
+ $ ( '#interfaces_table tr.interface:visible + tr. ipaddresses' ) . hide ( ) ;
6
6
} else {
7
- $ ( '#interfaces_table tr.ipaddresses' ) . show ( ) ;
7
+ $ ( '#interfaces_table tr.interface:visible + tr. ipaddresses' ) . show ( ) ;
8
8
}
9
9
$ ( this ) . attr ( 'selected' , ! selected ) ;
10
10
$ ( this ) . children ( 'span' ) . toggleClass ( 'glyphicon-check glyphicon-unchecked' ) ;
@@ -14,17 +14,22 @@ $('button.toggle-ips').click(function() {
14
14
// Inteface filtering
15
15
$ ( 'input.interface-filter' ) . on ( 'input' , function ( ) {
16
16
var filter = new RegExp ( this . value ) ;
17
+ var interface ;
17
18
18
- for ( interface of $ ( this ) . closest ( 'div.panel' ) . find ( ' tbody > tr') ) {
19
+ for ( interface of $ ( '#interfaces_table > tbody > tr.interface ') ) {
19
20
// Slice off 'interface_' at the start of the ID
20
- if ( filter && filter . test ( interface . id . slice ( 10 ) ) ) {
21
+ if ( filter . test ( interface . id . slice ( 10 ) ) ) {
21
22
// Match the toggle in case the filter now matches the interface
22
23
$ ( interface ) . find ( 'input:checkbox[name=pk]' ) . prop ( 'checked' , $ ( 'input.toggle' ) . prop ( 'checked' ) ) ;
23
24
$ ( interface ) . show ( ) ;
25
+ if ( $ ( 'button.toggle-ips' ) . attr ( 'selected' ) ) {
26
+ $ ( interface ) . next ( 'tr.ipaddresses' ) . show ( ) ;
27
+ }
24
28
} else {
25
29
// Uncheck to prevent actions from including it when it doesn't match
26
30
$ ( interface ) . find ( 'input:checkbox[name=pk]' ) . prop ( 'checked' , false ) ;
27
31
$ ( interface ) . hide ( ) ;
32
+ $ ( interface ) . next ( 'tr.ipaddresses' ) . hide ( ) ;
28
33
}
29
34
}
30
35
} ) ;
0 commit comments