Какие события я могу поймать, когда пользователь покидает сетку GXT? - PullRequest
0 голосов
/ 11 апреля 2009

У меня есть веб-приложение, которое широко использует сетки GXT (версия 1.2.2). Я хотел бы предупредить пользователя, если он вносит изменения, но не сохраняет.

Когда я использую сетку во всплывающем диалоговом окне, пользователь может выйти только через кнопку («Закрыть» или «ОК»). Если я добавлю SelectionListener к кнопке Close, я смогу выполнить проверку isDirty () и предупредить пользователя.

Если я не использую диалоговое окно, ограничения на выход из страницы не существует. Пользователь может щелкнуть боковое меню, выбрать другую вкладку, нажать кнопку «Обновить» или «Следующая страница», которая есть у нас на каждой странице. Я мог бы послушать событие на каждом из них, но есть ли более простой способ? Что-то вроде события «перед выгрузкой», которое запускается?

Ответы [ 2 ]

0 голосов
/ 10 апреля 2011

Попробуйте это:

Window.addListener(Events.Close,
     new Listener<ComponentEvent>() {
          public void handleEvent(ComponentEvent be) {
                //Do something
          }
});

или

Window.addListener(Events.Detach,
         new Listener<ComponentEvent>() {
              public void handleEvent(ComponentEvent be) {
                    //Do something
              }
    });
0 голосов
/ 11 апреля 2009

Window.addCloseListener

Или в GWT 1.6:

Window.addCloseHandler

Вы не можете запретить закрытие окна, но можете предложить пользователю нажать кнопку «Отмена», в результате чего страница останется открытой. Вы также можете выполнить операцию сохранения с последним шансом после того, как пользователь подтвердит закрытие окна, но до того, как ваша страница будет выгружена.

...