blob: 04031cf6be3fb42096eac257e05ba88d0a832937 (
plain) (
blame)
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
|
(function(){
λ.labelform = function(opts){
var model = opts.model;
var canvas = $('#label')[0];
var label = new λ.label();
label.set_data(model.toJSON());
label.set_canvas(canvas);
var rendertime = $('#rendertime');
function updateimg(data, ms) {
rendertime.text(ms);
}
var f = $('#labelform');
function update_data(){
var t = this;
setTimeout(function(){
var v = t.value;
var foo = {};
foo[t.name] = model.get(t.name);
switch (t.type) {
case 'text':
case 'textarea':
v = v.trim();
if (v.length === 0) {
v = $(t).attr('placeholder');
}
foo[t.name] = v.trim();
break;
case 'checkbox':
var i = $.inArray(v, foo[t.name]);
if (t.checked) {
if (i === -1) {
foo[t.name].push(t.value);
}
} else if (i !== -1) {
foo[t.name].splice(i, 1);
}
break;
}
model.set(foo);
label.set_data(model.toJSON());
label.render(updateimg);
}, 0);
};
f.find(':input').each(function (i,e){
$(e).bind('keypress', update_data);
$(e).bind('click', update_data);
$(e).bind('change', update_data);
update_data.apply(this);
});
label.render(updateimg);
f.bind('submit', function(){
opts.submit(label, model);
return false;
});
};
}());
|