pasar de la ventana javascript abierta a Rich: ModalPanel

En mi aplicación web actualmente hay muchas ventanas emergentes creadas por varias funciones JS que me gustaría reemplazar con Rich:ModalPanel (estoy usando Myfaces 2.0.12 y RichFaces 3.3.3). A continuación se muestra un ejemplo típico que me gusta reemplazar:

   window.open("<%=basePath1%>jsp/custhistory.faces?userid="+pk);

donde pk es el valor reintentado desde una entrada oculta como <h:inputHidden id="userPk" value="#{1234}"/> dentro de la función javascript y luego se agrega al final de la URL anterior.

Mirando algunos ejemplos (y demostraciones) de RichFaces ModalPanel, no puedo entender cómo puedo hacer que lo anterior funcione usando ModalPanel. ¿Puede alguien proporcionar un ejemplo o un enlace a un recurso o

preguntado el 09 de marzo de 12 a las 13:03

1 Respuestas

He estado usando Richfaces 4, pero debería aplicarse la misma teoría.

El panel modal es esencialmente un div que se puede mostrar u ocultar, por lo que podría agregar un <ui:include> allí si necesita (o quiere) específicamente que el panel sea un archivo separado.

El panel modal se representa como parte de su página, pero tiene el estilo display:none Yo creo. Si esto se desencadena por una acción del cliente, puede llamar a la API de Richfaces para mostrar el panel a pedido.

Por ejemplo, en lugar de un comando (Enlace | Botón) que activa Richfaces.$('elName').show() podría activar su función js que establece y valora/parámetros necesita su panel modal y luego llama .show() misma.

Nota: IE y Firefox tenían una ventana emergente verdaderamente modal. Esto no es realmente modal y javascript se procesará en segundo plano, y si no le da foco al panel emergente si el usuario escribe, interactuará con la aplicación en segundo plano.

Utilicé una ventana emergente js modal para solicitar a un usuario una pregunta de sí/no en su tipo de idioma

if(askUser("some question?")=='yes'){
    //some code to do if yes
}else{
    //some code to do if no
}

Dependiendo de qué tan genérico desee esta ventana emergente, eso no es realmente posible sin usar un evento que se activa y definir un controlador de eventos para que ese evento maneje el resto de la función.

respondido 14 mar '12, 02:03

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.