import gr.ebs.gss.client.rest.resource.SharedResource;
import gr.ebs.gss.client.rest.resource.TrashFolderResource;
import gr.ebs.gss.client.rest.resource.TrashResource;
+import gwtquery.plugins.draggable.client.DragAndDropManager;
import gwtquery.plugins.draggable.client.DraggableOptions;
import gwtquery.plugins.draggable.client.DraggableOptions.CursorAt;
import gwtquery.plugins.draggable.client.DraggableOptions.DragFunction;
import com.google.gwt.cell.client.ValueUpdater;
import com.google.gwt.core.client.GWT;
import com.google.gwt.dom.client.Style.Cursor;
+import com.google.gwt.query.client.plugins.GQueryUi;
import com.google.gwt.safehtml.client.SafeHtmlTemplates;
import com.google.gwt.safehtml.shared.SafeHtml;
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
import com.google.gwt.user.client.DeferredCommand;
+import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.AbstractImagePrototype;
import com.google.gwt.view.client.AsyncDataProvider;
import com.google.gwt.view.client.HasData;
final Images images;
SingleSelectionModel<RestResource> selectionModel;
Map<String, MyFolderDataProvider> mymap = new HashMap<String, MyFolderDataProvider>();
+ Map<String, MyFolderDataProvider> sharedmap = new HashMap<String, MyFolderDataProvider>();
+ Map<String, MyFolderDataProvider> othersmap = new HashMap<String, MyFolderDataProvider>();
static interface Templates extends SafeHtmlTemplates {
Templates INSTANCE = GWT.create(Templates.class);
@Override
public void render(com.google.gwt.cell.client.Cell.Context arg0, RestResource arg1, SafeHtmlBuilder arg2) {
- String html=null;
- String name=null;
+ String id = null;
+ String html = null;
+ String name = null;
if(arg1 instanceof TrashFolderResource){
html = AbstractImagePrototype.create(images.folderYellow()).getHTML();
FolderResource res = ((RestResourceWrapper)arg1).getResource();
- name=res.getName();
+ name = res.getName();
+ id = res.getParentName() +"."+name;
}
else if(arg1 instanceof RestResourceWrapper){
FolderResource res = ((RestResourceWrapper)arg1).getResource();
else
html = AbstractImagePrototype.create(images.folderYellow()).getHTML();
name = res.getName();
+ if(res.getParentName() != null){
+ id = res.getParentName()+"."+name;
+ }else{
+ id = name;
+ }
}
else if(arg1 instanceof TrashResource){
html = AbstractImagePrototype.create(images.trash()).getHTML();
name="Trash";
+ id = name;
}
else if(arg1 instanceof SharedResource){
html = AbstractImagePrototype.create(images.myShared()).getHTML();
- name="My Shared";
+ name = "My Shared";
+ id = name;
}
else if(arg1 instanceof OthersResource){
html = AbstractImagePrototype.create(images.othersShared()).getHTML();
name = "Other's Shared";
+ id = "others";
}
else if(arg1 instanceof OtherUserResource){
html = AbstractImagePrototype.create(images.permUser()).getHTML();
name = ((OtherUserResource)arg1).getName();
+ id = name;
}
arg2.appendHtmlConstant(html);
- arg2.appendHtmlConstant("<span class='papala'>");
+ arg2.appendHtmlConstant("<span id='"+id +"'"+ " class='papala'>");
arg2.appendEscaped(name);
arg2.appendHtmlConstant("</span>");
}
((MyFolderResource) value),MyFolderResource.class);
DragAndDropNodeInfo<RestResource> n = new DragAndDropNodeInfo<RestResource>(dataProvider, departmentCell,
selectionModel, new ResourceValueUpdater());
+
//nodeInfos.put(((MyFolderResource) value).getUri(), n);
mymap.put(((MyFolderResource) value).getUri(), dataProvider);
DroppableOptions options = n.getDroppableOptions();
options.setOnOver(new DroppableFunction() {
@Override
- public void f(DragAndDropContext context) {
- GWT.log("-->OnActivate:"+context.getDroppableData());
+ public void f(final DragAndDropContext context) {
if(context.getDroppableData()!=null && context.getDroppableData() instanceof RestResource){
- GSS.get().getTreeView().openNodeContainingResource((RestResource) context.getDroppableData());
+ GSS.get().getTreeView().getUtils().openNodeContainingResource((RestResource) context.getDroppableData(), new RefreshHandler() {
+
+ @Override
+ public void onRefresh() {
+
+ DragAndDropManager.getInstance().initialize(context, GQueryUi.Event.create(com.google.gwt.user.client.Event.getCurrentEvent()));
+
+ }
+ });
+
}
+
+
}
});
options.setOnDrop(new DroppableFunction() {
// permission cell are not draggable
//n.setCellDroppableOnly();
configureDragOperation(n.getDraggableOptions());
+
return n;
}
else if (value instanceof SharedResource) {
// Second level.
MyFolderDataProvider dataProvider = new MyFolderDataProvider(
((SharedResource) value), SharedFolderResource.class);
+ sharedmap.put(((SharedResource) value).getUri(), dataProvider);
return new DragAndDropNodeInfo<RestResource>(dataProvider, departmentCell,
selectionModel, new ResourceValueUpdater());
}
((SharedFolderResource) value),SharedFolderResource.class);
DragAndDropNodeInfo<RestResource> n = new DragAndDropNodeInfo<RestResource>(dataProvider, departmentCell,
selectionModel, new ResourceValueUpdater());
- //nodeInfos.put(((SharedFolderResource) value).getUri(), n);
+ sharedmap.put(((SharedFolderResource) value).getUri(), dataProvider);
DroppableOptions options = n.getDroppableOptions();
options.setDroppableHoverClass("droppableHover");
// use a DroppableFunction here. We can also add a DropHandler in the tree
DragAndDropNodeInfo<RestResource> n = new DragAndDropNodeInfo<RestResource>(dataProvider, departmentCell,
selectionModel, new ResourceValueUpdater());
//nodeInfos.put(((OthersFolderResource) value).getUri(), n);
+ othersmap.put(((SharedFolderResource) value).getUri(), dataProvider);
DroppableOptions options = n.getDroppableOptions();
options.setDroppableHoverClass("droppableHover");
// use a DroppableFunction here. We can also add a DropHandler in the tree
((MyFolderResource)value).setResource(rootResource);
if(GSS.get().getTreeView().getSelection().getUri().equals(value.getUri()))
selectionModel.setSelected(value, true);
- GWT.log("UPDATYING");
GSS.get().onResourceUpdate(value);
}
};
DeferredCommand.addCommand(gf);
}
- if(value instanceof TrashResource){
+ else if(value instanceof TrashResource){
DeferredCommand.addCommand(new GetCommand<TrashResource>(TrashResource.class, GSS.get().getCurrentUserResource().getTrashPath(), null) {
@Override
public void onComplete() {
}
});
}
+ else if(value instanceof OthersFolderResource){
+
+ }
}
}
List<RestResource> res =null;
public void refresh(final RefreshHandler refresh){
- GWT.log("******************************************");
- GWT.log("[REFRESHING]:"+restResource.getUri());
- GWT.log("******************************************");
FolderResource cache = null;
if(restResource instanceof RestResourceWrapper && !((RestResourceWrapper)restResource).getResource().isNeedsExpanding())
cache = ((RestResourceWrapper)restResource).getResource();
((RestResourceWrapper)restResource).getResource().setNeedsExpanding(false);
}
if(usedCachedVersion()&&res!=null){
- updateRowCount(res.size(), true);
- updateRowData(0,res);
+
+ updateRowCount(res.size(), true);
+ updateRowData(0,res);
+
return;
}
String[] folderPaths = null;
else if(resourceClass.equals(MyFolderResource.class))
res.add(new MyFolderResource(r));
else if(resourceClass.equals(SharedFolderResource.class)){
- GWT.log("ADDING:"+r.getUri());
res.add(new SharedFolderResource(r));
}
else if(resourceClass.equals(TrashFolderResource.class))
}
public void refresh(final RefreshHandler refresh){
- GWT.log("******************************************");
- GWT.log("[REFRESHING]:"+restResource.getUri());
- GWT.log("******************************************");
GetCommand<OthersResource> go = new GetCommand<OthersResource>(OthersResource.class,
restResource.getUri(), null) {
public Map<String, MyFolderDataProvider> getMymap() {
return mymap;
}
+
+
+ /**
+ * Retrieve the sharedmap.
+ *
+ * @return the sharedmap
+ */
+ public Map<String, MyFolderDataProvider> getSharedmap() {
+ return sharedmap;
+ }
+
+
+ /**
+ * Retrieve the othersmap.
+ *
+ * @return the othersmap
+ */
+ public Map<String, MyFolderDataProvider> getOthersmap() {
+ return othersmap;
+ }
+
+