11document . addEventListener ( "turbolinks:load" , function ( ) {
22 $ ( "input[name='stories[]']" ) . click ( ( ) => {
3- const selected = $ ( "input[name='stories[]']:checked" ) ;
4- const is_unlocked = $ ( "#stories" ) . data ( "unlocked" ) ;
5- if ( ! is_unlocked ) {
6- return ;
7- }
8-
9- if ( selected . length > 0 ) {
10- const ending = selected . length == 1 ? "y" : "ies" ;
11- $ ( "#bulk_delete" )
12- . text ( `Bulk Delete (${ selected . length } Stor${ ending } )` )
13- . attr ( "aria-disabled" , "false" )
14- . prop ( "disabled" , false ) ;
15- } else {
16- $ ( "#bulk_delete" )
17- . text ( "Bulk Delete" )
18- . attr ( "aria-disabled" , "true" )
19- . prop ( "disabled" , true ) ;
20- }
3+ updateBulkDeleteStatus ( ) ;
214 } ) ;
225
6+
237 $ ( ".import-export-header" ) . click ( function ( ) {
248 $ ( this ) . children ( ".rotate" ) . toggleClass ( "left" ) ;
259 } ) ;
2610
11+
12+ $ ( "#select_all" ) . click ( ( event ) => {
13+ let checked = event . target . checked ;
14+
15+ $ ( "input[name='stories[]']" ) . each ( ( _ , checkbox ) => {
16+ checkbox . checked = checked ;
17+ } )
18+
19+ updateBulkDeleteStatus ( ) ;
20+ } )
21+
2722 $ ( "#bulk_delete" ) . click ( ( event ) => {
2823 let stories_ids = [ ] ;
2924 $ ( "input[name='stories[]']:checked" ) . each ( ( _ , checkbox ) => {
@@ -118,3 +113,24 @@ function toggleCloneSubProjects(value) {
118113 . querySelectorAll ( "#sub-projects-to-clone input[type='checkbox']" )
119114 . forEach ( ( el ) => ( el . checked = value ) ) ;
120115}
116+
117+ function updateBulkDeleteStatus ( ) {
118+ const selected = $ ( "input[name='stories[]']:checked" ) ;
119+ const is_unlocked = $ ( "#stories" ) . data ( "unlocked" ) ;
120+ if ( ! is_unlocked ) {
121+ return ;
122+ }
123+
124+ if ( selected . length > 0 ) {
125+ const ending = selected . length == 1 ? "y" : "ies" ;
126+ $ ( "#bulk_delete" )
127+ . text ( `Bulk Delete (${ selected . length } Stor${ ending } )` )
128+ . attr ( "aria-disabled" , "false" )
129+ . prop ( "disabled" , false ) ;
130+ } else {
131+ $ ( "#bulk_delete" )
132+ . text ( "Bulk Delete" )
133+ . attr ( "aria-disabled" , "true" )
134+ . prop ( "disabled" , true ) ;
135+ }
136+ }
0 commit comments