/* * paginar() * FUNCIÓN: Al cambiar de página debemos volver a asignar los valores que vienen en el JSON a sus respectivos campos * defaults: pagSource * pagTarget * panel * claseManejadora */ $.fn.paginar = function(options) { var defaults = $.extend({ pagSource: '0', pagTarget: '0', panel: 'edi', panelJSON: '', claseManejadora: '' },options); console.log('** paginar() **'); raizJSON = datosJSON[defaults.claseManejadora][defaults.panelJSON]; console.log(raizJSON); raizJSON['panel']['pagActive'] = defaults.pagTarget; numReg = raizJSON['numReg']; valueJSONDecode = ''; /** * PANEL TABULAR */ if ((defaults.panel == 'lis') || (defaults.panel == 'lisDetalle')) { // Cálculo d filas, páginas y registro inicial/final rowsPag = raizJSON['panel']['rowsPag']; numPagTotal = Math.ceil(numReg/rowsPag); if (defaults.pagTarget == 0) { regIni = 0; regFin = parseInt(rowsPag)-1; } else { regIni = defaults.pagTarget*(rowsPag); regFin = parseInt(regIni)+parseInt(rowsPag-1); } var i=0; // RECORRER EL INTERVALO CORRESPONDIENTE A regIni Y regFin DE datosJSON for(i=regIni;i<=regFin;i++) { var numFila = i%rowsPag; var sufijo = defaults.panel+'_'+numFila; if (i 0) { selectField.addList({ gvhLista:listOptions, selectedValue:valueJSONDecode }); } } // Al paginar podemos pasar de la última página que no sea completa a una página completa, hay que volver a rellenar los valores (option) de la lista if (selectField.length == 0) { if ((dependencia != undefined) && (dependencia != 'NO')) { // Si la lista es dependiente, las opciones de la lista están en el campo listOptions = jsonReg[field]['lista']; } else { // Si la lista no es dependiente, las opciones están en la zona común listOptions = jsonLista[field]; } if (listOptions.length > 0) { selectField.addList({ gvhLista:listOptions, selectedValue:valueJSONDecode }); } } else { dependencia = jsonReg[field]['dependence']; if ((dependencia != undefined) && (dependencia != 'NO')) { //Hay dependencia listOptions = jsonReg[field]['lista']; if (listOptions.length > 0) { selectField.addList({ gvhLista:listOptions, selectedValue:valueJSONDecode }); } } else { $('#'+patronIdCampo+' option[value="'+valueJSONDecode+'"]').prop("selected", true); } } cssField = selectField.attr('class'); if (cssField != css) { selectField.removeClass(); selectField.addClass(css); } break; case 'cwbotontooltip': break; case 'cwcheckbox': //REVIEW: CHECKBOX //idCheckbox = 'ccam___'+field+'___'+sufijo; idCheckbox = 'cam___'+field+'___'+sufijo; checkbox = $('#'+idCheckbox); valueJSONDecode = jsonReg[field]['checked']; if ((valueJSONDecode == 'undefined') || (valueJSONDecode == 'false')) { checkbox.prop('checked',false); } else { checkbox.prop('checked',true); } cssField = checkbox.attr('class'); if (cssField != css) { checkbox.removeClass(); checkbox.addClass(css); } break; case 'cwimagen': break; case 'cwinformation': // Botón tooltip con información idButton = 'infImg_cam___'+field+'___'+sufijo; button = $('#'+idButton); button.attr('data-content', valueJSONDecode); cssField = button.attr('class'); if (cssField != css) { button.removeClass(); button.addClass(css); } if ((color != '') && (color != undefined)) { button.addClass(color); } // icono del botón iconJSON = jsonReg[field]['icon']; if (iconJSON == 'undefined') iconJSON = ''; idIconButton = 'iconInf_cam___'+field+'___'+sufijo; iconButton = $('#'+idIconButton); iconButton.removeClass(); iconButton.addClass(iconJSON); break; case 'cwlabel icono': // Label que solamente es un icono idIcono = 'icon_cam___'+field+'___'+sufijo; icono = $('#'+idIcono); icono.removeClass(); icono.addClass(valueJSONDecode); break; case 'cwlabel': labelField = $('#'+patronIdCampo); if (labelField.length > 0) { labelField.html(valueJSONDecode); cssField = labelField.attr('class'); if (cssField != css) { labelField.removeClass(); labelField.addClass(css); } } // El label puede ir acompañado de un icono idIcono = 'icon_cam___'+field+'___'+sufijo; icono = $('#'+idIcono); if (icono.length > 0) { try { iconJSONDecode = decodeURIComponent(escape(jsonReg[field]['icon'])); } catch(e) { iconJSONDecode = jsonReg[field]['icon']; } if (iconJSONDecode == 'undefined') iconJSONDecode = ''; icono.removeClass(); icono.addClass(iconJSONDecode); } break; case 'cwlistaRadio': // RADIOBUTTON radio = $('input:radio[name='+patronIdCampo+']'); $('input:radio[name='+patronIdCampo+'][value='+valueJSONDecode+']').prop('checked',true); cssField = radio.attr('class'); if (cssField != css) { radio.removeClass(); radio.addClass(css); } break; default: break; } } } else { // FILAS SIN DATOS $('[id^=cam___]').filter('[id*=___'+sufijo+']').val(''); $('select[id*=cam___'+field+'___'+sufijo+'] option:first-child').attr("selected", "selected"); $('input:radio[name=cam___'+field+'___'+sufijo+']').removeAttr("checked"); $('span[id*=IGEPVisible]').filter('[id$=___'+sufijo+']').map(function() { if ($(this).is(':visible')) { $(this).hide(); } }) // checkbox y rowedit ocultos $('span[id=IGEPVisible'+sufijo+']').hide(); $('#'+sufijo).removeClass(); $('#'+sufijo).addClass('rowNoData'); } } } else { // Soy panel ficha numReg = raizJSON['numReg']; for(var i=0;i 0) { var selectField = $('#'+idField); if ((raizJSON['data'][defaults.pagTarget]['gvhJS_fields'][field]['dependence'] != undefined) && (raizJSON['data'][defaults.pagTarget]['gvhJS_fields'][field]['dependence'] != 'NO')) { //Hay dependencia //listOptions = raizJSON['data'][defaults.pagTarget]['gvhJS_fields'][field]['lista']; // datosJSON GVH_LIST listOptions = raizJSON['components']['gvh_list'][field]; if (listOptions.length > 0) { fieldText.addList({ gvhLista:listOptions, selectedValue:valueJSONDecode }); } } else { $('#'+idField+' option[value="'+valueJSONDecode+'"]').prop("selected", true); } } else { fieldText.val(valueJSONDecode); if (($('input:radio[name='+idField+']').length) > 0) { $('input:radio[name='+idField+'][value='+valueJSONDecode+']').prop('checked',true); } if ($('label[id='+idField+']').length > 0) { fieldText.html(valueJSONDecode); } } } } } /* REVIEW: PAGINAR IMÁGENES EN SLIDER if (objSliders.length > 0) { $.each(objSliders, function(i, slider) { slider.destroySlider(); }); objSliders.push( $('ul[id*=slider_]').filter('[data-gvhIterActual='+defaults.pag+']').bxSlider({ minSlides: 2, maxSlides: 3, slideWidth: 400, slideMargin: 10, caption: true, pager: true }) ); } */