import com.google.gwt.i18n.client.DateTimeFormat;
import com.google.gwt.resources.client.ImageResource;
import com.google.gwt.safehtml.client.SafeHtmlTemplates;
+import com.google.gwt.safehtml.client.SafeHtmlTemplates.Template;
import com.google.gwt.safehtml.shared.SafeHtml;
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
import com.google.gwt.user.cellview.client.CellTable;
import com.google.gwt.user.cellview.client.Column;
+import com.google.gwt.user.client.DOM;
import com.google.gwt.user.client.Event;
+import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.view.client.ListDataProvider;
interface TableResources extends CellTable.Resources {
@Override
- @Source({CellTable.Style.DEFAULT_CSS, "GssCellTable.css"})
+ @Source({CellTable.Style.DEFAULT_CSS, "PithosCellTable.css"})
TableStyle cellTableStyle();
}
sb.append(Templates.INSTANCE.filenameSpan(object.getName()));
if (object.getContentType().endsWith("png") || object.getContentType().endsWith("gif") || object.getContentType().endsWith("jpeg")) {
sb.appendHtmlConstant(" ")
- .append(Templates.INSTANCE.viewLink(object.getUri(), object.getOwner() + " : " + object.getPath() + object.getName()));
+ .append(Templates.INSTANCE.viewLink(app.getApiPath() + object.getOwner() + object.getUri() + "?X-Auth-Token=" + app.getToken(), object.getName()));
}
return sb.toSafeHtml();
aColumn = new Column<File,String>(new TextCell()) {
@Override
public String getValue(File object) {
- return formatter.format(object.getLastModified());
+ return object.getLastModified() != null ? formatter.format(object.getLastModified()) : "";
}
};
aheader = new SortableHeader("Last Modified");
VerticalPanel vp = new VerticalPanel();
vp.setWidth("100%");
+ vp.addStyleName("pithos-FileListContainer");
vp.add(celltable);
selectionModel = new MultiSelectionModel<File>(keyProvider);
- celltable.setSelectionModel(selectionModel, GSSSelectionEventManager.<File> createDefaultManager());
+ celltable.setSelectionModel(selectionModel, PithosSelectionEventManager.<File> createDefaultManager());
// celltable.setPageSize(Pithos.VISIBLE_FILE_COUNT);
sinkEvents(Event.ONCONTEXTMENU);
// sinkEvents(Event.ONMOUSEDOWN);
// sinkEvents(Event.ONCLICK);
// sinkEvents(Event.ONKEYDOWN);
-// sinkEvents(Event.ONDBLCLICK);
+ sinkEvents(Event.ONDBLCLICK);
Pithos.preventIESelection();
}
return new ArrayList<File>(selectionModel.getSelectedSet());
}
-// @Override
-// public void onBrowserEvent(Event event) {
-//
+ @Override
+ public void onBrowserEvent(Event event) {
+
// if (files == null || files.size() == 0) {
// if (DOM.eventGetType(event) == Event.ONCONTEXTMENU && getSelectedFiles().size() == 0) {
// contextMenu = new FileContextMenu(images, false, true);
// contextMenu = contextMenu.onEmptyEvent(event);
// event.cancelBubble(true);
// event.preventDefault();
-// } else if (DOM.eventGetType(event) == Event.ONDBLCLICK)
-// if (getSelectedFiles().size() == 1) {
-// Pithos app = app;
-// File file = getSelectedFiles().get(0);
-// Window.open(file.getUri(), "_blank", "");
-// event.preventDefault();
-// return;
-// }
-// super.onBrowserEvent(event);
-// }
+// } else
+ if (DOM.eventGetType(event) == Event.ONDBLCLICK)
+ if (getSelectedFiles().size() == 1) {
+ File file = getSelectedFiles().get(0);
+ Window.open(app.getApiPath() + file.getOwner() + file.getUri() + "?X-Auth-Token=" + app.getToken(), "_blank", "");
+ event.preventDefault();
+ return;
+ }
+ super.onBrowserEvent(event);
+ }
/**
* Update the display of the file list.
} else if (sortingProperty.equals("owner")) {
return arg0.getOwner().compareTo(arg1.getOwner());
} else if (sortingProperty.equals("date")) {
- return arg0.getLastModified().compareTo(arg1.getLastModified());
+ if (arg0.getLastModified() != null && arg1.getLastModified() != null)
+ return arg0.getLastModified().compareTo(arg1.getLastModified());
+ return 0;
} else if (sortingProperty.equals("size")) {
return (int) (arg0.getBytes() - arg1.getBytes());
} else if (sortingProperty.equals("name")) {