diff options
Diffstat (limited to 'js/api/set.js')
| -rw-r--r-- | js/api/set.js | 98 |
1 files changed, 63 insertions, 35 deletions
diff --git a/js/api/set.js b/js/api/set.js index 1e7e31f..3446134 100644 --- a/js/api/set.js +++ b/js/api/set.js @@ -1,39 +1,67 @@ +var shader_id_root = null; 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; - } + 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, + width: $("#width").int() || "", + height: $("#height").int() || "" + } + var thumb = make_thumbnail() - 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); - }); + status('saving..') + console.log(params) + $.post("http://asdf.us/cgi-bin/im/shader/save", params, function(resp){ + console.log(resp); + data = JSON.parse(resp) + if (data.ERROR){ + status('error saving shader') + alert(data.ERROR) + return false + } + status('uploading thumbnail') + if (! shader_id_root) { + shader_id_root = data.id; + } + + params.id = data.id; + params.thumbnail_url = "http://i.asdf.us/im/9a/chtiny3_1334529294_1334529329.gif"; + + $shader = display_shader(params) + $("#shader-gallery").prepend($shader) + + save_thumbnail(data.id, thumb, $shader) + }) +} + +function make_thumbnail(){ + return dataUriToBlob(cc.clone().resize(200,200).canvas.toDataURL("image/png")) +} + +function save_thumbnail(id, thumb, $shader){ + if (! id || id == "") return + + thumb = thumb || make_thumbnail() + + var form = new FormData(); - }) - //maintain the shader_id_root... - return shader_id_root; + form.append("id", id); + form.append("qqfile", thumb); + $.ajax({ + url: "http://asdf.us/cgi-bin/im/shader/thumbnail_upload", + type: "POST", + data: form, + processData: false, + contentType: false, + }).done(function(resp){ + console.log(resp); + status('') + var data = JSON.parse(resp) + if (data.success) { + $shader.find("img").attr("src", data.url) + } + }); } |
