From c4338d2ae878a167c409e91dea6d1783fc7e30ba Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Wed, 18 Jul 2012 00:02:21 -0400 Subject: put away back --- static/js/src/palette-manual.js | 90 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 static/js/src/palette-manual.js (limited to 'static/js/src/palette-manual.js') diff --git a/static/js/src/palette-manual.js b/static/js/src/palette-manual.js new file mode 100644 index 0000000..61733b5 --- /dev/null +++ b/static/js/src/palette-manual.js @@ -0,0 +1,90 @@ +// manual fave palette by ohgod +$(function(){ + $('#manual-palette-button').click(manPaletteClicked); + $('#manual-add-button').click(function () { + addManualFav($('#manual-add-url-txt').val().trim()); + $('#manual-add-url-txt').val(""); + }); + $('#manual-remove-button').click(function () { + removeManualFav($('#manual-add-url-txt').val().trim()); + $('#manual-add-url-txt').val(""); + }); +}); + +function manPaletteClicked() { + if ($("#manual-palette").css("display") == "none") { + manPaletteShow(); + } else { + $("#manual-palette").css("display", "none"); + $("#manual-palette-thumbs").html(""); + } +}; + +function manPaletteShow() { + $("#manual-palette").show(); + if (! hasLocalStorage()) { + $('#manual-palette-localstorage-error').show() + } else if (manPaletteIsEmpty()) { + $('#manual-palette-thumbs-empty').show(); + } else { + manualPaletteBuildImageThumbs(); + } +}; + +function hasLocalStorage() { + try { + return 'localStorage' in window && window['localStorage'] !== null; + } catch (e) { + return false; + } +} + +function manPaletteIsEmpty() { + return localStorage.manual_favs === undefined || localStorage.manual_favs === "[]" || localStorage.manual_favs === ""; +}; + +function getManualFaves() { + return localStorage.manual_favs ? JSON.parse(localStorage.manual_favs) : []; +}; + +function setManualFaves(mfavs) { + localStorage.manual_favs = JSON.stringify(mfavs); +}; + +function manualPaletteBuildImageThumbs() { + var imgs = JSON.parse(localStorage.manual_favs); + if (imgs && imgs.length != 0) { + for (var i = 0; i < imgs.length; i++) { + $("#manual-palette-thumbs").append(""); + } + } +}; + +function addManualFav(imgsrc) { + if (!imgsrc) return; + if (hasLocalStorage()) { + if (manPaletteIsEmpty()) + $("#manual-palette-thumbs").html(""); + var mfavs = getManualFaves(); + if ($.inArray(imgsrc, mfavs) == -1) { + mfavs.push(imgsrc); + setManualFaves(mfavs); + $("#manual-palette-thumbs").append(""); + } + } +}; + +function removeManualFav(imgsrc) { + if (hasLocalStorage()) { + var mfavs = getManualFaves(); + var idx = $.inArray(imgsrc, mfavs); + if (idx != -1) { + mfavs.splice(idx, 1); + setManualFaves(mfavs); + $("#manual-palette-thumbs").html(""); + manualPaletteBuildImageThumbs(); + } + } +}; + + -- cgit v1.2.3-70-g09d2