summaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
authorJules Laplace <jules@okfoc.us>2014-01-23 10:01:44 -0500
committerJules Laplace <jules@okfoc.us>2014-01-23 10:01:44 -0500
commit9c9a700e268af6e3c6d4ed140d29d56968641dc7 (patch)
tree4658f48ccefc89d8be7914517fe92ed2c6ddce2f /js
parentf07ae9bf8f1e4484bafeb711a1eb04a081a0e6e1 (diff)
collect shader gallery code
Diffstat (limited to 'js')
-rw-r--r--js/api/gallery.js84
-rw-r--r--js/api/set.js2
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
}