function IgepJS(claseManejadora,panel) { this.claseManejadora = claseManejadora; this.panel = panel; //Declaracion de las cabeceras this.getValue = f_getValue; this.setValue = f_setValue; this.getClass = f_getClass; this.addClass = f_addClass; this.removeClass = f_removeClass; this.setVisible = f_setVisible; this.getVisible = f_getVisible; this.setEnable = f_setEnable; this.getEnable = f_getEnable; this.setEditable = f_setEditable; this.getEditable = f_getEditable; this.setBtnDisabled = f_setBtnDisabled; this.getBtnDisabled = f_getBtnDisabled; } /** * f_panelVisible: Devuelve si el panel está visible o no * @access private * @var panel: id del panel a consultar */ function f_panelVisible(panel) { if ($('#'+panel).is(':visible')) return true; else return false; } /** * f_getValue: Obtiene el valor del campo * @access public * @var componente: Nombre del campo * @var external: [true / false] */ function f_getValue(componente, external ) { var panel = this.panel; if (f_panelVisible(panel)) { var claseManejadora = this.claseManejadora; var raizJSON = gvh.getRoot(claseManejadora,panel); var iter = 0; if (external) { iter = gvh.indexDataJSON(raizJSON,gvh.getPagActive(raizJSON)); } var valor = gvh.getValue(raizJSON,componente,iter,external); return valor; } } /** * f_setValue: Asigna valor a un campo * @access public * @var componente: Nombre del campo * @var valor: Valor a asignar al componente * @var external: [true / false] */ function f_setValue(componente, external, valor) { var panel = this.panel; if (f_panelVisible(panel)) { var claseManejadora = this.claseManejadora; var raizJSON = gvh.getRoot(claseManejadora,panel); var iter = 0; if (external) { iter = gvh.indexDataJSON(raizJSON,gvh.getPagActive(raizJSON)); } var valor = gvh.getValue(raizJSON,componente,iter,valor,external); } } /** * f_getClass: Obtiene el class del campo indicado * @access public * @var componente: Nombre del campo * @var external: [true / false] */ function f_getClass(componente, external) { var panel = this.panel; if (f_panelVisible(panel)) { var claseManejadora = this.claseManejadora; var raizJSON = gvh.getRoot(claseManejadora,panel); var iter = 0; if (external) { iter = gvh.indexDataJSON(raizJSON,gvh.getPagActive(raizJSON)); } var css = gvh.getClassField(raizJSON,componente,iter,external) return css; } } /** * f_addClass: Modifica el class de un campo * @access public * @var componente: Nombre del campo * @var external: [true / false] * @var css: estilo css a añadir */ function f_addClass(componente, external, css) { var panel = this.panel; if (f_panelVisible(panel)) { var claseManejadora = this.claseManejadora; var raizJSON = gvh.getRoot(claseManejadora,panel); var iter = 0; if (external) { iter = gvh.indexDataJSON(raizJSON,gvh.getPagActive(raizJSON)); } var idComp = gvh.getIdField(raizJSON,componente,iter,external); if (idComp != '') { $('#'+idComp).addClass(css); var cssComp = $('#'+idComp).attr('class'); gvh.setClassField(raizJSON,componente,iter,cssComp,external); } } } /** * f_removeClass: Elimina el css indicado de un campo * @access public * @var componente: Nombre del campo * @var external: [true / false] * @var css: estilo css que se ha de eliminar */ function f_removeClass(componente, external, css) { var panel = this.panel; if (f_panelVisible(panel)) { var claseManejadora = this.claseManejadora; var raizJSON = gvh.getRoot(claseManejadora,panel); var iter = 0; if (external) { iter = gvh.indexDataJSON(raizJSON,gvh.getPagActive(raizJSON)); } var idComp = gvh.getIdField(raizJSON,componente,iter,external); if (idComp != '') { $('#'+idComp).removeClass(css); cssComp = $('#'+idComp).attr('class'); gvh.setClassField(raizJSON,componente,iter,cssComp,external); } } } /** * f_setVisible: Mostrar/ocultar un campo * @access public * @var componente: Nombre del campo * @var external: [true / false] * @var visible: [true / false] */ function f_setVisible(componente, external, visible) { var panel = this.panel; if (f_panelVisible(panel)) { var claseManejadora = this.claseManejadora; var raizJSON = gvh.getRoot(claseManejadora,panel); var iter = 0; if (external) { iter = gvh.indexDataJSON(raizJSON,gvh.getPagActive(raizJSON)); } var idComp = gvh.getIdField(raizJSON,componente,iter,external); if (idComp != '') { if (visible) { if (!$('#IGEPVisible'+idComp).is(':visible')) { $('#IGEPVisible'+idComp).show(); } } else { $('#IGEPVisible'+idComp).hide(); } gvh.setVisibleField(raizJSON,componente,iter,visible,external); } } } /** * f_getVisible: Obtener si un campo es visible o no * @access public * @var componente: Nombre del campo * @var external: [true / false] */ function f_getVisible(componente, external) { var panel = this.panel; var visible = ''; if (f_panelVisible(panel)) { var claseManejadora = this.claseManejadora; var raizJSON = gvh.getRoot(claseManejadora,panel); var iter = 0; if (external) { iter = gvh.indexDataJSON(raizJSON,gvh.getPagActive(raizJSON)); } var idComp = gvh.getIdField(raizJSON,componente,iter,external); if (idComp != '') { visible = gvh.getVisibleField(raizJSON,componente,iter,external); } } return visible; } /** * f_setEnable: Mostrar/ocultar un campo * @access public * @var componente: Nombre del campo * @var external: [true / false] * @var enable: [true / false] */ function f_setEnable(componente, external, enable) { var panel = this.panel; if (f_panelVisible(panel)) { var claseManejadora = this.claseManejadora; var raizJSON = gvh.getRoot(claseManejadora,panel); var iter = 0; if (external) { iter = gvh.indexDataJSON(raizJSON,gvh.getPagActive(raizJSON)); } var idComp = gvh.getIdField(raizJSON,componente,iter,external); if (idComp != '') { var plugin = gvh.getPlugin(raizJSON,componente,iter,external); if ((plugin == 'cwbotontooltip') || (plugin == 'cwboton')) { this.setBtnDisabled(componente, external, enable); } else { this.setEditable(componente, external, enable); } } } } /** * f_getEnable: Obtener si un campo es visible o no * @access public * @var componente: Nombre del campo * @var external: [true / false] */ function f_getEnable(componente, external) { var panel = this.panel; var enable = ''; if (f_panelVisible(panel)) { var claseManejadora = this.claseManejadora; var raizJSON = gvh.getRoot(claseManejadora,panel); var iter = 0; if (external) { iter = gvh.indexDataJSON(raizJSON,gvh.getPagActive(raizJSON)); } var idComp = gvh.getIdField(raizJSON,componente,iter,external); if (idComp != '') { var plugin = gvh.getPlugin(raizJSON,componente,iter,external); if ((plugin == 'cwbotontooltip') || (plugin == 'cwboton')) { enable = this.setBtnDisabled(componente, external, enable); } else { enable = this.setEditable(componente, external, enable); } } } return enable; } /** * f_setEditable: Activar un campo como editable * @access public * @var componente: Nombre del campo * @var external: [true / false] * @var editable: [true / false / nuevo] */ function f_setEditable(componente, external, editable) { var panel = this.panel; if (f_panelVisible(panel)) { var claseManejadora = this.claseManejadora; var raizJSON = gvh.getRoot(claseManejadora,panel); var iter = 0; if (external) { iter = gvh.indexDataJSON(raizJSON,gvh.getPagActive(raizJSON)); } var idComp = gvh.getIdField(raizJSON,componente,iter,external); if (idComp != '') { if (editable == true) { $('#'+idComp).removeAttr("readonly"); $('#'+idComp).addClass('edit'); $('#'+idComp).removeClass('noEdit'); } else if (editable == false) { $('#'+idComp).attr("readonly","readonly"); $('#'+idComp).removeClass('edit'); $('#'+idComp).addClass('noEdit'); } else { $('#'+idComp).attr("readonly","readonly"); $('#'+idComp).removeClass('edit'); $('#'+idComp).removeClass('noEdit'); $('#'+idComp).addClass('new'); } css = $('#'+idComp).attr('class'); gvh.setStateField(raizJSON,componente,iter,editable,external); gvh.setClassField(raizJSON,componente,iter,css,external); /*if (external) { datosJSON[claseManejadora][panel]['external'][componente]['edit'] = editable; } else { datosJSON[claseManejadora][panel]['data'][iter]['gvhJS_fields'][componente]['edit'] = editable; datosJSON[claseManejadora][panel]['data'][iter]['gvhJS_fields'][componente]['state'] = editable; datosJSON[claseManejadora][panel]['data'][iter]['gvhJS_fields'][componente]['class'] = css; }*/ } } } /** * f_getEditable: Saber si un campo es editable o no * @access public * @var componente: Nombre del campo * @var external: [true / false] */ function f_getEditable(componente, external) { var panel = this.panel; var editable = ''; if (f_panelVisible(panel)) { var claseManejadora = this.claseManejadora; var raizJSON = gvh.getRoot(claseManejadora,panel); var iter = 0; if (external) { iter = gvh.indexDataJSON(raizJSON,gvh.getPagActive(raizJSON)); } var idComp = gvh.getIdField(raizJSON,componente,iter,external); if (idComp != '') { var editable = gvh.getStateField(raizJSON,componente,iter,external); } } return editable; } /** * f_setBtnDisabled: Activar un campo como editable * @access public * @var componente: Nombre del campo * @var external: [true / false] * @var disabled: [true / false] */ function f_setBtnDisabled(componente, external, disabled) { var panel = this.panel; if (f_panelVisible(panel)) { var claseManejadora = this.claseManejadora; var raizJSON = gvh.getRoot(claseManejadora,panel); var iter = 0; if (external) { iter = gvh.indexDataJSON(raizJSON,gvh.getPagActive(raizJSON)); } var idComp = gvh.getIdField(raizJSON,componente,iter,external); if (idComp != '') { if (disabled) { $('#'+idComp).attr("disabled","disabled"); } else { $('#'+idComp).removeAttr("disabled"); } gvh.setStateField(raizJSON,componente,iter,disabled,external); /*if (external) { datosJSON[claseManejadora][panel]['external'][componente]['edit'] = disabled; datosJSON[claseManejadora][panel]['external'][componente]['state'] = disabled; } else { datosJSON[claseManejadora][panel]['data'][iter]['gvhJS_fields'][componente]['edit'] = disabled; datosJSON[claseManejadora][panel]['data'][iter]['gvhJS_fields'][componente]['state'] = disabled; }*/ } } } /** * f_getBtnDisabled: Saber si un campo es editable o no * @access public * @var componente: Nombre del campo * @var external: [true / false] */ function f_getBtnDisabled(componente, external) { var panel = this.panel; var editable = ''; if (f_panelVisible(panel)) { var claseManejadora = this.claseManejadora; var raizJSON = gvh.getRoot(claseManejadora,panel); var iter = 0; if (external) { iter = gvh.indexDataJSON(raizJSON,gvh.getPagActive(raizJSON)); } var idComp = gvh.getIdField(raizJSON,componente,iter,external); if (idComp != '') { var disabled = gvh.getStateField(raizJSON,componente,iter,external); /*if (external) { editable = datosJSON[claseManejadora][panel]['external'][componente]['edit']; } else { editable = datosJSON[claseManejadora][panel]['data'][iter]['gvhJS_fields'][componente]['edit']; }*/ } } return disabled; }