UNPKG

wise-web-client

Version:

Based on Spine MVC framework

102 lines (87 loc) 3.48 kB
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; } );