Skip to content

Commit 21b34da

Browse files
committed
feat: provide a button to cancel selection
1 parent e7473c9 commit 21b34da

File tree

5 files changed

+67
-22
lines changed

5 files changed

+67
-22
lines changed

public/css/lfm.css

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,47 @@ a {
191191
color: #333844;
192192
}
193193

194+
.action-bar {
195+
display: flex;
196+
flex-direction: column;
197+
margin-bottom: 16px;
198+
padding: 16px;
199+
}
200+
201+
@media screen and (min-width: 992px) {
202+
.action-bar {
203+
flex-direction: row;
204+
align-items: center;
205+
padding: unset;
206+
}
207+
}
208+
209+
.multiple-selection-toggle-label {
210+
display: inline-flex;
211+
align-items: center;
212+
}
213+
214+
@media screen and (min-width: 992px) {
215+
.multiple-selection-toggle-label {
216+
margin: unset;
217+
}
218+
}
219+
220+
.search-bar {
221+
display: inline-flex;
222+
align-items: center;
223+
}
224+
225+
.search-bar > * + * {
226+
margin-left: 8px;
227+
}
228+
229+
@media screen and (min-width: 992px) {
230+
.search-bar {
231+
margin-left: auto;
232+
}
233+
}
234+
194235
/* Items */
195236

196237
#pagination > ul.pagination {
@@ -333,6 +374,10 @@ time {
333374
position: fixed;
334375
}
335376

377+
.fab-wrapper.shifted-up {
378+
bottom: 80px;
379+
}
380+
336381
.fab-wrapper .fab-button {
337382
position: relative;
338383
background-color: #333844;

public/js/script.js

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -97,16 +97,10 @@ $(document).ready(function () {
9797
// == Navbar actions ==
9898
// ======================
9999

100-
$('#multi_selection_toggle').click(function () {
101-
multi_selection_enabled = !multi_selection_enabled;
100+
$('#cancel_selection').click(clearSelected);
102101

103-
$('#multi_selection_toggle i')
104-
.toggleClass('fa-times', multi_selection_enabled)
105-
.toggleClass('fa-check-double', !multi_selection_enabled);
106-
107-
if (!multi_selection_enabled) {
108-
clearSelected();
109-
}
102+
$('#multiple-selection-toggle').change(function () {
103+
multi_selection_enabled = $(this).is(':checked');
110104
});
111105

112106
$('#to-previous').click(function () {
@@ -182,9 +176,6 @@ function toggleSelected (e) {
182176

183177
function clearSelected () {
184178
selected = [];
185-
186-
multi_selection_enabled = false;
187-
188179
updateSelectedStyle();
189180
}
190181

@@ -228,9 +219,9 @@ function toggleActions() {
228219
$('[data-action=crop]').toggleClass('d-none', !(one_selected && only_image));
229220
$('[data-action=trash]').toggleClass('d-none', !many_selected);
230221
$('[data-action=open]').toggleClass('d-none', !one_selected || only_file);
231-
$('#multi_selection_toggle').toggleClass('d-none', usingWysiwygEditor() || !many_selected);
222+
$('#cancel_selection').toggleClass('d-none', selected.length === 0);
232223
$('#actions').toggleClass('d-none', selected.length === 0);
233-
$('#fab').toggleClass('d-none', selected.length !== 0);
224+
$('#fab').toggleClass('shifted-up', selected.length !== 0);
234225
}
235226

236227
// ======================
@@ -475,7 +466,7 @@ function loadItems(page) {
475466

476467
template.find('.square').append(image);
477468
template.find('.item_name').text(item.name);
478-
template.find('time').text((new Date(item.time * 1000)).toLocaleString());
469+
template.find('time').text(item.time ? (new Date(item.time * 1000)).toLocaleString() : '');
479470

480471
$('#content').append(template);
481472
});

resources/lang/en/lfm.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
'menu-crop' => 'Crop',
1919
'menu-move' => 'Move',
2020
'menu-multiple' => 'Multi-selection',
21+
'menu-cancel-selection' => 'Cancel selection',
2122

2223
'title-page' => 'File Manager',
2324
'title-panel' => 'Laravel FileManager',

resources/lang/zh-TW/lfm.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
'menu-crop' => '裁剪',
1919
'menu-move' => '搬移',
2020
'menu-multiple' => '多選',
21+
'menu-cancel-selection' => '取消選取',
2122

2223
'title-page' => '檔案管理',
2324
'title-panel' => '檔案管理',

resources/views/index.blade.php

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,9 @@
3636
<a class="navbar-brand d-block d-lg-none" id="current_folder"></a>
3737
<a id="loading" class="navbar-brand"><i class="fas fa-spinner fa-spin"></i></a>
3838
<div class="ml-auto px-2">
39-
<a class="navbar-link d-none" id="multi_selection_toggle">
40-
<i class="fa fa-check-double fa-fw"></i>
41-
<span class="d-none d-lg-inline">{{ trans('laravel-filemanager::lfm.menu-multiple') }}</span>
39+
<a class="navbar-link d-none" id="cancel_selection">
40+
<i class="fa fa-times fa-fw"></i>
41+
<span class="d-none d-lg-inline">{{ trans('laravel-filemanager::lfm.menu-cancel-selection') }}</span>
4242
</a>
4343
</div>
4444
<a class="navbar-toggler collapsed border-0 px-1 py-2 m-0" data-toggle="collapse" data-target="#nav-buttons">
@@ -86,10 +86,17 @@
8686
</ol>
8787
</nav>
8888

89-
<div style="margin-bottom: 16px;">
90-
<input type="text" name="keyword" id="keyword" placeholder="keyword">
91-
<button type="button" id="keyword-button" >Search</button>
92-
<button type="button" id="keyword-reset-button" >Reset</button>
89+
<div class="action-bar">
90+
<label class="multiple-selection-toggle-label">
91+
<input type="checkbox" id="multiple-selection-toggle" style="width: 18px; height: 18px; margin-right: 8px">
92+
{{ trans('laravel-filemanager::lfm.menu-multiple') }}
93+
</label>
94+
95+
<div class="search-bar">
96+
<input type="text" name="keyword" id="keyword" placeholder="keyword">
97+
<button type="button" id="keyword-button" >Search</button>
98+
<button type="button" id="keyword-reset-button" >Reset</button>
99+
</div>
93100
</div>
94101

95102
<div id="empty" class="d-none">

0 commit comments

Comments
 (0)