Subversion Repositories eFlore/Applications.del

Rev

Rev 9 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 9 Rev 14
1
package org.tela_botanica.del.client.vues.searchobservations;
1
package org.tela_botanica.del.client.vues.rechercheobservations;
2
 
2
 
3
import java.util.List;
3
import java.util.List;
4
 
4
 
5
import org.tela_botanica.del.client.modeles.Observation;
5
import org.tela_botanica.del.client.modeles.Observation;
6
import org.tela_botanica.del.client.modeles.ObservationValidationData;
6
import org.tela_botanica.del.client.modeles.ObservationValidation;
7
import org.tela_botanica.del.client.navigation.event.EventBus;
7
import org.tela_botanica.del.client.navigation.event.BusEvenementiel;
8
import org.tela_botanica.del.client.navigation.event.validateobservation.ValidateImageEvent;
8
import org.tela_botanica.del.client.navigation.event.validationobservation.EvenementValidation;
9
import org.tela_botanica.del.client.utils.MockDatasource;
9
import org.tela_botanica.del.client.utils.MockDatasource;
10
import org.tela_botanica.del.client.vues.searchobservations.detail.ObservationDetailPresenter;
10
import org.tela_botanica.del.client.vues.rechercheobservations.detail.ObservationDetailPresenteur;
11
import org.tela_botanica.del.client.vues.searchobservations.vote.MeanRatingPresenter;
11
import org.tela_botanica.del.client.vues.rechercheobservations.vote.MoyenneVotePresenteur;
12
 
12
 
13
import com.google.gwt.event.dom.client.ClickEvent;
13
import com.google.gwt.event.dom.client.ClickEvent;
14
import com.google.gwt.event.dom.client.ClickHandler;
14
import com.google.gwt.event.dom.client.ClickHandler;
15
import com.google.gwt.user.client.ui.HasWidgets;
15
import com.google.gwt.user.client.ui.HasWidgets;
16
 
16
 
17
public class ObservationPresenter {
17
public class ObservationPresenteur {
18
 
18
 
19
	private final MockDatasource validationService = MockDatasource.getInstance();
19
	private final MockDatasource validationService = MockDatasource.getInstance();
20
 
20
 
21
	private ObservationView view = new ObservationView();
21
	private ObservationVue view = new ObservationVue();
22
 
22
 
23
	private final Observation observation;
23
	private final Observation observation;
24
 
24
 
25
	private boolean detailsOpen = false;
25
	private boolean detailsOpen = false;
26
 
26
 
27
	public ObservationPresenter(Observation observation) {
27
	public ObservationPresenteur(Observation observation) {
28
		this.observation = observation;
28
		this.observation = observation;
29
	}
29
	}
30
 
30
 
31
	public void go(HasWidgets composite) {
31
	public void go(HasWidgets composite) {
32
		composite.add(view);
32
		composite.add(view);
33
		view.loadImage(observation);
33
		view.loadImage(observation);
34
		loadValidationData();
34
		loadValidationData();
35
		handleEvents();
35
		handleEvents();
36
 
36
 
37
	}
37
	}
38
 
38
 
39
	private void loadValidationData() {
39
	private void loadValidationData() {
40
 
40
 
41
		List<ObservationValidationData> observationValidationDatas = validationService
41
		List<ObservationValidation> observationValidationDatas = validationService
42
				.getValidationData(observation.getIdImage());
42
				.getValidationData(observation.getIdImage());
43
 
43
 
44
		observation.setImageCelValidationDatas(observationValidationDatas);
44
		observation.setImageCelValidationDatas(observationValidationDatas);
45
		new MeanRatingPresenter(observationValidationDatas).go(view
45
		new MoyenneVotePresenteur(observationValidationDatas).go(view
46
				.getRatePanel());
46
				.getRatePanel());
47
		view.showValidationData(observationValidationDatas);
47
		view.showValidationData(observationValidationDatas);
48
 
48
 
49
	}
49
	}
50
 
50
 
51
	private void handleEvents() {
51
	private void handleEvents() {
52
		view.getMoreDetailsHtml().addClickHandler(new ClickHandler() {
52
		view.getMoreDetailsHtml().addClickHandler(new ClickHandler() {
53
 
53
 
54
			@Override
54
			@Override
55
			public void onClick(ClickEvent event) {
55
			public void onClick(ClickEvent event) {
56
 
56
 
57
				if (detailsOpen) {
57
				if (detailsOpen) {
58
					view.clearDetails();
58
					view.clearDetails();
59
				} else {
59
				} else {
60
					new ObservationDetailPresenter(observation).go(view
60
					new ObservationDetailPresenteur(observation).go(view
61
							.getDetailsPanel());
61
							.getDetailsPanel());
62
					view.getMoreDetailsHtml().setHTML(
62
					view.getMoreDetailsHtml().setHTML(
63
							"<img src='img/icon_minus.png' />");
63
							"<img src='img/icon_minus.png' />");
64
				}
64
				}
65
				detailsOpen = !detailsOpen;
65
				detailsOpen = !detailsOpen;
66
			}
66
			}
67
		});
67
		});
68
 
68
 
69
		view.getProposeValidationDataHtml().addClickHandler(new ClickHandler() {
69
		view.getProposeValidationDataHtml().addClickHandler(new ClickHandler() {
70
 
70
 
71
			@Override
71
			@Override
72
			public void onClick(ClickEvent event) {
72
			public void onClick(ClickEvent event) {
73
				EventBus.getInstance().fireEvent(
73
				BusEvenementiel.getInstance().fireEvent(
74
						new ValidateImageEvent(observation));
74
						new EvenementValidation(observation));
75
			}
75
			}
76
		});
76
		});
77
	}
77
	}
78
}
78
}