From a1919a77259428c9ffcbef795ac0e00601a10890 Mon Sep 17 00:00:00 2001 From: Ethan Dalool Date: Fri, 9 Mar 2018 17:38:40 -0800 Subject: [PATCH] Support giving title when creating albums. Two-step prompt. --- frontends/etiquette_flask/static/js/albums.js | 71 +++++++++++++++++++ frontends/etiquette_flask/static/js/common.js | 22 ------ .../etiquette_flask/templates/album.html | 23 +++--- .../etiquette_flask/templates/albums.html | 9 ++- 4 files changed, 93 insertions(+), 32 deletions(-) create mode 100644 frontends/etiquette_flask/static/js/albums.js diff --git a/frontends/etiquette_flask/static/js/albums.js b/frontends/etiquette_flask/static/js/albums.js new file mode 100644 index 0000000..d951fcb --- /dev/null +++ b/frontends/etiquette_flask/static/js/albums.js @@ -0,0 +1,71 @@ +var create_child_prompt_button; +var create_child_title_entry; +var create_child_submit_button; +var create_child_cancel_button; + +console.log(create_child_title_entry); +function on_pageload() +{ + create_child_prompt_button = document.getElementById("create_child_prompt_button"); + create_child_title_entry = document.getElementById("create_child_title_entry"); + create_child_submit_button = document.getElementById("create_child_submit_button"); + create_child_cancel_button = document.getElementById("create_child_cancel_button"); + bind_box_to_button(create_child_title_entry, create_child_submit_button); +} +document.addEventListener("DOMContentLoaded", on_pageload); + + +function open_creator_prompt(event) +{ + create_child_prompt_button.classList.add("hidden"); + create_child_title_entry.classList.remove("hidden"); + create_child_title_entry.focus(); + create_child_submit_button.classList.remove("hidden"); + create_child_cancel_button.classList.remove("hidden"); +} + +function cancel_create_child(event) +{ + create_child_prompt_button.classList.remove("hidden"); + create_child_title_entry.value = ""; + create_child_title_entry.classList.add("hidden"); + create_child_submit_button.classList.add("hidden"); + create_child_cancel_button.classList.add("hidden"); +} + +function create_album_and_follow(title, parent) +{ + var url = "/albums/create_album"; + var data = new FormData(); + if (title !== undefined) + { + data.append("title", title); + } + if (parent !== undefined) + { + data.append("parent", parent); + } + function receive_callback(response) + { + if (response["meta"]["status"] == 200 && response["data"]["id"]) + { + window.location.href = "/album/" + response["data"]["id"]; + } + else + { + console.log(response); + } + } + post(url, data, receive_callback); +} + +function submit_create_child(event) +{ + var title = document.getElementById("create_child_title_entry").value; + if (! title) + { + title = undefined; + } + var parent_id = ALBUM_ID; + create_album_and_follow(title, parent_id); +} diff --git a/frontends/etiquette_flask/static/js/common.js b/frontends/etiquette_flask/static/js/common.js index db2ffc7..50b394a 100644 --- a/frontends/etiquette_flask/static/js/common.js +++ b/frontends/etiquette_flask/static/js/common.js @@ -48,28 +48,6 @@ function post(url, data, callback) request.send(data); } -function create_album_and_follow(parent) -{ - var url = "/albums/create_album"; - var data = new FormData(); - if (parent !== undefined) - { - data.append("parent", parent); - } - function receive_callback(response) - { - if (response["meta"]["status"] == 200 && response["data"]["id"]) - { - window.location.href = "/album/" + response["data"]["id"]; - } - else - { - console.log(response); - } - } - post(url, data, receive_callback); -} - function delete_all_children(element) { while (element.firstChild) diff --git a/frontends/etiquette_flask/templates/album.html b/frontends/etiquette_flask/templates/album.html index 2768de0..74150e0 100644 --- a/frontends/etiquette_flask/templates/album.html +++ b/frontends/etiquette_flask/templates/album.html @@ -11,6 +11,7 @@ + @@ -81,7 +82,12 @@ p {% for sub_album in sub_albums|sort(attribute='title') %}
  • {{sub_album.display_name}}
  • {% endfor %} -
  • +
  • + + + + +
  • @@ -125,12 +131,12 @@ p +