diff options
| author | Jules Laplace <jules@okfoc.us> | 2014-01-23 10:01:44 -0500 |
|---|---|---|
| committer | Jules Laplace <jules@okfoc.us> | 2014-01-23 10:01:44 -0500 |
| commit | 9c9a700e268af6e3c6d4ed140d29d56968641dc7 (patch) | |
| tree | 4658f48ccefc89d8be7914517fe92ed2c6ddce2f /js/api | |
| parent | f07ae9bf8f1e4484bafeb711a1eb04a081a0e6e1 (diff) | |
collect shader gallery code
Diffstat (limited to 'js/api')
| -rw-r--r-- | js/api/gallery.js | 84 | ||||
| -rw-r--r-- | js/api/set.js | 2 |
2 files changed, 85 insertions, 1 deletions
diff --git a/js/api/gallery.js b/js/api/gallery.js new file mode 100644 index 0000000..92764c6 --- /dev/null +++ b/js/api/gallery.js @@ -0,0 +1,84 @@ +var shader_gallery = {} + +shader_gallery.init = function(){ + shader_gallery.bind() +} + +shader_gallery.bind = function(){ + $("#new-shader").click(new_shader) + +// $("#shader-id") +// $("#fetch-info") + $("#fetch-all").click(function(){ + ShaderAPI.all(load_shaders) + }) + $("#fetch-latest").click(function(){ + ShaderAPI.latest(load_shaders) + }).trigger("click") +// $("#fetch-next-page") +// $("#fetch-history") + + $("#save-shader").click(save_shader) + + ShaderAPI.list_users(function(err, users){ + var $el = $("#pick-user").empty() + for (var i in users) { + var $option = $("<option>") + var username = users[i].username + $option.val(username).html(username) + $el.append( $option ) + } + }) + + $(document).on("change", "#pick-user", function(){ + var name = $(this).val() + ShaderAPI.username(name, load_shaders) + }) + $(document).on("click", ".shader", function(){ + run_shader( $(this).data("shader") ) + }) +} + +function new_shader(){ + run_shader({ + id: "", + shader_id: "", + image_url: $("#url").val(), + script: "", + name: "" + }) +} +function run_shader(shader_object){ + console.log(shader_object) + shader_id_root = shader_object.shader_id + if ($("#persist-image:checked").length) { + $("#url").val( shader_object.image_url ) + load() + } + $("#shader").val(shader_object.script) + $("#shader-id").val(shader_object.id) + $("#shader-name").val( shader_object.name || "") + shader_build() +} +function load_shaders(err, shaders){ + var $el = $("#shader-gallery").empty() + + for (var i in shaders) { + var $shader = display_shader(shaders[i]) + $el.append( $shader ) + } + if (firsttime) { + firsttime = false + run_shader(shaders[0]) + } +} +function display_shader(shader_object){ + var $shader = $("<div>").addClass("shader") + $shader.data("shader", shader_object) + var html = shader_gallery_template + for (var field in shader_object) { + html = html.replace("{" + field + "}", shader_object[field]) + } + $shader.html(html) + return $shader; +} diff --git a/js/api/set.js b/js/api/set.js index 653c74f..92cc071 100644 --- a/js/api/set.js +++ b/js/api/set.js @@ -14,7 +14,7 @@ function save_shader(){ $.post("http://asdf.us/cgi-bin/im/shader/save", params, function(resp){ console.log(resp); data = JSON.parse(resp) - if (data.ERROR ){ + if (data.ERROR){ alert(data.ERROR) return false } |
