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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
(function (FMS, Backbone, _, $) {
_.extend( FMS, {
DetailsView: FMS.FMSView.extend({
template: 'details',
id: 'details-page',
prev: 'photo',
next: 'submit-start',
events: {
'pagehide': 'destroy',
'pagebeforeshow': 'beforeDisplay',
'pageshow': 'afterDisplay',
'vclick .ui-btn-left': 'onClickButtonPrev',
'vclick .ui-btn-right': 'onClickButtonNext',
'blur textarea': 'updateCurrentReport',
'change select': 'updateSelect',
'blur input': 'updateCurrentReport'
},
afterRender: function() {
this.$('#form_category').attr('data-role', 'none');
if ( this.model.get('category') ) {
this.$('#form_category').val( this.model.get('category') );
}
this.setSelectClass();
},
afterDisplay: function() {
var header = $("div[data-role='header']:visible"),
detail = this.$('#form_detail'),
top = detail.position().top,
viewHeight = $(window).height(),
contentHeight = viewHeight - header.outerHeight();
detail.height( contentHeight - top );
},
onClickButtonPrev: function() {
this.updateCurrentReport();
this.navigate( this.prev, true );
},
onClickButtonNext: function() {
this.clearValidationErrors();
var valid = 1;
if ( !$('#form_title').val() ) {
valid = 0;
this.validationError( 'form_title', FMS.validationStrings.title );
}
if ( !$('#form_detail').val() ) {
valid = 0;
this.validationError( 'form_detail', FMS.validationStrings.detail );
}
var cat = $('#form_category').val();
if ( cat == '-- Pick a category --' ) {
valid = 0;
this.validationError( 'form_category', FMS.validationStrings.category );
}
if ( valid ) {
this.clearValidationErrors();
this.updateCurrentReport();
if ( FMS.isOffline ) {
this.navigate( 'save_offline' );
} else {
this.navigate( this.next );
}
}
},
setSelectClass: function() {
var cat = this.$('#form_category');
if ( cat.val() !== "" && cat.val() !== '-- Pick a category --' ) {
cat.removeClass('noselection');
} else {
cat.addClass('noselection');
}
},
updateSelect: function() {
this.updateCurrentReport();
this.setSelectClass();
},
updateCurrentReport: function() {
if ( $('#form_category').val() && $('#form_title').val() && $('#form_detail').val() ) {
$('#next').addClass('page_complete_btn');
} else {
$('#next').removeClass('page_complete_btn');
}
this.model.set('category', $('#form_category').val());
this.model.set('title', $('#form_title').val());
this.model.set('details', $('#form_detail').val());
FMS.saveCurrentDraft();
}
})
});
})(FMS, Backbone, _, $);
|