Package honeycrm.client.mvp.views

Source Code of honeycrm.client.mvp.views.PluginView$PluginViewUiBinder

package honeycrm.client.mvp.views;

import honeycrm.client.LocalizedMessages;
import honeycrm.client.misc.PluginDescription;
import honeycrm.client.misc.PluginResponse;
import honeycrm.client.mvp.presenters.PluginPresenter;
import honeycrm.client.mvp.presenters.PluginPresenter.Display;

import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.uibinder.client.UiHandler;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.FileUpload;
import com.google.gwt.user.client.ui.FormPanel;
import com.google.gwt.user.client.ui.FormPanel.SubmitCompleteEvent;
import com.google.gwt.user.client.ui.FormPanel.SubmitCompleteHandler;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.Widget;

public class PluginView extends Composite implements Display {
  public static final LocalizedMessages constants = GWT.create(LocalizedMessages.class);
  private static PluginViewUiBinder uiBinder = GWT.create(PluginViewUiBinder.class);

  interface PluginViewUiBinder extends UiBinder<Widget, PluginView> {
  }

  @UiField FormPanel form;
  @UiField FileUpload upload;
  @UiField HTML area;
  @UiField Button submit;
  @UiField Button close;
  @UiField Label responseLabel;
  @UiField Label response;
  private PluginPresenter presenter;
 
  public PluginView() {
    initWidget(uiBinder.createAndBindUi(this));
   
    close.setText(constants.cancel());
    submit.setText(constants.uploadPlugin());
    responseLabel.setText(constants.response());
   
    form.setAction("/Honey/upload");
    form.setEncoding(FormPanel.ENCODING_MULTIPART);
    form.setMethod(FormPanel.METHOD_POST);
   
    upload.setName("file");

    form.addSubmitCompleteHandler(new SubmitCompleteHandler() {
      @Override
      public void onSubmitComplete(SubmitCompleteEvent event) {
        presenter.onSubmitComplete();
      }
    });
  }
 
  @UiHandler("submit")
  public void onSubmitHandler(ClickEvent event) {
    form.submit();
  }

  @Override
  public void setPresenter(PluginPresenter presenter) {
    this.presenter = presenter;
  }

  @Override
  public void setPlugins(PluginDescription[] result) {
    String html = "";

    for (final PluginDescription p : result) {
      html += "<li>" + p.getName() + " " + p.getDescription() + "</li>";
    }

    area.setHTML("<h1>Plugins</h1><ul>" + html + "</ul>");
  }

  @Override
  public void setResponse(PluginResponse result) {
    response.setText(result.getResponse());
  }
 
  @UiHandler("close")
  public void onClose(ClickEvent event) {
    removeFromParent();
  }
}
TOP

Related Classes of honeycrm.client.mvp.views.PluginView$PluginViewUiBinder

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.