Skip to content

Commit 409f59a

Browse files
committed
add button to open selected folder in mobile devices
1 parent 9e00f18 commit 409f59a

File tree

4 files changed

+53
-39
lines changed

4 files changed

+53
-39
lines changed

public/js/script.js

Lines changed: 50 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -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

185187
function 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+
443454
function preview(items) {
444455
var carousel = $('#carouselTemplate').clone().attr('id', 'previewCarousel').removeClass('d-none');
445456
var imageTemplate = carousel.find('.carousel-item').clone().removeClass('active');

src/lang/en/lfm.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@
6868
'btn-cancel' => 'Cancel',
6969
'btn-confirm' => 'Confirm',
7070
'btn-resize' => 'Resize',
71+
'btn-open' => 'Open Folder',
7172

7273
'resize-ratio' => 'Ratio:',
7374
'resize-scaled' => 'Image scaled:',

src/lang/zh-TW/lfm.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@
6767
'btn-cancel' => '取消',
6868
'btn-confirm' => '確認',
6969
'btn-resize' => '縮放',
70+
'btn-open' => '開啟資料夾',
7071

7172
'resize-ratio' => '比例:',
7273
'resize-scaled' => '是否已縮放:',

src/views/index.blade.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@
6969
</nav>
7070

7171
<nav class="bg-light fixed-bottom border-top d-none" id="actions">
72+
<a data-action="open" data-multiple="false"><i class="fas fa-folder-open"></i>{{ trans('laravel-filemanager::lfm.btn-open') }}</a>
7273
<a data-action="preview" data-multiple="true"><i class="fas fa-images"></i>{{ trans('laravel-filemanager::lfm.menu-view') }}</a>
7374
<a data-action="use" data-multiple="true"><i class="fas fa-check"></i>{{ trans('laravel-filemanager::lfm.btn-confirm') }}</a>
7475
</nav>

0 commit comments

Comments
 (0)