Menu

Problema para cerrar un Dialog.

2015-02-09
2015-02-13
  • Raúl González

    Raúl González - 2015-02-09

    Buenas tardes,

    Estoy con un proyecto en el que estamos usando OX y me surgen muchas dudas a la hora de hacer cosas customizadas, y en estos momentos el principal problema que estoy teniendo es con los dialogs, tengo en mi detail de un modelo un action con el siguiente código:

    public class EditorCalendarisEmpleatAction extends ViewBaseAction
        implements INavigationAction 
    //  implements ICustomViewAction
        {  // 1
    
        public void execute() throws Exception {
            int any = 2015;
            String idEmpleat = (String) getView().getValue("id");
            Query query = XPersistence.getManager().createQuery("from DiaEspecial de where de.empleat.id = :idEmpleat " +
                    " and year(de.data) = :any");
            query.setParameter("idEmpleat", idEmpleat);
            query.setParameter("any", any);
            List<DiaEspecial> list = query.getResultList();
    //      XPersistence.getManager().find(Calendari.class, arg1, arg2)
            getRequest().setAttribute("diesEspecials", list);
            query = XPersistence.getManager().createQuery("from DiaEspecialEmpresa dee where year(dee.data) = :any");
            query.setParameter("any", any);
            List<DiaEspecialEmpresa> listEmpresa = query.getResultList();
            getRequest().setAttribute("diesEspecialsEmpresa", listEmpresa);
            getRequest().setAttribute("idEmpleat", idEmpleat);
            //addActions("Dialog.cancel");
            showDialog(); 
        }
    
        public String[] getNextControllers() {                                     // 2
            return null;
        }
    
        public void setKeyProperty(String s) {
        }
    
        @Override
        public String getCustomView() throws Exception {
            return "xava/editors/jsp-propios/calendariMensual.jsp";
        }
    
    }
    

    Esta acción me abre el dialog y me hace el comportamiento deseado, salvo cuando presiono el botón del aspa de cerrar la ventana, que lo que hace es cerrar el dialog, pero me machaca el view que tenía abajo con el view del dialog.

    No se si tendría que definir algo más.

    Un saludo y muchas gracias.

     
  • Javier Paniza

    Javier Paniza - 2015-02-11

    Hola Raúl:

    Prueba esto en tu acción:

    public String[] getNextControllers() {                                    
        return String [] { "Dialog" };
    }
    

    Y dime que tal te va.


    Ayuda a otros en este foro como yo te ayudo a ti.

     
  • Raúl González

    Raúl González - 2015-02-11

    Hola Javier gracias por atenderme,

    A ver al añadir el dialog me muestra el botón de cancelar, pero el comportamiento de este botón y del aspa es el mismo, se llama al closeDialog y se cierrar, pero me cambiar el contenido de la view que lo llamo, recargando sobre la view principal el contenido de la view que acabo de cerrar en el dialog.

    Adjunto dos capturas.

    Saludos y gracias de nuevo.

     
  • Javier Paniza

    Javier Paniza - 2015-02-13

    Hola Raul:

    Añade un nuevo controlador en tu controllers.xml:

    <controller name="Calendario">
        <action name="close"        class="org.openxava.actions.CancelFromCustomListAction"/>
    </controller>
    

    Y usalo desde tu acción:

    public String[] getNextControllers() {                                    
        return String [] { "Calendario" };
    }
    

    Dime que tal te va.

    Para preguntar en español deberías usar el foro Ayuda y no Help.


    Ayuda a otros en este foro como yo te ayudo a ti.

     

Log in to post a comment.