summaryrefslogtreecommitdiff
path: root/static/js/src/palette-manual.js
diff options
context:
space:
mode:
authorJules Laplace <jules@okfoc.us>2012-07-18 00:02:21 -0400
committerJules Laplace <jules@okfoc.us>2012-07-18 00:02:21 -0400
commitc4338d2ae878a167c409e91dea6d1783fc7e30ba (patch)
tree1e54fac722ac3153f9180a5a8332f2b19e11c00c /static/js/src/palette-manual.js
parentd891a7ae1b205716c086363fba17a3249a665deb (diff)
put away back
Diffstat (limited to 'static/js/src/palette-manual.js')
-rw-r--r--static/js/src/palette-manual.js90
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();
+ }
+ }
+};
+
+