diff --git a/.project b/.project index 5365685..073215f 100644 --- a/.project +++ b/.project @@ -30,6 +30,16 @@ + + com.google.gdt.eclipse.core.webAppProjectValidator + + + + + com.google.gwt.eclipse.core.gwtProjectValidator + + + org.eclipse.jem.workbench.JavaEMFNature @@ -38,5 +48,6 @@ org.eclipse.m2e.core.maven2Nature org.eclipse.wst.common.project.facet.core.nature org.eclipse.wst.jsdt.core.jsNature + com.google.gwt.eclipse.core.gwtNature diff --git a/.settings/com.google.gdt.eclipse.core.prefs b/.settings/com.google.gdt.eclipse.core.prefs new file mode 100644 index 0000000..4088716 --- /dev/null +++ b/.settings/com.google.gdt.eclipse.core.prefs @@ -0,0 +1,4 @@ +eclipse.preferences.version=1 +lastWarOutDir=/Users/massi/Documents/workspace/invite-friends-vre/target/invite-friends-vre-0.0.1-SNAPSHOT +warSrcDir=src/main/webapp +warSrcDirIsOutput=false diff --git a/.settings/com.google.gwt.eclipse.core.prefs b/.settings/com.google.gwt.eclipse.core.prefs new file mode 100644 index 0000000..f23a752 --- /dev/null +++ b/.settings/com.google.gwt.eclipse.core.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +entryPointModules= diff --git a/src/main/java/org/gcube/portlets/user/invitefriends/client/InviteFriends.java b/src/main/java/org/gcube/portlets/user/invitefriends/client/InviteFriends.java index 9ac6b79..3361fdf 100644 --- a/src/main/java/org/gcube/portlets/user/invitefriends/client/InviteFriends.java +++ b/src/main/java/org/gcube/portlets/user/invitefriends/client/InviteFriends.java @@ -1,5 +1,7 @@ package org.gcube.portlets.user.invitefriends.client; +import org.gcube.portlets.user.invitefriends.client.ui.InviteWidget; + import com.google.gwt.core.client.EntryPoint; import com.google.gwt.user.client.ui.RootPanel; @@ -13,6 +15,6 @@ public class InviteFriends implements EntryPoint { * This is the entry point method. */ public void onModuleLoad() { - RootPanel.get("invite-friends-DIV").add(new InviteFriendsPanel()); + RootPanel.get("invite-friends-DIV").add(new InviteWidget()); } } diff --git a/src/main/java/org/gcube/portlets/user/invitefriends/client/InviteFriendsPanel.java b/src/main/java/org/gcube/portlets/user/invitefriends/client/InviteFriendsPanel.java deleted file mode 100644 index 4c0e662..0000000 --- a/src/main/java/org/gcube/portlets/user/invitefriends/client/InviteFriendsPanel.java +++ /dev/null @@ -1,89 +0,0 @@ -package org.gcube.portlets.user.invitefriends.client; - -import org.gcube.portlets.user.invitefriends.client.resources.Images; - -import com.github.gwtbootstrap.client.ui.Button; -import com.github.gwtbootstrap.client.ui.Label; -import com.github.gwtbootstrap.client.ui.Modal; -import com.github.gwtbootstrap.client.ui.ModalFooter; -import com.github.gwtbootstrap.client.ui.TextBox; -import com.google.gwt.core.client.GWT; -import com.google.gwt.event.dom.client.ClickEvent; -import com.google.gwt.event.dom.client.ClickHandler; -import com.google.gwt.user.client.Window; -import com.google.gwt.user.client.ui.Composite; -import com.google.gwt.user.client.ui.HTML; -import com.google.gwt.user.client.ui.HasAlignment; -import com.google.gwt.user.client.ui.HasVerticalAlignment; -import com.google.gwt.user.client.ui.HorizontalPanel; -import com.google.gwt.user.client.ui.Image; -import com.google.gwt.user.client.ui.VerticalPanel; -/** - * - * @author M. Assante, ISTI-CNR - * - */ -public class InviteFriendsPanel extends Composite { - - private final InviteServiceAsync service = GWT.create(InviteService.class); - public static final String DISPLAY_NAME = "Invite people to this VRE"; - - private Image loadingImage; - - - private VerticalPanel mainPanel; - - public InviteFriendsPanel() { - super(); - - mainPanel = new VerticalPanel(); - - mainPanel.setWidth("100%"); - mainPanel.setStyleName("invites-frame"); - - HTML name = new HTML(DISPLAY_NAME); - name.setStyleName("invites-title"); - - HorizontalPanel hp = new HorizontalPanel(); - hp.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE); - hp.add(name); - - TextBox text = new TextBox(); - text.setPlaceholder("e-mail address"); - - Button send = new Button("Send Invite"); - - mainPanel.add(hp); - mainPanel.add(text); - mainPanel.add(send); - - initWidget(mainPanel); - - send.addClickHandler(new ClickHandler() { - @Override - public void onClick(ClickEvent arg0) { - Modal mod = new Modal(); - - mod.add(new Label("Ciao")); - ModalFooter mf = new ModalFooter(); - Button asend = new Button("Send"); - mf.add(asend); - mod.setAnimation(true); - mod.show(); - - mod.add(mf); - - } - }); - - } - - - private void showLoader() { - mainPanel.clear(); - mainPanel.setWidth("100%"); - mainPanel.setHorizontalAlignment(HasAlignment.ALIGN_CENTER); - mainPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE); - mainPanel.add(loadingImage); - } -} diff --git a/src/main/java/org/gcube/portlets/user/invitefriends/client/ui/Form.java b/src/main/java/org/gcube/portlets/user/invitefriends/client/ui/Form.java deleted file mode 100644 index f1f20a8..0000000 --- a/src/main/java/org/gcube/portlets/user/invitefriends/client/ui/Form.java +++ /dev/null @@ -1,46 +0,0 @@ -package org.gcube.portlets.user.invitefriends.client.ui; - -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.Window; -import com.google.gwt.user.client.ui.Button; -import com.google.gwt.user.client.ui.Composite; -import com.google.gwt.user.client.ui.HasText; -import com.google.gwt.user.client.ui.Widget; - -public class Form extends Composite implements HasText { - - private static FormUiBinder uiBinder = GWT.create(FormUiBinder.class); - - interface FormUiBinder extends UiBinder { - } - - public Form() { - initWidget(uiBinder.createAndBindUi(this)); - } - - @UiField - Button button; - - public Form(String firstName) { - initWidget(uiBinder.createAndBindUi(this)); - button.setText(firstName); - } - - @UiHandler("button") - void onClick(ClickEvent e) { - Window.alert("Hello!"); - } - - public void setText(String text) { - button.setText(text); - } - - public String getText() { - return button.getText(); - } - -} diff --git a/src/main/java/org/gcube/portlets/user/invitefriends/client/ui/Form.ui.xml b/src/main/java/org/gcube/portlets/user/invitefriends/client/ui/Form.ui.xml deleted file mode 100644 index 3fd6809..0000000 --- a/src/main/java/org/gcube/portlets/user/invitefriends/client/ui/Form.ui.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - .important { - font-weight: bold; - } - - - Hello, - - - \ No newline at end of file diff --git a/src/main/java/org/gcube/portlets/user/invitefriends/client/ui/InviteWidget.java b/src/main/java/org/gcube/portlets/user/invitefriends/client/ui/InviteWidget.java new file mode 100644 index 0000000..74c0009 --- /dev/null +++ b/src/main/java/org/gcube/portlets/user/invitefriends/client/ui/InviteWidget.java @@ -0,0 +1,57 @@ +package org.gcube.portlets.user.invitefriends.client.ui; + +import com.github.gwtbootstrap.client.ui.Button; +import com.github.gwtbootstrap.client.ui.Form; +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.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.HTML; +import com.google.gwt.user.client.ui.Widget; +/** + * + * @author Massimiliano Assante, ISTI-CNR + * + */ +public class InviteWidget extends Composite { + + public static final String DISPLAY_NAME = "Invite people to this VRE"; + + private static InviteWidgetUiBinder uiBinder = GWT + .create(InviteWidgetUiBinder.class); + + interface InviteWidgetUiBinder extends UiBinder { + } + + @UiField HTML header; + @UiField TextBox emailAddress; + @UiField Button openModal; + @UiField Button cancelInvite; + @UiField Button sendInvite; + @UiField Modal modalWindow; + @UiField Form mainForm; + @UiField HelpBlock helpBlock; + + public InviteWidget() { + initWidget(uiBinder.createAndBindUi(this)); + header.setText(DISPLAY_NAME); + } + + @UiHandler("openModal") + public void onClick(ClickEvent e) { + helpBlock.setText("We will send the invitation email to: "+emailAddress.getText()); + modalWindow.show(); + } + + @UiHandler("cancelInvite") + public void onCancelClick(ClickEvent e) { + modalWindow.hide(); + } + + +} diff --git a/src/main/java/org/gcube/portlets/user/invitefriends/client/ui/InviteWidget.ui.xml b/src/main/java/org/gcube/portlets/user/invitefriends/client/ui/InviteWidget.ui.xml new file mode 100644 index 0000000..c52d76c --- /dev/null +++ b/src/main/java/org/gcube/portlets/user/invitefriends/client/ui/InviteWidget.ui.xml @@ -0,0 +1,35 @@ + + + + + + + + + + Send Invite + + + + + + + Please, enter name and lastname of the friend you + wish to invite: + + + + + + + + + + Cancel + Send Invite + + + + \ No newline at end of file diff --git a/src/main/webapp/InviteFriends.css b/src/main/webapp/InviteFriends.css index f78871a..b08cf9f 100644 --- a/src/main/webapp/InviteFriends.css +++ b/src/main/webapp/InviteFriends.css @@ -1,7 +1,10 @@ #invite-friends-DIV { - margin-right: 10px; + } +.helpFontSize { + font-size: 14px; +} .invites-title { display: block; font-size: 16px; @@ -11,7 +14,8 @@ } .invites-frame { - padding: 10px; + padding: 10px 10px 0px; + margin-right: 10px; background-color: #FFF; border-radius: 6px !important; -moz-border-radius: 6px !important;