/* * Codificación UTF-8 * Funciones para trabajar con paneles tabulares * * FUNCIONES: * - deselectAllCheckTable(claseManejadora) * - checkUnique(id, fila, json, claseManejadora, panel) * - checkRow(id, fila, check, panel, type, claseM) * - checkAll(id, check, panel) */ var gvh = gvh || {}; /* ***************************************** * FUNCIONES PARA INTERACTUAR CON UNA TABLA ****************************************** */ (function ($) { /* * FUNCIÓN: deselectCheckTable() */ $.fn.deselectAllCheckTable = function(options) { var defaults = $.extend({ claseManejadora: '', panel: 'lis' },options); var raizJSON = gvh.getRoot(defaults.claseManejadora,'lis'); var numReg = gvh.getNumReg(raizJSON); for(i=0;i 0 || target.is('[id^="check_lis_"]') ) { return; } e.stopImmediatePropagation(); e.preventDefault(); e.stopPropagation(); var id = $(this).closest('[data-gvhtable="DataTable"]').attr('id'); var panel = $(this).attr('data-gvhpanelon'); var claseM = $(this).attr('data-gvhClaseManejadora'); // Deseleccionamos las tuplas //$(this).checkAll( { // id: id, // check: 'false', // panel: panel, // claseM: claseM //} ); var tr = $( e.target ).closest( 'tr[data-gvhpaneljson="lis"]' ); if( tr ) { var checkbox = tr.find( '[id^="check_lis_"]'); if( checkbox ) { if( !checkbox.is(':checked') ) { checkbox.click(); } $( '[data-gvhclasemanejadora='+claseM+'] #'+idButton ).click(); } } return false; }; })(jQuery); /* ********************* * EVENTOS DESDE EL DOM *********************** */ /* * click: check general */ $('#gvhPage').offon( 'click', 'input:checkbox[data-gvhFunction=checkAll]', function(e) { $(this).checkAll({ id: $(this).attr('id'), check: $(this).is(':checked'), panel: $(this).attr('data-gvhPanelOn') }); }); /* * mouseover/mouseout: ratón sobre las filas */ // TODO : Revisar para gvhMain y gvhModal $('table[data-gvhOverRow=true] tbody tr').hover( function() { $( this ).addClass("rowOver"); }, function() { $( this ).removeClass("rowOver"); }); /* * mouseover/mouseout: ratón sobre las filas */ $('#gvhPage').offon( 'click', 'label[data-gvhFunction="orderTable"]', function(e) { e.preventDefault(); e.stopImmediatePropagation(); e.stopPropagation(); if (gvh.orderTable == 'asc') { gvh.orderTable = 'desc'; } else { gvh.orderTable = 'asc'; } destino = $(this).attr('data-gvhDestino')+"&IGEPord="+gvh.orderTable; formulario = $(this).closest('form'); claseM = $(this).attr('data-gvhClaseManejadora'); $(this).controllerJS({ id: $(this).attr('id'), panel: $(this).attr('data-gvhPanelOn'), destino: destino, newWindow: 'false', claseM: claseM }); } ); $('#gvhPage').offon( 'click', 'span[id=down],span[id=up]', function(e) { destino = $(this).attr('data-gvhDestino'); formulario = $(this).closest('form'); claseM = $(this).attr('data-gvhClaseManejadora'); $(this).controllerJS({ id: $(this).attr('id'), panel: $(this).attr('data-gvhPanelOn'), destino: destino, newWindow: 'false', claseM: claseM }) }); /* * click vsCheck_ radiobutton para seleccionar un registro en ventana de selección */ $('#gvhPage').offon( 'click', 'input[id*=vsCheck_]', function(e) { console.log(' vsCheck - check ventana de selección'); e.stopImmediatePropagation(); panel = $(this).attr('data-gvhPanelOn'); claseM = $(this).attr('data-gvhClaseManejadora'); id = $(this).attr('id'); row = id.split('_')[2]; claseM = $(this).attr('data-gvhClaseManejadora'); $(this).checkUnique({ id: $(this).attr('id'), fila: row, json: true, claseManejadora: claseM, panel: $(this).attr('data-gvhPanelOn') }); }); /* * click sobre una fila de la tabla de un panel LIS */ $('#gvhPage').offon( 'select', 'tr[data-gvhpaneljson="lis"][data-gvhclasemanejadora] .form-control', function(e) { gvh.onSelectionActive = true; e.preventDefault(); e.stopImmediatePropagation(); e.stopPropagation(); } ); $('#gvhPage').offon( 'click', 'tr[data-gvhpaneljson="lis"][data-gvhclasemanejadora]', function(e) { if( !$(this).find('.modify').length ) { e.preventDefault(); if( gvh.onSelectionActive ) { e.stopImmediatePropagation(); gvh.onSelectionActive = false; return; } var idButton = $(this).closest('[data-onrowclick]').attr('data-onrowclick'); if( idButton ) { $(this).onRowEvent( e, idButton ); } } } ); /* * Click doble sobre una fila de la tabla de un panel LIS */ $('#gvhPage').offon( 'dblclick', 'tr[data-gvhpaneljson="lis"][data-gvhclasemanejadora]', function(e) { if( !$(this).find('.modify').length ) { e.preventDefault(); var idButton = $(this).closest('[data-onrowdoubleclick]').attr('data-onrowdoubleclick'); if( idButton ) { $(this).onRowEvent( e, idButton ); } gvh.onSelectionActive = false; } } ); /* * Al hacer doble click sobre la cabecera de un panel, alterna el estado de colapso del panel. */ $('#gvhPage').offon( 'dblclick', '[data-gvhcollapsible] > .panel-heading', function(e) { console.log(' toggle collapse!!!' ); var panel = $(this).closest( '.panel' ); if( !panel ) return; console.log( panel.find( '.panel-body' ) ); panel.find( '.panel-body' ).toggle(); console.log( panel.find( '.gvhBarraInfPanel' ) ); panel.find( '.gvhBarraInfPanel' ).toggle(); } );