@@ -31,38 +31,40 @@ function stripeSummaryTable() {
3131 } ) ;
3232}
3333
34- function toggleThreadStackTrace ( threadId ) {
35- var threadCell = $ ( "#" + threadId + "_stacktrace" ) ;
36- var columnHeader = $ ( '#stacktrace_column' ) ;
37- var bindNum = parseInt ( columnHeader . attr ( 'bind' ) ) ;
38- if ( threadCell . hasClass ( 'hidden' ) ) {
39- // expand thread cell
40- columnHeader . attr ( "bind" , bindNum + 1 ) ;
41- columnHeader . removeClass ( "hidden" ) ;
42- threadCell . removeClass ( 'hidden' ) ;
34+ function toggleThreadStackTrace ( threadId , forceAdd ) {
35+ var stackTrace = $ ( "#" + threadId + "_stacktrace" )
36+ if ( stackTrace . length == 0 ) {
37+ var stackTraceText = $ ( '#' + threadId + "_td_stacktrace" ) . html ( )
38+ var threadCell = $ ( "#thread_" + threadId + "_tr" )
39+ threadCell . after ( "<tr id=\"" + threadId + "_stacktrace\" class=\"accordion-body\"><td colspan=\"3\"><pre>" +
40+ stackTraceText + "</pre></td></tr>" )
4341 } else {
44- // collapse thread cell
45- columnHeader . attr ( "bind" , bindNum - 1 ) ;
46- if ( bindNum - 1 == 0 ) {
47- columnHeader . addClass ( "hidden" ) ;
42+ if ( ! forceAdd ) {
43+ stackTrace . remove ( )
4844 }
49- threadCell . addClass ( 'hidden' ) ;
5045 }
5146}
5247
5348// expandOrCollapse - true: expand, false: collapse
54- function expandOrCollapseAllThreadStackTrace ( expandOrCollapse ) {
55- var columnHeader = $ ( '#stacktrace_column' ) ;
49+ function expandOrCollapseAllThreadStackTrace ( expandOrCollapse , toggleButton ) {
5650 if ( expandOrCollapse ) {
57- columnHeader . removeClass ( 'hidden' ) ;
58- $ ( '.accordion-body' ) . removeClass ( 'hidden' ) ;
59- columnHeader . attr ( "bind" , $ ( '.accordion-body' ) . length ) ;
60- $ ( '.expandbutton' ) . toggleClass ( 'hidden' )
51+ $ ( '.accordion-heading' ) . each ( function ( ) {
52+ //get thread ID
53+ if ( ! $ ( this ) . hasClass ( "hidden" ) ) {
54+ var trId = $ ( this ) . attr ( 'id' ) . match ( / t h r e a d _ ( [ 0 - 9 ] + ) _ t r / m) [ 1 ]
55+ toggleThreadStackTrace ( trId , true )
56+ }
57+ } )
58+ if ( toggleButton ) {
59+ $ ( '.expandbutton' ) . toggleClass ( 'hidden' )
60+ }
6161 } else {
62- columnHeader . addClass ( 'hidden' ) ;
63- $ ( '.accordion-body' ) . addClass ( 'hidden' ) ;
64- columnHeader . attr ( "bind" , 0 ) ;
65- $ ( '.expandbutton' ) . toggleClass ( 'hidden' ) ;
62+ $ ( '.accordion-body' ) . each ( function ( ) {
63+ $ ( this ) . remove ( )
64+ } )
65+ if ( toggleButton ) {
66+ $ ( '.expandbutton' ) . toggleClass ( 'hidden' ) ;
67+ }
6668 }
6769}
6870
@@ -75,6 +77,8 @@ function onMouseOverAndOut(threadId) {
7577
7678function onSearchStringChange ( ) {
7779 var searchString = $ ( '#search' ) . val ( )
80+ //remove the stacktrace
81+ expandOrCollapseAllThreadStackTrace ( false , false )
7882 if ( searchString . length == 0 ) {
7983 $ ( 'tr' ) . each ( function ( ) {
8084 $ ( this ) . removeClass ( 'hidden' )
0 commit comments