/* * Codificación UTF-8 * Eventos asociados a los botones con data-gvhFunction igual a: * -> buscar * -> guardar * -> cancelar * -> volver * -> saltar * -> listar * -> particular * -> cancelarvs * -> aceptarvs * -> openWS * -> insert * -> delete * -> update * -> rowEdit * -> clean * -> exportCSV * -> help * -> openDoc * -> particular * -> jump * -> updateField * -> print * -> popover * -> url * -> openWS * -> findWS * -> date * -> tree */ var gvh = gvh || {}; +function ($) { //'use strict'; if( !gvh.Boton || gvh.versionCompare(gvh.Boton.VERSION, gvh.VERSION) < 0 ) { gvh.showConsoleMsg( 'log', 'gvh.Boton : Inicializando...' ); gvh.Boton = function() { // REVIEW : De momento está vacío, pero debería convertirse en un componente. // NOP : No hacer nada } gvh.Boton.VERSION = '5.0.0'; /* *********************************************************************************************************************** * BOTÓN BUSCAR */ $('#gvhPage').off('click.buscar').on( 'click.buscar', '[data-gvhFunction=buscar]', function(e) { gvh.showConsoleMsg('log',' *** gvh_boton.js - BUSCAR'); //e.stopPropagation(); //e.stopImmediatePropagation(); gvh.buscar( $(this) ); } ); /* *********************************************************************************************************************** * BOTÓN GUARDAR */ $('#gvhPage').off('click.guardar').on( 'click.guardar', '[data-gvhFunction=guardar]', function(e) { gvh.showConsoleMsg('log',' *** gvh_boton.js - GUARDAR'); gvh.showConsoleMsg('log',gvh.datosJSON); //e.stopPropagation(); //e.stopImmediatePropagation(); gvh.guardar( $(this) ); } ); /* *********************************************************************************************************************** * BOTÓN CANCELAR */ $('#gvhPage').off('click.cancelar').on( 'click.cancelar', '[data-gvhFunction=cancelar]', function(e) { gvh.showConsoleMsg('log',' *** gvh_boton.js - CANCELAR'); //e.stopPropagation(); //e.stopImmediatePropagation(); gvh.cancelar( $(this) ); } ); /* * Al pulsar la tecla 'Esc', permitir lanzar la acción del botón cancelar que haya por defecto. */ $('#gvhPage').off('keypress.cancelar').on( 'keypress.cancelar', '[data-gvhestadopanel="W"] .rowOn , [data-gvhestadopanel="W"] .gvh-ficha , [data-gvhestadopanel="I"] .rowOn , [data-gvhestadopanel="I"] .gvh-ficha', function(e) { if( e.keyCode !== 27 ) return; gvh.showConsoleMsg('log', $( e.target ).closest( '.panel' ) ); let btnCancelar = $( e.target ).closest( '.panel' ).find( '[data-gvhcancelbutton]' ); if( !btnCancelar.length ) return; btnCancelar.click(); } ); /* *********************************************************************************************************************** * BOTÓN VOLVER */ $('#gvhPage').off('click.volver').on( 'click.volver', '[data-gvhFunction=volver]', function(e) { gvh.showConsoleMsg('log',' *** gvh_boton.js - VOLVER'); //e.stopPropagation(); //e.stopImmediatePropagation(); gvh.callControllerJS($(this)); }); /* *********************************************************************************************************************** * BOTÓN SALTAR */ $('#gvhPage').off('click.saltar').on( 'click.saltar', '[data-gvhFunction=saltar]', function(e) { gvh.showConsoleMsg('log',' *** gvh_boton.js - SALTAR'); //e.stopPropagation(); //e.stopImmediatePropagation(); gvh.callControllerJS($(this)); }); /* *********************************************************************************************************************** * BOTÓN LISTAR */ $('#gvhPage').off('click.listar').on( 'click.listar', '[data-gvhFunction=listar]', function(e) { gvh.showConsoleMsg('log',' *** gvh_boton.js - LISTAR'); //e.stopPropagation(); //e.stopImmediatePropagation(); gvh.callControllerJS($(this)); }); /* *********************************************************************************************************************** * BOTÓN PARTICULAR */ $('#gvhPage').off('click.particular').on( 'click.particular', '[data-gvhFunction=particular]', function(e) { gvh.showConsoleMsg('log',' *** gvh_boton.js - PARTICULAR'); //e.stopPropagation(); //e.stopImmediatePropagation(); gvh.callControllerJS($(this)); }); /* *********************************************************************************************************************** * BOTÓN CANCELAR DE VENTANA DE SELECCIӓN */ $('#gvhPage').off('click.cancelarvs').on( 'click.cancelarvs', '[data-gvhFunction=cancelarvs]', function(e) { gvh.showConsoleMsg('log',' *** gvh_boton.js - cancelarvs'); //e.stopPropagation(); //e.stopImmediatePropagation(); gvh.cancelarVS($(this)); }); /* *********************************************************************************************************************** * BOTÓN ACEPTAR DE VENTANA DE SELECCIӓN */ $('#gvhPage').off('click.aceptarvs').on( 'click.aceptarvs', '[data-gvhFunction=aceptarvs]', function(e) { gvh.showConsoleMsg('log',' *** gvh_boton.js - aceptarvs'); //e.stopPropagation(); //e.stopImmediatePropagation(); gvh.aceptarVS($(this)); }); /* *********************************************************************************************************************** * BOTÓN ABRIR VENTANA SELECCIÓN */ $('#gvhPage').off('click.openWS').on( 'click.openWS', '[data-gvhFunction=openWS]', function(e) { gvh.showConsoleMsg('log',' *** gvh_boton.js - openWS'); e.stopPropagation(); e.stopImmediatePropagation(); let panel = $(this).attr('data-gvhPanelOn'); let modoPanel = $('div[id=P_'+panel+']').attr('data-gvhestadopanel'); let claseM = $(this).attr('data-gvhClaseManejadora'); let id = $(this).attr('id').split('___'); modoPanel = 'W'; if (id[0] == 'ins') modoPanel = 'I'; if (panel != 'fil') { gvh.blockExit(false, modoPanel, panel, claseM); } gvh.openWS($(this), modoPanel, $(this).attr('title')); /*$(this).openWS( { destino: $(this).attr('data-gvhDestino'), campo: $(this).attr('data-gvhActSobre'), iterActual: $(this).attr('data-gvhIterActual'), formOrigen: $(this).closest('form'), panelActua: panel, claseManejadora: $(this).attr('data-gvhClaseManejadora'), modoPanelOrigen: modoPanel, message: $(this).attr('title') } );*/ gvh.showConsoleMsg('log',gvh.datosJSON); }); /* *********************************************************************************************************************** * BOTÓN BUSCAR VENTANA SELECCIÓN */ $('#gvhPage').off('click.findWS').on( 'click.findWS', '[data-gvhFunction=findWS]', function(e) { gvh.showConsoleMsg('log',' *** gvh_boton.js - findWS'); //e.stopPropagation(); //e.stopImmediatePropagation(); let destino = $(this).attr('data-gvhDestino'); $('#F_vSeleccion').prop('action',destino); $('#F_vSeleccion').submit(); }); /* *********************************************************************************************************************** * BOTÓN ACEPTAR DE VENTANA DE SELECCIӓN */ $('#gvhPage').off('click.buscarvs').on( 'click.buscarvs', '[data-gvhFunction=buscarvs]', function(e) { gvh.showConsoleMsg('log',' *** gvh_boton.js - buscarvs'); //e.stopPropagation(); //e.stopImmediatePropagation(); gvh.buscar($(this)); }); /* *********************************************************************************************************************** * BOTÓN INSERTAR */ $('#gvhPage').off('click.insert').on( 'click.insert', '[data-gvhFunction=insert]', function(e) { gvh.showConsoleMsg('log',' *** gvh_boton.js - insert'); //e.stopPropagation(); //e.stopImmediatePropagation(); gvh.insert($(this)); } ); /* *********************************************************************************************************************** * BOTÓN ELIMINAR */ $('#gvhPage').off('click.delete').on( 'click.delete', '[data-gvhFunction=delete]', function(e) { gvh.showConsoleMsg('log', ' *** gvh_boton.js - delete' ); //e.stopPropagation(); //e.stopImmediatePropagation(); gvh.deleted($(this)); } ); /* *********************************************************************************************************************** * BOTÓN MODIFICAR */ $('#gvhPage').off('click.update').on( 'click.update', '[data-gvhFunction=update]', function(e) { gvh.showConsoleMsg('log',' *** gvh_boton.js - update'); //e.stopPropagation(); //e.stopImmediatePropagation(); gvh.update($(this)); } ); /* *********************************************************************************************************************** * BOTÓN rowEdit */ $('#gvhPage').off('click.rowEdit').on( 'click.rowEdit', '[data-gvhFunction=rowEdit]', function(e) { gvh.showConsoleMsg('log',' *** gvh_boton.js - rowEdit'); //e.stopPropagation(); //e.stopImmediatePropagation(); let id = $(this).attr('id'); let claseM = $(this).attr('data-gvhClaseManejadora'); let panelOn = $(this).attr('data-gvhPanelOn'); let row = $(this).attr('data-gvhRow'); let panelJSON = panelOn.substr(0,3); let raizJSON = gvh.getRoot(claseM,panelJSON); let idCheck = 'check_'+panelOn+'_'+row; let vSufijos = []; vSufijos.push(row); let patronPanel = $(this).attr('data-gvhPatronPanel'); switch(patronPanel) { case 'simple': let checkeado = false; if (panelOn != 'fil') gvh.blockExit(false,'I',panelOn, claseM); $('button[data-gvhFunction=update]').filter('[data-gvhClaseManejadora='+claseM+']').prop('disabled',true); /*$(this).checkRow( { id: id, fila: row, check: 'selected', panel: panelOn, type: $(this).attr('data-gvhCheck'), claseM: claseM });*/ gvh.checkRow( id, row, 'selected', panelOn, $(this).attr('data-gvhCheck'), claseM); gvh.formOnUpdate($(this)); $('input:checkbox[data-gvhWindow='+gvh.ambito+'][id='+idCheck+'][data-gvhClaseManejadora='+claseM+']').prop('checked',true); $('input:checkbox[data-gvhWindow='+gvh.ambito+'][id='+idCheck+'][data-gvhClaseManejadora='+claseM+']').prop('disabled',true); checkeado = true; if (checkeado == false) { $('button[data-gvhWindow='+gvh.ambito+'][data-gvhFunction=update]').filter('[data-gvhClaseManejadora='+claseM+']').prop('disabled',false); } break; case 'TR': $('input:checkbox[data-gvhWindow='+gvh.ambito+'][id='+idCheck+'][data-gvhClaseManejadora='+claseM+']').prop('checked',true); let indiceJSON = gvh.indexDataJSON(raizJSON,row); raizJSON = gvh.getRoot(claseM,panelJSON); gvh.setSelectedReg( raizJSON, indiceJSON, 'add' ); gvh.callControllerJS($(this)); break; default: gvh.showConsoleMsg('error',' ¡¡Botón tooltip rowEdit no definido el tipo de panel!! '); break; }; }); /* *********************************************************************************************************************** * BOTÓN LIMPIAR */ $('#gvhPage').off('click.clean').on( 'click.clean', '[data-gvhFunction=clean]', function(e) { gvh.showConsoleMsg('log',' *** gvh_boton.js - clean'); //e.stopPropagation(); //e.stopImmediatePropagation(); gvh.cleanForm($(this)); }); /* *********************************************************************************************************************** * BOTÓN exportCSV */ $('#gvhPage').off('click.exportCSV').on( 'click.exportCSV', '[data-gvhFunction=exportCSV]', function(e) { gvh.showConsoleMsg('log',' *** gvh_boton.js - exportCSV'); //e.stopPropagation(); //e.stopImmediatePropagation(); gvh.callControllerJS($(this)); }); /* *********************************************************************************************************************** * BOTÓN help */ $('#gvhPage').off('click.help').on( 'click.help', '[data-gvhFunction=help]', function(e) { gvh.showConsoleMsg('log',' *** gvh_boton.js - help'); //e.stopPropagation(); //e.stopImmediatePropagation(); gvh.popupWindow({ windowURL: $(this).attr('data-gvhDestino'), centerScreen: 1, height: 600, width: 800, windowName:'help' }); }); /* *********************************************************************************************************************** * BOTÓN openDoc */ $('#gvhPage').off('click.openDoc').on( 'click.openDoc', '[data-gvhFunction=openDoc]', function(e) { gvh.showConsoleMsg('log',' *** gvh_boton.js - openDoc'); //e.stopPropagation(); //e.stopImmediatePropagation(); gvh.popupWindow({ windowURL: $(this).attr('data-gvhDestino'), centerScreen: 1, height: 600, width: 800, windowName:'document' }); }); /* *********************************************************************************************************************** * BOTÓN updateField */ $('#gvhPage').off('click.updateField').on( 'click.updateField', '[data-gvhFunction=updateField]', function(e) { gvh.showConsoleMsg('log',' *** gvh_boton.js - updateField'); //e.stopPropagation(); //e.stopImmediatePropagation(); gvh.updateEvent($(this)); }); /* *********************************************************************************************************************** * BOTÓN PRINT */ $('#gvhPage').off('click.print').on( 'click.print', '[data-gvhFunction=print]', function(e) { gvh.showConsoleMsg('log',' *** gvh_boton.js - print'); //e.stopPropagation(); //e.stopImmediatePropagation(); window.print(); }); /* *********************************************************************************************************************** * BOTÓN abre popover */ $('#gvhPage').off('click.popover').on( 'click.popover', '[data-toggle=popover]', function(e) { gvh.showConsoleMsg('log',' *** gvh_boton.js - popover'); //e.stopPropagation(); //e.stopImmediatePropagation(); $(this).popover('toggle'); }); /* *********************************************************************************************************************** * BOTÓN DATE */ $('#gvhPage').off('click.date').on( 'click.date', 'button[data-gvhFunction=date]', function(e) { gvh.showConsoleMsg('log',' *** gvh_botonTooltip.js - date ?'); //e.stopPropagation(); //e.stopImmediatePropagation(); $(this).inputmask( { placeholder: "dd/mm/yyyy" } ); let fieldDate = $(this).attr('data-gvhFieldDate'); $('#'+fieldDate).datepicker(); }); $('#gvhPage').off('change.date').on( 'change.date', 'button[data-gvhFunction=date]', function(e) { gvh.showConsoleMsg('log',' *** gvh_botonTooltip.js - date ?'); //e.stopPropagation(); //e.stopImmediatePropagation(); gvh.changeField($(this)); }); /*$('#gvhPage').off('click.date').on( 'click.date', 'button[data-gvhFunction=date]', function(e) { gvh.showConsoleMsg('log',' *** gvh_botonTooltip.js - date'); //e.stopPropagation(); //e.stopImmediatePropagation(); gvhAmbito = $(this).attr('data-gvhWindow'); field = $(this).attr('data-gvhFieldDate'); gvh.showConsoleMsg('log','date '+field); $('#'+field).datepicker('show'); });*/ /*$('#gvhPage').off('click.date').on( 'click.date', 'button[data-gvhFunction=date]', function(e) { gvh.showConsoleMsg('log',' *** gvh_botonTooltip.js - date ?'); //e.stopPropagation(); //e.stopImmediatePropagation(); fieldDate = $(this).attr('data-gvhFieldDate'); $('#'+fieldDate).datepicker(); });*/ /* BOTÓN TOOLTIP datetime */ /* $('#gvhPage').off('click.dateTime').on( 'click.dateTime', 'button[data-gvhFunction=dateTime]', function(e) { gvhAmbito = $(this).attr('data-gvhWindow'); if (gvhAmbito == ambito) { id = $(this).attr('id'); gvh.showConsoleMsg('log','dateTime '+id); field = $(this).attr('data-gvhFieldDate'); $('#'+field).datetimepicker( { addSliderAccess: true, sliderAccessArgs: { touchonly: false } } ); $(this).focus(); } });*/ /* *********************************************************************************************************************** * BOTÓN url */ $('#gvhPage').off('click.url').on( 'click.url', '[data-gvhFunction=url]', function(e) { gvh.showConsoleMsg('log',' *** gvh_boton.js - url'); //e.stopPropagation(); //e.stopImmediatePropagation(); let id = $(this).attr('id'); let campo = id.split('gvhURL_')[1]; let url = $('#'+campo).val(); let http = url.indexOf("http"); let ftp = url.indexOf("ftp"); if (url != '') { if ((url.indexOf("file:///") > -1)) { gvh.popupWindow({ windowURL: url, centerScreen: 1, height: 600, width: 800, windowName: 'url' }); } else { if ((url.indexOf("http") == -1) && (url.indexOf("ftp") == -1)) { url = "//"+url; } if ((url.indexOf("http") > -1) || (url.indexOf("ftp") > -1)) { gvh.popupWindow( { windowURL: url, centerScreen: 1, height: 600, width: 800, windowName: 'url' } ); } } } }); /* *********************************************************************************************************************** * BOTÓN ÁRBOL */ $('#gvhPage').off('click.tree').on( 'click.tree', '[data-gvhFunction=tree]', function(e) { gvh.showConsoleMsg('log',' *** gvh_boton.js - tree'); $('div[id=divArbol]').toggle(); }); $('#gvhPage').off('click.gvhArbol').on( 'click.gvhArbol', '[data-gvhArbol]', function(e) { gvh.showConsoleMsg('log',' *** gvh_boton.js - gvhArbol'); //e.stopPropagation(); //e.stopImmediatePropagation(); $('div[id=divArbol]').toggle(); }); /* *********************************************************************************************************************** * BOTÓN DEBUG */ $('#gvhPage').off('click.gvHidraDebug').on( 'click.gvHidraDebug', '[data-gvhFunction=gvHidraDebug]', function(e) { gvh.showConsoleMsg('log',' *** gvh_boton.js - gvHidraDebug'); //e.stopPropagation(); //e.stopImmediatePropagation(); gvh.popupWindow( { windowURL: $(this).attr('data-gvhDestino'), scrollbars: 1, centerScreen: 1, height: '700', width: '1300', windowName:'newWindow' } ); }); /* *********************************************************************************************************************** * BOTÓN MAP */ $('#gvhPage').offon( 'click', 'button[data-gvhFunction=map]', function(e) { action = $(this).attr('data-gvhDestino'); visor = $(this).attr('data-gvhVisor'); coordX = $(this).attr('data-gvhCoordX'); coordY = $(this).attr('data-gvhCoordY'); zoom = $(this).attr('data-gvhZoom'); url = $(this).attr('data-gvhURL'); tipo = $(this).attr('data-gvhTipo'); id = $(this).attr('id'); switch(visor) { case 'visorICV': $('#'+id).visorICV({ campoLongitud: coordX, campoLatitud: coordY, zoom: zoom, url: url, tipo: tipo }); break; case 'visorGoogle': $('#'+id).visorGoogle({ campoLongitud: coordX, campoLatitud: coordY, zoom: zoom, url: url, tipo: tipo }); break; case 'visorStreetMap': $('#'+id).visorStreetMap({ campoLongitud: coordX, campoLatitud: coordY, zoom: zoom, url: url, tipo: tipo, action: action }); break; case 'visorIDEE': $('#'+id).visorIDEE({ campoLongitud: coordX, campoLatitud: coordY, zoom: zoom, url: url, tipo: tipo }); break; default: break; } }); } //gvh.Boton } (jQuery);