accounting-dashboard/src/main/java/org/gcube/portlets/user/accountingdashboard/client/application/mainarea/report/ReportAreaView.java

93 lines
2.4 KiB
Java

package org.gcube.portlets.user.accountingdashboard.client.application.mainarea.report;
import java.util.ArrayList;
import java.util.logging.Logger;
import javax.inject.Inject;
import org.gcube.portlets.user.accountingdashboard.client.application.mainarea.report.chartjs.Chart;
import org.gcube.portlets.user.accountingdashboard.client.resources.AppResources;
import org.gcube.portlets.user.accountingdashboard.shared.data.ReportData;
import org.gcube.portlets.user.accountingdashboard.shared.data.ReportElementData;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.HTMLPanel;
import com.google.gwt.user.client.ui.Widget;
import com.gwtplatform.mvp.client.ViewWithUiHandlers;
/**
*
* @author Giancarlo Panichi
*
*/
public class ReportAreaView extends ViewWithUiHandlers<ReportAreaPresenter>
implements ReportAreaPresenter.ReportAreaView {
private static Logger logger = java.util.logging.Logger.getLogger("");
interface Binder extends UiBinder<Widget, ReportAreaView> {
}
@UiField
HTMLPanel reportPanel;
private AppResources resources;
@Inject
ReportAreaView(Binder uiBinder, AppResources resources) {
this.resources = resources;
init();
initWidget(uiBinder.createAndBindUi(this));
ReportData rData=new ReportData();
ArrayList<ReportElementData> elements=new ArrayList<>();
ReportElementData reportElementData=new ReportElementData();
reportElementData.setxAxis("XAxis");
reportElementData.setyAxis("YAxis");
reportElementData.setCategory("Category");
reportElementData.setLabel("Label");
elements.add(reportElementData);
rData.setElements(elements);
displayReportData(rData);
}
private void init() {
}
/**
* LABEL
* |
* | _
* yaxis | _ | |
* | | || |_
* | | || | |
* ---------------------------------------------------
*
*
* *Series_label1 *Series_label2 *Series_label3
*
* xAxis
*
*/
@Override
public void displayReportData(ReportData reportData) {
if (reportData == null) {
reportPanel.clear();
} else {
reportPanel.clear();
for (int i = 0; i < reportData.getElements().size(); i++) {
Chart chart = new Chart("report_" + i, reportData.getElements().get(i));
reportPanel.add(chart);
}
}
}
}