diff options
Diffstat (limited to 'web/js/labitrack.d/46-edit.js')
-rw-r--r-- | web/js/labitrack.d/46-edit.js | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/web/js/labitrack.d/46-edit.js b/web/js/labitrack.d/46-edit.js new file mode 100644 index 0000000..c7039b0 --- /dev/null +++ b/web/js/labitrack.d/46-edit.js @@ -0,0 +1,44 @@ +(function(){ + function on_submit(label, o) + { + o.save(undef, {success: function() { + label.set_data(o.toJSON()); + Backbone.history.navigate('/view/'+o.id, true); + }}); + } + + function success(o) + { + var data = o.toJSON(); + λ.setcontent('edit', { + id: o.id, + save_text: 'Save', + data: data, + tags: λ.tags + }); + + λ.labelform({ + model: o, + submit: on_submit + }); + } + + var view = λ.routableview.extend({ + render: function (id) { + var o = λ.o.get(id, { + success: function(){ + success(o); + }, + error: function(ev){ + λ.setcontent('notfound', { + action: 'Edit', + id: id, + status: ev.status + }); + } + }); + } + }); + + view.route('edit/:id', 'edit'); +}()); |