Add /clipboard UI for mass refresh metadata.
This commit is contained in:
parent
5add26d8fb
commit
2fceeedbbb
1 changed files with 54 additions and 6 deletions
|
@ -41,10 +41,11 @@ body
|
||||||
grid-area: right;
|
grid-area: right;
|
||||||
|
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-rows: 1fr 1fr 1fr;
|
grid-template-rows: 1fr 1fr 1fr 1fr;
|
||||||
grid-template-areas:
|
grid-template-areas:
|
||||||
"add_tag_area"
|
"add_tag_area"
|
||||||
"remove_tag_area"
|
"remove_tag_area"
|
||||||
|
"refresh_metadata_area"
|
||||||
"message_area";
|
"message_area";
|
||||||
|
|
||||||
background-color: rgba(0, 0, 0, 0.1);
|
background-color: rgba(0, 0, 0, 0.1);
|
||||||
|
@ -59,10 +60,16 @@ body
|
||||||
grid-area: remove_tag_area;
|
grid-area: remove_tag_area;
|
||||||
margin: auto;
|
margin: auto;
|
||||||
}
|
}
|
||||||
|
#refresh_metadata_area
|
||||||
|
{
|
||||||
|
grid-area: refresh_metadata_area;
|
||||||
|
margin: auto;
|
||||||
|
}
|
||||||
#message_area
|
#message_area
|
||||||
{
|
{
|
||||||
grid-area: message_area;
|
grid-area: message_area;
|
||||||
margin: 8px;
|
margin: 8px;
|
||||||
|
max-height: 300px;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
|
@ -78,11 +85,14 @@ body
|
||||||
<div id="right">
|
<div id="right">
|
||||||
<div id="add_tag_area">
|
<div id="add_tag_area">
|
||||||
<input type="text" id="add_tag_textbox">
|
<input type="text" id="add_tag_textbox">
|
||||||
<button class="add_tag_button green_button" id="add_tag_button" onclick="submit_add_tag(add_remove_callback);">add</button>
|
<button class="add_tag_button green_button" id="add_tag_button" onclick="submit_add_tag(add_remove_callback);">Add tag</button>
|
||||||
</div>
|
</div>
|
||||||
<div id="remove_tag_area">
|
<div id="remove_tag_area">
|
||||||
<input type="text" id="remove_tag_textbox">
|
<input type="text" id="remove_tag_textbox">
|
||||||
<button class="red_button" id="remove_tag_button" onclick="submit_remove_tag(add_remove_callback);">Remove</button>
|
<button class="red_button" id="remove_tag_button" onclick="submit_remove_tag(add_remove_callback);">Remove tag</button>
|
||||||
|
</div>
|
||||||
|
<div id="refresh_metadata_area">
|
||||||
|
<button class="green_button" id="refresh_metadata_button" onclick="submit_refresh_metadata(refresh_metadata_callback);">Refresh metadata</button>
|
||||||
</div>
|
</div>
|
||||||
<div id="message_area">
|
<div id="message_area">
|
||||||
</div>
|
</div>
|
||||||
|
@ -97,10 +107,13 @@ var holder = document.getElementById("photo_card_holder");
|
||||||
|
|
||||||
var add_box = document.getElementById("add_tag_textbox");
|
var add_box = document.getElementById("add_tag_textbox");
|
||||||
var add_button = document.getElementById("add_tag_button");
|
var add_button = document.getElementById("add_tag_button");
|
||||||
add_box.onkeydown = function(){entry_with_history_hook(add_box, add_button)};
|
add_box.addEventListener("keyup", entry_with_history_hook);
|
||||||
|
bind_box_to_button(add_box, add_button);
|
||||||
|
|
||||||
var remove_box = document.getElementById("remove_tag_textbox");
|
var remove_box = document.getElementById("remove_tag_textbox");
|
||||||
var remove_button = document.getElementById("remove_tag_button");
|
var remove_button = document.getElementById("remove_tag_button");
|
||||||
remove_box.onkeydown = function(){entry_with_history_hook(remove_box, remove_button)};
|
remove_box.addEventListener("keyup", entry_with_history_hook);
|
||||||
|
bind_box_to_button(remove_box, remove_button);
|
||||||
|
|
||||||
function recalculate_needed()
|
function recalculate_needed()
|
||||||
{
|
{
|
||||||
|
@ -195,9 +208,11 @@ function submit_remove_tag(callback)
|
||||||
}
|
}
|
||||||
function submit_add_remove_tag(action, tagname, callback)
|
function submit_add_remove_tag(action, tagname, callback)
|
||||||
{
|
{
|
||||||
|
if (photo_clipboard.size == 0)
|
||||||
|
{return;}
|
||||||
var url = "/batch/photos/" + action + "_tag";
|
var url = "/batch/photos/" + action + "_tag";
|
||||||
var data = new FormData();
|
|
||||||
var photo_ids = Array.from(photo_clipboard).join(",");
|
var photo_ids = Array.from(photo_clipboard).join(",");
|
||||||
|
var data = new FormData();
|
||||||
data.append("photo_ids", photo_ids);
|
data.append("photo_ids", photo_ids);
|
||||||
data.append("tagname", tagname);
|
data.append("tagname", tagname);
|
||||||
post(url, data, callback);
|
post(url, data, callback);
|
||||||
|
@ -206,6 +221,7 @@ function add_remove_callback(response)
|
||||||
{
|
{
|
||||||
response = response["data"];
|
response = response["data"];
|
||||||
var tagname = response["tagname"];
|
var tagname = response["tagname"];
|
||||||
|
var message_area = document.getElementById("message_area");
|
||||||
var message_positivity;
|
var message_positivity;
|
||||||
var message_text;
|
var message_text;
|
||||||
|
|
||||||
|
@ -226,5 +242,37 @@ function add_remove_callback(response)
|
||||||
}
|
}
|
||||||
create_message_bubble(message_area, message_positivity, message_text, 8000);
|
create_message_bubble(message_area, message_positivity, message_text, 8000);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var refresh_in_progress = false;
|
||||||
|
function submit_refresh_metadata(callback)
|
||||||
|
{
|
||||||
|
if (refresh_in_progress)
|
||||||
|
{return;}
|
||||||
|
|
||||||
|
if (photo_clipboard.size == 0)
|
||||||
|
{return;}
|
||||||
|
|
||||||
|
var url = "/batch/photos/refresh_metadata";
|
||||||
|
var photo_ids = Array.from(photo_clipboard).join(",");
|
||||||
|
var data = new FormData();
|
||||||
|
data.append("photo_ids", photo_ids);
|
||||||
|
refresh_in_progress = true;
|
||||||
|
post(url, data, callback);
|
||||||
|
}
|
||||||
|
function refresh_metadata_callback(response)
|
||||||
|
{
|
||||||
|
refresh_in_progress = false;
|
||||||
|
if ("error_type" in response)
|
||||||
|
{
|
||||||
|
var message_area = document.getElementById("message_area");
|
||||||
|
var message_positivity = "message_negative";
|
||||||
|
var message_text = response["error_message"];
|
||||||
|
create_message_bubble(message_area, message_positivity, message_text, 8000);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
location.reload();
|
||||||
|
}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
</html>
|
</html>
|
||||||
|
|
Loading…
Reference in a new issue