1
1
document . addEventListener ( "turbolinks:load" , function ( ) {
2
2
$ ( "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 ( ) ;
21
4
} ) ;
22
5
6
+
23
7
$ ( ".import-export-header" ) . click ( function ( ) {
24
8
$ ( this ) . children ( ".rotate" ) . toggleClass ( "left" ) ;
25
9
} ) ;
26
10
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
+
27
22
$ ( "#bulk_delete" ) . click ( ( event ) => {
28
23
let stories_ids = [ ] ;
29
24
$ ( "input[name='stories[]']:checked" ) . each ( ( _ , checkbox ) => {
@@ -118,3 +113,24 @@ function toggleCloneSubProjects(value) {
118
113
. querySelectorAll ( "#sub-projects-to-clone input[type='checkbox']" )
119
114
. forEach ( ( el ) => ( el . checked = value ) ) ;
120
115
}
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