summaryrefslogtreecommitdiffstats
path: root/web/js/labitrack.d/46-edit.js
diff options
context:
space:
mode:
Diffstat (limited to 'web/js/labitrack.d/46-edit.js')
-rw-r--r--web/js/labitrack.d/46-edit.js44
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');
+}());