Buscar

FeedbackItemView.js

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

/* ==========================================================================
 Feedback ItemView
 @author: Thyago Weber (thyago.weber@gmail.com)
 @date: 44/08/2014
 ========================================================================== */
define(function (require) {
 'use strict';
 var App = require('app'),
 $ = require('jquery'),
 _ = require('underscore'),
 Backbone = require('backbone'),
 Marionette = require('marionette'),
 template = require('text!templates/ava/views/feedback/feedback-template.html');
 require('jquery-validation');
 return Marionette.ItemView.extend({
 id: 'userFeedback',
 template: _.template(template),
 events: {
 'submit form': 'sendFeedback'
 },
 sendFeedback: function sendFeedback (e) {
 e.preventDefault();
 var data = App.Helpers.serializeObject('#feedback-form');
 App.Helpers.ajaxRequest({
 'type': 'POST',
 'url': App.config.UrlWs('sistema') + 'PesquisaSatisfacao',
 'data': data,
 'successCallback': function successCallback ( response ) {
 App.session.set({ 'respondeuPesquisa': true });
 App.logger.info('Feedback enviado.');
 $('#dialogModal').modal('hide');
 },
 'errorCallback': function errorCallback ( response ) {
 App.logger.error('Feedback falhou.');
 $('#dialogModal').modal('hide');
 }
 });
 App.redirecter({ 'url': '#/ava' });
 },
 checkFeedback: function checkFeedback () {
 var answered = App.session.get('respondeuPesquisa');
 return answered;
 },
 serializeData: function serializeData () {
 return {
 'question': 'Como você avalia o novo AVA Univirtus? ',
 'label': 'Informe uma nota entre 0 e 10.',
 'comentario': 'Comentário (opcional)',
 'requiredMessage': 'Informe uma nota entre 0 e 10.'
 };
 },
 initValidation: function initValidation () {
 this.$el.find('#feedback-form').validate({
 wrapper: 'span',
 highlight: function ( element, errorClass ) {
 $('#'+element.id).closest('div.form-group').removeClass('has-success').addClass('has-error');
 },
 errorPlacement: function errorPlacement (error, element, z) {
 if ( error.text() !== '' ) {
 var group = element.closest('div.form-group').siblings('.user-feedback-error-wrapper');
 group.empty();
 error.addClass('help-block').appendTo( group );
 }
 },
 success: function (label) {
 label.parents('span.help-block').remove();
 }
 });
 },
 onRender: function onRender () {
 this.initValidation();
 }
 });
});

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais