added filter to sharing window
git-svn-id: http://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/portlets/user/workspace-tree-widget@77016 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
fe275ed060
commit
b90c237e6b
|
@ -9,12 +9,14 @@ 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.SortDir;
|
||||
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;
|
||||
import com.extjs.gxt.ui.client.event.SelectionListener;
|
||||
import com.extjs.gxt.ui.client.store.ListStore;
|
||||
import com.extjs.gxt.ui.client.store.Store;
|
||||
import com.extjs.gxt.ui.client.util.Margins;
|
||||
import com.extjs.gxt.ui.client.widget.ContentPanel;
|
||||
import com.extjs.gxt.ui.client.widget.Dialog;
|
||||
|
@ -23,6 +25,7 @@ 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.StoreFilterField;
|
||||
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;
|
||||
|
@ -40,9 +43,9 @@ public class MultiDragContact extends Dialog {
|
|||
private ListStore<InfoContactModel> storeTarget = new ListStore<InfoContactModel>();
|
||||
private TextArea textAreaAlreadyShared;
|
||||
|
||||
public MultiDragContact() {
|
||||
public MultiDragContact() {
|
||||
setStyleAttribute("margin", "10px");
|
||||
setSize(563, 502);
|
||||
setSize(563, 542);
|
||||
setHeading("Group dragging contacts");
|
||||
setIcon(Resources.getIconUsers());
|
||||
setModal(true);
|
||||
|
@ -53,7 +56,7 @@ public class MultiDragContact extends Dialog {
|
|||
setButtons(Dialog.OKCANCEL);
|
||||
|
||||
ContentPanel cpAlreadyShared = new ContentPanel();
|
||||
cpAlreadyShared.setSize(530, 50);
|
||||
cpAlreadyShared.setSize(530, 60);
|
||||
cpAlreadyShared.setHeaderVisible(false);
|
||||
|
||||
cpAlreadyShared.setLayout(new FitLayout());
|
||||
|
@ -70,7 +73,7 @@ public class MultiDragContact extends Dialog {
|
|||
// textField.setFieldLabel("Already shared with");
|
||||
// textField.setHeight(30);
|
||||
textAreaAlreadyShared.setWidth(401);
|
||||
textAreaAlreadyShared.setHeight(33);
|
||||
textAreaAlreadyShared.setHeight(43);
|
||||
cpAlreadyShared.setStyleAttribute("padding-bottom", "5px");
|
||||
textAreaAlreadyShared.setReadOnly(true);
|
||||
cpAlreadyShared.add(textAreaAlreadyShared);
|
||||
|
@ -86,7 +89,7 @@ public class MultiDragContact extends Dialog {
|
|||
|
||||
|
||||
ContentPanel cp = new ContentPanel();
|
||||
cp.setSize(530, 340);
|
||||
cp.setSize(530, 370);
|
||||
cp.setHeaderVisible(false);
|
||||
cp.setLayout(new RowLayout(Orientation.HORIZONTAL));
|
||||
|
||||
|
@ -109,31 +112,98 @@ public class MultiDragContact extends Dialog {
|
|||
VerticalPanel vp = new VerticalPanel();
|
||||
vp.setHorizontalAlign(HorizontalAlignment.CENTER);
|
||||
vp.add(new Label("All Contacts"));
|
||||
Grid<InfoContactModel> grid = new Grid<InfoContactModel>(storeSource, createColumnModel());
|
||||
grid.setSize(250,300);
|
||||
Grid<InfoContactModel> grid = new Grid<InfoContactModel>(storeSource, createColumnModel());
|
||||
|
||||
storeSource.setDefaultSort(InfoContactModel.FULLNAME, SortDir.ASC);
|
||||
storeSource.sort(InfoContactModel.FULLNAME, SortDir.ASC);
|
||||
|
||||
storeTarget.setDefaultSort(InfoContactModel.FULLNAME, SortDir.ASC);
|
||||
storeTarget.sort(InfoContactModel.FULLNAME, SortDir.ASC);
|
||||
|
||||
|
||||
StoreFilterField<InfoContactModel> filter = new StoreFilterField<InfoContactModel>() {
|
||||
|
||||
@Override
|
||||
protected boolean doSelect(Store<InfoContactModel> store, InfoContactModel parent,
|
||||
InfoContactModel record, String property, String filter) {
|
||||
|
||||
|
||||
String name = record.getName();
|
||||
name = name.toLowerCase();
|
||||
if (name.contains(filter.toLowerCase())) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
// filter.setFieldLabel("Filter Contacts");
|
||||
filter.setWidth(247);
|
||||
filter.setEmptyText("Filter All Contacts");
|
||||
HorizontalPanel hp = new HorizontalPanel();
|
||||
hp.setStyleAttribute("padding-top", "5px");
|
||||
hp.setStyleAttribute("padding-bottom", "5px");
|
||||
hp.add(filter);
|
||||
filter.bind(storeSource);
|
||||
|
||||
grid.setSize(250,310);
|
||||
grid.setBorders(false);
|
||||
grid.setAutoExpandColumn(InfoContactModel.FULLNAME);
|
||||
grid.setBorders(true);
|
||||
|
||||
vp.add(hp);
|
||||
vp.add(grid);
|
||||
|
||||
|
||||
|
||||
RowData data = new RowData(.5, 1);
|
||||
data.setMargins(new Margins(6));
|
||||
cp.add(vp, data);
|
||||
RowData rowData = new RowData(.5, 1);
|
||||
rowData.setMargins(new Margins(6));
|
||||
cp.add(vp, rowData);
|
||||
|
||||
vp = new VerticalPanel();
|
||||
vp.setHorizontalAlign(HorizontalAlignment.CENTER);
|
||||
vp.add(new Label("Share with..."));
|
||||
Grid<InfoContactModel> grid2 = new Grid<InfoContactModel>(storeTarget, createColumnModel());
|
||||
grid2.setSize(250, 300);
|
||||
|
||||
StoreFilterField<InfoContactModel> filter2 = new StoreFilterField<InfoContactModel>() {
|
||||
|
||||
@Override
|
||||
protected boolean doSelect(Store<InfoContactModel> store, InfoContactModel parent,
|
||||
InfoContactModel record, String property, String filter) {
|
||||
|
||||
|
||||
String name = record.getName();
|
||||
name = name.toLowerCase();
|
||||
if (name.contains(filter.toLowerCase())) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
// filter.setFieldLabel("Filter Contacts");
|
||||
filter2.setWidth(247);
|
||||
filter2.setEmptyText("Filter Share with");
|
||||
|
||||
hp = new HorizontalPanel();
|
||||
hp.setStyleAttribute("padding-top", "5px");
|
||||
hp.setStyleAttribute("padding-bottom", "5px");
|
||||
hp.add(filter2);
|
||||
filter2.bind(storeTarget);
|
||||
|
||||
|
||||
grid2.setSize(250, 310);
|
||||
grid2.setBorders(false);
|
||||
grid2.setAutoExpandColumn(InfoContactModel.FULLNAME);
|
||||
grid2.setBorders(true);
|
||||
grid2.setBorders(true);
|
||||
vp.add(hp);
|
||||
vp.add(grid2);
|
||||
|
||||
data = new RowData(.5, 1);
|
||||
data.setMargins(new Margins(6, 6, 6, 0));
|
||||
cp.add(vp, data);
|
||||
rowData = new RowData(.5, 1);
|
||||
rowData.setMargins(new Margins(6, 6, 6, 0));
|
||||
cp.add(vp, rowData);
|
||||
|
||||
new GridDragSource(grid);
|
||||
new GridDragSource(grid2);
|
||||
|
@ -184,8 +254,15 @@ public class MultiDragContact extends Dialog {
|
|||
|
||||
public void addSourceContacts(List<InfoContactModel> listContact){
|
||||
|
||||
if(listContact!=null && listContact.size()>0)
|
||||
storeSource.add(listContact);
|
||||
if(listContact!=null && listContact.size()>0){
|
||||
|
||||
for (InfoContactModel infoContactModel : listContact) {
|
||||
|
||||
if(infoContactModel.getName()!=null && !infoContactModel.getName().isEmpty())
|
||||
storeSource.add(infoContactModel);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void addAlreadySharedContacts(List<InfoContactModel> listContact){
|
||||
|
|
Loading…
Reference in New Issue