diff options
| author | jules <jules@okfoc.us> | 2014-01-02 00:17:24 -0500 |
|---|---|---|
| committer | jules <jules@okfoc.us> | 2014-01-02 00:17:24 -0500 |
| commit | 264dcb64b2f2db997a6504a4c29eafee70b1002c (patch) | |
| tree | 213c860a60fb81942d26993af16f5a78541514bb /js | |
| parent | b0abdb7bb0980474048110d683a81fb037854103 (diff) | |
remove shader locally
Diffstat (limited to 'js')
| -rw-r--r-- | js/user.js | 52 |
1 files changed, 46 insertions, 6 deletions
@@ -38,40 +38,80 @@ 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(){ - var shaders = JSON.parse( localStorage.getItem("im.shaders") ) || [] + var shaders = user.shaders.getShaders() + user.shaders.buttons = {} for (var i = 0; i < shaders.length; i++){ user.shaders.bindButton(shaders[i]) } document.getElementById("add-shader").addEventListener("click", user.shaders.save, false) + document.getElementById("remove-shader").addEventListener("click", user.shaders.remove, false) } user.shaders.bindButton = function(name){ + console.log("button >> " + name) var button = document.createElement("button") button.innerHTML = name button.addEventListener("click", user.shaders.load.bind(this, name), false) document.getElementById("shaders").appendChild(button) + user.shaders.buttons[name] = button } user.shaders.load = function(name){ + console.log(name) var shader = localStorage.getItem("im.shaders." + name) - console.log(name,shader) if (shader && shader.length > 0) { + user.shaders.name = name $("#shader").val(shader) shader_build() } } +user.shaders.getShader = function(name){ + return localStorage.getItem("im.shaders."+name) || null +} +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.getShaders = function(){ + return JSON.parse( localStorage.getItem("im.shaders") ) || [] +} +user.shaders.setShaders = function(shaders){ + localStorage.setItem("im.shaders", JSON.stringify(shaders)) +} user.shaders.save = function(){ var name = prompt("enter shader name") var shader = $("#shader").val() - console.log(name,shader) + if (! name) return; if (shade !== shade_no_error_handling) return; - localStorage.setItem("im.shaders." + name, shader) - var shaders = JSON.parse( localStorage.getItem("im.shaders") ) || [] + + user.shaders.setShader(name, shader) + + var shaders = user.shaders.getShaders() shaders.push(name) - localStorage.setItem("im.shaders", JSON.stringify(shaders)) + user.shaders.setShaders(shaders) + + user.shaders.name = name user.shaders.bindButton(name) } +user.shaders.remove = function(){ + var name = user.shaders.name + if (! name || ! name.length) return + + var shaders = user.shaders.getShaders() + if (shaders.splice( shaders.indexOf(name), 1 )) { + user.shaders.setShaders(shaders) + user.shaders.removeShader(name) + $(user.shaders.buttons[name]).remove() + user.shaders.name = "" + } +}
\ No newline at end of file |
