/* * Codificación UTF-8 * Eventos asociados a los botones ToolTip */ var gvh = gvh || {}; /* *********************************************************************************************************************** * BOTÓN INSERTAR */ $('#gvhPage').offon( 'click', 'button[data-gvhFunction=insert]', function(e) { console.log(' *** gvh_botonTooltip.js - insert'); e.stopPropagation(); e.stopImmediatePropagation(); var patronPanel = $(this).attr( 'data-gvhPatronPanel' ); var panelOn = $(this).attr( 'data-gvhPanelOn' ); var claseM = $(this).attr( 'data-gvhClaseManejadora' ); var id = $(this).attr( 'id' ); var destino = $(this).attr( 'data-gvhDestino' ); var actuaSobre = $(this).attr('data-gvhActSobre'); if( panelOn != 'fil' && panelOn == actuaSobre ) { gvh.blockExit( false, 'I', panelOn ); } switch( patronPanel ) { case 'TR': gvh.callControllerJS( $(this) ); break; case 'simple': case 'maestro': $( 'div[data-gvhpagina=block][data-gvhWindow='+ambito+']' ).hide(); if( (panelOn != 'fil') && ((destino == '') || (destino == undefined)) ) { $(this).formOnInsert( { id: id , panel: panelOn , patron: patronPanel , claseM: claseM } ); } else { gvh.callControllerJS( $(this) ); } break; case 'detalle': $( 'div[data-gvhpagina=block][data-gvhWindow='+ambito+']' ).hide(); if( (patronPanel == 'TR') || ((destino != undefined) && (destino != '')) ) { gvh.callControllerJS( $(this) ); } else { $(this).formOnInsert( { id: $(this).attr( 'id' ), panel: $(this).attr( 'data-gvhPanelOn' ), patron: 'detalle', claseM: $(this).attr( 'data-gvhClaseManejadora' ) }); } break; default: break; } } ); /* *********************************************************************************************************************** * BOTÓN ELIMINAR */ $('#gvhPage').offon( 'click', 'button[data-gvhFunction=delete]', function(e) { console.log( ' *** gvh_botonTooltip.js - delete' ); e.stopPropagation(); e.stopImmediatePropagation(); var id = $(this).attr( 'id' ); var claseM = $(this).attr( 'data-gvhClaseManejadora' ); var panelOn = $(this).attr( 'data-gvhPanelOn' ); var panelJSON = panelOn.substr( 0, 3 ); var raizJSON = gvh.getRoot( claseM, panelJSON ); if( panelOn != 'fil' ) { gvh.blockExit( false, 'D', panelOn ); } switch( panelOn ) { case 'lis': case 'lisDetalle': var vSufijos = []; if( $('input:checkbox[id^=checkAll_]').is(':checked') ) { $(this).formOnDeleteTable( { id: $(this).attr('id') , panel: panelOn , sufijos: $( 'input:checkbox[data-gvhWindow='+ambito+'][id^=checkAll_]' ).attr( 'data-gvhTotalReg' ) , checked: 'all' , claseManejadora: claseM } ); } else { $( 'input[data-gvhWindow='+ambito+'][id*=check_'+panelOn+']:checked' ).each( function() { var sufijo = $(this).attr( 'id' ).split('check_')[1]; var row = $(this).attr( 'data-gvhRow' ); var indiceJSON = gvh.indexDataJSON( raizJSON, row ); var estado = gvh.getStateReg(raizJSON,indiceJSON,'state'); //var estado = raizJSON['data'][indiceJSON]['gvhJS_state']; if( estado == 'nada' ) { vSufijos.push( sufijo ); } } ); if( vSufijos.length > 0 ) { $(this).formOnDeleteTable( { id: id, panel: panelOn, sufijos: vSufijos, claseManejadora: claseM } ); } else { gvh.showMessage( 'gvhlang_msj16', 'alert' ); } } break; case 'edi': case 'ediDetalle': var sufijo = ''; $( 'div[id*=pag_'+panelOn+'_]' ).each( function() { if( $(this).is( ':visible' ) ) { sufijo = $(this).attr( 'id' ).substring( 3, $(this).attr('id').length ); } } ); $(this).formOnDeleteReg( { id: id , panel: panelOn , pag: sufijo } ); break; default: break; } } ); /* *********************************************************************************************************************** * BOTÓN MODIFICAR */ $('#gvhPage').offon( 'click', 'button[data-gvhFunction=update]', function(e) { console.log(' *** gvh_botonTooltip.js - update'); e.stopPropagation(); e.stopImmediatePropagation(); var id = $(this).attr('id'); var claseM = $(this).attr('data-gvhClaseManejadora'); var panelOn = $(this).attr('data-gvhPanelOn'); var patronPanel = $(this).attr('data-gvhPatronPanel'); var panelJSON = panelOn.substr(0,3); var raizJSON = datosJSON[claseM][panelJSON]; var actuaSobre = $(this).attr('data-gvhActSobre'); //var funcion = $(this).attr('data-gvhFunction'); if( panelOn != 'fil' && panelOn == actuaSobre ) { gvh.blockExit( false, 'W', panelOn, patronPanel ); } switch( panelOn ) { case 'edi': case 'ediDetalle': var sufijo = panelOn+'_0'; $(this).formOnUpdateReg( { id: $(this).attr('id') , panel: panelOn , sufijo: sufijo }) break; case 'lis': case 'lisDetalle': if( patronPanel == 'simple' ) // Patrón tabular simple/maestro/detalle { var vSufijos = []; if( $('input:checkbox[data-gvhWindow='+ambito+'][data-gvhFunction=checkAll]').is(':checked') ) { $(this).formStateFieldsTable( { id: $(this).attr( 'id' ) , panel: panelOn , sufijos: $('input:checkbox[id^=checkAll_]').attr('data-gvhTotalReg') , checked: 'all' } ) } else { $( 'input[data-gvhFunction=checkRow][data-gvhPanelOn='+panelOn+']:checked' ).each( function() { var gvhWindow = $(this).attr( 'data-gvhWindow' ); if( ambito == gvhWindow ) { var sufijo = $(this).attr( 'id' ).split('check_')[1]; var row = $(this).attr( 'data-gvhRow' ); var raizJSON = gvh.getRoot( claseM, panelJSON ); var indiceJSON = gvh.indexDataJSON(raizJSON, row ); var estado = gvh.getStateReg(raizJSON,indiceJSON,'state'); //estado = raizJSON['data'][indiceJSON]['gvhJS_state']; if( estado == 'nada' ) { vSufijos.push( row ); } } } ); if( vSufijos.length > 0 ) { $(this).formStateFieldsTable( { id: $(this).attr( 'id' ), panel: panelOn, sufijos: vSufijos } ); } else { gvh.showMessage( 'gvhlang_msj16', 'alert' ); } } } else if ( patronPanel == 'TR' ) // Patrón Tabular-Registro { filaCheck = false; $( 'input:checkbox[data-gvhWindow='+ambito+'][id^=check_]' ).filter( '[data-gvhPanelOn='+panelOn+']' ).map( function() { if( $(this).is( ':checked' ) ) { filaCheck = true; return false; } } ); if( filaCheck ) { gvh.callControllerJS( $(this) ); } else { gvh.showMessage( 'gvhlang_msj16', 'alert' ); } } else { console.log( ' ¡¡Botón tooltip modificar no definido el tipo de panel!! ' ); } break; default: console.log( ' ¡¡Botón tooltip modificar no asociado a ningún panel!! ' ); break; } } ); /* *********************************************************************************************************************** * BOTÓN rowEdit */ $('#gvhPage').offon( 'click', 'button[data-gvhFunction=rowEdit]', function(e) { console.log(' *** gvh_botonTooltip.js - rowEdit'); e.stopPropagation(); e.stopImmediatePropagation(); var id = $(this).attr('id'); var claseM = $(this).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': checkeado = false; if ($('input:checkbox[data-gvhWindow='+ambito+'][id='+idCheck+'][data-gvhClaseManejadora='+claseM+']').is(':checked')) { // Si la fila ya estaba seleccionada, se desactiva la fila y los campos $('input:checkbox[data-gvhWindow='+ambito+'][id='+idCheck+'][data-gvhClaseManejadora='+claseM+']').prop('checked',false); $('input:checkbox[data-gvhWindow='+ambito+'][id='+idCheck+'][data-gvhClaseManejadora='+claseM+']').prop('disabled',false); $(this).formStateFieldsTable({ id: id, panel: panelOn, sufijos: vSufijos, modo: 'off' }) } else { if (panelOn != 'fil') gvh.blockExit(false,'I',panelOn); // Deshabilitamos el botón de la barra de modificación $('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 }); $(this).formStateFieldsTable( { id: id, panel: panelOn, sufijos: vSufijos, checked: 'unique', modo: 'on' }) $('input:checkbox[data-gvhWindow='+ambito+'][id='+idCheck+'][data-gvhClaseManejadora='+claseM+']').prop('checked',true); $('input:checkbox[data-gvhWindow='+ambito+'][id='+idCheck+'][data-gvhClaseManejadora='+claseM+']').prop('disabled',true); checkeado = true; }; if (checkeado == false) { $('button[data-gvhWindow='+ambito+'][data-gvhFunction=update]').filter('[data-gvhClaseManejadora='+claseM+']').prop('disabled',false); } break; case 'TR': $('input:checkbox[data-gvhWindow='+ambito+'][id='+idCheck+'][data-gvhClaseManejadora='+claseM+']').prop('checked',true); var indiceJSON = gvh.indexDataJSON(raizJSON,row); //raizJSON = datosJSON[claseM][panelJSON]; //raizJSON['data'][indiceJSON]['gvhJS_selected'] = 'selected'; //raizJSON['dataPerform']['data'][indiceJSON]['gvhJS_selected'] = 'selected'; var raizJSON = gvh.getRoot(claseM,panelJSON); gvh.setStateReg(raizJSON,'selected',indiceJSON,'add'); gvh.callControllerJS($(this)); break; default: console.log(' ¡¡Botón tooltip rowEdit no definido el tipo de panel!! '); break; }; }); /* *********************************************************************************************************************** * BOTÓN LIMPIAR */ $('#gvhPage').offon( 'click', 'button[id*=bttlLimpiar][data-gvhFunction=clean]', function(e) { console.log(' *** gvh_botonTooltip.js - clean'); e.stopPropagation(); e.stopImmediatePropagation(); $(this).cleanForm({ id: $(this).attr('id'), panel: $(this).attr('data-gvhPanelOn'), claseM: $(this).attr('data-gvhClaseManejadora') }) }); /* *********************************************************************************************************************** * BOTÓN exportCSV */ $('#gvhPage').offon( 'click', 'button[data-gvhFunction=exportCSV]', function(e) { console.log(' *** gvh_botonTooltip.js - exportCSV'); e.stopPropagation(); e.stopImmediatePropagation(); gvh.callControllerJS($(this)); }); /* *********************************************************************************************************************** * BOTÓN help */ $('#gvhPage').offon( 'click', 'button[data-gvhFunction=help]', function(e) { console.log(' *** gvh_botonTooltip.js - help'); e.stopPropagation(); e.stopImmediatePropagation(); $(this).popupWindow({ windowURL: $(this).attr('data-gvhDestino'), centerScreen: 1, height: 600, width: 800, windowName:'help' }); }); /* *********************************************************************************************************************** * BOTÓN openDoc */ $('#gvhPage').offon( 'click', 'button[data-gvhFunction=openDoc]', function(e) { console.log(' *** gvh_botonTooltip.js - openDoc'); e.stopPropagation(); e.stopImmediatePropagation(); $(this).popupWindow({ windowURL: $(this).attr('data-gvhDestino'), centerScreen: 1, height: 600, width: 800, windowName:'document' }); }); /* *********************************************************************************************************************** * BOTÓN particular */ $('#gvhPage').offon( 'click', 'button[data-gvhFunction=particular][class=btnTooltip]', function(e) { console.log(' *** gvh_botonTooltip.js - particular'); e.stopPropagation(); e.stopImmediatePropagation(); var panelOn = $(this).attr('data-gvhPanelOn'); var vSufijos = []; if ((panelOn == 'lis') || (panelOn == 'lisDetalle')) { $('input[id*=check_'+panelOn+']:checked').each(function() { sufijo = $(this).attr('id').split('check_')[1]; vSufijos.push(sufijo); }); } if ((vSufijos.length > 0) || ((panelOn == 'edi') || (panelOn == 'ediDetalle'))) { gvh.callControllerJS($(this)); } else { gvh.showMessage('gvhlang_msj16','alert'); } }); /* *********************************************************************************************************************** * BOTÓN saltar */ $('#gvhPage').offon( 'click', 'button[data-gvhFunction=jump]', function(e) { console.log(' *** gvh_botonTooltip.js - saltar'); e.stopPropagation(); e.stopImmediatePropagation(); var panelOn = $(this).attr('data-gvhPanelOn'); var vSufijos = []; if ((panelOn == 'lis') || (panelOn == 'lisDetalle')) { $('input[id*=check_'+panelOn+']:checked').each(function() { sufijo = $(this).attr('id').split('check_')[1]; vSufijos.push(sufijo); }); } formulario = "F_"+panelOn; destinoLength = $(this).attr('data-gvhDestino').length; if (destinoLength > 0) { destino = $(this).attr('data-gvhDestino'); } else { destino = $('#'+formulario).attr('action'); } newWindow = $(this).attr('data-gvhNewWindow'); if (newWindow === undefined) { newWindow = 'false'; } gvh.callControllerJS($(this)); }); /* *********************************************************************************************************************** * BOTÓN updateField */ $('#gvhPage').offon( 'click', 'button[data-gvhFunction=updateField]', function(e) { console.log(' *** gvh_botonTooltip.js - updateField'); e.stopPropagation(); e.stopImmediatePropagation(); var id = $(this).attr('id'); $('input[id=h_'+$(this).attr('id')+']').val('S'); var campo = $(this).attr('data-gvhActualizaA'); var panel = $(this).attr('data-gvhPanelOn'); var claseM = $(this).attr('data-gvhClaseManejadora'); var formulario = $(this).closest('form'); var actionOld = $(formulario).attr('action'); console.log(' ******* CLICK updateField() *******'); $('#'+id).updateEvent({ id: id, actualizaA: campo, panel: panel, claseM: claseM, formulario: formulario, message: $(this).attr('title') }); }); /* *********************************************************************************************************************** * BOTÓN PRINT */ $('#gvhPage').offon( 'click', 'button[data-gvhFunction=print]', function(e) { console.log(' *** gvh_botonTooltip.js - print'); e.stopPropagation(); e.stopImmediatePropagation(); window.print(); }); /* *********************************************************************************************************************** * BOTÓN TOOLTIP que abre popover */ $('#gvhPage').offon( 'click', 'button[data-toggle=popover]', function(e) { console.log(' *** gvh_botonTooltip.js - popover'); e.stopPropagation(); e.stopImmediatePropagation(); $(this).popover('toggle'); }); /* *********************************************************************************************************************** * BOTÓN TOOLTIP url */ $('#gvhPage').offon( 'click', 'button[data-gvhFunction=url]', function(e) { console.log(' *** gvh_botonTooltip.js - url'); e.stopPropagation(); e.stopImmediatePropagation(); var id = $(this).attr('id'); campo = id.split('gvhURL_')[1]; url = $('#'+campo).val(); var http = url.indexOf("http"); var ftp = url.indexOf("ftp"); if (url != '') { if ((url.indexOf("file:///") > -1)) { $(this).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)) { $(this).popupWindow({ windowURL: url, centerScreen: 1, height: 600, width: 800, windowName: 'url' }); } } } }); /* *********************************************************************************************************************** * BOTÓN ABRIR VENTANA SELECCIÓN */ $('#gvhPage').offon( 'click', 'button[data-gvhFunction=openWS]', function(e) { console.log(' *** gvh_botonTooltip.js - openWS'); e.stopPropagation(); e.stopImmediatePropagation(); var panel = $(this).attr('data-gvhPanelOn'); var modoPanel = $('div[id=P_'+panel+']').attr('data-gvhestadopanel'); var id = $(this).attr('id').split('___'); modoPanel = 'W'; if (id[0] == 'ins') modoPanel = 'I'; if (panel != 'fil') { gvh.blockExit(false,modoPanel,panel); } $(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') }); }); /* *********************************************************************************************************************** * BOTÓN BUSCAR VENTANA SELECCIÓN */ $('#gvhPage').offon( 'click', 'button[data-gvhFunction=findWS]', function(e) { console.log(' *** gvh_botonTooltip.js - findWS'); e.stopPropagation(); e.stopImmediatePropagation(); var destino = $(this).attr('data-gvhDestino'); $('#F_vSeleccion').prop('action',destino); $('#F_vSeleccion').submit(); }); /* *********************************************************************************************************************** * BOTÓN DATE */ $('#gvhPage').offon( 'click', 'button[data-gvhFunction=date]', function(e) { console.log(' *** gvh_botonTooltip.js - date ?'); e.stopPropagation(); e.stopImmediatePropagation(); $(this).inputmask({ placeholder: "dd/mm/yyyy" }); fieldDate = $(this).attr('data-gvhFieldDate'); $('#'+fieldDate).datepicker(); }); $('#gvhPage').offon( 'change', 'button[data-gvhFunction=date]', function(e) { console.log(' *** gvh_botonTooltip.js - date ?'); e.stopPropagation(); e.stopImmediatePropagation(); $(this).changeStatePanel({ id: $(this).attr('id'), panel: $(this).attr('data-gvhPanelOn') }) }); /*$('#gvhPage').offon( 'click', 'button[data-gvhFunction=date]', function(e) { console.log(' *** gvh_botonTooltip.js - date'); e.stopPropagation(); e.stopImmediatePropagation(); gvhAmbito = $(this).attr('data-gvhWindow'); field = $(this).attr('data-gvhFieldDate'); console.log('date '+field); $('#'+field).datepicker('show'); });*/ /*$('#gvhPage').offon( 'click', 'button[data-gvhFunction=date]', function(e) { console.log(' *** gvh_botonTooltip.js - date ?'); e.stopPropagation(); e.stopImmediatePropagation(); fieldDate = $(this).attr('data-gvhFieldDate'); $('#'+fieldDate).datepicker(); });*/ /* BOTÓN TOOLTIP datetime */ /* $('#gvhPage').offon( 'click', 'button[data-gvhFunction=dateTime]', function(e) { gvhAmbito = $(this).attr('data-gvhWindow'); if (gvhAmbito == ambito) { id = $(this).attr('id'); console.log('dateTime '+id); field = $(this).attr('data-gvhFieldDate'); $('#'+field).datetimepicker({ addSliderAccess: true, sliderAccessArgs: { touchonly: false } }); $(this).focus(); } });*/ /* *********************************************************************************************************************** * BOTÓN ÁRBOL */ $('#gvhPage').offon( 'click', 'button[data-gvhFunction=tree]', function(e) { console.log(' *** gvh_botonTooltip.js - tree'); $('div[id=divArbol]').toggle(); }); $('#gvhPage').offon( 'click', '[data-gvhArbol]', function(e) { console.log(' *** gvh_botonTooltip.js - gvhArbol'); e.stopPropagation(); e.stopImmediatePropagation(); $('div[id=divArbol]').toggle(); }); /* *********************************************************************************************************************** * BOTÓN TOOLTIP DEBUG */ $('#gvhPage').offon( 'click', 'button[data-gvhFunction=gvHidraDebug]', function(e) { console.log(' *** gvh_botonTooltip.js - gvHidraDebug'); e.stopPropagation(); e.stopImmediatePropagation(); $(this).popupWindow({ windowURL: $(this).attr('data-gvhDestino'), scrollbars: 1, centerScreen: 1, height: '700', width: '1300', windowName:'newWindow' }); });