@@ -6,17 +6,19 @@ if (!master.list) master.list = "list";
6
6
if ( ! master . list_root ) master . list_root = master . root ;
7
7
if ( ! master . list_url ) master . list_url = master . list_root + master . list ;
8
8
9
+ // Utility functions used by the templating code
10
+
9
11
function humanTime ( seconds ) {
10
12
if ( typeof ( seconds ) != "number" ) return '?' ;
11
13
var conv = {
12
14
y : 31536000 ,
13
15
d : 86400 ,
14
16
h : 3600 ,
15
17
m : 60
16
- }
18
+ } ;
17
19
for ( var i in conv ) {
18
20
if ( seconds >= conv [ i ] ) {
19
- return ( seconds / conv [ i ] ) . toFixed ( 1 ) + i ;
21
+ return ( seconds / conv [ i ] ) . toFixed ( i == 'y' ? 1 : 0 ) + i ;
20
22
}
21
23
}
22
24
return seconds + 's' ;
@@ -37,7 +39,7 @@ function addressString(server) {
37
39
var str = '<span'
38
40
if ( shortStr . length > 25 ) {
39
41
shortStr = shortStr . substr ( 0 , 23 ) + "…" ;
40
- str += ' class="mts_tooltip" title="' + addrStr + '"'
42
+ str += ' title="' + addrStr + '"'
41
43
}
42
44
if ( server . port != 30000 )
43
45
shortStr += ':' + server . port ;
@@ -46,19 +48,18 @@ function addressString(server) {
46
48
47
49
function tooltipString ( str , maxLen ) {
48
50
str = escapeHTML ( str ) ;
49
- var shortStr = str ;
50
- var ret = '<span' ;
51
- if ( shortStr . length > maxLen ) {
52
- shortStr = shortStr . substr ( 0 , maxLen - 2 ) + "…" ;
53
- ret += ' class="mts_tooltip" title="' + str + '"' ;
51
+ var ret = str ;
52
+ if ( ret . length > maxLen ) {
53
+ ret = '<div class="mts_tooltip" style="width:' + maxLen + 'ch;"' ;
54
+ ret += ' title="' + str + '">' + str + '</div>' ;
54
55
}
55
- return ret + '>' + shortStr + '</span>' ;
56
+ return ret ;
56
57
}
57
58
58
59
function hoverList ( name , list ) {
59
60
if ( ! list || list . length == 0 ) return '' ;
60
61
var str = '<div class="mts_hover_list">'
61
- str += name + ' (' + list . length + ')<br />' ;
62
+ str += '<b>' + name + '</b> (' + list . length + ')<br />' ;
62
63
for ( var i in list ) {
63
64
str += escapeHTML ( list [ i ] ) + '<br />' ;
64
65
}
@@ -67,12 +68,18 @@ function hoverList(name, list) {
67
68
68
69
function hoverString ( name , string ) {
69
70
if ( ! string ) return '' ;
70
- return '<div class="mts_hover_list">'
71
- + name + ':<br />'
71
+ return '<div class="mts_hover_list">'
72
+ + '<b>' + name + '</b> :<br />'
72
73
+ escapeHTML ( string ) + '<br />'
73
74
+ '</div>' ;
74
75
}
75
76
77
+ function constantWidth ( str , width ) {
78
+ return '<span class="mts_cwidth" style="width:' + width + 'em;">' + str + '</span>' ;
79
+ }
80
+
81
+ // Code that fetches & displays the actual list
82
+
76
83
function draw ( json ) {
77
84
var html = window . render . servers ( json ) ;
78
85
jQuery ( master . output ) . html ( html ) ;
@@ -89,13 +96,14 @@ function loaded(){
89
96
get ( ) ;
90
97
}
91
98
99
+
92
100
// https://github.com/pyrsmk/toast
93
101
this . toast = function ( ) { var e = document , t = e . getElementsByTagName ( "head" ) [ 0 ] , n = this . setTimeout , r = "createElement" , i = "appendChild" , s = "addEventListener" , o = "onreadystatechange" , u = "styleSheet" , a = 10 , f = 0 , l = function ( ) { -- f } , c , h = function ( e , r , i , s ) { if ( ! t ) n ( function ( ) { h ( e ) } , a ) ; else if ( e . length ) { c = - 1 ; while ( i = e [ ++ c ] ) { if ( ( s = typeof i ) == "function" ) { r = function ( ) { return i ( ) , ! 0 } ; break } if ( s == "string" ) p ( i ) ; else if ( i . pop ) { p ( i [ 0 ] ) , r = i [ 1 ] ; break } } d ( r , Array . prototype . slice . call ( e , c + 1 ) ) } } , p = function ( n , s ) { ++ f , / \. c s s $ / . test ( n ) ?( s = e [ r ] ( "link" ) , s . rel = u , s . href = n , t [ i ] ( s ) , v ( s ) ) :( s = e [ r ] ( "script" ) , s . src = n , t [ i ] ( s ) , s [ o ] === null ?s [ o ] = m :s . onload = l ) } , d = function ( e , t ) { if ( ! f ) if ( ! e || e ( ) ) { h ( t ) ; return } n ( function ( ) { d ( e , t ) } , a ) } , v = function ( e ) { if ( e . sheet || e [ u ] ) { l ( ) ; return } n ( function ( ) { v ( e ) } , a ) } , m = function ( ) { / d e d | c o / . test ( this . readyState ) && l ( ) } ; h ( arguments ) } ;
94
102
95
103
toast ( master . root + 'style.css' , master . root + 'servers.js' , function ( ) {
96
104
if ( typeof ( jQuery ) != 'undefined' )
97
105
return loaded ( ) ;
98
106
else
99
- toast ( '//ajax.googleapis.com/ajax/libs/jquery/1.10.2 /jquery.min.js' , loaded ) ;
107
+ toast ( '//ajax.googleapis.com/ajax/libs/jquery/1.12.4 /jquery.min.js' , loaded ) ;
100
108
} ) ;
101
109
0 commit comments