/* * Codificación UTF-8 * * FUNCIONES: * getRoot(claseManejadora,panel) * * // field * getExistField(rootJSON,field,nReg) * setValue(rootJSON,field,nReg,value) * getValue(rootJSON,field,nReg) * setValueOld(rootJSON,field,nReg,value) * getValueOld(rootJSON,field,nReg) * getIdField(rootJSON,field,nReg) * getTextField(rootJSON,field,nReg) * getPlugin(rootJSON,field,nReg) * getStateField(rootJSON,field,nReg) * getClassField(rootJSON,field,nReg) * getFieldList(rootJSON,field) * getListDependence(rootJSON,field,nReg) * getFields(rootJSON,nReg) * * // panel * getExistReg(rootJSON,nReg) * getStateReg(rootJSON,nReg,state) * setStateReg(rootJSON,state,nReg,operation) * getClassRow(rootJSON,nReg) * setClassRow(rootJSON,nReg,class) * getNumReg(rootJSON) * getRowsPag(rootJSON) * getPagActive(rootJSON) * setPagActive(rootJSON,pag) * getFieldsRow(rootJSON, row) * getDataRequired(rootJSON) */ var gvh = gvh || {}; /** * setRoot: Obtiene el datosJSON correspondiente a la clase manejadora y panel correspondiente * @access private * @var claseManejadora: clase del panel sobre el que queremos calcular el índice * @var panel: tipo de panel (indice del objeto JSON) sobre el que se está trabajando ['lis','edi'] */ gvh.setRoot = function(claseManejadora,panel) { return rootJSON = datosJSON[claseManejadora][panel]; }; /** * getRoot: Obtiene el datosJSON correspondiente a la clase manejadora y panel correspondiente * @access private * @var claseManejadora: clase del panel sobre el que queremos calcular el índice * @var panel: tipo de panel (indice del objeto JSON) sobre el que se está trabajando ['lis','edi'] */ gvh.getRoot = function(claseManejadora,panel) { console.log(' *** gvh_dataJSON.js - getRoot() - '+claseManejadora+' '+panel); console.log(datosJSON); return datosJSON[claseManejadora][panel]; }; /** * getExistReg: Devuelve si existe o no el registro en ['data'] del datosJSON * @access private * @var rootJSON: raiz del datosJSON, clase manejadora y panel * @var row: fila seleccionada del panel */ gvh.getExistReg = function(rootJSON,row) { console.log(' *** gvh_dataJSON.js - getExistReg()'); return rootJSON['data'][row]; }; /** * getExistField: Devuelve si existe o no el registro en ['data'] del datosJSON * @access private * @var rootJSON: raiz del datosJSON, clase manejadora y panel * @var row: fila seleccionada del panel * @var field: identificador del campo */ gvh.getExistField = function(rootJSON,field,row) { console.log(' *** gvh_dataJSON.js - getExistField()'); console.log(rootJSON); console.log(field+' '+row); if (rootJSON['data'][row]['gvhJS_fields'][field] == undefined) return undefined; else return rootJSON['data'][row]['gvhJS_fields'][field]; }; /** * indexDataJSON: Calcula el índice del array datosJSON sobre el que queremos trabajar. * Útil para calcularlo cuando se trabaja con paneles lis. * @access private * @var rootJSON: raiz del datosJSON, clase manejadora y panel * @var row: fila seleccionada del panel */ gvh.indexDataJSON = function(rootJSON,row) { var numReg = parseInt(rootJSON['panel']['numReg']); if (numReg > 0) { var rowsPag = parseInt(rootJSON['panel']['rowsPag']); var pagAct = parseInt(rootJSON['panel']['pagActive']); var row = row; } else { var rowsPag = parseInt(rootJSON['panel']['rowsPag']); var pagAct = parseInt(rootJSON['panel']['pagActive']); var row = numReg; } var indice = parseInt(pagAct*rowsPag)+parseInt(row); return indice; }; /** * setValue: Asigna un valor al campo indicado * @access private * @var rootJSON: raiz del datosJSON, clase manejadora y panel * @var field: campo a modificar * @var nReg: número de registro al que pertenece el campo * @var value: valor a asignar */ gvh.setValue = function(rootJSON,field,nReg,value) { rootJSON['data'][nReg]['gvhJS_fields'][field]['value'] = value; rootJSON['dataPerform']['data'][nReg]['gvhJS_fields'][field]['value'] = value; } /** * getValue: Obtiene el valor del campo indicado * @access private * @var rootJSON: raiz del datosJSON, clase manejadora y panel * @var field: campo a modificar * @var nReg: número de registro al que pertenece el campo */ gvh.getValue = function(rootJSON,field,nReg) { return rootJSON['data'][nReg]['gvhJS_fields'][field]['value']; } /** * setValueOld: Asigna un valor anterior al campo indicado * @access private * @var rootJSON: raiz del datosJSON, clase manejadora y panel * @var field: campo a modificar * @var nReg: número de registro al que pertenece el campo * @var value: valor a asignar */ gvh.setValueOld = function(rootJSON,field,nReg,value) { rootJSON['data'][nReg]['gvhJS_fields'][field]['valueOld'] = value; rootJSON['dataPerform']['data'][nReg]['gvhJS_fields'][field]['valueOld'] = value; } /** * getValueOld: Obtiene el valor anterior del campo indicado * @access private * @var rootJSON: raiz del datosJSON, clase manejadora y panel * @var field: campo a modificar * @var nReg: número de registro al que pertenece el campo */ gvh.getValueOld = function(rootJSON,field,nReg) { return rootJSON['data'][nReg]['gvhJS_fields'][field]['valueOld']; } /** * getId: Obtiene el valor anterior del campo indicado * @access private * @var rootJSON: raiz del datosJSON, clase manejadora y panel * @var field: campo a modificar * @var nReg: número de registro al que pertenece el campo */ gvh.getIdField = function(rootJSON,field,nReg) { return rootJSON['data'][nReg]['gvhJS_fields'][field]['id']; } /** * getPlugin: Devuelve el tipo de plugin del campo * @access private * @var field: campo * @var nReg: número de registro al que pertenece el campo */ gvh.getPlugin = function(rootJSON,field,nReg) { return rootJSON['data'][nReg]['gvhJS_fields'][field]['CWPlugin']; } /** * getClassField: Devuelve el atributo class que corresponde al campo * @access private * @var rootJSON: datosJSON[claseManejadora][panelJSON] * @var field: campo * @var nReg: número de registro al que pertenece el campo */ gvh.getClassField = function(rootJSON,field,nReg) { return rootJSON['data'][nReg]['gvhJS_fields'][field]['class']; } /** * getStateField: Devuelve el estado correspondiente al campo * @access private * @var rootJSON: datosJSON[claseManejadora][panelJSON] * @var field: campo * @var nReg: número de registro al que pertenece el campo */ gvh.getStateField = function(rootJSON,field,nReg) { return rootJSON['data'][nReg]['gvhJS_fields'][field]['state']; } /** * getFieldList: Devuelve los valores de una lista correspondiente a un campo * @access private * @var rootJSON: datosJSON[claseManejadora][panelJSON] * @var field: campo */ gvh.getFieldList = function(rootJSON,field,dependence,nReg) { if (dependence == false) return rootJSON['components']['gvh_list'][field]; else return rootJSON['data'][nReg]['gvhJS_fields'][field]['lista']; } /** * getListDependence: Devuelve si es una lista dependiente o no * @access private * @var rootJSON: datosJSON[claseManejadora][panelJSON] * @var field: campo * @var nReg: número de registro al que pertenece el campo */ gvh.getListDependence = function(rootJSON,field,nReg) { return rootJSON['data'][nReg]['gvhJS_fields'][field]['dependence']; }; /** * getFields: Devuelve el array de los campos correspondientes al registro indicado * @access private * @var rootJSON: datosJSON[claseManejadora][panelJSON] * @var nReg: número de registro al que pertenece el campo */ gvh.getFields = function(rootJSON,nReg) { return rootJSON['data'][nReg]['gvhJS_fields']; }; /** * getStateReg: actualización del array correspondiente a la operación con el número de registro afectado * @access private * @var rootJSON: datosJSON[claseManejadora][panelJSON] * @var state: ['selected' | 'insert' | 'updated' | 'deleted'] * @var nReg: indice del array datosJSON[claseManejadora][panel][data], número de registro/fila sobre el que se aplica el estado * @var operation: add,sub */ gvh.getStateReg = function(rootJSON,nReg,state) { console.log(' *** gvh_dataJSON.js - getStateReg()'); if (state == 'state') { return rootJSON['data'][nReg]['gvhJS_state']; } else if (state == 'selected') { return rootJSON['data'][nReg]['gvhJS_selected']; } else { // state = 'inserted' | 'selected' | 'deleted' | 'updated' return rootJSON['dataPerform']['gvhJS_'+state]; } } /** * setStateReg: actualización del array correspondiente a la operación con el número de registro afectado * @access private * @var rootJSON: datosJSON[claseManejadora][panelJSON] * @var state: ['selected' | 'insert' | 'updated' | 'deleted'] * @var nReg: indice del array datosJSON[claseManejadora][panel][data], número de registro/fila sobre el que se aplica el estado * @var operation: add,sub */ gvh.setStateReg = function( rootJSON, state, nReg, operation ) { console.log( ' *** gvh_dataJSON.js - setStateReg()' ); //console.log(rootJSON); //console.log(state+' '+nReg+' '+operation); if( (state == '') || (rootJSON == '') || (operation == '') ) { console.log( "setStateReg() - error en los parámetros" ); return; } var jsonOp = []; if( state != 'nada' ) { jsonOp = rootJSON['dataPerform']['gvhJS_'+state]; } var operacion = ''; switch( state ) { case 'inserted': operacion = 'insertar'; break; case 'deleted': operacion = 'eliminar'; break; case 'updated': operacion = 'modificar'; break; default: operacion = 'nada'; break; } if( operation == 'add' ) { jsonOp.push( nReg ); if( state == 'selected' ) { rootJSON['data'][nReg]['gvhJS_selected'] = 'selected'; rootJSON['dataPerform']['data'][nReg]['gvhJS_selected'] = 'selected'; } else if( operacion != '' ) { rootJSON['data'][nReg]['gvhJS_state'] = operacion; rootJSON['dataPerform']['data'][nReg]['gvhJS_state'] = operacion; } } else if( operation == 'sub' ) { jsonOp.pop( nReg ); if( state == 'selected' ) { rootJSON['data'][nReg]['gvhJS_selected'] = 'false'; rootJSON['dataPerform']['data'][nReg]['gvhJS_selected'] = 'false'; } else if (operacion != '') { rootJSON['data'][nReg]['gvhJS_state'] = operacion; rootJSON['dataPerform']['data'][nReg]['gvhJS_state'] = operacion; } } } /** * getClassRow: actualización del array correspondiente a la operación con el número de registro afectado * @access private * @var rootJSON: datosJSON[claseManejadora][panelJSON] * @var state: ['selected' | 'insert' | 'updated' | 'deleted'] * @var nReg: indice del array datosJSON[claseManejadora][panel][data], número de registro/fila sobre el que se aplica el estado * @var operation: add,sub */ gvh.getClassRow = function(rootJSON,nReg) { return rootJSON['data'][nReg]['gvhJS_rowColor']; } /** * getClassRow: actualización del array correspondiente a la operación con el número de registro afectado * @access private * @var rootJSON: datosJSON[claseManejadora][panelJSON] * @var state: ['selected' | 'insert' | 'updated' | 'deleted'] * @var nReg: indice del array datosJSON[claseManejadora][panel][data], número de registro/fila sobre el que se aplica el estado * @var operation: add,sub */ gvh.setClassRow = function(rootJSON,nReg,css) { rootJSON['data'][nReg]['gvhJS_rowColor'] = css; } /** * getNumReg: Devuelve el número de registros de un panel * @access private * @var rootJSON: datosJSON[claseManejadora][panelJSON] */ gvh.getNumReg = function(rootJSON) { console.log(' *** gvh_dataJSON.js - getNumReg()'); return rootJSON['panel']['numReg']; } /** * getRowsPag: Devuelve el número de filas de una página de una tabla * @access private * @var rootJSON: datosJSON[claseManejadora][panelJSON] */ gvh.getRowsPag = function(rootJSON) { console.log(' *** gvh_dataJSON.js - getRowsPag()'); return rootJSON['panel']['rowsPag']; } /** * getPagActive: Devuelve la página activa del panel * @access private * @var rootJSON: datosJSON[claseManejadora][panelJSON] */ gvh.getPagActive = function(rootJSON) { console.log(' *** gvh_dataJSON.js - getPagActive()'); return rootJSON['panel']['pagActive']; } /** * setPagActive: Devuelve la página activa del panel * @access private * @var rootJSON: datosJSON[claseManejadora][panelJSON] * @var pag: número de página */ gvh.setPagActive = function(rootJSON,pag) { console.log(' *** gvh_dataJSON.js - setPagActive()'); rootJSON['panel']['pagActive'] = pag; } /** * getFieldsRow: Devuelve los campos de una fila * @access private * @var rootJSON: datosJSON[claseManejadora][panelJSON] * @var nReg: fila */ gvh.getFieldsRow = function(rootJSON,nReg) { console.log(' *** gvh_dataJSON.js - getFieldsRow()'); return rootJSON['data'][nReg]['gvhJS_fields']; } /** * getFieldsRow: Devuelve los campos de una fila * @access private * @var rootJSON: datosJSON[claseManejadora][panelJSON] * @var nReg: fila */ gvh.getDataRequired = function(rootJSON) { console.log(' *** gvh_dataJSON.js - getDataRequired()'); return rootJSON['dataRequired']; }