MVP, лучшая практика для передачи событий ряда обратно докладчику - PullRequest
2 голосов
/ 15 марта 2011

У меня есть CellTable в представлении GWT MVP, и я хочу сообщить докладчику, когда в строке выполняются определенные действия.Например, всплывающее меню представлено для строки и выбрано действие (Удалить / Изменить / и т. Д.).Очевидно, есть SelectionModel, который доступен через HasData, но как бы я использовал это, чтобы передать действие «действие».

Есть ли стандартный интерфейс (например, HasData), который я мог бы использовать, чтобы передать обратно Presenter

Ответы [ 2 ]

0 голосов
/ 16 марта 2011

Думая об этом больше, я мог бы закончить разработку этого. Если у меня есть одно всплывающее меню, которое я повторно использую в представлении, и ведущий прослушивает события щелчка в меню (а не в CellList), то я могу запросить модель выбора CellList через обработчик для кнопки (ей).

0 голосов
/ 15 марта 2011

Обычно в GWT MVP View предоставляет объект, который может регистрировать обработчики событий: обычно они имеют вид HasXyxHandlers, например HasClickHandlers или HasChangeHandlers.

В случае CellTable он называется по-другому:SelectionModel.Просто реализуйте в View метод, который его возвращает:

SelectionModel<YourClass> getSelectionModel();

, затем Presenter вызывает этот метод и регистрирует себя:

final SelectionModel<YourClass> selectionModel = view.getSelectionModel();
selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
    @Override
    public void onSelectionChange(SelectionChangeEvent event) {
        YourClass selectedObject = selectionModel.getSelectedObject();
        // do something with selectedObject  
    }
});
...