wise-web-client
Version:
Based on Spine MVC framework
102 lines (87 loc) • 3.48 kB
JavaScript
define(['jquery', 'backbone', 'handlebars',
'./BaseView', 'text!../../../tpl/add_task_modal.hbr',
'./TaskSuggestionModalView'
],
function($, Backbone, Handlebars, BaseView, template, TaskSuggestionModalView) {
var View = BaseView.extend({
// The DOM Element associated with this view
el: '#overlay-container',
template: Handlebars.compile(template),
// View Event Handlers
events: {
'click #addTask': 'addTask',
'click button.close': 'close'
},
// Renders the view's template to the UI
render: function() {
this.$el.html(this.template());
// Maintains chainability
return this;
},
addTask: function() {
var that = this;
var taskName = $('#tName').val();
var lat = parseFloat($('#tLat').val());
var lng = parseFloat($('#tLng').val());
var size = parseFloat($('#tSize').val());
var capacity = parseFloat($('#avCap').val());
var options = {
url: this.apiUrl + '/task',
data: JSON.stringify({
"name": taskName,
"deliveryLocation": {
"lat": lat,
"lng": lng
},
"props": {
"size": size,
"isRefrigerator": false
}
}),
method: 'POST'
};
// //demo for mena 360
// var mockupTasks = {
// etas: [{
// vehicleName: "CS-0114",
// eta: "3 mins"
// }, {
// vehicleName: "HQ-3874",
// eta: "8 mins"
// }, {
// vehicleName: "AH-4844",
// eta: "9 mins"
// }, {
// vehicleName: "YK-6592",
// eta: "16 mins"
// }]
// };
// var taskSuggestionModalView = new TaskSuggestionModalView({
// model: mockupTasks
// });
// that.close();
// _.delay(function() {
// taskSuggestionModalView.render();
// $('.modal').modal('show');
// }, 2000);
this.talkToServer(options).then(
function(res) {
var taskSuggestionModalView = new TaskSuggestionModalView({
model: res.data
});
that.close();
_.delay(function() {
taskSuggestionModalView.render();
$('.modal').modal('show');
}, 2000);
}
);
},
close: function() {
$('.modal').modal('hide');
}
});
// Returns the View class
return View;
}
);