From 2aaff0b61b4bea7f71ca765ca37ef439502f346c Mon Sep 17 00:00:00 2001 From: Francesco Mangiacrapa Date: Fri, 7 Jun 2013 15:32:53 +0000 Subject: [PATCH] updated sharing window with already shared contacts git-svn-id: http://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/portlets/user/workspace-tree-widget@76889 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../view/sharing/DialogShareFolder.java | 26 ++++++++ .../multisuggest/MultiDragContact.java | 59 ++++++++++++++++++- 2 files changed, 82 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/view/sharing/DialogShareFolder.java b/src/main/java/org/gcube/portlets/user/workspace/client/view/sharing/DialogShareFolder.java index 933237e..45f3ea3 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/view/sharing/DialogShareFolder.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/view/sharing/DialogShareFolder.java @@ -295,6 +295,8 @@ public class DialogShareFolder extends Dialog { multiDrag.addTargetContact(infoContactModel); } + multiDrag.addAlreadySharedContacts(suggestPanel.getSelectedUser()); + // multiDrag.addTargetContacts(suggestPanel.getSelectedUser()); multiDrag.show(); @@ -309,6 +311,12 @@ public class DialogShareFolder extends Dialog { suggestPanel.addRecipient(infoContactModel.getName(),true); } +// for (InfoContactModel infoContactModel : multiDrag.getTargetListContact()) { +// +// if(!listAlreadySharedContains(infoContactModel)) +// suggestPanel.addRecipient(infoContactModel.getName(),true); +// } + suggestPanel.boxSetFocus(); // printSelectedUser(); @@ -318,6 +326,24 @@ public class DialogShareFolder extends Dialog { }); } + private boolean listAlreadySharedContains(InfoContactModel contact){ + + if(contact==null) + return false; + + for (InfoContactModel ct : listAlreadyShared) { + + if(ct.getLogin().compareTo(contact.getLogin())==0){ + + return true; + } + + } + + return false; + + } + //DEBUG private void printSelectedUser(){ diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/view/sharing/multisuggest/MultiDragContact.java b/src/main/java/org/gcube/portlets/user/workspace/client/view/sharing/multisuggest/MultiDragContact.java index c419503..1a4007c 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/view/sharing/multisuggest/MultiDragContact.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/view/sharing/multisuggest/MultiDragContact.java @@ -9,6 +9,7 @@ import org.gcube.portlets.user.workspace.client.resources.Resources; import com.extjs.gxt.ui.client.Style.HorizontalAlignment; import com.extjs.gxt.ui.client.Style.Orientation; import com.extjs.gxt.ui.client.Style.Scroll; +import com.extjs.gxt.ui.client.Style.VerticalAlignment; import com.extjs.gxt.ui.client.dnd.GridDragSource; import com.extjs.gxt.ui.client.dnd.GridDropTarget; import com.extjs.gxt.ui.client.event.ButtonEvent; @@ -17,13 +18,16 @@ import com.extjs.gxt.ui.client.store.ListStore; import com.extjs.gxt.ui.client.util.Margins; import com.extjs.gxt.ui.client.widget.ContentPanel; import com.extjs.gxt.ui.client.widget.Dialog; +import com.extjs.gxt.ui.client.widget.HorizontalPanel; import com.extjs.gxt.ui.client.widget.Label; import com.extjs.gxt.ui.client.widget.MessageBox; import com.extjs.gxt.ui.client.widget.VerticalPanel; import com.extjs.gxt.ui.client.widget.button.Button; +import com.extjs.gxt.ui.client.widget.form.TextArea; import com.extjs.gxt.ui.client.widget.grid.ColumnConfig; import com.extjs.gxt.ui.client.widget.grid.ColumnModel; import com.extjs.gxt.ui.client.widget.grid.Grid; +import com.extjs.gxt.ui.client.widget.layout.FitLayout; import com.extjs.gxt.ui.client.widget.layout.RowData; import com.extjs.gxt.ui.client.widget.layout.RowLayout; import com.extjs.gxt.ui.client.widget.toolbar.ToolBar; @@ -34,10 +38,11 @@ public class MultiDragContact extends Dialog { private GridDropTarget dropTarget; private ListStore storeSource = new ListStore(); private ListStore storeTarget = new ListStore(); + private TextArea textAreaAlreadyShared; public MultiDragContact() { setStyleAttribute("margin", "10px"); - setSize(563, 452); + setSize(563, 502); setHeading("Group dragging contacts"); setIcon(Resources.getIconUsers()); setModal(true); @@ -47,6 +52,39 @@ public class MultiDragContact extends Dialog { setButtonAlign(HorizontalAlignment.CENTER); setButtons(Dialog.OKCANCEL); + ContentPanel cpAlreadyShared = new ContentPanel(); + cpAlreadyShared.setSize(530, 50); + cpAlreadyShared.setHeaderVisible(false); + + cpAlreadyShared.setLayout(new FitLayout()); + + VerticalPanel vpShared = new VerticalPanel(); + vpShared.setVerticalAlign(VerticalAlignment.MIDDLE); + vpShared.setHorizontalAlign(HorizontalAlignment.CENTER); + vpShared.setStyleAttribute("padding", "5px"); + vpShared.setLayout(new FitLayout()); + HorizontalPanel hpSharedContacts = new HorizontalPanel(); + hpSharedContacts.setHorizontalAlign(HorizontalAlignment.CENTER); + hpSharedContacts.setVerticalAlign(VerticalAlignment.MIDDLE); + textAreaAlreadyShared = new TextArea(); +// textField.setFieldLabel("Already shared with"); +// textField.setHeight(30); + textAreaAlreadyShared.setWidth(401); + textAreaAlreadyShared.setHeight(33); + cpAlreadyShared.setStyleAttribute("padding-bottom", "5px"); + textAreaAlreadyShared.setReadOnly(true); + cpAlreadyShared.add(textAreaAlreadyShared); + + Label label = new Label("Already shared with"); + label.setStyleAttribute("padding-right", "10px"); + + hpSharedContacts.add(label); + hpSharedContacts.add(textAreaAlreadyShared); + vpShared.add(hpSharedContacts); + cpAlreadyShared.add(vpShared); + add(cpAlreadyShared); + + ContentPanel cp = new ContentPanel(); cp.setSize(530, 340); cp.setHeaderVisible(false); @@ -60,7 +98,7 @@ public class MultiDragContact extends Dialog { @Override public void componentSelected(ButtonEvent ce) { - MessageBox.info("Group dragging action", "Drag one or more contacts from the left (All Contacts) to the right (Share with contacts) to add users in your sharing list.", null); + MessageBox.info("Group dragging action", "Drag one or more contacts from the left (All Contacts) to the right (Share with) to add users in your sharing list.", null); } }); @@ -85,7 +123,7 @@ public class MultiDragContact extends Dialog { vp = new VerticalPanel(); vp.setHorizontalAlign(HorizontalAlignment.CENTER); - vp.add(new Label("Share with contacts...")); + vp.add(new Label("Share with...")); Grid grid2 = new Grid(storeTarget, createColumnModel()); grid2.setSize(250, 300); grid2.setBorders(false); @@ -150,6 +188,21 @@ public class MultiDragContact extends Dialog { storeSource.add(listContact); } + public void addAlreadySharedContacts(List listContact){ + + if(listContact!=null && listContact.size()>0){ + + String alreadyShared = ""; + for (int i=0; i listContact){ if(listContact!=null && listContact.size()>0) storeTarget.add(listContact);