Translate

lunes, 22 de abril de 2013

Flex: TextInput prompt no aparece en Popup

El problema con el que he encontrado esta semana es que si tengo un Popup, ya sea utilizando el componente de Flex 4 PopUpAnchor o el propio del Framework Parsley ParleyPopup,  si dentro de él ponemos un textInput el prompt no aparece.




--




<fx:Declarations>

<!-- Place non-visual elements (e.g., services, value objects) here -->

<parsley:Configure/>

 <parsley1:ParsleyPopup open="{model.popupVisible}" modal="true" reuse="false">

  <popups:PopUpBase width="{stage.width}" height="{stage.height}" showEffect="Fade"    hideEffect="Fade" removedEffect="Fade"/>

 </parsley1:ParsleyPopup>

</fx:Declarations>



--

Para solucionarlo tenemos que crear un group que englobe a todo lo que está dentro del pop que implemente la interfaz IFocusManagerContainer, ya que es el Focus Manager lo que está provocando este mal comportamiento.


--
public class PopUpGroup extends Group implements IFocusManagerContainer
  
 {
  
  public function PopUpGroup()
   
  {
   
   super();
   
  }
  
  
  
  public function get defaultButton():IFlexDisplayObject
   
  {
   
   return null;
   
  }
  
  
  
  public function set defaultButton(value:IFlexDisplayObject):void
   
  {
   
  }
  
 }



--


<parsley1:ParsleyPopup open="{model.popupVisible}" modal="true" reuse="false">
 <group:PopUpGroup>       
  <popups:PopUpBase width="{stage.width}" height="{stage.height}" showEffect="Fade" hideEffect="Fade" removedEffect="Fade"/>
 </group:PopUpGroup>
</parsley1:ParsleyPopup>


--



Referencia:

TextInput in a pop up doesn't display its promptDisplay ? Bug or a FocusManager issue ?

No hay comentarios:

Publicar un comentario