El framework proporcionará una instancia de esta clase en todas las acciones de interfaz. * Mediante los métodos que proporciona el programador podrá hacer operaciones sobre la IU * y el FW se encargará de traducirlas en el Javascript pertinente.
* * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License v.2 * @version $Id: IgepComunicaIU.php,v 1.33 2018-08-11 11:22:49 belenguer_jor Exp $ * @author David PascualEste método se debe utilizar si se quiere cambiar el valor seleccionado de una lista.
* * @param string $nombreCampo Nombre del campo. * @param string $valor Valor del campo. * @param string $parametroOperacion (Opcional) El tipo de operación: insertar, borrar, actualizar, ... hay que dar una lista fija y clara. */ public function setSelected( $nombreCampo, $valor, $parametroOperacion='' ) { $campoDestino = $this->destinosAdaptados( $nombreCampo ); // REDMINE #23228 $claseM = $this->comunica->_infoPanel['claseM']; $this->script .= IgepSmarty::getJsSetSelected( $campoDestino, $valor, $claseM ); $this->script .= IgepSmarty::getJsSetEstadoModificado( $campoDestino, $claseM, 'setSelected' ); } //End de setSelected /** * Deselecciona todos los valores seleccionados de una lista en una acción de interfaz. * *Este método se debe utilizar si se quiere eliminar todos los valores seleccionados de una lista.
* * @param string $nombreCampo Nombre del campo. */ public function setUnselected( $nombreCampo ) { $campoDestino = $this->destinosAdaptados( $nombreCampo ); // REDMINE #23228 $claseM = $this->comunica->_infoPanel['claseM']; $this->script .= IgepSmarty::getJsSetUnSelected( $campoDestino, $claseM ); $this->script .= IgepSmarty::getJsSetEstadoModificado( $campoDestino, $claseM, 'setUnSelected' ); } //End de setSelected /** * Establece el valor de una lista en una acción de interfaz. * *Este metodo se debe utilizar si se quiere cambiar el valor seleccionado de una lista.
* * @param string $nombreCampo Nombre del campo. * @param string $index Índice de la opción a seleccionar en la lista. * @param string $parametroOperacion (Opcional) El tipo de operación: insertar, borrar, actualizar, ... hay que dar una lista fija y clara. */ public function setSelectedIndex( $nombreCampo, $index, $parametroOperacion='' ) { $campoDestino = $this->destinosAdaptados( $nombreCampo ); $defLista = $this->getList($nombreCampo);$lista = $defLista->getList(); // REDMINE #23263 if (is_array($index)) // lista múltiple { $num = count($index); for($i=0;$i<$num;$i++) { $valor[] = $lista[$index[$i]]['valor']; } } else { $valor = $lista[$index]['valor']; } // REDMINE #23228 $claseM = $this->comunica->_infoPanel['claseM']; $this->script .= IgepSmarty::getJsSetSelected( $campoDestino, $valor, $claseM ); $this->script .= IgepSmarty::getJsSetEstadoModificado( $campoDestino, $claseM, 'setSelectedIndex' ); } //End de setSelected /** * Establece el contenido de una lista en una accion de interfaz. * *Este metodo se debe utilizar si se quiere cambiar el contenido entero de una lista. * Suele venir combinado con la obtencion de la lista con el metodo getList. *
* * @param string $nombreCampo Nombre del componente lista. * @param gvHidraList $objListaStruc Estructura de la lista. * @param string $parametroOperacion (Opcional) El tipo de operación: insertar, borrar, actualizar, ... hay que dar una lista fija y clara. */ public function setList( $nombreCampo, $objListaStruc, $parametroOperacion= '' ) { $v_lista = $objListaStruc->getEstructuraListaIgep(); $campoDestino = $this->destinosAdaptados( $nombreCampo ); // REDMINE #23228 $claseM = $this->comunica->_infoPanel['claseM']; $this->script .= IgepSmarty::getJsLista( $campoDestino, $v_lista, $claseM ); } //Fin de setList /** * Estalece el valor del un check en una accion de interfaz. * * @param string $nombreCampo Nombre del campo check. * @param boolean $check Checked sí o no. */ public function setChecked( $nombreCampo, $check, $parametroOperacion='' ) { $idCheck = $this->getCheckName( $nombreCampo ); $hiddenName = $this->getCheckHiddenName( $nombreCampo ); //Seleccionamos el valor dependiendo si esta seleccionado $desc = $this->comunica->descCampoPanel[$idCheck]; $value = ($check ? $desc['valueChecked'] : $desc['valueUnchecked']); // REDMINE #23228 $claseM = $this->comunica->_infoPanel['claseM']; $this->script.= IgepSmarty::getJsSetCheck( $idCheck, $check, $hiddenName, $value, $claseM ); } //Fin de setChecked /** * Selecciona un nodo del árbol * * @param string $nombreCampo Nombre del campo árbol. * @param string $key * @param string $parametroOperacion (Opcional) El tipo de operación: insertar, borrar, actualizar, ... hay que dar una lista fija y clara. */ public function setSelectedNodeByKey( $nombreCampo, $key, $parametroOperacion='' ) { $nombreDestino = $nombreCampo; $campoDestino = $nombreCampo; if( $parametroOperacion != 'external' ) { $campoDestino = $this->destinosAdaptados( $nombreCampo ); } $campoOrigen = $this->_campoDisparador; // REDMINE #23228 $claseM = $this->comunica->_infoPanel['claseM']; $this->script .= IgepSmarty::getJsSetSelectedNodeByKey( $campoDestino, $nombreDestino, $campoOrigen, $key, $claseM ); } //Fin de setSelectedNodeByKey /** * Asignación del json a un elemento árbol * * @param string $nombreCampo Nombre del campo árbol. * @param string $json * @param string $parametroOperacion (Opcional) El tipo de operación: insertar, borrar, actualizar, ... hay que dar una lista fija y clara. */ public function setTree( $nombreCampo, $json, $parametroOperacion='' ) { $nombreDestino = $nombreCampo; $campoDestino = $nombreCampo; if ( $parametroOperacion != 'external' ) { $campoDestino = $this->destinosAdaptados( $nombreCampo ); } $campoOrigen = $this->_campoDisparador; // REDMINE #23228 $claseM = $this->comunica->_infoPanel['claseM']; $this->script .= IgepSmarty::getJsSetJsonTree( $campoDestino, $nombreDestino, $campoOrigen, $json, $claseM ); } //Fin de setTree /** * Establece la visibilidad de un componente en una accion de interfaz. * * @param string $nombreCampo Nombre del campo/componente. * @param boolean $valor Indica si se quiere ver o no. */ public function setVisible( $nombreCampo, $valor ) { //Obtenemos el tipo de widget $desc = $this->comunica->descCampoPanel[$nombreCampo]; if( isset($desc['component']) && ($desc['component'] == 'CheckBox') ) { $campoDestino = $this->getCheckName( $nombreCampo ); } else { $campoDestino = $this->destinosAdaptados( $nombreCampo ); } // REDMINE #23228 $claseM = $this->comunica->_infoPanel['claseM']; $this->script .= IgepSmarty::getJsSetVisible( $campoDestino, $valor, $claseM ); } //Fin de setVisible /** * setEnable metodo que permite modificar la accesibilidad de un componente en una accion de interfaz. * * @param string $nombreCampo Nombre del campo/componente. * @param boolean $valor Indica si es editable o no. */ // REDMINE #23133: inputDate public function setEnable( $nombreCampo, $valor, $inputDate = 'both' ) { //Obtenemos el tipo de widget $desc = $this->comunica->descCampoPanel[$nombreCampo]; $tipoComponente = null; $campoDestino = $this->destinosAdaptados($nombreCampo); if (isset($desc['component']) && ($desc['component'] == 'CheckBox')) { $tipoComponente = 'CheckBox'; $campoDestino = $this->getCheckName( $nombreCampo ); } elseif( isset($desc['radio']) && ($desc['radio']) ) { $tipoComponente = 'Radio'; } // REDMINE #23228 $claseM = $this->comunica->_infoPanel['claseM']; $this->script .= IgepSmarty::getJsSetEnable( $campoDestino, $valor, $tipoComponente, $inputDate, $claseM ); } //Fin de setEnable /** * setEnableTriggerEvent metodo que permite modificar la accesibilidad de un componente en una accion de interfaz. * * @param string $nombreCampo Nombre del campo/componente. * @param boolean $valor Indica si es editable o no. */ // REDMINE #23133: inputDate public function setEnableTrigger( $nombreCampo, $valor, $external = false ) { //Obtenemos el tipo de widget $desc = $this->comunica->descCampoPanel[$nombreCampo]; $tipoComponente = null; $campoDestino = $this->destinosAdaptados($nombreCampo); if (isset($desc['component']) && ($desc['component'] == 'CheckBox')) { $tipoComponente = 'CheckBox'; $campoDestino = $this->getCheckName( $nombreCampo ); } elseif( isset($desc['radio']) && ($desc['radio']) ) { $tipoComponente = 'Radio'; } if ($external == 'external') { $external = true; } // REDMINE #23228 $claseM = $this->comunica->_infoPanel['claseM']; $this->script .= IgepSmarty::getJsSetEnableTrigger( $campoDestino, $valor, $claseM, $external); } //Fin de setEnableTriggerEvent /** * Establece si el campo es de tipo password o no * * @param string $nombreCampo Nombre del campo/componente. * @param boolean $valor Indica si es de tipo password o no. */ public function setPasswordType( $nombreCampo, $valor ) { //Obtenemos el tipo de widget $desc = $this->comunica->descCampoPanel[$nombreCampo]; if( isset($desc['component']) && ($desc['component'] == 'CheckBox') ) { $campoDestino = $this->getCheckName( $nombreCampo ); } else { $campoDestino = $this->destinosAdaptados( $nombreCampo ); } // REDMINE #23228 $claseM = $this->comunica->_infoPanel['claseM']; $this->script .= IgepSmarty::getJsSetPasswordType( $campoDestino, $valor, $claseM); } //Fin de setPasswordType /** * Establece si un botón es dependiente del estado del panel o no * * @param string $nombreCampo Nombre del campo botón. * @param boolean $valor Booleano que indica si es dependiente o no. */ public function setDependPanel( $nombreCampo, $valor ) { $campoDestino = $this->destinosAdaptados( $nombreCampo ); // REDMINE #23228 $claseM = $this->comunica->_infoPanel['claseM']; $this->script .= IgepSmarty::getJsSetDependPanel( $campoDestino, $valor, $claseM ); } //Fin de setDependPanel /** * Establece el tabindex de un componente de pantalla de forma dinámica. * * @param string $nombreCampo Nombre del campo/componente. * @param boolean $value Valor asignado. */ public function setTabIndex( $nombreCampo, $value ) { $campoDestino = $this->destinosAdaptados( $nombreCampo ); // REDMINE #23228 $claseM = $this->comunica->_infoPanel['claseM']; $this->script .= IgepSmarty::getJsSetOrder( $campoDestino, $claseM, $value ); } //Fin de setTabIndex /** * Establece el estado del boton Tooltip correspondiente a activado (true) o desactivado (false). * * @param string $idPanel Indica el panel sobre el que se sitúa el botonTooltip ||| * @param string $nameBttl Nombre del boton tooltip. * @param boolean $on True para activar, false para desahabilitar. */ public function setBttlState( $idPanel, $nameBttl, $on ) { // REDMINE #23228 $claseM = $this->comunica->_infoPanel['claseM']; $this->script .= IgepSmarty::getJsSetBttlState( $idPanel, $nameBttl, $claseM, $on ); } //Fin de setBttlState /** * Establece el nombre del campo que dispara la acción en las acciones de interfaz. * * @param string $nombreCampo Nombre del campo/componente. */ public function setTriggerField( $nombreCampo ) { $this->_campoDisparador = $nombreCampo; } //Fin de setTriggerField // REDMINE #23367 /** * Fija si se ha paginado o no * * @param boolean $pag */ public function setOnPagination( $pag ) { if (($pag == 'true') || ($pag === true)) { $pag = true; } else { $pag = false; } $this->_onPagination = $pag; } //Fin de setOnPagination /** * Devuelve si se ha paginado o no. * * @return boolean */ public function getOnPagination() { return $this->_onPagination; } //return getOnPagination /** * Devuelve el nombre del campo que dispara la acción en las acciones de interfaz. * * @return string */ public function getTriggerField() { return $this->_campoDisparador; } //return getTriggerField /** * Establece la posición (índice) de la ficha activa * * @param integer $indiceFila */ public function posicionarEnFicha( $indiceFila ) { if( $this->_sufijoAdaptacion != '' ) { $v_auxUno = explode( '___', $this->_sufijoAdaptacion ); $v_auxDos = explode( '_', $v_auxUno[1] ); $this->_sufijoAdaptacion = "___{$v_auxDos[0]}_{$indiceFila}"; } $this->comunica->posicionarEnTupla( $indiceFila ); } //Fin de posicionarEnFicha /** * Devuelve el modo activo para una acción de interfaz dada. * *Los modos posibles son
*