/* * Codificación UTF-8 * Eventos asociados a los botones tooltip con data-gvhFunction: * -> insert * -> delete * -> update * -> rowEdit * -> clean * -> exportCSV * -> help * -> openDoc * -> particular * -> jump * -> updateField * -> print * -> popover * -> url * -> openWS * -> findWS * -> date * -> tree */ 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 destino = $(this).attr( 'data-gvhDestino' ); var actuaSobre = $(this).attr( 'data-gvhActSobre' ); var claseM = $(this).attr( 'data-gvhClaseManejadora' ); if( panelOn != 'fil' && panelOn == actuaSobre ) { gvh.blockExit( false, 'I', panelOn, claseM ); } switch( patronPanel ) { case 'TR': gvh.callControllerJS( $(this) ); break; case 'simple': case 'maestro': case 'detalle': $( 'div[data-gvhpagina=block][data-gvhWindow='+ambito+']' ).hide(); if( (panelOn == 'fil') || ((destino != undefined) && (destino != '')) ) { gvh.callControllerJS( $(this) ); } else { gvh.formOnInsert($(this)); } 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, claseM ); } switch( panelOn ) { case 'lis': case 'lisDetalle': var vSufijos = []; if( $('input:checkbox[id^=checkAll_]').is(':checked') ) { gvh.formOnDelete($(this)); } 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'); if( estado == 'nada' ) { vSufijos.push( sufijo ); } } ); if( vSufijos.length > 0 ) { gvh.formOnDelete($(this)); } 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 ); } } ); gvh.formOnDelete($(this)); 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'); if( panelOn != 'fil' && panelOn == actuaSobre ) { gvh.blockExit( false, 'W', panelOn, patronPanel, claseM ); } switch( panelOn ) { case 'edi': case 'ediDetalle': var sufijo = panelOn+'_0'; gvh.formOnUpdate($(this)); 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') ) { gvh.formOnUpdate($(this)); } 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'); if( estado == 'nada' ) { vSufijos.push( row ); } } } ); if( vSufijos.length > 0 ) { gvh.formOnUpdate($(this)); } 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 (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.formOnUpdate($(this)); $('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); var raizJSON = gvh.getRoot(claseM,panelJSON); gvh.setSelectedReg( raizJSON, 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(); var id = $(this).attr('id'); gvh.cleanForm(id); }); /* *********************************************************************************************************************** * 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(); gvh.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(); gvh.popupWindow({ windowURL: $(this).attr('data-gvhDestino'), centerScreen: 1, height: 600, width: 800, windowName:'document' }); }); /* *********************************************************************************************************************** * BOTÓN particular */ $('#gvhPage').offon( 'click', 'button[data-gvhFunction=particular][data-gvhCWSource=cwbotontooltip]', 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'); }*/ gvh.callControllerJS($(this)); }); /* *********************************************************************************************************************** * 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(); gvh.updateEvent($(this)); }); /* *********************************************************************************************************************** * 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)) { 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 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 claseM = $(this).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); } $(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(); gvh.changeField($(this)); }); /*$('#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(); gvh.popupWindow({ windowURL: $(this).attr('data-gvhDestino'), scrollbars: 1, centerScreen: 1, height: '700', width: '1300', windowName:'newWindow' }); });