package eu.dnetlib.client;

import com.github.gwtbootstrap.client.ui.base.IconAnchor;
import com.google.gwt.dom.client.Document;
import com.google.gwt.dom.client.Style;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.History;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.Widget;

/**
 * Created by stefania on 4/2/15.
 */
public class RequestsWidget implements MyWidget {

    private String token = "";

    private FlowPanel requestsPagePanel = new FlowPanel();
    private Label requestsTitleLabel = new Label();
    private Label requestsInfoLabel = new Label();

    private IconAnchor newFundingRequest = new IconAnchor();
    private IconAnchor existingFundingRequests = new IconAnchor();
    private IconAnchor newBudgetRequest = new IconAnchor();
    private IconAnchor existingBudgetRequests = new IconAnchor();

    public RequestsWidget() {

        requestsPagePanel.addStyleName("content");

        requestsTitleLabel.setText("Manage Requests");
        requestsTitleLabel.addStyleName("contentTitleLabel");

        requestsInfoLabel.setText("Make new funding and budget requests and view existing ones");
        requestsInfoLabel.addStyleName("contentInfoLabel");

       /* newFundingRequest.setText("New funding request");
        newFundingRequest.setHref("#newFundingRequest");
        newFundingRequest.addStyleName("emphasis");
        newFundingRequest.addClickHandler(new ClickHandler() {
            @Override
            public void onClick(ClickEvent clickEvent) {
                History.newItem("newFundingRequest");
            }
        });*/


        existingFundingRequests.setText("Existing funding requests");
        existingFundingRequests.setHref("#existingFundingRequests");
        existingFundingRequests.addStyleName("emphasis");
        existingFundingRequests.addClickHandler(new ClickHandler() {
            @Override
            public void onClick(ClickEvent clickEvent) {
                History.newItem("existingFundingRequests");
            }
        });

        newBudgetRequest.setText("New budget request");
        newBudgetRequest.setHref("#newBudgetRequest");
        newBudgetRequest.addStyleName("emphasis");
        newBudgetRequest.addClickHandler(new ClickHandler() {
            @Override
            public void onClick(ClickEvent clickEvent) {
                History.newItem("newBudgetRequest");
            }
        });

        existingBudgetRequests.setHref("#existingBudgetRequests");
        existingBudgetRequests.setText("Existing budget requests");
        existingBudgetRequests.addStyleName("emphasis");
        existingBudgetRequests.addClickHandler(new ClickHandler() {
            @Override
            public void onClick(ClickEvent clickEvent) {
                History.newItem("existingBudgetRequests");
            }
        });

        requestsPagePanel.add(requestsTitleLabel);
        requestsPagePanel.add(requestsInfoLabel);
        requestsPagePanel.add(newFundingRequest);
        requestsPagePanel.add(existingFundingRequests);
        requestsPagePanel.add(newBudgetRequest);
        requestsPagePanel.add(existingBudgetRequests);
    }

    @Override
    public void clear() {

    }

    @Override
    public void reload() {

        MyWidgetHelper.hideSidebar();

        SidebarPanel helpPanel = new SidebarPanel("Help");
        MyWidgetHelper.loadHelp(helpPanel, token.split("\\.")[0]);
    }

    @Override
    public void setToken(String token) {
        this.token = token;
    }

    @Override
    public void afterAdditionToRootPanel() {

    }

    @Override
    public Widget asWidget() {
        return requestsPagePanel;
    }
}

