diff options
| author | jules <jules@okfoc.us> | 2014-01-21 13:51:57 -0500 |
|---|---|---|
| committer | jules <jules@okfoc.us> | 2014-01-21 13:51:57 -0500 |
| commit | 08333b714e73034ca9098692950051d5d9d78220 (patch) | |
| tree | 8774aa0b7c82fb1cad43a6cc3f50c85d3d8944e8 /js | |
| parent | 7500866755ac545294821ccf2b166ff84db685d8 (diff) | |
split off shader localstorage version
Diffstat (limited to 'js')
| -rw-r--r-- | js/api/localstorage.js | 106 | ||||
| -rw-r--r-- | js/api/set.js | 71 | ||||
| -rw-r--r-- | js/user.js | 106 |
3 files changed, 142 insertions, 141 deletions
diff --git a/js/api/localstorage.js b/js/api/localstorage.js new file mode 100644 index 0000000..0ec7cad --- /dev/null +++ b/js/api/localstorage.js @@ -0,0 +1,106 @@ + +user.shaders = new function(){} +user.shaders.init = function(){ + user.shaders.bind() +} +user.shaders.bind = function(){ + user.shaders.buttons = {} + if ('SHADERS' in window) { + user.shaders.bindButtons( window.SHADERS ) + } + user.shaders.bindButtons( user.shaders.getShaders() ) + document.getElementById("add-shader").addEventListener("click", user.shaders.save, false) + document.getElementById("remove-shader").addEventListener("click", user.shaders.remove, false) +} +user.shaders.bindButtons = function(shaders){ + for (var i = 0; i < shaders.length; i++){ + user.shaders.bindButton(shaders[i]) + } +} +user.shaders.bindButton = function(data){ +// console.log("button >> " + data.name) + var button = document.createElement("button") + button.innerHTML = data.name + button.addEventListener("click", user.shaders.load.bind(this, data), false) + document.getElementById("shaders").appendChild(button) + user.shaders.buttons[data.name] = button +} +user.shaders.load = function(data){ + var shader = data.shader + if (shader && shader.length > 0) { + user.shaders.name = data.name + $("#shader").val(shader) + // pause here? + shader_build() + $(".active").removeClass("active") + $(user.shaders.buttons[data.name]).addClass("active") + user.shaders.setLastAccessed(data.name) + } +} +user.shaders.loadLastAccessed = function(){ + var name = localStorage.getItem("im.lastShader") || "colorcycle" + if (name in user.shaders.buttons) { + $(user.shaders.buttons[name]).trigger("click") + } +} +user.shaders.setLastAccessed = function(name){ + localStorage.setItem("im.lastShader", name) +} + +user.shaders.getShaderByName = function(name){ + return { name: name, shader: user.shaders.getShaderBody(name) } +} +user.shaders.getShaderIndex = function(){ + return JSON.parse( localStorage.getItem("im.shaders") ) || [] +} +user.shaders.getShaderBody = function(name){ + return localStorage.getItem("im.shaders."+name) || null +} +user.shaders.getShaders = function(){ + var shaders = user.shaders.getShaderIndex() + return shaders.map(function(name){ return { name: name, shader: user.shaders.getShaderBody(name) } }) +} +user.shaders.setShaderIndex = function(shaders){ + localStorage.setItem("im.shaders", JSON.stringify(shaders)) +} +user.shaders.setShader = function(name, shader){ + if (! name.length || ! shader.length || !name.length || !shader.length) return + localStorage.setItem("im.shaders." + name, shader) +} +user.shaders.removeShader = function(name){ + localStorage.removeItem("im.shaders." + name) +} + +user.shaders.save = function(){ + var name = prompt("enter shader name") + var shader = $("#shader").val() + + if (! name) return; + if (shade !== shade_no_error_handling) return; + + user.shaders.setShader(name, shader) + + var shaders = user.shaders.getShaderIndex() + shaders.push(name) + user.shaders.setShaderIndex(shaders) + + user.shaders.name = name + user.shaders.bindButton({ name: name, shader: shader }) + + $(".active").removeClass("active") + $(user.shaders.buttons[name]).addClass("active") + user.shaders.setLastAccessed(name) +} + +user.shaders.remove = function(){ + var name = user.shaders.name + if (! name || ! name.length) return + + var shaders = user.shaders.getShaderIndex() + if (shaders.splice( shaders.indexOf(name), 1 )) { + user.shaders.setShaderIndex(shaders) + user.shaders.removeShader(name) + $(user.shaders.buttons[name]).remove() + user.shaders.name = "" + } +} diff --git a/js/api/set.js b/js/api/set.js index 1e7e31f..834eaa8 100644 --- a/js/api/set.js +++ b/js/api/set.js @@ -1,39 +1,40 @@ function save_shader(){ - typeof shader_id_root == 'undefined' ? shader_id_root = "" : shader_id_root - var params = { - script : $("#shader").val(), - image_url : $("#url").val(), - username : user.username, - shader_id : shader_id_root - } - console.log(params) - $.post("/cgi-bin/im/shader/save", params, function(resp){ - console.log(resp); - data = JSON.parse(resp) - if (data.ERROR ){ - alert(data.ERROR) - return false - } - if (! shader_id_root) { - shader_id_root = data.id; - } + typeof shader_id_root == 'undefined' ? shader_id_root = "" : shader_id_root + var params = { + script: $("#shader").val(), + image_url: $("#url").val(), + username: user.username, + name: $("#shader-name").val() || "", + shader_id: shader_id_root + } + console.log(params) + $.post("/cgi-bin/im/shader/save", params, function(resp){ + console.log(resp); + data = JSON.parse(resp) + if (data.ERROR ){ + alert(data.ERROR) + return false + } + if (! shader_id_root) { + shader_id_root = data.id; + } - var blob = dataUriToBlob(cc.clone().resize(200,200).canvas.toDataURL("image/png")) - var form = new FormData(); - - form.append("id", data.id); - form.append("qqfile", blob); - $.ajax({ - url: "/cgi-bin/im/shader/thumbnail_upload", - type: "POST", - data: form, - processData: false, - contentType: false, - }).done(function(resp){ - console.log(resp); - }); + var blob = dataUriToBlob(cc.clone().resize(200,200).canvas.toDataURL("image/png")) + var form = new FormData(); - }) - //maintain the shader_id_root... - return shader_id_root; + form.append("id", data.id); + form.append("qqfile", blob); + $.ajax({ + url: "/cgi-bin/im/shader/thumbnail_upload", + type: "POST", + data: form, + processData: false, + contentType: false, + }).done(function(resp){ + console.log(resp); + }); + + }) + //maintain the shader_id_root... + return shader_id_root; } @@ -37,109 +37,3 @@ user.setCookie = function(username){ document.cookie = "imname="+username+";path=/;domain=.asdf.us;max-age=1086400" localStorage.setItem("im.name", username); } - -user.shaders = new function(){} -user.shaders.init = function(){ - user.shaders.bind() -} -user.shaders.bind = function(){ - user.shaders.buttons = {} - if ('SHADERS' in window) { - user.shaders.bindButtons( window.SHADERS ) - } - user.shaders.bindButtons( user.shaders.getShaders() ) - document.getElementById("add-shader").addEventListener("click", user.shaders.save, false) - document.getElementById("remove-shader").addEventListener("click", user.shaders.remove, false) -} -user.shaders.bindButtons = function(shaders){ - for (var i = 0; i < shaders.length; i++){ - user.shaders.bindButton(shaders[i]) - } -} -user.shaders.bindButton = function(data){ -// console.log("button >> " + data.name) - var button = document.createElement("button") - button.innerHTML = data.name - button.addEventListener("click", user.shaders.load.bind(this, data), false) - document.getElementById("shaders").appendChild(button) - user.shaders.buttons[data.name] = button -} -user.shaders.load = function(data){ - var shader = data.shader - if (shader && shader.length > 0) { - user.shaders.name = data.name - $("#shader").val(shader) - // pause here? - shader_build() - $(".active").removeClass("active") - $(user.shaders.buttons[data.name]).addClass("active") - user.shaders.setLastAccessed(data.name) - } -} -user.shaders.loadLastAccessed = function(){ - var name = localStorage.getItem("im.lastShader") || "colorcycle" - if (name in user.shaders.buttons) { - $(user.shaders.buttons[name]).trigger("click") - } -} -user.shaders.setLastAccessed = function(name){ - localStorage.setItem("im.lastShader", name) -} - -user.shaders.getShaderByName = function(name){ - return { name: name, shader: user.shaders.getShaderBody(name) } -} -user.shaders.getShaderIndex = function(){ - return JSON.parse( localStorage.getItem("im.shaders") ) || [] -} -user.shaders.getShaderBody = function(name){ - return localStorage.getItem("im.shaders."+name) || null -} -user.shaders.getShaders = function(){ - var shaders = user.shaders.getShaderIndex() - return shaders.map(function(name){ return { name: name, shader: user.shaders.getShaderBody(name) } }) -} -user.shaders.setShaderIndex = function(shaders){ - localStorage.setItem("im.shaders", JSON.stringify(shaders)) -} -user.shaders.setShader = function(name, shader){ - if (! name.length || ! shader.length || !name.length || !shader.length) return - localStorage.setItem("im.shaders." + name, shader) -} -user.shaders.removeShader = function(name){ - localStorage.removeItem("im.shaders." + name) -} - -user.shaders.save = function(){ - var name = prompt("enter shader name") - var shader = $("#shader").val() - - if (! name) return; - if (shade !== shade_no_error_handling) return; - - user.shaders.setShader(name, shader) - - var shaders = user.shaders.getShaderIndex() - shaders.push(name) - user.shaders.setShaderIndex(shaders) - - user.shaders.name = name - user.shaders.bindButton({ name: name, shader: shader }) - - $(".active").removeClass("active") - $(user.shaders.buttons[name]).addClass("active") - user.shaders.setLastAccessed(name) -} - -user.shaders.remove = function(){ - var name = user.shaders.name - if (! name || ! name.length) return - - var shaders = user.shaders.getShaderIndex() - if (shaders.splice( shaders.indexOf(name), 1 )) { - user.shaders.setShaderIndex(shaders) - user.shaders.removeShader(name) - $(user.shaders.buttons[name]).remove() - user.shaders.name = "" - } -}
\ No newline at end of file |
