@@ -11,32 +11,30 @@ $(function() {
1111 // comment collapse/expand
1212
1313 function toggleChange ( spinner , forced ) {
14- // find and cache the id
15- var id = spinner . data ( 'cid' ) ;
16- if ( ! id ) {
17- id = spinner . attr ( 'id' ) . match ( / \d + $ / ) [ 0 ] ;
18- spinner . data ( 'cid' , id ) ;
19- }
14+ var spinnerID = spinner . attr ( 'id' ) ;
15+ var id = spinnerID . substring ( spinnerID . indexOf ( '-' ) + 1 ) ;
16+
17+ var activitySelector = $ ( '#view-toggle-cc' ) . data ( 'shown' ) === '1' ? '.activity' : '.activity:not(.cc-only)' ;
2018
2119 // non-comment toggle
22- if ( spinner . attr ( 'id' ) . substr ( 0 , 1 ) == 'a' ) {
20+ if ( spinnerID . substr ( 0 , 1 ) == 'a' ) {
2321 var changeSet = spinner . parents ( '.change-set' ) ;
2422 if ( forced == 'hide' ) {
25- changeSet . find ( '.activity' ) . hide ( ) ;
23+ changeSet . find ( activitySelector ) . hide ( ) ;
2624 changeSet . find ( '.gravatar' ) . css ( 'width' , '16px' ) . css ( 'height' , '16px' ) ;
2725 $ ( '#ar-' + id ) . hide ( ) ;
2826 spinner . text ( '+' ) ;
2927 }
3028 else if ( forced == 'show' || forced == 'reset' ) {
31- changeSet . find ( '.activity' ) . show ( ) ;
29+ changeSet . find ( activitySelector ) . show ( ) ;
3230 changeSet . find ( '.gravatar' ) . css ( 'width' , '32px' ) . css ( 'height' , '32px' ) ;
3331 $ ( '#ar-' + id ) . show ( ) ;
3432 spinner . text ( '-' ) ;
3533 }
3634 else {
37- changeSet . find ( '.activity' ) . slideToggle ( 'fast' , function ( ) {
35+ changeSet . find ( activitySelector ) . slideToggle ( 'fast' , function ( ) {
3836 $ ( '#ar-' + id ) . toggle ( ) ;
39- if ( changeSet . find ( '.activity :visible') . length ) {
37+ if ( changeSet . find ( activitySelector + ' :visible') . length ) {
4038 changeSet . find ( '.gravatar' ) . css ( 'width' , '32px' ) . css ( 'height' , '32px' ) ;
4139 spinner . text ( '-' ) ;
4240 }
@@ -69,7 +67,7 @@ $(function() {
6967 $ ( '#ct-' + id ) . hide ( ) ;
7068 if ( BUGZILLA . user . id !== 0 )
7169 $ ( '#ctag-' + id ) . hide ( ) ;
72- $ ( '#c' + id ) . find ( '.activity' ) . hide ( ) ;
70+ $ ( '#c' + id ) . find ( activitySelector ) . hide ( ) ;
7371 $ ( '#c' + id ) . find ( '.comment-tags' ) . hide ( ) ;
7472 $ ( '#c' + id ) . find ( '.comment-tags' ) . hide ( ) ;
7573 $ ( '#c' + id ) . find ( '.gravatar' ) . css ( 'width' , '16px' ) . css ( 'height' , '16px' ) ;
@@ -84,7 +82,7 @@ $(function() {
8482 $ ( '#ct-' + id ) . show ( ) ;
8583 if ( BUGZILLA . user . id !== 0 )
8684 $ ( '#ctag-' + id ) . show ( ) ;
87- $ ( '#c' + id ) . find ( '.activity' ) . show ( ) ;
85+ $ ( '#c' + id ) . find ( activitySelector ) . show ( ) ;
8886 $ ( '#c' + id ) . find ( '.comment-tags' ) . show ( ) ;
8987 $ ( '#c' + id ) . find ( '.comment-tags' ) . show ( ) ;
9088 $ ( '#c' + id ) . find ( '.gravatar' ) . css ( 'width' , '32px' ) . css ( 'height' , '32px' ) ;
@@ -93,7 +91,7 @@ $(function() {
9391 }
9492 else {
9593 $ ( '#ct-' + id ) . slideToggle ( 'fast' , function ( ) {
96- $ ( '#c' + id ) . find ( '.activity' ) . toggle ( ) ;
94+ $ ( '#c' + id ) . find ( activitySelector ) . toggle ( ) ;
9795 $ ( '#c' + id ) . find ( '.comment-tags' ) . toggle ( ) ;
9896 if ( $ ( '#ct-' + id + ':visible' ) . length ) {
9997 spinner . text ( '-' ) ;
@@ -127,40 +125,56 @@ $(function() {
127125 toggleChange ( $ ( this ) ) ;
128126 } ) ;
129127
130- // comment and tag menus
128+ // view and tag menus
131129
132- $ ( '#comment -reset' )
130+ $ ( '#view -reset' )
133131 . click ( function ( ) {
134132 $ ( '.change-spinner:visible' ) . each ( function ( ) {
135133 toggleChange ( $ ( this ) , 'reset' ) ;
136134 } ) ;
137135 } ) ;
138136
139- $ ( '#comment -collapse-all' )
137+ $ ( '#view -collapse-all' )
140138 . click ( function ( ) {
141139 $ ( '.change-spinner:visible' ) . each ( function ( ) {
142140 toggleChange ( $ ( this ) , 'hide' ) ;
143141 } ) ;
144142 } ) ;
145143
146- $ ( '#comment -expand-all' )
144+ $ ( '#view -expand-all' )
147145 . click ( function ( ) {
148146 $ ( '.change-spinner:visible' ) . each ( function ( ) {
149147 toggleChange ( $ ( this ) , 'show' ) ;
150148 } ) ;
151149 } ) ;
152150
153- $ ( '#comments-only' )
151+ $ ( '#view- comments-only' )
154152 . click ( function ( ) {
155153 $ ( '.change-spinner:visible' ) . each ( function ( ) {
156154 toggleChange ( $ ( this ) , this . id . substr ( 0 , 3 ) === 'cs-' ? 'show' : 'hide' ) ;
157155 } ) ;
158156 } ) ;
159157
158+ $ ( '#view-toggle-cc' )
159+ . click ( function ( ) {
160+ var that = $ ( this ) ;
161+ var item = $ ( '.context-menu-item.hover' ) ;
162+ if ( that . data ( 'shown' ) === '1' ) {
163+ that . data ( 'shown' , '0' ) ;
164+ item . text ( 'Show CC Changes' ) ;
165+ $ ( '.cc-only' ) . hide ( ) ;
166+ }
167+ else {
168+ that . data ( 'shown' , '1' ) ;
169+ item . text ( 'Hide CC Changes' ) ;
170+ $ ( '.cc-only' ) . show ( ) ;
171+ }
172+ } ) ;
173+
160174 $ . contextMenu ( {
161- selector : '#comment-toggle -btn' ,
175+ selector : '#view-menu -btn' ,
162176 trigger : 'left' ,
163- items : $ . contextMenu . fromMenu ( $ ( '#comment-toggle -menu' ) )
177+ items : $ . contextMenu . fromMenu ( $ ( '#view -menu' ) )
164178 } ) ;
165179
166180 function updateTagsMenu ( ) {
0 commit comments