diff options
Diffstat (limited to 'src/js/views/reports.js')
-rw-r--r-- | src/js/views/reports.js | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/src/js/views/reports.js b/src/js/views/reports.js new file mode 100644 index 0000000..4690fb2 --- /dev/null +++ b/src/js/views/reports.js @@ -0,0 +1,61 @@ +(function (FMS, Backbone, _, $) { + _.extend( FMS, { + ReportsView: FMS.FMSView.extend({ + template: 'reports', + id: 'reports', + next: 'home', + contentSelector: '#drafts', + + events: { + 'pagehide': 'destroy', + 'pagebeforeshow': 'beforeDisplay', + 'pageshow': 'afterDisplay', + 'vclick .del_report': 'deleteReport', + 'vclick .use_report': 'useReport', + 'vclick .ui-btn-left': 'onClickButtonPrev', + 'vclick .ui-btn-right': 'onClickButtonNext' + }, + + deleteReport: function(e) { + e.preventDefault(); + var el = $(e.target); + var id = el.parents('li').attr('id'); + var del = FMS.removeDraft( id, true ); + var that = this; + del.done( function() { that.onRemoveDraft(el); } ); + del.fail( function() { that.onRemoveDraft(el); } ); + }, + + setHeight: function(content, height) { + content.css( 'min-height', content + 'px'); + }, + + useReport: function(e) { + e.preventDefault(); + var el = $(e.target); + var id = el.parents('li').attr('id'); + FMS.currentDraft = FMS.allDrafts.get(id); + this.navigate('around'); + }, + + onRemoveDraft: function(el) { + el.parents('li').remove(); + }, + + render: function(){ + if ( !this.template ) { + console.log('no template to render'); + return; + } + template = _.template( tpl.get( this.template ) ); + if ( this.model ) { + this.$el.html(template({ model: this.model.toJSON(), drafts: FMS.allDrafts })); + } else { + this.$el.html(template()); + } + this.afterRender(); + return this; + } + }) + }); +})(FMS, Backbone, _, $); |