summaryrefslogtreecommitdiff
path: root/js/api/set.js
blob: 19f3f2669b865ef540eda0458cd4ad5b78e4d8d1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
var shader_id_root = null;
function save_shader(){
	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()

	status('saving..')
	console.log(params)
	$.post("/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();

	form.append("id", id);
	form.append("qqfile", thumb);
	$.ajax({
		url: "/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)
		}
	});
}