render: function(options) { var self = this; if (!Shared.isSmartPhoneResolution()) this.$el = $('#contentDetail'); var loadingView = new LoadingView({ el: this.$el }); loadingView.render(); var callbackSuccess = function(data) { Shared.router.navigate('/Calendar/' + self.year + '/' + self.month + '/' + self.day + '/OK', { trigger: true }); } var callbackFail = function(error) { Shared.router.navigate('/Calendar/Events/' + self.eventID + '/Error', { trigger: true }); } this.deleteEvent(callbackSuccess, callbackFail); },
var callbackFail = function(error) { Shared.showMessage({ type: "error", icon: 'icon-agenda', title: 'Não foi possível listar os eventos do dia. Por favor, tente novamente', description: '', timeout: 5000, elementID: Shared.isSmartPhoneResolution() ? '#message' : '#messageDetail', }); }
render: function() { var self = this; var contentTitle; var container; if (!Shared.isSmartPhoneResolution()) { this.$el.html(_.template(detailContentTemplate)); $('#contentDetail').empty().append(this.$el); contentTitle = $('#contentDetailTitle'); container = $('#scrollerDetail'); } else { this.$el.html(_.template(primaryContentTemplate)); $('#content').empty().append(this.$el); contentTitle = $('#contentTitle'); container = $('#scroller'); } var loadingView = new LoadingView({ el: container }); loadingView.render(); var dateStart = this.day + '/' + this.month + '/' + this.year; var dateEnd = this.day + '/' + this.month + '/' + this.year; var callbackSuccess = function(data) { var hourlyBusy = []; var events = new EventsListCollection(); var date = new Date(self.year, self.month - 1, self.day); var allDayRowSpan = 48; for (var i in data.events) { var rowSpan = 0; var start = (data.events[i].get('eventStartDate')).split(' '); var dateStart = start[0].split('/'); var timeStart = start[1].split(':') var dateTimeStart = new Date(dateStart[2], (dateStart[1] - 1), dateStart[0], timeStart[0], timeStart[1]); var dateStartAux = new Date(dateStart[2], (dateStart[1] - 1), dateStart[0], timeStart[0], timeStart[1]); dateStart = new Date(dateStart[2], (dateStart[1] - 1), dateStart[0]); var end = (data.events[i].get('eventEndDate')).split(' '); var dateEnd = end[0].split('/'); var timeEnd = end[1].split(':') var dateTimeEnd = new Date(dateEnd[2], (dateEnd[1] - 1), dateEnd[0], timeEnd[0], timeEnd[1]); dateEnd = new Date(dateEnd[2], (dateEnd[1] - 1), dateEnd[0]); if (dateStart.getTime() == date.getTime() || dateEnd.getTime() == date.getTime()) { if (data.events[i].get('eventAllDay') == '1') rowSpan = allDayRowSpan; else { while (dateTimeStart.getTime() <= dateTimeEnd.getTime()) { rowSpan = rowSpan + 1; dateTimeStart.setMinutes(dateTimeStart.getMinutes() + 30); } } events.add(data.events[i]); var dateStar = dateTimeStart; var eventSummary = new Object(); eventSummary.dateStart = dateStartAux; eventSummary.dateEnd = dateTimeEnd; eventSummary.rowSpan = rowSpan; eventSummary.index = events.length - 1; hourlyBusy.push(eventSummary); } } var newData = { events: events.models, year: self.year, month: self.month, day: self.day, hourlyBusy: hourlyBusy, _: _ }; contentTitle.text($.datepicker.formatDate('DD, dd/mm/yy', new Date(self.year, self.month - 1, self.day))); var htmlTemplate = _.template(calendarFullDayListTemplate); var htmlWithData = htmlTemplate(newData); container.empty().append(htmlWithData); self.loaded(); } var callbackFail = function(error) { Shared.showMessage({ type: "error", icon: 'icon-agenda', title: 'Não foi possível listar os eventos do dia. Por favor, tente novamente', description: '', timeout: 5000, elementID: Shared.isSmartPhoneResolution() ? '#message' : '#messageDetail', }); } this.listEvents(dateStart, dateEnd, callbackSuccess, callbackFail); },
SendSupportFeedback: function() { var sugestao = $("#sugestao").val(); if (sugestao == "") { Shared.showMessage({ type: "error", icon: 'icon-settings', title: "Por favor, escreva sua sugestão!", description: "", elementID: "#pageMessage", }); } else { var headerString = "Mensagem enviada pelo Expresso Mobile: "; var deviceString = ""; var resolutionString = ""; if (Shared.isPhonegap()) { deviceString = deviceString + "Phonegap,"; } if (Shared.isAndroid()) { deviceString = deviceString + "Android"; } if (Shared.isIDevice()) { deviceString = deviceString + "iOS"; } if (Shared.isDesktop()) { resolutionString = resolutionString + "Desktop,"; } if (Shared.isTabletResolution()) { resolutionString = resolutionString + "Tablet"; } else { if (Shared.isSmartPhoneResolution()) { resolutionString = resolutionString + "SmartPhone"; } } headerString = headerString + resolutionString + " - " + deviceString + "<br><br>"; sugestao = headerString + sugestao; Shared.api .resource('Mail/SendSupportFeedback') .params({ message: sugestao }) .done(function(result) { Shared.showMessage({ type: "success", icon: 'icon-settings', title: "Sua Sugestão foi enviada com sucesso!", description: "", elementID: "#pageMessage", }); Shared.router.navigate("/Settings", { trigger: true }); }) .fail(function(error) { Shared.handleErrors(error); return false; }) .execute(); } }
render: function(options) { var self = this; var contentTitle; var container; if (options != undefined) { if (options.model != undefined) this.model = options.model; if (options.listParticipants != undefined) this.listParticipants = options.listParticipants; } else { this.model.set({ eventTimeStart: '08:00' }); this.model.set({ eventTimeEnd: '08:30' }); } if (!Shared.isSmartPhoneResolution()) { this.$el.html(_.template(detailContentTemplate)); $('#contentDetail').empty().append(this.$el); container = $('#scrollerDetail'); contentTitle = $('#contentDetailTitle'); } else { this.$el.html(_.template(primaryContentTemplate)); $('#content').empty().append(this.$el); container = $('#scroller'); contentTitle = $('#contentTitle'); } var loadingView = new LoadingView({ el: container }); loadingView.render(); contentTitle.text('Adicionar evento'); var callback = function(data) { var listCategorias = data; if (self.eventID > 0) { contentTitle.text('Editar evento'); var callbackGetEvent = function(data) { var pad = '00'; var dateStart = (data.get('eventDateStart')).split('/'); var dateEnd = (data.get('eventDateEnd')).split('/'); data.set({ eventDateStart: dateStart[2] + '-' + pad.substring(0, pad.length - ("" + dateStart[1]).length) + ("" + dateStart[1]) + '-' + pad.substring(0, pad.length - ("" + dateStart[0]).length) + ("" + dateStart[0]) }); data.set({ eventDateEnd: dateEnd[2] + '-' + pad.substring(0, pad.length - ("" + dateEnd[1]).length) + ("" + dateEnd[1]) + '-' + pad.substring(0, pad.length - ("" + dateEnd[0]).length) + ("" + dateEnd[0]) }); if (data.get('eventParticipants') != undefined && data.get('eventParticipants').length > 0) { var listParticipantsID = []; _.each(data.get('eventParticipants'), function(participant) { listParticipantsID.push(participant.contactUIDNumber); }); data.set({ eventParticipants: listParticipantsID }); var listParticipants = []; _.each(data.get('eventParticipantsLdap'), function(participantLdap) { listParticipants.push({ participantID: participantLdap.get('contactUIDNumber'), participantName: participantLdap.get('contactFullName') }); }); self.listParticipants = listParticipants } self.model = data; var newData = { eventCategories: listCategorias, event: self.model, listParticipants: self.listParticipants, types: self.types, priorities: self.priorities }; var htmlTemplate = _.template(calendarEditEventTemplate); var htmlWithData = htmlTemplate(newData); container.html(htmlWithData); self.setElement(self.$el); self.loaded(); } self.getEvent(self.eventID, callbackGetEvent, callbackGetEvent); } else { var newData = { eventCategories: listCategorias, event: self.model, listParticipants: self.listParticipants, types: self.types, priorities: self.priorities }; var htmlTemplate = _.template(calendarEditEventTemplate); var htmlWithData = htmlTemplate(newData); container.html(htmlWithData); self.setElement(self.$el); self.loaded(); } } this.listEventCategories('', callback, callback); },