/** * Función para aumentar la barra de progreso si se responde la encuesta **/ function control_progress() { var content = $('.carousel-inner .active'); var not_empty = 0; var elements = $('.carousel-indicators li').length-1; $.each(content.find('input'),function(index,value){ var name = $(value).attr('name'); if(name.search('radio')!=-1 || name.search('check')!=-1 || name.search('sino')!=-1){ not_empty = $(value).parent().attr('class').search('checked') !== -1 ? 1:not_empty; if (name.search('sino')!=-1) { if ($(value).parent().attr('class').search('checked') !== -1 && $(value).val()=="No") { if ($(value).attr('class').search('need_justification')!=-1) { var text_area = $(value).parent().parent().find('textarea'); not_empty = $(text_area).val().trim() !== '' ? 1:0; not_empty = $(text_area).val().length >= 1 && $(text_area).val().length <= 2000 ? 1:0; if ($(text_area).val().length >2000) { bootbox.alert("La longitud de la respuesta debe ser menor a 2000 cáracteres"); } } } } } }); $.each(content.find('textarea'),function(index,value){ var name = $(value).attr('name'); if (name.search('abierta')!==-1) { not_empty = $(value).val().trim() !== '' ? 1:not_empty; not_empty = $(value).val().length >= 1 && $(value).val().length <= 2000 ? 1:0; if ($(value).val().length >2000) { bootbox.alert("La longitud de la respuesta debe ser menor a 2000 cáracteres"); } } }); if (not_empty) { $('#status .bar span').css({'color':'white'}); $('#myCarousel').carousel('next'); var current_value = ($('#status .progress-bar').width()/$('#status').width())*100; var final_value = current_value+(100/elements); $('#status .progress-bar').width(final_value+"%"); if (final_value>=99.9) { $('#status .progress-bar').width("100%"); $('#status .bar span').text("Finalizado"); $('#status .progress-bar').addClass('progress-bar-success'); } } } /** * Función para enviar los respuestas de la encuesta * @param event Recibe el evento **/ function send_poll(event) { event.preventDefault(); $('.btn-success').attr('disabled',true); var form = $("#encuesta_form"); var routes = $(location).attr('pathname').split('/') var pk = routes[routes.length-3] var participacion; $.get('/validar-participacion-ajax?user='+USER+"&consulta="+ENCUESTA) .done(function(response){ if (response.mensaje) { participacion = response.participacion if (participacion) { bootbox.alert("Este usuario Ya participó en esta encuenta
Será direccionado en 4 segundos"); setTimeout(function(){ $(location).attr('href', $(location).attr('origin')+'/'+ URL.split("/",2)[1]) },4000); } else { $.ajax({ type: 'POST', data: $(form).serialize(), url: URL, success: function(response) { if (response.code == true) { bootbox.alert("Se registró su participación con éxito
Será direccionado en 4 segundos"); setTimeout(function(){ $(location).attr('href', $(location).attr('origin')+'/'+ URL.split("/",2)[1]) },4000); } else{ bootbox.alert("Ocurrió un error inesperado"); $('.btn-success').attr('disabled',false); } }, error:function(error) { bootbox.alert("Ocurrió un error inesperado"); $('.btn-success').attr('disabled',false); } }); } } else{ bootbox.alert(response.error); } }) .fail(function(response){ bootbox.alert("Ocurrió un error inesperado"); }); } /** * Función para retroceder en el carrusel y bajar el valor de la * barra de progreso **/ function go_back() { var first_element = $('.carousel-indicators li')[0]; if($(first_element).attr('class')!=='active') { $('#myCarousel').carousel('prev'); var elements = $('.carousel-indicators li').length-1; var current_value = ($('#status .progress-bar').width()/$('#status').width())*100; var final_value = current_value-(100/elements); $('#status .progress-bar').width(final_value+"%"); if (final_value!=100) { $('#status .bar span').text() == "Finalizado" ? $('#status .bar span').text('Progreso'):''; $('#status .progress-bar').removeClass('progress-bar-success'); } if (final_value<=0) { $('#status .bar span').css({'color':'black'}); } } } /** * Función para abrir el modal de moficicar las respuestas **/ function abrir_modal(url) { $('#popup').load(url, function() { $(this).modal('show'); }); return false; } /** * Función para cerrar el modal de moficicar las respuestas **/ function cerrar_modal() { $('#popup').modal('hide'); return false; } /** * Función que crea la tabla DataTable con las respuestas a las encuestas * **/ $(document).ready(function() { var table = $('#tabla-participacion').DataTable({ "columnDefs": [ { width: '40%', targets: 'social0' }, { width: '50%', targets: 'social1' }, { width: '20%', targets: 'politica2' }, ], initComplete: function () { this.api().columns([2]).every( function () { var column = this; var select = $('#select_filter') .on( 'change', function () { var val = $.fn.dataTable.util.escapeRegex( $(this).val() ); column .search( val ? '^'+val+'$' : '', true, false ) .draw(); } ); column.data().unique().sort().each( function ( d, j ) { select.append( '' ) } ); } ); }, "language": { url: "/static/DataTables/media/js/Spanish.json" }, "lengthMenu": [ [10, 50, 100, -1], [10, 50, 100, "Todo"] ], "scrollX": true, "fixedColumns": true , "dom": 'lfrtBSip', "buttons": ['copy', 'csv', 'excel', 'pdf', 'print'] }); });