78 lines
2.1 KiB
Java
78 lines
2.1 KiB
Java
/**
|
|
*
|
|
*/
|
|
package org.gcube.portlets.user.invitefriends.client.validation;
|
|
|
|
import com.github.gwtbootstrap.client.ui.Button;
|
|
import com.github.gwtbootstrap.client.ui.HelpBlock;
|
|
import com.github.gwtbootstrap.client.ui.Modal;
|
|
import com.github.gwtbootstrap.client.ui.TextBox;
|
|
import com.google.gwt.core.client.GWT;
|
|
import com.google.gwt.editor.client.Editor;
|
|
import com.google.gwt.editor.client.EditorDriver;
|
|
import com.google.gwt.editor.client.SimpleBeanEditorDriver;
|
|
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.Composite;
|
|
import com.google.gwt.user.client.ui.Widget;
|
|
|
|
/**
|
|
*
|
|
* @author Massimiliano Assante, ISTI-CNR
|
|
*
|
|
*/
|
|
public class FormViewImpl extends Composite implements FormView, Editor<FormView.UserDetails> {
|
|
|
|
interface Binder extends UiBinder<Widget, FormViewImpl> {}
|
|
private static Binder uiBinder = GWT.create(Binder.class);
|
|
|
|
interface Driver extends SimpleBeanEditorDriver<FormView.UserDetails, FormViewImpl> { }
|
|
private Driver driver = GWT.create(Driver.class);
|
|
|
|
private final Delegate delegate;
|
|
|
|
@UiField TextBox email;
|
|
@UiField TextBox name;
|
|
@UiField TextBox lastName;
|
|
//
|
|
@UiField Button openModal;
|
|
@UiField Button cancelInvite;
|
|
@UiField Button sendInvite;
|
|
@UiField Modal modalWindow;
|
|
@UiField HelpBlock helpBlock;
|
|
|
|
/**
|
|
*
|
|
*/
|
|
public FormViewImpl(Delegate delegate) {
|
|
super();
|
|
this.delegate = delegate;
|
|
initWidget(uiBinder.createAndBindUi(this));
|
|
driver.initialize(this);
|
|
driver.edit(new UserDetails());
|
|
}
|
|
|
|
@UiHandler("openModal")
|
|
void onUserClick(ClickEvent event) {
|
|
if (!delegate.onSendClick()) {
|
|
helpBlock.setText("We will send the invitation email to: "+email.getText());
|
|
modalWindow.show();
|
|
}
|
|
}
|
|
|
|
@UiHandler("cancelInvite")
|
|
public void onCancelClick(ClickEvent e) {
|
|
modalWindow.hide();
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
public EditorDriver<FormView.UserDetails> getEditorDriver() {
|
|
return driver;
|
|
}
|
|
}
|
|
|