EVOLUTION-MANAGER
Edit File: app.js
$(function () { bsCustomFileInput.init(); }); var lenguaje_tabla = { "lengthMenu": 'Mostrar <select class="form-control input-sm">'+ '<option value="5">5</option>'+ '<option value="10">10</option>'+ '<option value="20">20</option>'+ '<option value="30">30</option>'+ '<option value="40">40</option>'+ '<option value="-1">Todos</option>'+ '</select> registros', "search": "Buscar:", "searchPlaceholder": "Escriba aquí...", "zeroRecords": "No se encontraron registros coincidentes", "infoEmpty": "No hay registros para mostrar", "infoFiltered": " - filtrado de MAX registros", "info": "Mostrando _START_ a _END_ de _TOTAL_ registros", "paginate": { "previous": "Anterior", "next": "Siguiente" }, "buttons": { "copy": "Copiar", "colvis": "Visibilidad", "collection": "Colección", "colvisRestore": "Restaurar visibilidad", "copyKeys": "Presione ctrl o u2318 + C para copiar los datos de la tabla al portapapeles del sistema. <br \/> <br \/> Para cancelar, haga clic en este mensaje o presione escape.", "copySuccess": { "1": "Copiada 1 fila al portapapeles", "_": "Copiadas %ds fila al portapapeles" }, "copyTitle": "Copiar al portapapeles", "csv": "CSV", "excel": "Excel", "pageLength": { "-1": "Mostrar todas las filas", "_": "Mostrar %d filas" }, "pdf": "PDF", "print": "Imprimir", "renameState": "Cambiar nombre", "updateState": "Actualizar", "createState": "Crear Estado", "removeAllStates": "Remover Estados", "removeState": "Remover", "savedStates": "Estados Guardados", "stateRestore": "Estado %d" }, "autoFill": { "cancel": "Cancelar", "fill": "Rellene todas las celdas con <i>%d<\/i>", "fillHorizontal": "Rellenar celdas horizontalmente", "fillVertical": "Rellenar celdas verticalmentemente" }, "decimal": ",", "searchBuilder": { "add": "Añadir condición", "button": { "0": "Constructor de búsqueda", "_": "Constructor de búsqueda (%d)" }, "clearAll": "Borrar todo", "condition": "Condición", "conditions": { "date": { "after": "Despues", "before": "Antes", "between": "Entre", "empty": "Vacío", "equals": "Igual a", "notBetween": "No entre", "notEmpty": "No Vacio", "not": "Diferente de" }, "number": { "between": "Entre", "empty": "Vacio", "equals": "Igual a", "gt": "Mayor a", "gte": "Mayor o igual a", "lt": "Menor que", "lte": "Menor o igual que", "notBetween": "No entre", "notEmpty": "No vacío", "not": "Diferente de" }, "string": { "contains": "Contiene", "empty": "Vacío", "endsWith": "Termina en", "equals": "Igual a", "notEmpty": "No Vacio", "startsWith": "Empieza con", "not": "Diferente de", "notContains": "No Contiene", "notStartsWith": "No empieza con", "notEndsWith": "No termina con" }, "array": { "not": "Diferente de", "equals": "Igual", "empty": "Vacío", "contains": "Contiene", "notEmpty": "No Vacío", "without": "Sin" } }, "data": "Data", "deleteTitle": "Eliminar regla de filtrado", "leftTitle": "Criterios anulados", "logicAnd": "Y", "logicOr": "O", "rightTitle": "Criterios de sangría", "title": { "0": "Constructor de búsqueda", "_": "Constructor de búsqueda (%d)" }, "value": "Valor" }, "searchPanes": { "clearMessage": "Borrar todo", "collapse": { "0": "Paneles de búsqueda", "_": "Paneles de búsqueda (%d)" }, "count": "{total}", "countFiltered": "{shown} ({total})", "emptyPanes": "Sin paneles de búsqueda", "loadMessage": "Cargando paneles de búsqueda", "title": "Filtros Activos - %d", "showMessage": "Mostrar Todo", "collapseMessage": "Colapsar Todo" }, "select": { "cells": { "1": "1 celda seleccionada", "_": "%d celdas seleccionadas" }, "columns": { "1": "1 columna seleccionada", "_": "%d columnas seleccionadas" }, "rows": { "1": "1 fila seleccionada", "_": "%d filas seleccionadas" } }, "thousands": ".", "datetime": { "previous": "Anterior", "next": "Proximo", "hours": "Horas", "minutes": "Minutos", "seconds": "Segundos", "unknown": "-", "amPm": [ "AM", "PM" ], "months": { "0": "Enero", "1": "Febrero", "10": "Noviembre", "11": "Diciembre", "2": "Marzo", "3": "Abril", "4": "Mayo", "5": "Junio", "6": "Julio", "7": "Agosto", "8": "Septiembre", "9": "Octubre" }, "weekdays": [ "Dom", "Lun", "Mar", "Mie", "Jue", "Vie", "Sab" ] }, "editor": { "close": "Cerrar", "create": { "button": "Nuevo", "title": "Crear Nuevo Registro", "submit": "Crear" }, "edit": { "button": "Editar", "title": "Editar Registro", "submit": "Actualizar" }, "remove": { "button": "Eliminar", "title": "Eliminar Registro", "submit": "Eliminar", "confirm": { "_": "¿Está seguro que desea eliminar %d filas?", "1": "¿Está seguro que desea eliminar 1 fila?" } }, "error": { "system": "Ha ocurrido un error en el sistema (<a target=\"\\\" rel=\"\\ nofollow\" href=\"\\\">Más información<\\\/a>).<\/a>" }, "multi": { "title": "Múltiples Valores", "info": "Los elementos seleccionados contienen diferentes valores para este registro. Para editar y establecer todos los elementos de este registro con el mismo valor, hacer click o tap aquí, de lo contrario conservarán sus valores individuales.", "restore": "Deshacer Cambios", "noMulti": "Este registro puede ser editado individualmente, pero no como parte de un grupo." } }, "info": "Mostrando _START_ a _END_ de _TOTAL_ registros", "stateRestore": { "creationModal": { "button": "Crear", "name": "Nombre:", "order": "Clasificación", "paging": "Paginación", "search": "Busqueda", "select": "Seleccionar", "columns": { "search": "Búsqueda de Columna", "visible": "Visibilidad de Columna" }, "title": "Crear Nuevo Estado", "toggleLabel": "Incluir:" }, "emptyError": "El nombre no puede estar vacio", "removeConfirm": "¿Seguro que quiere eliminar este %s?", "removeError": "Error al eliminar el registro", "removeJoiner": "y", "removeSubmit": "Eliminar", "renameButton": "Cambiar Nombre", "renameLabel": "Nuevo nombre para %s", "duplicateError": "Ya existe un Estado con este nombre.", "emptyStates": "No hay Estados guardados", "removeTitle": "Remover Estado", "renameTitle": "Cambiar Nombre Estado" } }; $(document).ready(function () { var w_a = $(`a[href*="${window.location.href}"]`); if($(w_a).length==1){ $(w_a).addClass("active"); var arbol_padre = $(w_a).parents(".nav-treeview"); if($(arbol_padre).length==1){ arbol_padre = arbol_padre[0]; $(arbol_padre).siblings('a.nav-link').addClass("active"); setTimeout(() => { $(arbol_padre).siblings('a.nav-link').click(); }, 200); } } }); function vista_cargando(){ vista_cargando("Espere..."); } function vista_cargando(texto){ $("#overlay_texto").html(texto); if($(".div_cargando").is(":visible")){ $(".div_cargando").hide(); }else{ $(".div_cargando").show(); } } function cargarDataTable(idtable, button=true, orden_col=false, orden_ori=false){ var orden = []; if(Number.isInteger(orden_col) && orden_ori!=false){ orden = [[orden_col, orden_ori]]; } if(button==false){ $(`#${idtable}`).DataTable({ "responsive": true, "lengthChange": false, "autoWidth": false, "buttons": ["copy", "csv", "excel", "pdf", "print", "colvis"], "language": lenguaje_tabla, "order": orden, }); }else{ $(`#${idtable}`).DataTable({ "responsive": true, "lengthChange": false, "autoWidth": false, "buttons": ["copy", "csv", "excel", "pdf", "print", "colvis"], "language": lenguaje_tabla, "order": orden }).buttons().container().appendTo(`#${idtable}_wrapper .col-md-6:eq(0)`); } } function alerta(texto, color){ const Toast = Swal.mixin({ toast: true, position: 'top-end', showConfirmButton: false, timer: 3000, timerProgressBar: true, didOpen: (toast) => { toast.addEventListener('mouseenter', Swal.stopTimer) toast.addEventListener('mouseleave', Swal.resumeTimer) } }) //color [success, info, error, warning, question] Toast.fire({ icon: color, title: "Información \n"+texto }); } function val_text(texto, valor=""){ if(valor==""){ if(texto=="" || texto ==null){ return " -- "; }else{ return texto; } }else{ if(texto=="" || texto ==null){ return ` ${valor} `; }else{ return texto; } } } // FUNCIONES PARA LA SECCION DE CARGAR MULTIPLES IMAGENES document.addEventListener('DOMContentLoaded', function(){ var carrou_modal = document.getElementById("carrouselMyModal"); var carrou_modalImg = document.getElementById("carrousel_img01"); var carrousel_close = document.getElementsByClassName("carrousel_close")[0]; carrousel_close.onclick = function() { carrou_modal.style.display = "none"; } var carrousel_img = document.querySelectorAll(".carrousel_img"); carrousel_img.forEach(carrou_img => { carrou_img.addEventListener('click', function() { carrou_modal.style.display = "block"; carrou_modalImg.src = this.src; }); }); }); $(".carrousel_close").click(function() { $("#carrouselMyModal").css("display", "none"); }) $("body").delegate(".carrousel_img","click",function(){ $("#carrouselMyModal").css("display", "block"); $("#carrousel_img01").attr("src", $(this).attr("src")); }); $(".files_btn_agregar").click(function(e){ var boton = $(this).siblings(".files_btn_multiple"); if(boton.length>0){ $(boton[0]).click(); }; }); $("body").delegate(".btn_files_delete", "click", function(){ Swal.fire({ title: ``, icon: 'question', html: '<span>¿Está seguro que desea eliminar el elemento?</span>', showCloseButton: false, showCancelButton: true, focusConfirm: false, confirmButtonColor: "#d33", confirmButtonText:'<i class="fa fa-thumbs-up"></i> Eliminar', cancelButtonText:'<i class="fa fa-thumbs-down"></i> Cancelar', }).then((result) => { if (result.isConfirmed) { var delete_name = $(this).data("name-delete"); var file_id = $(this).val(); if(file_id){ var content_files = $(this).parents(".content_files")[0]; var new_input_delete = document.createElement("input"); new_input_delete.value = file_id; new_input_delete.name = delete_name+"_del[]"; new_input_delete.style.display = "none"; content_files.appendChild(new_input_delete); } var card_files = $(this).parents(".card_files")[0]; $(card_files).remove(); } }); }); var files_count = 0; $(".files_btn_multiple").change(function(e){ //buscamos el contenedor de las imagnes var content_files = $(this).parents(".section_files").children(".content_files"); //tipos de datospermitidos var tipos_permitidos = $(this).attr("accept"); //nombre que agregarle a los inputo file var files_name = $(this).data("name"); var this_input = this; var lista_archivos = $(this)[0].files; $.each(lista_archivos, function (index, archivo){ var tipo_archivo = archivo.type; var tipo_archivo_aux = archivo.type.split('/')[0]; if(tipos_permitidos.indexOf(`${tipo_archivo}`) !== -1 || tipos_permitidos.indexOf(`${tipo_archivo_aux}`) !== -1){ //solo si son imagenes var ruta_local = URL.createObjectURL(archivo); var file_name = archivo.name; files_count++; $(content_files).append(` <div class="card_files"> <div class="card_body" id="card_body_${files_count}"> <img class="carrousel_img" src="${ruta_local}" alt=""> <span class="name_files">${file_name}</span> <span class="items"></span> <span class="buttons_files"> <button type="button" data-name-delete="${files_name}" class="btn_files_delete btn btn-xs btn-danger"><i class="fa fa-trash"></i> </button> </span> </div> </div> `); var fileList = new DataTransfer(); fileList.items.add(archivo); // Crear el elemento input de tipo file var nuevo_input = document.createElement('input'); nuevo_input.type = "file"; nuevo_input.name = files_name+`[${files_count}]`; nuevo_input.files = fileList.files; var card_body = document.getElementById(`card_body_${files_count}`); card_body.appendChild(nuevo_input); //verificamos si hay que agregar o no un input detalle if($(this_input).data("detalle")){ var detalle_name = $(this_input).data("detalle-name"); var detalle_placeholder = $(this_input).data("detalle-pl"); var new_detalle = document.createElement("input"); new_detalle.type = "text"; new_detalle.className = "detalle form-control form-control-sm"; if(detalle_placeholder){ new_detalle.placeholder = detalle_placeholder; } if(detalle_name){ new_detalle.name = detalle_name+`[${files_count}]`; } var items = card_body.querySelector('.items'); items.appendChild(new_detalle); } }else{ alerta("Formato no admitido", "error"); } }); }); // FUNCIONES PARA LA SE4CCION DE AGREGAR OFRECE $(".btn_agregar_ofrece").click(function(e){ //boton abrir modal $(this).siblings(".modal_agregar_ofrece").modal("show"); $(".ofrece_nombre").val(""); $(".ofrece_icono").val("fas fa-asterisk fa-fw"); $(".ofrece_view_icono").attr("class", "ofrece_view_icono fas fa-asterisk fa-fw"); var listado_iconos = $(".listado_iconos")[0]; var iconos = $(listado_iconos).find("i"); $(iconos).parents("article").show(); $(".ofrece_lista_iconos").hide(); }); $(".ofrece_select_icono").click(function(){ //mostrar listado de iconos $(".ofrece_lista_iconos").show(); var listado_iconos = $(".listado_iconos")[0]; var iconos = $(listado_iconos).find("i"); $(iconos).parents("article").show(); $(".ofrece_buscar_icono").val(""); }); $(".listado_iconos").delegate("button", "click", function(e){ //botones de icono var icono_text = $(this).find("i").attr("class"); $(this).parents(".modal_agregar_ofrece").find(".ofrece_icono").val(icono_text); $(this).parents(".modal_agregar_ofrece").find(".ofrece_view_icono").attr("class", "ofrece_view_icono "+icono_text); $(".ofrece_lista_iconos").hide(); }); var ofrece_count = 0; $(".ofrece_btn_agregar").click(function(e){ //boton agregar ocrece ofrece_count++; var ofrece_nombre = $(this).parents(".modal_agregar_ofrece").find(".ofrece_nombre").val(); var ofrece_icono = $(this).parents(".modal_agregar_ofrece").find(".ofrece_icono").val(); var card_ofrece = $(this).parents(".content_ofrece").find(".card_ofrece")[0]; if(!ofrece_nombre || !ofrece_icono){ alerta("Ingrese todos los datos", "error"); return; } $(card_ofrece).append(` <div id="body_ofrece_${ofrece_count}" class="body_ofrece"> <span class="card_info"> <i class="${ofrece_icono}"></i> ${ofrece_nombre} </span> <span class="card_btn_del"> <button type="button" class="ofrece_bnt_delete btn btn-xs btn-outline-secondary"><i class="fas fa-times"></i></button> </span> </div> `); //agregamos un input con javascript var input_nombre = document.createElement("input"); input_nombre.name = `ofrece_nombre[${ofrece_count}]`; input_nombre.value = ofrece_nombre; input_nombre.style.display = "none"; var input_icono = document.createElement("input"); input_icono.name = `ofrece_icono[${ofrece_count}]`; input_icono.value = ofrece_icono; input_icono.style.display = "none"; body_ofrece = document.getElementById(`body_ofrece_${ofrece_count}`); body_ofrece.appendChild(input_nombre); body_ofrece.appendChild(input_icono); $(this).parents(".modal_agregar_ofrece").modal("hide"); }); $(".content_ofrece").delegate(".ofrece_bnt_delete", "click", function(e){ Swal.fire({ title: ``, icon: 'question', html: '<span>¿Está seguro que desea eliminar el elemento?</span>', showCloseButton: false, showCancelButton: true, focusConfirm: false, confirmButtonColor: "#d33", confirmButtonText:'<i class="fa fa-thumbs-up"></i> Eliminar', cancelButtonText:'<i class="fa fa-thumbs-down"></i> Cancelar', }).then((result) => { if (result.isConfirmed) { var card_ofrece = $(this).parents(".content_ofrece").find(".card_ofrece")[0]; var ofrece_id = $(this).val(); //solo si se esta editando y poder eliminar if(ofrece_id){ var new_input_delete = document.createElement("input"); new_input_delete.value = ofrece_id; new_input_delete.name = "ofrece_del[]"; new_input_delete.style.display = "none"; card_ofrece.appendChild(new_input_delete); } //ahora eliminamos el html var body_ofrece = $(this).parents(".body_ofrece"); $(body_ofrece).remove(); } }); }); $(".ofrece_buscar_icono").keyup(function(e){ var buscar = $(this).val(); buscar = buscar.toLowerCase(); if(buscar){ var listado_iconos = $(".listado_iconos")[0]; var iconos = $(listado_iconos).find("i"); $(iconos).parents("article").hide(); $.each(iconos, function (i, icono) { var icon_clase = $(icono).attr("class"); if(icon_clase.indexOf(buscar)>-1){ $(icono).parents("article").show(); } }); }else{ var listado_iconos = $(".listado_iconos")[0]; var iconos = $(listado_iconos).find("i"); $(iconos).parents("article").show(); } // if(textoicono.indexOf(buscar)>-1){ // var buscar=$(this).val(); // $('#contenedor_iconos section').each(function (s, section) { // var totalIconos=0; // var iconosOcultos=0; // $(section).children('div').each(function (d1, div1) { // $(div1).children('div').each(function (d2, div2) { // textoicono=$(div2).children('a').html(); // if(textoicono.indexOf(buscar)>-1){ // $(div2).show(); // }else{ // $(div2).hide(); // iconosOcultos++; // } // totalIconos++; // }); // }); // if(iconosOcultos==totalIconos){ // $(section).hide(); // }else{ // $(section).show(); // } // }); }); // FUNCIONES PARA AGREGAR OFRECE NUEVA VERSION HOTELERIA $(".contenedor_ofrece_v2").delegate(".cat_titulo1_del", "change", function(e){ var lista_titulo1 = $("#lista_titulo1")[0]; var cat_titulo1_id = $(this).val(); if (!$(this).is(':checked')) { if($(`[data-id="del_titulo1_${cat_titulo1_id}"]`).length == 0){ console.log(cat_titulo1_id); var new_input_delete = document.createElement("input"); new_input_delete.setAttribute("data-id",`del_titulo1_${cat_titulo1_id}`); new_input_delete.value = cat_titulo1_id; new_input_delete.name = "cat_titulo1_del[]"; new_input_delete.style.display = "none"; lista_titulo1.appendChild(new_input_delete); } }else{ if($(`[data-id="del_titulo1_${cat_titulo1_id}"]`).length > 0){ $(`[data-id="del_titulo1_${cat_titulo1_id}"]`).remove(); } } }); $(".contenedor_ofrece_v2").delegate(".cat_lista_del", "change", function(e){ var lista_titulo = $("#lista_titulo")[0]; var cat_lista_id = $(this).val(); if (!$(this).is(':checked')) { if($(`[data-id="del_lista_${cat_lista_id}"]`).length == 0){ console.log(cat_lista_id); var new_input_delete = document.createElement("input"); new_input_delete.setAttribute("data-id",`del_lista_${cat_lista_id}`); new_input_delete.value = cat_lista_id; new_input_delete.name = "cat_lista_del[]"; new_input_delete.style.display = "none"; lista_titulo.appendChild(new_input_delete); } }else{ if($(`[data-id="del_lista_${cat_lista_id}"]`).length > 0){ $(`[data-id="del_lista_${cat_lista_id}"]`).remove(); } } });