From 676eb6fef6d2fc88f6efcae16f5cee959ae35c63 Mon Sep 17 00:00:00 2001 From: Chad Birch Date: Sun, 24 Feb 2013 21:53:39 -0700 Subject: [PATCH] Have save/unsave button toggle back and forth This also removes the confirmation added in 3e74406 --- r2/r2/public/static/js/reddit.js | 18 ++++++++++++------ r2/r2/templates/printablebuttons.html | 10 ++++------ 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/r2/r2/public/static/js/reddit.js b/r2/r2/public/static/js/reddit.js index 5a5866241..8d1e6b87d 100644 --- a/r2/r2/public/static/js/reddit.js +++ b/r2/r2/public/static/js/reddit.js @@ -202,12 +202,18 @@ function read_thing(elem) { $.request("read_message", {"id": $(t).thing_id()}); } -function save_thing(elem) { - $(elem).thing().addClass("saved"); -} - -function unsave_thing(elem) { - $(elem).thing().removeClass("saved"); +function toggle_save(elem) { + var form = $(elem).parents("form").first() + var next_text = form.find('[name="executed"]') + var text = next_text.val() + if ($(elem).thing().hasClass("saved")) { + change_state(elem, 'unsave', undefined, true) + } else { + change_state(elem, 'save', undefined, true) + } + $(elem).thing().toggleClass("saved") + next_text.val($(elem).text()) + $(elem).text(text) } function click_thing(elem) { diff --git a/r2/r2/templates/printablebuttons.html b/r2/r2/templates/printablebuttons.html index 68463967f..0e520e129 100644 --- a/r2/r2/templates/printablebuttons.html +++ b/r2/r2/templates/printablebuttons.html @@ -186,10 +186,9 @@ %if thing.is_loggedin:
  • %if thing.saved: - ${ynbutton(_("unsave"), _("unsaved"), "unsave", "unsave_thing")} + ${self.state_button("unsave", _("unsave"), "toggle_save(this)", _("save"))} %else: - ${self.state_button("save", _("save"), \ - "return change_state(this, 'save', save_thing);", _("saved"))} + ${self.state_button("save", _("save"), "toggle_save(this)", _("unsave"))} %endif
  • %if thing.hidden: @@ -261,12 +260,11 @@
  • %if thing.saved:
  • - ${ynbutton(_("unsave"), _("unsaved"), "unsave", "unsave_thing")} + ${self.state_button("unsave", _("unsave"), "toggle_save(this)", _("save"))}
  • %else:
  • - ${self.state_button("save", _("save"), \ - "return change_state(this, 'save', save_thing);", _("saved"))} + ${self.state_button("save", _("save"), "toggle_save(this)", _("unsave"))}
  • %endif %if c.profilepage: