File tree Expand file tree Collapse file tree 7 files changed +59
-15
lines changed Expand file tree Collapse file tree 7 files changed +59
-15
lines changed Original file line number Diff line number Diff line change 113
113
>
114
114
<i class =" bi" v-bind:class =" [hiddenFiles ? 'bi-eye-fill' : 'bi-eye-slash-fill']" />
115
115
</button >
116
+ <button
117
+ type =" button"
118
+ class =" btn btn-secondary"
119
+ v-bind:disabled =" insertDisabled"
120
+ v-bind:title =" lang.btn.insert"
121
+ v-on:click =" insertSelected"
122
+ >
123
+ <i class =" bi bi-check" ></i >
124
+ </button >
116
125
</div >
117
126
</div >
118
127
<div class =" col-auto text-right" >
@@ -247,6 +256,14 @@ export default {
247
256
hiddenFiles () {
248
257
return this .$store .state .fm .settings .hiddenFiles ;
249
258
},
259
+
260
+ /**
261
+ * Insert button state
262
+ * @returns {boolean}
263
+ */
264
+ insertDisabled () {
265
+ return this .$store .state .fm [this .activeManager ].selected .files .length <= 0 ;
266
+ },
250
267
},
251
268
methods: {
252
269
/**
@@ -305,6 +322,17 @@ export default {
305
322
this .$store .commit (' fm/settings/toggleHiddenFiles' );
306
323
},
307
324
325
+ /**
326
+ * Insert
327
+ */
328
+ insertSelected () {
329
+ window .dispatchEvent (
330
+ new CustomEvent (' fm:insert' , {
331
+ detail: { files: this .$store .getters [' fm/selectedItems' ] },
332
+ })
333
+ );
334
+ },
335
+
308
336
/**
309
337
* Show modal window
310
338
* @param modalName
Original file line number Diff line number Diff line change @@ -61,6 +61,17 @@ export default {
61
61
} ) ;
62
62
} ,
63
63
64
+ /**
65
+ * Select file
66
+ */
67
+ insertAction ( ) {
68
+ window . dispatchEvent (
69
+ new CustomEvent ( 'fm:insert' , {
70
+ detail : { files : this . $store . getters [ 'fm/selectedItems' ] } ,
71
+ } )
72
+ ) ;
73
+ } ,
74
+
64
75
/**
65
76
* Select file
66
77
*/
Original file line number Diff line number Diff line change @@ -47,6 +47,14 @@ export default {
47
47
return ! this . multiSelect && this . firstItemType === 'file' && this . canEdit ( this . selectedItems [ 0 ] . extension ) ;
48
48
} ,
49
49
50
+ /**
51
+ * Insert - menu item status - show or hide
52
+ * @returns {boolean|* }
53
+ */
54
+ insertRule ( ) {
55
+ return this . firstItemType === 'file' && this . canEdit ( this . selectedItems [ 0 ] . extension ) ;
56
+ } ,
57
+
50
58
/**
51
59
* Select - menu item status - show or hide
52
60
* @returns {boolean|null }
Original file line number Diff line number Diff line change @@ -100,20 +100,13 @@ export default {
100
100
// search in selected array
101
101
const alreadySelected = this . selected [ type ] . includes ( path ) ;
102
102
103
- // if pressed Ctrl -> multi select
104
- if ( event . ctrlKey || event . metaKey ) {
105
- if ( ! alreadySelected ) {
106
- // add new selected item
107
- this . $store . commit ( `fm/${ this . manager } /setSelected` , { type, path } ) ;
108
- } else {
109
- // remove selected item
110
- this . $store . commit ( `fm/${ this . manager } /removeSelected` , { type, path } ) ;
111
- }
112
- }
113
-
114
- // single select
115
- if ( ! event . ctrlKey && ! alreadySelected && ! event . metaKey ) {
103
+ if ( ! alreadySelected ) {
104
+ // add new selected item
105
+ this . $store . commit ( `fm/${ this . manager } /setSelected` , { type, path } ) ;
116
106
this . $store . commit ( `fm/${ this . manager } /changeSelected` , { type, path } ) ;
107
+ } else {
108
+ // remove selected item
109
+ this . $store . commit ( `fm/${ this . manager } /removeSelected` , { type, path } ) ;
117
110
}
118
111
} ,
119
112
Original file line number Diff line number Diff line change @@ -24,6 +24,7 @@ const en = {
24
24
upload : 'Upload' ,
25
25
uploadSelect : 'Select files' ,
26
26
hidden : ' Hidden files' ,
27
+ insert : 'Insert' ,
27
28
} ,
28
29
clipboard : {
29
30
actionType : 'Type' ,
@@ -49,6 +50,7 @@ const en = {
49
50
edit : 'Edit' ,
50
51
audioPlay : 'Play' ,
51
52
videoPlay : 'Play' ,
53
+ insert : 'Insert' ,
52
54
} ,
53
55
info : {
54
56
directories : 'Folders:' ,
Original file line number Diff line number Diff line change @@ -24,6 +24,7 @@ const ru = {
24
24
upload : 'Загрузить' ,
25
25
uploadSelect : 'Выбрать файлы' ,
26
26
hidden : 'Скрытые файлы' ,
27
+ insert : 'Выбрать' ,
27
28
} ,
28
29
clipboard : {
29
30
actionType : 'Тип операции' ,
@@ -49,6 +50,7 @@ const ru = {
49
50
edit : 'Редактировать' ,
50
51
audioPlay : 'Воспроизвести' ,
51
52
videoPlay : 'Воспроизвести' ,
53
+ insert : 'Выбрать' ,
52
54
} ,
53
55
info : {
54
56
directories : 'Папок:' ,
You can’t perform that action at this time.
0 commit comments