@@ -123,5 +123,58 @@ export default {
123123 // create event
124124 EventBus . $emit ( 'contextMenu' , event ) ;
125125 } ,
126+
127+ /**
128+ * Select and Action
129+ * @param path
130+ * @param extension
131+ */
132+ selectAction ( path , extension ) {
133+ // if is set fileCallback
134+ if ( this . $store . state . fm . fileCallback ) {
135+ this . $store . dispatch ( 'fm/url' , {
136+ disk : this . selectedDisk ,
137+ path,
138+ } ) ;
139+
140+ return ;
141+ }
142+
143+ // if extension not defined
144+ if ( ! extension ) {
145+ return ;
146+ }
147+
148+ // show, play..
149+ if ( this . $store . state . fm . settings . imageExtensions
150+ . includes ( extension . toLowerCase ( ) ) ) {
151+ // show image
152+ this . $store . commit ( 'fm/modal/setModalState' , {
153+ modalName : 'Preview' ,
154+ show : true ,
155+ } ) ;
156+ } else if ( Object . keys ( this . $store . state . fm . settings . textExtensions )
157+ . includes ( extension . toLowerCase ( ) ) ) {
158+ // show text file
159+ this . $store . commit ( 'fm/modal/setModalState' , {
160+ modalName : 'TextEdit' ,
161+ show : true ,
162+ } ) ;
163+ } else if ( this . $store . state . fm . settings . audioExtensions
164+ . includes ( extension . toLowerCase ( ) ) ) {
165+ // show player modal
166+ this . $store . commit ( 'fm/modal/setModalState' , {
167+ modalName : 'AudioPlayer' ,
168+ show : true ,
169+ } ) ;
170+ } else if ( this . $store . state . fm . settings . videoExtensions
171+ . includes ( extension . toLowerCase ( ) ) ) {
172+ // show player modal
173+ this . $store . commit ( 'fm/modal/setModalState' , {
174+ modalName : 'VideoPlayer' ,
175+ show : true ,
176+ } ) ;
177+ }
178+ } ,
126179 } ,
127180} ;
0 commit comments