Активность GWT — места => Диалоговое окно?

#gwt

#gwt

Вопрос:

Я пытаюсь использовать модель активности и места GWT, но у меня возникают некоторые проблемы с тем, как использовать мои действия.

У меня есть LoginActivity, который побуждает пользователя к другому действию: DemandsActivity.

Мой DemandsActivity управляет представлением («DemandsView»), которое отображает простой список запросов (с таблицей ячеек). В целом все работает нормально.

Я хотел бы иметь возможность отображать детали запроса из выбранной строки моей таблицы ячеек, отображая диалоговое окно с информацией. Я подумал, что мог бы использовать для этого еще одно действие: DemandDetailsActivity. Но я не знаю, как это сделать.

Или я ошибался с самого начала. Может быть, мне следует добавить несколько докладчиков (дисплеев) в свою активность? Один ведущий для отображения моей таблицы ячеек, а другой для отображения выбранного элемента моей таблицы ячеек в диалоговом окне без изменения места?

Что вы об этом думаете?

Спасибо

Ответ №1:

То, что вы пытаетесь сделать, называется основным подробным представлением. Люди внедряли это с помощью GWT, просто погуглите.

Кстати, на языке MVP действия — это ведущие, а представления — это дисплеи, поэтому, когда вы говорите put several presenters (displays) into my activity , это действительно не имеет смысла.

Докладчики должны соответствовать месту и обрабатывать бизнес-логику. Они не должны касаться части отображения. И они должны быть тестируемыми, что означает, что они должны запускаться на JRE рабочего стола / сервера без зависимостей клиента GWT.

Итак, вся часть построения графического интерфейса должна находиться внутри Views. И, да, у вас могло бы быть несколько просмотров для каждого действия, если это имеет смысл. Но лично я бы выбрал одно представление, которое показывает детали (возможно, диалог), когда Activity указывает на это.

Ответ №2:

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