New file |
0,0 → 1,78 |
package org.tela_botanica.del.client.vues.rechercheobservations; |
|
import java.util.List; |
|
import org.tela_botanica.del.client.modeles.Observation; |
import org.tela_botanica.del.client.modeles.ObservationValidation; |
import org.tela_botanica.del.client.navigation.event.BusEvenementiel; |
import org.tela_botanica.del.client.navigation.event.validationobservation.EvenementValidation; |
import org.tela_botanica.del.client.utils.MockDatasource; |
import org.tela_botanica.del.client.vues.rechercheobservations.detail.ObservationDetailPresenteur; |
import org.tela_botanica.del.client.vues.rechercheobservations.vote.MoyenneVotePresenteur; |
|
import com.google.gwt.event.dom.client.ClickEvent; |
import com.google.gwt.event.dom.client.ClickHandler; |
import com.google.gwt.user.client.ui.HasWidgets; |
|
public class ObservationPresenteur { |
|
private final MockDatasource validationService = MockDatasource.getInstance(); |
|
private ObservationVue view = new ObservationVue(); |
|
private final Observation observation; |
|
private boolean detailsOpen = false; |
|
public ObservationPresenteur(Observation observation) { |
this.observation = observation; |
} |
|
public void go(HasWidgets composite) { |
composite.add(view); |
view.loadImage(observation); |
loadValidationData(); |
handleEvents(); |
|
} |
|
private void loadValidationData() { |
|
List<ObservationValidation> observationValidationDatas = validationService |
.getValidationData(observation.getIdImage()); |
|
observation.setImageCelValidationDatas(observationValidationDatas); |
new MoyenneVotePresenteur(observationValidationDatas).go(view |
.getRatePanel()); |
view.showValidationData(observationValidationDatas); |
|
} |
|
private void handleEvents() { |
view.getMoreDetailsHtml().addClickHandler(new ClickHandler() { |
|
@Override |
public void onClick(ClickEvent event) { |
|
if (detailsOpen) { |
view.clearDetails(); |
} else { |
new ObservationDetailPresenteur(observation).go(view |
.getDetailsPanel()); |
view.getMoreDetailsHtml().setHTML( |
"<img src='img/icon_minus.png' />"); |
} |
detailsOpen = !detailsOpen; |
} |
}); |
|
view.getProposeValidationDataHtml().addClickHandler(new ClickHandler() { |
|
@Override |
public void onClick(ClickEvent event) { |
BusEvenementiel.getInstance().fireEvent( |
new EvenementValidation(observation)); |
} |
}); |
} |
} |