From 6abb1ffe8865407692fc9ca497893c2016c1857a Mon Sep 17 00:00:00 2001 From: Isaac Bythewood Date: Sun, 3 Mar 2013 14:30:06 +0000 Subject: [PATCH] Allow pin deleting from interface --- pinry/static/js/helpers.js | 8 ++++++++ pinry/static/js/pin-form.js | 3 ++- pinry/static/js/pinry.js | 13 +++++++++++++ pinry/templates/includes/pins.html | 5 ++++- 4 files changed, 27 insertions(+), 2 deletions(-) diff --git a/pinry/static/js/helpers.js b/pinry/static/js/helpers.js index 9c7be05..e82f1a0 100644 --- a/pinry/static/js/helpers.js +++ b/pinry/static/js/helpers.js @@ -37,6 +37,14 @@ function getPinData(pinId) { return $.get(apiUrl); } + +function deletePinData(pinId) { + var apiUrl = '/api/v1/pin/'+pinId+'/?format=json'; + return $.ajax(apiUrl, { + type: 'DELETE' + }); +} + function postPinData(data) { return $.ajax({ type: "post", diff --git a/pinry/static/js/pin-form.js b/pinry/static/js/pin-form.js index d0c589b..accfd51 100644 --- a/pinry/static/js/pin-form.js +++ b/pinry/static/js/pin-form.js @@ -3,7 +3,7 @@ * Descrip: This is for creation new pins on everything, the bookmarklet, on the * site and even editing pins in some limited situations. * Authors: Pinry Contributors - * Updated: Feb 27th, 2013 + * Updated: March 3rd, 2013 * Require: jQuery, Pinry JavaScript Helpers */ @@ -110,6 +110,7 @@ $(window).load(function() { var promise = postPinData(data); promise.success(function(pin) { if (pinFromUrl) return window.close(); + pin.editable = true; pin = renderTemplate('#pins-template', {pins: [pin]}); $('#pins').prepend(pin); dismissModal(modal); diff --git a/pinry/static/js/pinry.js b/pinry/static/js/pinry.js index 5e6beee..47e3988 100644 --- a/pinry/static/js/pinry.js +++ b/pinry/static/js/pinry.js @@ -44,6 +44,19 @@ $(window).load(function() { colHeights[sCol] += block.height()+(blockMargin); } + // Delete pin if trash icon clicked + $('.icon-trash').each(function() { + var thisPin = $(this); + $(this).click(function() { + $(this).off('click'); + var promise = deletePinData($(this).data('id')); + promise.success(function() { + thisPin.parent().parent().parent().remove(); + tileLayout(); + }); + }); + }); + $('.spinner').css('display', 'none'); blockContainer.css('height', colHeights.sort().slice(-1)[0]); } diff --git a/pinry/templates/includes/pins.html b/pinry/templates/includes/pins.html index e64e251..5907448 100644 --- a/pinry/templates/includes/pins.html +++ b/pinry/templates/includes/pins.html @@ -5,7 +5,10 @@ {{#if editable}}
- + +
+
+
{{/if}}