/* * Codificación UTF-8 * Eventos asociados a los botones ToolTip */ var gvh = gvh || {}; /************************************************************************************************************************ * BOTÓN TOOLTIP INSERTAR *************************************************************************************************************************/ $('#gvhPage').offon( 'click', 'button[data-gvhFunction=insert]', function(e) { e.stopPropagation(); e.stopImmediatePropagation(); var patronPanel = $(this).attr('data-gvhPatronPanel'); var panel = $(this).attr('data-gvhPanelOn'); var claseM = $(this).attr('data-gvhClaseManejadora'); var id = $(this).attr('id'); var destino = $(this).attr('data-gvhDestino'); console.log('MODO INSERTAR patrón '+patronPanel); if (panel != 'fil') gvh.blockExit(false,'I',panel); switch(patronPanel) { case 'TR': gvh.callControllerJS($(this)); break; case 'simple': case 'maestro': $('div[data-gvhpagina=block][data-gvhWindow='+ambito+']').hide(); if ((panel != 'fil') && ((destino == '') || (destino == undefined))) { $(this).formOnInsert({ id: id, panel: panel, patron: patronPanel, claseM: claseM }) } else { gvh.callControllerJS($(this)); } break; case 'detalle': $('div[data-gvhpagina=block][data-gvhWindow='+ambito+']').hide(); var TR = $(this).attr('data-gvhtr'); if ((TR == '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 TOOLTIP ELIMINAR *************************************************************************************************************************/ $('#gvhPage').offon( 'click', 'button[data-gvhFunction=delete]', function(e) { 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 = datosJSON[claseM][panelJSON]; if (panel != 'fil') gvh.blockExit(false,'D',panel); 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(claseM,panelJSON,row); 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 TOOLTIP MODIFICAR *************************************************************************************************************************/ $('#gvhPage').offon( 'click', 'button[data-gvhFunction=update]', function(e) { 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 = datosJSON[claseM][panelJSON]; console.log('boton update'); if (panelOn != 'fil') gvh.blockExit(false,'W',panelOn); 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': var tr = $(this).attr('data-gvhTR'); if (tr == 'simple') // Patrón tabular simple/maestro/detalle { var vSufijos = []; if ($('input:checkbox[data-gvhWindow='+ambito+'][id^=checkAll_]').is(':checked')) { $(this).formStateFieldsTable({ id: $(this).attr('id'), panel: panelOn, sufijos: $('input:checkbox[id^=checkAll_]').attr('data-gvhTotalReg'), checked: 'all' }) } 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(claseM,panelJSON,row); estado = raizJSON['data'][indiceJSON]['gvhJS_state']; if (estado == 'nada') { vSufijos.push(sufijo); } }); if (vSufijos.length > 0) { $(this).formStateFieldsTable({ id: $(this).attr('id'), panel: panelOn, sufijos: vSufijos }) } else { gvh.showMessage('gvhlang_msj16','alert'); } } } else if (tr == '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'); } } break; default: break; } }); /************************************************************************************************************************ * BOTÓN TOOLTIP rowEdit *************************************************************************************************************************/ $('#gvhPage').offon( 'click', 'button[data-gvhFunction=rowEdit]', function(e) { console.log('botón 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 = datosJSON[claseM][panelJSON]; var idCheck = 'check_'+panelOn+'_'+row; var vSufijos = []; vSufijos.push(panelOn+'_'+row); var tr = $(this).attr('data-gvhTR'); switch(tr) { 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(claseM,panelJSON,row); /*var indiceJSON = $(this).indexDataJSON({ claseManejadora: claseM, panel: panelJSON, row: row });*/ raizJSON = datosJSON[claseM][panelJSON]; raizJSON['data'][indiceJSON]['gvhJS_selected'] = 'selected'; gvh.callControllerJS($(this)); break; default: break; }; }); /************************************************************************************************************************ * BOTÓN TOOLTIP LIMPIAR *************************************************************************************************************************/ /* * FUNCIÓN: BOTÓN limpiar formulario */ //$('button[id*=bttlLimpiar][data-gvhFunction=clean]').on({ $('#gvhPage').offon( 'click', 'button[id*=bttlLimpiar][data-gvhFunction=clean]', function(e) { e.stopPropagation(); e.stopImmediatePropagation(); $(this).cleanForm({ id: $(this).attr('id'), panel: $(this).attr('data-gvhPanelOn'), claseM: $(this).attr('data-gvhClaseManejadora') }) }); /************************************************************************************************************************ * BOTÓN TOOLTIP exportCSV *************************************************************************************************************************/ /* * FUNCIÓN: BOTÓN ejecutará una acción exportCSV que vendrá en data-gvhDestino */ //$('button[data-gvhWindow='+ambito+'][data-gvhFunction=exportCSV]').on({ $('#gvhPage').offon( 'click', 'button[data-gvhFunction=exportCSV]', function(e) { e.stopPropagation(); e.stopImmediatePropagation(); gvh.callControllerJS($(this)); }); /************************************************************************************************************************ * BOTÓN TOOLTIP help *************************************************************************************************************************/ /* * FUNCIÓN: BOTÓN que muestra la ayuda */ //$('button[data-gvhWindow='+ambito+'][data-gvhFunction=help]').on({ $('#gvhPage').offon( 'click', 'button[data-gvhFunction=help]', function(e) { e.stopPropagation(); e.stopImmediatePropagation(); $(this).popupWindow({ windowURL: $(this).attr('data-gvhDestino'), centerScreen: 1, height: 600, width: 800, windowName:'help' }); }); /************************************************************************************************************************ * BOTÓN TOOLTIP openDoc *************************************************************************************************************************/ /* * FUNCIÓN: botón que abre un documento que viene dado por la BD * */ ////$('#'+ambito).on('click','button[data-gvhFunction=openDoc]',function(e) { //$('button[data-gvhWindow='+ambito+'][data-gvhFunction=openDoc]').on({ $('#gvhPage').offon( 'click', 'button[data-gvhFunction=openDoc]', function(e) { e.stopPropagation(); e.stopImmediatePropagation(); $(this).popupWindow({ windowURL: $(this).attr('data-gvhDestino'), centerScreen: 1, height: 600, width: 800, windowName:'document' }); }); /************************************************************************************************************************ * BOTÓN TOOLTIP particular *************************************************************************************************************************/ /* * FUNCIӓN: BOTÓN que ejecutará una acción definida por el usuario (data-gvhDestino) */ ////$('#'+ambito).on('click','button[data-gvhFunction=particular][class=btnTooltip]',function(e) { //$('button[data-gvhWindow='+ambito+'][data-gvhFunction=particular][class=btnTooltip]').on({ $('#gvhPage').offon( 'click', 'button[data-gvhFunction=particular][class=btnTooltip]', function(e) { 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 TOOLTIP saltar *************************************************************************************************************************/ /* * FUNCIÓN: salto * */ ////$('#'+ambito).on('click','button[data-gvhFunction=jump]',function(e) { //$('button[data-gvhFunction=jump][data-gvhWindow='+ambito+']').on({ $('#gvhPage').offon( 'click', 'button[data-gvhFunction=jump]', function(e) { e.stopPropagation(); e.stopImmediatePropagation(); console.log('gvh_botonTooltip.js - saltar'); 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 TOOLTIP updateField *************************************************************************************************************************/ /* * FUNCIӓN: */ ////$('#'+ambito).on('click','button[data-gvhFunction=updateField]',function(e) { //$('button[data-gvhWindow='+ambito+'][data-gvhFunction=updateField]').on({ $('#gvhPage').offon( 'click', 'button[data-gvhFunction=updateField]', function(e) { 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 TOOLTIP print *************************************************************************************************************************/ /* * FUNCIӓN: Imprime pantalla */ //$('button[data-gvhWindow='+ambito+'][data-gvhFunction=print]').on({ $('#gvhPage').offon( 'click', 'button[data-gvhFunction=print]', function(e) { e.stopPropagation(); e.stopImmediatePropagation(); window.print(); }); /************************************************************************************************************************ * BOTÓN TOOLTIP que abre popover *************************************************************************************************************************/ /* * BOTÓN TOOLTIP infImg * FUNCIÓN: Muestra una capa con información relativa a un campo (cwinformation) */ //$('button[data-toggle=popover]').on({ $('#gvhPage').offon( 'click', 'button[data-toggle=popover]', function(e) { e.stopPropagation(); e.stopImmediatePropagation(); $(this).popover('toggle'); }); /*$('body').on('hidden.bs.popover', function (e) { $(e.target).data("bs.popover").inState = { click: false, hover: false, focus: false } });*/ /* * BOTÓN TOOLTIP infoLang * FUNCIÓN: Muestra la información del multiidioma */ //$('button[data-toggle="popover"]').popover({html:true}); /************************************************************************************************************************ * BOTÓN TOOLTIP árbol *************************************************************************************************************************/ /* * BOTÓN TOOLTIP árbol */ ////$('#'+ambito).on('click','button[data-gvhArbol]',function(e) { //$('button[data-gvhWindow='+ambito+'][data-gvhArbol]').on({ $('#gvhPage').offon( 'click', '[data-gvhArbol]', function(e) { e.stopPropagation(); e.stopImmediatePropagation(); $('div[id=divArbol]').toggle(); }); /************************************************************************************************************************ * BOTÓN TOOLTIP date *************************************************************************************************************************/ /* * BOTÓN TOOLTIP date */ /* //$('button[data-gvhFunction=date]').on({ $('#gvhPage').offon( 'change', 'button[data-gvhFunction=date]', function(e) { gvhAmbito = $(this).attr('data-gvhWindow'); if (gvhAmbito == ambito) { id = $(this).attr('id'); console.log('change date '+id); $(this).changeStatePanel({ id: $(this).attr('id'), panel: $(this).attr('data-gvhPanelOn') }) } });*/ //$('button[data-gvhFunction=date]').on({ $('#gvhPage').offon( 'click', 'button[data-gvhFunction=date]', function(e) { e.stopPropagation(); e.stopImmediatePropagation(); gvhAmbito = $(this).attr('data-gvhWindow'); //if (gvhAmbito == ambito) //{ field = $(this).attr('data-gvhFieldDate'); console.log('date '+field); $('#'+field).datepicker('show'); /*$('#'+field).inputmask({ placeholder: "dd/mm/yyyy" });*/ //} }); /************************************************************************************************************************ * BOTÓN TOOLTIP dateTime *************************************************************************************************************************/ /* * BOTÓN TOOLTIP date */ /* //$('button[data-gvhFunction=dateTime]').on({ $('#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 TOOLTIP time *************************************************************************************************************************/ /* * BOTÓN TOOLTIP date */ /* //$('button[data-gvhFunction=time]').on({ $('#gvhPage').offon( 'click', 'button[data-gvhFunction=time]', function(e) { gvhAmbito = $(this).attr('data-gvhWindow'); if (gvhAmbito == ambito) { id = $(this).attr('id'); field = $(this).attr('data-gvhFieldDate'); $('#'+field).timepicker({ hourMin: 8, hourMax: 24 }); $(this).focus(); } });*/ /************************************************************************************************************************ * BOTÓN TOOLTIP url *************************************************************************************************************************/ /* * BOTÓN TOOLTIP url */ //$('button[data-gvhWindow='+ambito+']').filter('[data-gvhFunction=url]').on({ $('#gvhPage').offon( 'click', 'button[data-gvhFunction=url]', function(e) { 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 TOOLTIP DEBUG *************************************************************************************************************************/ /* * BOTÓN TOOLTIP DEBUG */ ////$('#'+ambito).on('click','button[data-gvhFunction=gvHidraDebug]',function(e) { //$('button[data-gvhWindow='+ambito+'][data-gvhFunction=gvHidraDebug]').on({ $('#gvhPage').offon( 'click', 'button[data-gvhFunction=gvHidraDebug]', function(e) { e.stopPropagation(); e.stopImmediatePropagation(); $(this).popupWindow({ windowURL: $(this).attr('data-gvhDestino'), scrollbars: 1, centerScreen: 1, height: '700', width: '1300', windowName:'newWindow' }); }); /* * BOTÓN TOOLTIP OPENWS * abre una ventana de selección */ //$('button[data-gvhWindow='+ambito+'][data-gvhFunction=openWS]').on({ $('#gvhPage').offon( 'click', 'button[data-gvhFunction=openWS]', function(e) { 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('___'); console.log($(this).attr('data-gvhIterActual')); modoPanel = 'W'; if (id[0] == 'ins') modoPanel = 'I'; if (panelOn != 'fil') gvh.blockExit(false,modoPanel,panelOn); $(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') }); }); //$('button[data-gvhWindow='+ambito+'][data-gvhFunction=findWS]').on({ $('#gvhPage').offon( 'click', 'button[data-gvhFunction=findWS]', function(e) { e.stopPropagation(); e.stopImmediatePropagation(); var destino = $(this).attr('data-gvhDestino'); $('#F_vSeleccion').prop('action',destino); $('#F_vSeleccion').submit(); }); /// DATE //$("input[data-gvhWindow="+ambito+"][data-gvhFunction=date]").on({ $('#gvhPage').offon( 'click', 'button[data-gvhFunction=date]', function(e) { e.stopPropagation(); e.stopImmediatePropagation(); $(this).inputmask({ placeholder: "dd/mm/yyyy" }); }); $('#gvhPage').offon( 'change', 'button[data-gvhFunction=date]', function(e) { e.stopPropagation(); e.stopImmediatePropagation(); $(this).changeStatePanel({ id: $(this).attr('id'), panel: $(this).attr('data-gvhPanelOn') }) }); //$("button[data-gvhWindow="+ambito+"][data-gvhFunction=date]").on({ $('#gvhPage').offon( 'click', 'button[data-gvhFunction=date]', function(e) { console.log('click date'); e.stopPropagation(); e.stopImmediatePropagation(); fieldDate = $(this).attr('data-gvhFieldDate'); $('#'+fieldDate).datepicker(); }); //$('button[data-gvhWindow='+ambito+'][data-gvhFunction=tree]').on({ $('#gvhPage').offon( 'click', 'button[data-gvhFunction=tree]', function(e) { $('div[id=divArbol]').toggle(); });