* @author Keka: * @author Vero: * @author Raquel: * @author Toni: * @package igep */ class IgepComunicaIU extends IgepComunicaUsuario { /** * Contiene el código JS que se va a ejecutar * @access private * @var string */ var $script; /** * Prefijo para obtener los campos adaptados * en pantalla * @access private * @var string */ var $prefijoAdaptacion; /** * Prefijo para obtener los campos adaptados * en pantalla * @access private * @var string */ var $sufijoAdaptacion; /** * Variable que contiene el nombre del campo que dispara la acción en el caso de las acciones de interfaz * @access private * @var string */ var $_campoDisparador; /** * Constructor. Recibe como parámetro una instancia viva de la clase * IgepComunicacion * * @access public * @param object $comunica */ //function IgepComunicaIU(& $comunica, & $datosPreinsertados, & $listasPanel, $destinos, $destinosAdaptados) function IgepComunicaIU(& $comunica, & $datosPreinsertados, & $listasPanel, $campoOrigen) { parent::IgepComunicaUsuario($comunica, $datosPreinsertados, $listasPanel); $this->script = ''; //Almacenamos los destinosAdaptados en un array indexado por el nombre del campo $this->prefijoAdaptacion =''; $this->sufijoAdaptacion =''; $auxDestino = $campoOrigen; $v_auxDestino = explode('___',$auxDestino,3); if (count($v_auxDestino)>2) { $this->prefijoAdaptacion = $v_auxDestino[0].'___'; $this->sufijoAdaptacion = '___'.$v_auxDestino[2]; } } /** * Alias para getCampo */ function destinosAdaptados($nombreCampo) { return ($this->prefijoAdaptacion.$nombreCampo.$this->sufijoAdaptacion); } function setValue($campo, $valor) { $campoDestino = $this->destinosAdaptados($campo); $this->script.= IgepSmarty::getJsSetCampoTexto($campoDestino, $valor); $this->script .= IgepSmarty::getJsSetEstadoModificado($campoDestino); } /** * Alias de setValue */ function setCampo($campo, $valor) { $this->setValue($campo, $valor); } function setLista($campo, $objListaStruc) { $v_lista = $objListaStruc->getEstructuraListaIgep(); $campoDestino = $this->destinosAdaptados($campo); $this->script.= IgepSmarty::getJsLista($campoDestino, $v_lista); $this->script .= IgepSmarty::getJsSetEstadoModificado($campoDestino); } function setVisible($campo,$valor) { $campoDestino = $this->destinosAdaptados($campo); $this->script.= IgepSmarty::getJsSetVisible($campoDestino, $valor); } function setEnable($campo,$valor) { $campoDestino = $this->destinosAdaptados($campo); $this->script.= IgepSmarty::getJsSetEnable($campoDestino, $valor); } /** * Método interno para fijar el nombre del campo que dispara la acción en las acciones de interfaz * @access private * @param string $nombreCampo * @return none */ function _setCampoDisparador($nombreCampo){ $this->_campoDisparador = $nombreCampo; } /** * Método para obtener el nombre del campo que dispara la acción en las acciones de interfaz * @access public * @return string */ function getCampoDisparador(){ return $this->_campoDisparador; } /** * Nos permite cambiar la ficha activa */ 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); } /** * Obtenemos el modo activo para una acción de interfaz dada. * Los modos posibles son: * -fil : Filtro o modo de búsqueda. * -lis : Listado o modo de tabla. * -edi : Edición o modo de ficha. */ function getModoActivo(){ return $this->comunica->damePanelActivo(); } //PROVISIONAL function getScript() { return $this->script; } }//Fin de IgepComunicaIU ?>