diff options
| author | Jules Laplace <jules@okfoc.us> | 2012-07-18 00:02:21 -0400 |
|---|---|---|
| committer | Jules Laplace <jules@okfoc.us> | 2012-07-18 00:02:21 -0400 |
| commit | c4338d2ae878a167c409e91dea6d1783fc7e30ba (patch) | |
| tree | 1e54fac722ac3153f9180a5a8332f2b19e11c00c /static/js/src/palette-manual.js | |
| parent | d891a7ae1b205716c086363fba17a3249a665deb (diff) | |
put away back
Diffstat (limited to 'static/js/src/palette-manual.js')
| -rw-r--r-- | static/js/src/palette-manual.js | 90 |
1 files changed, 90 insertions, 0 deletions
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("<img onclick='paletteToChat(this)' src='" + imgs[i] + "'>"); + } + } +}; + +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("<img onclick='paletteToChat(this)' src='" + imgsrc + "'>"); + } + } +}; + +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(); + } + } +}; + + |
