SmartGwt – Confirmar la eliminación de un evento del calendario

marzo 19, 2013

SmartGwt tiene un control Calendar para mostrar la información de eventos al usuario. En las vistas de día y semana, los eventos muestran una ‘X’ para eliminar el evento. Normalmente, en este caso, quisieramos mostrar un mensaje para confirmar la eliminación de dicho evento.

Para lograr esto lo podemos hacer de la siguiente manera

    Calendar calendar = new Calendar();
    audienciasCalendar.addEventRemoveClickHandler(new EventRemoveClickHandler() {
        @Override
        public void onEventRemoveClick(final CalendarEventRemoveClick event) {
            SC.ask("Cancelar", "¿Está seguro que desa cancelar el evento?", new BooleanCallback() {</p><pre><code>            @Override
            public void execute(Boolean confirmado) {
                if(confirmado){
                    cancelarEvento(event.getEvent());
                }
            }
        });
        event.cancel();
    }
});
</code></pre><p>

Notesé la llamada al método event.cancel(). Debido a que la confirmación de la eliminación es asíncrona, debemos cancelar el evento para evitar que el control remueva el Evento antes de recibir la confirmación.

Una vez confirmado, ejecutamos nuestra petición al servidor para eliminar el Evento y -en caso de éxito- removemos el evento del calendario.

    private void cancelarEvento(final CalendarEvent event){
        RemoteService.cancelarEvento(event.getEventId(), new AsyncCallback() {</p><pre><code>        @Override
        public void onSuccess(Void result) {
            calendar.removeEvent(event);
        }

        @Override
        public void onFailure(Throwable caught) {
            log.severe(caught.toString());
            SC.warn("Error al cancelar el evento");
        }
    });
}
</code></pre><p>

Fuentes:
http://forums.smartclient.com/showthread.php?t=7423&highlight=calendar+event+cancel

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: