//-------------------------------------------------------------------------------------------------------------------------------
// Variables globales
//-------------------------------------------------------------------------------------------------------------------------------
var TipoNIFCIFPASS = JSON.parse('{"NIF":0,"CIF":1,"PASS":2}');
/* Gonzalo */
var getUrlParameter = function getUrlParameter(sParam) {
var sPageURL = decodeURIComponent(window.location.search.substring(1)),
sURLVariables = sPageURL.split('&'),
sParameterName,
i;
for (i = 0; i < sURLVariables.length; i++) {
sParameterName = sURLVariables[i].split('=');
if (sParameterName[0] === sParam) {
return sParameterName[1] === undefined ? true : sParameterName[1];
}
}
};
/*fin Gonzalo*/
//-------------------------------------------------------------------------------------------------------------------------------
// INICIALIZA los componentes: Tooltip, Tab seleccionado ...
//-------------------------------------------------------------------------------------------------------------------------------
$(function () { //Es lo mismo que document ready
//Inicializo los tooltip, ojo, los que se cargan en los template hay que hacerlos en cada template
$('[rel="tooltip"]').tooltip();//Inicializo tooltip
//Soluciona el fallo de bootstrap de cuando abro una modal sobre otra que es muy grande y necesita scroll y cierro la primera deja de funcionar el scroll.
$(document).on('hidden.bs.modal', '.modal', function () {
$('.modal:visible').length && $(document.body).addClass('modal-open');
});
//Abro la primera pestaña del tab
//$('#Menu a:first').click();//no dispara el handler del evento click sino lo meto dentro del document ready
$('#tabInicio').click();
});
//Para backgrid (CONTRATOS)
var FechaFormatter= _.extend({}, Backgrid.CellFormatter.prototype, {
fromRaw: function (rawValue, model) {
return BDDateToUserDate(rawValue);
}
});
var FechaCell = Backgrid.DateCell.extend({
formatter: FechaFormatter
});
var HtmlCell = Backgrid.HtmlCell = Backgrid.Cell.extend({
/** @property */
className: "html-cell",
initialize: function () {
Backgrid.Cell.prototype.initialize.apply(this, arguments);
},
render: function () {
this.$el.empty();
var rawValue = this.model.get(this.column.get("name"));
var formattedValue = this.formatter.fromRaw(rawValue, this.model);
this.$el.append(formattedValue);
this.delegateEvents();
return this;
}
});
//Para editar/borrar contratos
var ButtonCellContratos = Backgrid.Cell.extend({
template: _.template(''),
events: {
"click .contratobotoneditar": "editRow",
"click .contratobotonborrar": "deleteRow"
},
editRow: function (e) {
e.preventDefault();
$('#ModalEditarGrabarContratoTitle').html('Editar datos de contrato');
var template = _.template($('#Template-Editar-Grabar-Contrato').html(), {contrato : this.model});
$('#ModalEditarGrabarContratoMensaje').html(template);
contratosListaView.PrepararFormulario();
$('#ModalEditarGrabarContrato').modal('show');
},
deleteRow: function (e) {
e.preventDefault();
var idcontrato=this.model.get('idcontrato');
bootbox.dialog({message: "¿Está seguro de que quiere borrar definitivamente el contrato?",title: "Borrar Contrato",
buttons: {
success: {
label: "Borrar",
className: "btn-danger",
callback: function() {
$.ajax({
url: 'https://nules.atencionciudadana.es/rest/data.php/borrarcontrato/'+idcontrato,
type: 'POST',
}). always(function( msg ) {
CargaContratos();
});
}
},
danger: {
label: "Cancelar",
className: "btn",
callback: function() {
//Example.show("uh oh, look out!");
}
}
}
});
//this.model.collection.remove(this.model);
},
render: function () {
this.$el.html(this.template());
this.delegateEvents();
return this;
}
});
//Generales, funciones específicas de apoyo a ciertas zonas de la aplicación
var lista_citas=[];
function pintaGridCitasInicio(idusuario,cita) {
//PARA EL USUARIO NO REGISTRADO
if (cita) {
lista_citas.push(cita);
}
var template = _.template($('#Template-Grid-Citas').html(), {citas: lista_citas});
$('#contenedor_inicio_citas').html(template);
//Cargo lo del GMT, está todo en citas.php, ya ha creado el json con la lista y funciones
var temporal = CargaSelectGMT($('#SelectGMT_tabla_citas_principal'));
$('#span_GMT_servidor_tabla_citas_principal').html(temporal);
if (Cookies.get('SelectGMT_tabla_citas_principal')>=0)
$('#SelectGMT_tabla_citas_principal').val(Cookies.get('SelectGMT_tabla_citas_principal'));
//RICARDO 2018-2
$('#BodyTablaCitas').html(RellenaTablaCitas());
}
//CONTROL DE EVENTOS
//Evento de carga de tabs (disparo lectura de datos) cuando se pulsa sobre ellos
//Cuando pulsa en un tab, busca su funcion asociada en data y la ejecuta
$('body').on('click','a[data-toggle="tab"]', function (e) {
//e.target // activated tab
//e.relatedTarget // previous tab
window[$(e.target).data('funcionCarga')](); //Llama a la funcion de disparo especificada en el tab
});
//-------------------------------------------------------------------------------------------------------------------------------
//FUNCIONES DE DISPARO
//-------------------------------------------------------------------------------------------------------------------------------
function CargaInicio(){
inicioListaContratosView.render({idusuario:""});
}
function CargaMisDatos() {
//Si ha hecho login son sus datos y si no hace las labores de registro
//Ahora renderizo la vista
misDatosView.render({idusuario:""});
}
function CargaCreditos() {
historialCreditosView.render({idusuario:""});
}
function CargaContratos() {
//Ahora renderizo la vista
contratosListaView.render();
}
function CargaListados () {
$('#lc_fecha_alta_desde').datetimepicker({
lang:'es',
timepicker:false,
format:'d/m/Y',
closeOnDateSelect: true
});
$('#lc_fecha_alta_hasta').datetimepicker({
lang:'es',
timepicker:false,
format:'d/m/Y',
closeOnDateSelect: true
});
$('#la_fecha_desde').datetimepicker({
lang:'es',
timepicker:false,
format:'d/m/Y',
closeOnDateSelect: true
});
$('#la_fecha_hasta').datetimepicker({
lang:'es',
timepicker:false,
format:'d/m/Y',
closeOnDateSelect: true
});
//Paises
var O = $.getJSON( "rest/data.php/paises", function(ListaPaises) {
$('#lc_idpais').empty();//Limpio el contenido del select paises
_.each(ListaPaises, function(pais) {
$('#lc_idpais').append($('