Add keybinds CTRL+A and +D to select/deselect all cards.
This commit is contained in:
parent
27885df64e
commit
cfa5d269d1
1 changed files with 60 additions and 12 deletions
|
@ -77,6 +77,8 @@ function apply_check_all()
|
||||||
photo_divs.forEach(apply_check);
|
photo_divs.forEach(apply_check);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var _action_select = function(photo_div){photo_clipboard.add(photo_div.dataset.id)}
|
||||||
|
var _action_unselect = function(photo_div){photo_clipboard.delete(photo_div.dataset.id)}
|
||||||
var previous_photo_select;
|
var previous_photo_select;
|
||||||
function on_photo_select(event)
|
function on_photo_select(event)
|
||||||
{
|
{
|
||||||
|
@ -89,22 +91,14 @@ function on_photo_select(event)
|
||||||
*/
|
*/
|
||||||
if (event.target.checked)
|
if (event.target.checked)
|
||||||
{
|
{
|
||||||
action = function(photo_div)
|
action = _action_select;
|
||||||
{
|
|
||||||
photo_div.getElementsByClassName("photo_card_selector_checkbox")[0].checked = true;
|
|
||||||
photo_clipboard.add(photo_div.dataset.id);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
action = function(photo_div)
|
action = _action_unselect;
|
||||||
{
|
|
||||||
photo_div.getElementsByClassName("photo_card_selector_checkbox")[0].checked = false;
|
|
||||||
photo_clipboard.delete(photo_div.dataset.id);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (event.shiftKey && previous_photo_select !== undefined)
|
if (event.shiftKey && previous_photo_select)
|
||||||
{
|
{
|
||||||
var current_photo_div = event.target.parentElement;
|
var current_photo_div = event.target.parentElement;
|
||||||
var previous_photo_div = previous_photo_select.target.parentElement;
|
var previous_photo_div = previous_photo_select.target.parentElement;
|
||||||
|
@ -138,6 +132,58 @@ function on_photo_select(event)
|
||||||
save_photo_clipboard();
|
save_photo_clipboard();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function select_photo(photo_div)
|
||||||
|
{
|
||||||
|
photo_div.getElementsByClassName("photo_card_selector_checkbox")[0].checked = true;
|
||||||
|
_action_select(photo_div);
|
||||||
|
save_photo_clipboard();
|
||||||
|
}
|
||||||
|
|
||||||
|
function unselect_photo(photo_div)
|
||||||
|
{
|
||||||
|
photo_div.getElementsByClassName("photo_card_selector_checkbox")[0].checked = false;
|
||||||
|
_action_unselect(photo_div)
|
||||||
|
save_photo_clipboard();
|
||||||
|
}
|
||||||
|
|
||||||
|
function select_all_photos()
|
||||||
|
{
|
||||||
|
var photo_divs = Array.from(document.getElementsByClassName("photo_card"));
|
||||||
|
photo_divs.forEach(_action_select);
|
||||||
|
apply_check_all();
|
||||||
|
save_photo_clipboard();
|
||||||
|
}
|
||||||
|
|
||||||
|
function unselect_all_photos()
|
||||||
|
{
|
||||||
|
var photo_divs = Array.from(document.getElementsByClassName("photo_card"));
|
||||||
|
photo_divs.forEach(_action_unselect);
|
||||||
|
apply_check_all()
|
||||||
|
previous_photo_select = null;
|
||||||
|
save_photo_clipboard();
|
||||||
|
}
|
||||||
|
|
||||||
|
function set_keybinds()
|
||||||
|
{
|
||||||
|
window.addEventListener("keydown", function(event)
|
||||||
|
{
|
||||||
|
if (event.key == "a" && event.ctrlKey)
|
||||||
|
{
|
||||||
|
select_all_photos();
|
||||||
|
event.preventDefault();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
window.addEventListener("keydown", function(event)
|
||||||
|
{
|
||||||
|
if (event.key == "d" && event.ctrlKey)
|
||||||
|
{
|
||||||
|
unselect_all_photos();
|
||||||
|
event.preventDefault();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Tray management /////////////////////////////////////////////////////////////////////////////////
|
// Tray management /////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
@ -249,6 +295,8 @@ function update_pagestate()
|
||||||
function on_pageload()
|
function on_pageload()
|
||||||
{
|
{
|
||||||
window.addEventListener("storage", on_storage, false);
|
window.addEventListener("storage", on_storage, false);
|
||||||
on_storage();
|
set_keybinds();
|
||||||
|
load_photo_clipboard();
|
||||||
|
update_pagestate();
|
||||||
}
|
}
|
||||||
document.addEventListener("DOMContentLoaded", on_pageload);
|
document.addEventListener("DOMContentLoaded", on_pageload);
|
||||||
|
|
Loading…
Reference in a new issue