/* * 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.2'; /* *********************************************************************************************************************** * BOTÓN BUSCAR */ $('#gvhPage').off('click.buscar').on( 'click.buscar', '[data-gvhFunction=buscar]', function(e) { gvh.showConsoleMsg('log',' *** gvh_boton.js - BUSCAR'); var $this = $(this); gvh.semaphoreEnqueue ( { id: 'click.buscar' , callback: function() { 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); var $this = $(this); gvh.semaphoreEnqueue ( { id: 'click.guardar' , callback: function() { 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'); var $this = $(this); gvh.semaphoreEnqueue ( { id: 'click.cancelar' , callback: function() { gvh.cancelar ($this); } } ); } ); /* REVIEW: Versión 5.1.x * 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; var $this = $(this); var $panel = $(e.target).closest('.panel'); gvh.semaphoreEnqueue ( { id: 'keypress.cancelar' , callback: function() { gvh.showConsoleMsg('log', $panel); var btnCancelar = $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(); var $this = $(this); gvh.semaphoreEnqueue ( { id: 'click.volver' , callback: function() { 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(); var $this = $(this); gvh.semaphoreEnqueue ( { id: 'click.saltar' , callback: function() { 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(); var $this = $(this); gvh.semaphoreEnqueue ( { id: 'click.listar' , callback: function() { 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(); var $this = $(this); gvh.semaphoreEnqueue ( { id: 'click.particular' , callback: function() { 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(); var $this = $(this); gvh.semaphoreEnqueue ( { id: 'click.cancelarvs' , callback: function() { 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(); var $this = $(this); gvh.semaphoreEnqueue ( { id: 'click.aceptarvs' , callback: function() { 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(); var $this = $(this); gvh.semaphoreEnqueue ( { id: 'click.openWS' , callback: function() { var panel = $this.attr('data-gvhPanelOn'); var modoPanel = $('div[id=P_'+panel+']').attr('data-gvhestadopanel'); var claseM = $this.closest('[data-gvhClaseManejadora]').attr('data-gvhClaseManejadora'); var 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')); 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'); var $this = $(this); gvh.semaphoreEnqueue ( { id: 'click.findWS' , callback: function() { var 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(); var $this = $(this); gvh.semaphoreEnqueue ( { id: 'click.buscarvs' , callback: function() { 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'); var $this = $(this); gvh.semaphoreEnqueue ( { id: 'click.insert' , callback: function() { 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' ); var $this = $(this); gvh.semaphoreEnqueue ( { id: 'click.delete' , callback: function() { 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'); var $this = $(this); gvh.semaphoreEnqueue ( { id: 'click.update' , callback: function() { 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'); var $this = $(this); gvh.semaphoreEnqueue ( { id: 'click.rowEdit' , callback: function() { var id = $this.attr('id'); var claseM = $this.closest('[data-gvhClaseManejadora]').attr('data-gvhClaseManejadora'); var panelOn = $this.attr('data-gvhPanelOn'); var row = $this.attr('data-gvhRow'); var panelJSON = panelOn.substr(0,3); var raizJSON = gvh.getRoot(claseM,panelJSON); var idCheck = 'check_'+panelOn+'_'+row; var vSufijos = []; vSufijos.push(row); var patronPanel = $this.attr('data-gvhPatronPanel'); switch(patronPanel) { case 'simple': var checkeado = false; if (panelOn != 'fil') { var modoPanel = $('#P_'+panelOn+'[data-gvhClaseManejadora='+claseM+']').attr('data-gvhEstadoPanel'); gvh.blockExit(false,modoPanel,panelOn, claseM); } $('button[data-gvhFunction=update]').filter('[data-gvhClaseManejadora='+claseM+']').prop('disabled',true); gvh.checkRow( id, row, 'selected', panelOn, $this.attr('data-gvhCheck'), claseM); gvh.formOnUpdate($this); var checkboxCtrl = $('input:checkbox[data-gvhWindow='+gvh.ambito+'][id='+idCheck+'][data-gvhClaseManejadora='+claseM+']'); if( checkboxCtrl.length ){ checkboxCtrl.prop('checked',true); //checkboxCtrl.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); var 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'); var $this = $(this); gvh.semaphoreEnqueue ( { id: 'click.clean' , callback: function() { 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'); var $this = $(this); gvh.semaphoreEnqueue ( { id: 'click.exportCSV' , callback: function() { 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'); var $this = $(this); gvh.semaphoreEnqueue ( { id: 'click.help' , callback: function() { 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'); var $this = $(this); gvh.semaphoreEnqueue ( { id: 'click.openDoc' , callback: function() { 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'); var $this = $(this); gvh.semaphoreEnqueue ( { id: 'click.updateField' , callback: function() { 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'); gvh.semaphoreEnqueue ( { id: 'click.print' , callback: function() { 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'); var $this = $(this); gvh.semaphoreEnqueue ( { id: 'click.popover' , callback: function() { $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 ?'); var $this = $(this); gvh.semaphoreEnqueue ( { id: 'click.date' , callback: function() { // $this.inputmask( { placeholder: "dd/mm/yyyy" } ); var fieldDate = $this.attr('data-gvhFieldDate'); $('#'+fieldDate).inputmask(); $('#'+fieldDate).datepicker(); } } ); } ); $('#gvhPage').off('change.date').on( 'change.date', 'button[data-gvhFunction=date]', function(e) { gvh.showConsoleMsg('log',' *** gvh_botonTooltip.js - date ?'); var $this = $(this); gvh.semaphoreEnqueue ( { id: 'change.date' , callback: function() { gvh.changeField ($this); } } ); } ); /*$('#gvhPage').off('click.date').on( 'click.date', 'button[data-gvhFunction=date]', function(e) { gvh.showConsoleMsg('log',' *** gvh_botonTooltip.js - date'); var $this = $(this); gvh.semaphoreEnqueue ( { id: 'click.date' , callback: function() { 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 ?'); var $this = $(this); gvh.semaphoreEnqueue ( { id: 'click.date' , callback: function() { fieldDate = $this.attr ('data-gvhFieldDate'); $('#'+fieldDate).datepicker(); } } ); } );*/ /* BOTÓN TOOLTIP datetime */ /* $('#gvhPage').off('click.dateTime').on( 'click.dateTime', 'button[data-gvhFunction=dateTime]', function(e) { var $this = $(this); gvh.semaphoreEnqueue ( { id: 'click.dateTime' , callback: function() { 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'); var $this = $(this); gvh.semaphoreEnqueue ( { id: 'click.url' , callback: function() { var id = $this.attr('id'); var campo = id.split('gvhURL_')[1]; var url = $('#'+campo).val(); var http = url.indexOf("http"); var 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'); gvh.semaphoreEnqueue ( { id: 'click.tree' , callback: function() { $('div#divArbol').toggle(); } } ); } ); $('#gvhPage').off('click.gvhArbol').on( 'click.gvhArbol', '[data-gvhArbol]', function(e) { gvh.showConsoleMsg('log',' *** gvh_boton.js - gvhArbol'); gvh.semaphoreEnqueue ( { id: 'click.gvhArbol' , callback: function() { $('div#divArbol').toggle(); } } ); } ); /* *********************************************************************************************************************** * BOTÓN DEBUG */ $('#gvhPage').off('click.gvHidraDebug').on( 'click.gvHidraDebug', '[data-gvhFunction=gvHidraDebug]', function(e) { gvh.showConsoleMsg('log',' *** gvh_boton.js - gvHidraDebug'); var $this = $(this); gvh.semaphoreEnqueue ( { id: 'click.gvHidraDebug' , callback: function() { gvh.popupWindow( { windowURL: $this.attr('data-gvhDestino'), scrollbars: 1, centerScreen: 1, height: '700', width: '1300', windowName:'newWindow' } ); } } ); } ); /* *********************************************************************************************************************** * BOTÓN MAP */ $('#gvhPage').off('click.mapa').on( 'click.mapa', 'button[data-gvhFunction=mapa]', function(e) { gvh.showConsoleMsg('log',' *** gvh_boton.js - mapa'); e.stopPropagation(); e.stopImmediatePropagation(); var $this = $(this); gvh.semaphoreEnqueue ( { id: 'click.mapa' , callback: function() { gvh.openMapa ($this); } } ); } ); } //gvh.Boton } (jQuery);