class Web
{
static init()
{
$(document).ready(function()
{
$("body").on("click", ".btn-abre-bloque", function(e)
{
e.preventDefault();
Web.abreBloque($(this).attr("data-bloque"));
});
$("body").on("click", ".cerrar-bloque", function(e)
{
e.preventDefault();
Web.cerrarBloque($(this).parents(".bloque-flotante").attr("id"));
});
$("body").on("click", "#cerrarMenu", function()
{
$(".navbar-toggler").trigger("click");
});
$("body").on("click", ".btn-eliminar-caso", function (e) {
e.preventDefault();
let id = $(this).attr("data-id");
ClassBlockUI.abrirBlockUIConfirm("Va a eliminar un caso, ¿Desea continuar?", "Aceptar", function(){
$(".modal").modal("hide");
const successCallback = function (data, textStatus, XMLHttpRequest) {
let action = undefined;
if (data["error_number"] >= 0) {
if (typeof tablatablaCasos != "undefined")
tablatablaCasos.ajax.reload();
else
action = "https://www.divet.es/casos.html";
}
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, action);
};
Utils.sendStandardAjax(null, "ajax/Casos.eliminar.php?CSRF="+CSRF+"&id="+id, {successCallback: successCallback});
}, "Cancelar");
});
});
}
static initDiagnosticarCaso(idiomaCaso = "es", tipoUsuario, estadoCaso)
{
$(document).ready(function()
{
//Web.ckeditors = [];
//$.each($(".ckeditor"), function(i, e) {
// Web.nuevoCKEditor(e);
//});
CKEDITOR.config.contentsCss = "css/ckeditor.css";
//CKEDITOR.config.disableNativeSpellChecker = false;
//Activar el ckeditor en los textarea marcados como class=ckeditor
$('textarea.ckeditor').each(function()
{
var editor = CKEDITOR.instances[$(this).attr("id")];
if (editor) { editor.destroy(true); }
const idEditor = $(this).attr("id");
const height = $(this).attr("id") == "informacionPrivada" ? 300 : 500;
CKEDITOR.replace( idEditor, {
language: 'es',
toolbar: 'simpleImage2',
//extraPlugins: 'uploadimage, image2, autoresizepaste',
filebrowserImageUploadUrl: 'uploadImagen.php?a=1&responseType=json&',
height: height,
on: {
instanceReady: function (event) {
// Este código se ejecutará cuando el editor esté listo
//console.log(event.editor, event.editor.getData());
if (event.editor.getData() == "") {
//SI NO SE PONE EL TIMEOUT NANOSPELL NO FUNCIONA BIEN, ESTO SOLO PASA CUANDO SE HACE instanceReady
setTimeout(function () {
event.editor.execCommand('justifyblock');
//Al hacer execCommand hace que haga scroll al ultimo ckeditor, con esto lo evito
document.activeElement.blur();
$("html").scrollTop(0);
}, 500);
}
}
}
});
});
//nanospell.ckeditor("all", {dictionary: idiomaCaso, server: "php"});
$("body").on("change", "input[name='mandarCorregir']", function () {
if ($(this).is(":checked")) {
$(".frm-group-info-clinica").addClass("d-none");
$("#btn-finalizar-radiologo").text("Mandar a corregir");
}
else {
$(".frm-group-info-clinica").removeClass("d-none");
$("#btn-finalizar-radiologo").text("Finalizar");
}
});
$(".btn-editar-caso").click(function()
{
$(".btn-descargar").hide(0);
const element = $(this);
element.blur();
setTimeout(function()
{
$("textarea.ckeditor").prop("readonly", false);
for (var i in CKEDITOR.instances)
{
CKEDITOR.instances[i].setReadOnly(false);
}
element.removeClass("btn-editar-caso").addClass("btn-guardar-caso").text("Finalizar Caso");
}, 100);
return;
});
$(".btn-soltar-caso").click(function(e)
{
e.preventDefault();
const id = $(this).attr("data-id");
ClassBlockUI.abrirBlockUIConfirm("Va a soltar un caso, ¿Desea continuar?", "Aceptar", function()
{
$(".modal").modal("hide");
Utils.sendStandardAjax(null, "ajax/Casos.cancelar.php?CSRF="+CSRF+"&id="+id, {successCallback: "data-location"});
}, "Cancelar");
});
$("#btn-preservar").click(function(e)
{
e.preventDefault();
Utils.sendStandardAjax("frm-preservar", "ajax/Casos.preservar.php?CSRF="+CSRF, {successCallback: null});
});
$("body").on("click", ".btn-guardar-caso", function()
{
//$.each(Web.ckeditors, function (i, e)
//{
// //CKEDITOR.instances[i].updateElement();
// $(e.sourceElement).val(e.getData());
//});
for (var i in CKEDITOR.instances)
{
CKEDITOR.instances[i].updateElement();
}
let successCallback = "location";
let finalizar = $(this).attr("data-finalizar")*1;
if ($(this).attr("data-previsualizar") == 1)
{
successCallback = function (data, textStatus, XMLHttpRequest) {
$(".modal").modal("hide");
if (data["error_number"] >= 0) {
const url = `informe.php?id=${$("#id_caso").val()}&preview=1`;
//Intenta popup y si no en la actual
window.open(url, "_blank") || window.location.replace(url);
//POPUP
//$(``)[0].click();
} else {
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, undefined);
}
};
}
if ($(this).attr("data-incidencia") == 1)
{
ClassBlockUI.abrirBlockUIConfirm("Al marcar el caso como incidencia, se guardarán los datos rellenados, el caso quedará sin asignar y solo podrá ser modificado por la clínica.
¿Desea continuar?", "Aceptar", function () {
$(".modal").modal("hide");
successCallback = "casos.html";
guardarCaso(finalizar, successCallback, 1);
}, "Cancelar");
}
else if (finalizar == 1 && tipoUsuario != 4 && estadoCaso != 3)
{
ClassBlockUI.abrirBlockUIEstandar("bloque-caso-finalizar", undefined, "Finalizar Caso", "modal622");
}
else
{
if (finalizar) {
successCallback = "https://www.divet.es/casos.html";
}
guardarCaso(finalizar, successCallback, 0);
}
});
$("#bloque-caso-finalizar").on("click", "#btn-finalizar-radiologo", function() {
$(".modal").modal("hide");
guardarCaso(1, "https://www.divet.es/casos.html", 0);
});
function guardarCaso(finalizar, successCallback, incidencia = 0)
{
Utils.sendStandardAjax(null, "ajax/Casos.guardarFinalizar.php", {
successCallback: successCallback,
prepareFormData: function () {
let prepareFormData = new FormData($("#frm-diagnostico")[0]);
prepareFormData.append("CSRF", CSRF);
prepareFormData.append("finalizar", finalizar);
prepareFormData.append("incidencia", incidencia);
prepareFormData.append("informacionPrivada", $("#informacionPrivada").val().trim());
return prepareFormData;
}
});
}
//AUTOGUARDADO
});
}
static initConversacion()
{
$(document).ready(function () {
$("#conversacion").scrollTop($("#conversacion").innerHeight());
});
$( "#frm-conversacion" ).on( "submit", function( e ) {
e.preventDefault();
const successCallback = function (data, textStatus, XMLHttpRequest) {
$(".modal").modal("hide");
if (data["error_number"] >= 0) {
$("#frm-conversacion")[0].reset();
$("#conversacion").append(data["mensaje"]);
$("#conversacion").scrollTop($("#conversacion").innerHeight());
} else {
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, undefined);
}
};
Utils.sendStandardAjax("frm-conversacion", "ajax/Casos.enviarMensaje.php?CSRF="+CSRF, {successCallback: successCallback});
});
}
static nuevoCKEditor(element)
{
CKEDITOR.ClassicEditor.create(element , {
// https://ckeditor.com/docs/ckeditor5/latest/features/toolbar/toolbar.html#extended-toolbar-configuration-format
image: {
resizeUnit: 'px',
resizeOptions: [
{
name: 'resizeImage:original',
label: 'Original',
value: null
},
{
name: 'resizeImage:235',
label: '3 imagenes por fila',
value: '235'
},
{
name: 'resizeImage:350',
label: '2 imagenes por fila',
value: '350'
},
{
name: 'resizeImage:400',
label: '400px',
value: '400'
},
{
name: 'resizeImage:500',
label: '500px',
value: '500'
}
]
},
ckfinder: {
uploadUrl: 'uploadImagen.php?subida=1'
},
toolbar: {
items: [
'bold','italic','underline','strikethrough', '|',
'numberedList','bulletedList','alignment', '|',
'insertImage', '|',
'outdent', 'indent', '|',
'undo', 'redo',
'link', 'horizontalLine',
],
shouldNotGroupWhenFull: true
},
// Changing the language of the interface requires loading the language file using the