@@ -30,39 +30,6 @@ $.fn.fab = function (options) {
3030 } ) ;
3131} ;
3232
33- function toggleSelected ( e ) {
34- if ( ! multi_selection_enabled ) {
35- selected = [ ] ;
36- }
37-
38- var sequence = $ ( e . target ) . closest ( 'a' ) . data ( 'id' ) ;
39- var element_index = selected . indexOf ( sequence ) ;
40- if ( element_index === - 1 ) {
41- selected . push ( sequence ) ;
42- } else {
43- selected . splice ( element_index , 1 ) ;
44- }
45-
46- updateSelectedStyle ( ) ;
47- }
48-
49- function clearSelected ( ) {
50- selected = [ ] ;
51-
52- multi_selection_enabled = false ;
53-
54- updateSelectedStyle ( ) ;
55- }
56-
57- function updateSelectedStyle ( ) {
58- items . forEach ( function ( item , index ) {
59- $ ( '[data-id=' + index + ']' )
60- . find ( '.square' )
61- . toggleClass ( 'selected' , selected . indexOf ( index ) > - 1 ) ;
62- } ) ;
63- toggleActions ( ) ;
64- }
65-
6633$ ( document ) . ready ( function ( ) {
6734 $ ( '#fab' ) . fab ( {
6835 buttons : [
@@ -87,9 +54,6 @@ $(document).ready(function () {
8754 . attr ( 'data-multiple' , action . multiple )
8855 . append ( $ ( '<i>' ) . addClass ( 'fas fa-fw fa-' + action . icon ) )
8956 . append ( $ ( '<span>' ) . text ( action . label ) )
90- . click ( function ( ) {
91- window [ $ ( this ) . data ( 'action' ) ] ( action . multiple ? getSelectedItems ( ) : getOneSelectedElement ( ) ) ;
92- } )
9357 )
9458 ) ;
9559 } ) ;
@@ -105,6 +69,7 @@ $(document).ready(function () {
10569 } )
10670 ) ;
10771 } ) ;
72+
10873 loadFolders ( ) ;
10974 performLfmRequest ( 'errors' )
11075 . done ( function ( response ) {
@@ -178,9 +143,46 @@ $(document).on('click', '[data-display]', function() {
178143 loadItems ( ) ;
179144} ) ;
180145
181- // ======================
182- // == Folder actions ==
183- // ======================
146+ $ ( document ) . on ( 'click' , '[data-action]' , function ( ) {
147+ window [ $ ( this ) . data ( 'action' ) ] ( $ ( this ) . data ( 'multiple' ) ? getSelectedItems ( ) : getOneSelectedElement ( ) ) ;
148+ } ) ;
149+
150+ // ==========================
151+ // == Multiple Selection ==
152+ // ==========================
153+
154+ function toggleSelected ( e ) {
155+ if ( ! multi_selection_enabled ) {
156+ selected = [ ] ;
157+ }
158+
159+ var sequence = $ ( e . target ) . closest ( 'a' ) . data ( 'id' ) ;
160+ var element_index = selected . indexOf ( sequence ) ;
161+ if ( element_index === - 1 ) {
162+ selected . push ( sequence ) ;
163+ } else {
164+ selected . splice ( element_index , 1 ) ;
165+ }
166+
167+ updateSelectedStyle ( ) ;
168+ }
169+
170+ function clearSelected ( ) {
171+ selected = [ ] ;
172+
173+ multi_selection_enabled = false ;
174+
175+ updateSelectedStyle ( ) ;
176+ }
177+
178+ function updateSelectedStyle ( ) {
179+ items . forEach ( function ( item , index ) {
180+ $ ( '[data-id=' + index + ']' )
181+ . find ( '.square' )
182+ . toggleClass ( 'selected' , selected . indexOf ( index ) > - 1 ) ;
183+ } ) ;
184+ toggleActions ( ) ;
185+ }
184186
185187function getOneSelectedElement ( orderOfItem ) {
186188 var index = orderOfItem !== undefined ? orderOfItem : selected [ 0 ] ;
@@ -212,11 +214,16 @@ function toggleActions() {
212214 $ ( '[data-action=resize]' ) . toggleClass ( 'd-none' , ! ( one_selected && only_image ) ) ;
213215 $ ( '[data-action=crop]' ) . toggleClass ( 'd-none' , ! ( one_selected && only_image ) ) ;
214216 $ ( '[data-action=trash]' ) . toggleClass ( 'd-none' , ! many_selected ) ;
217+ $ ( '[data-action=open]' ) . toggleClass ( 'd-none' , ! one_selected || only_file ) ;
215218 $ ( '#multi_selection_toggle' ) . toggleClass ( 'd-none' , usingWysiwygEditor ( ) || ! many_selected ) ;
216219 $ ( '#actions' ) . toggleClass ( 'd-none' , selected . length === 0 ) ;
217220 $ ( '#fab' ) . toggleClass ( 'd-none' , selected . length !== 0 ) ;
218221}
219222
223+ // ======================
224+ // == Folder actions ==
225+ // ======================
226+
220227$ ( document ) . on ( 'click' , '#tree a' , function ( e ) {
221228 goTo ( $ ( e . target ) . closest ( 'a' ) . data ( 'path' ) ) ;
222229 toggleMobileTree ( false ) ;
@@ -440,6 +447,10 @@ function download(items) {
440447 } ) ;
441448}
442449
450+ function open ( item ) {
451+ goTo ( item . url ) ;
452+ }
453+
443454function preview ( items ) {
444455 var carousel = $ ( '#carouselTemplate' ) . clone ( ) . attr ( 'id' , 'previewCarousel' ) . removeClass ( 'd-none' ) ;
445456 var imageTemplate = carousel . find ( '.carousel-item' ) . clone ( ) . removeClass ( 'active' ) ;
0 commit comments