package net.thesocialos.client.view;
import java.util.Date;
import net.thesocialos.client.presenter.SharedUnit.Display;
import net.thesocialos.shared.model.SharedHistory;
import com.google.gwt.cell.client.AbstractCell;
import com.google.gwt.core.client.GWT;
import com.google.gwt.i18n.client.DateTimeFormat;
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.cellview.client.CellList;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.SimplePanel;
import com.google.gwt.user.client.ui.Widget;
public class SharedView extends Composite implements Display {
private static ChatSharedViewUiBinder uiBinder = GWT.create(ChatSharedViewUiBinder.class);
@UiField(provided = true) CellList<SharedHistory> cellListImages = new CellList<SharedHistory>(
new AbstractCell<SharedHistory>() {
@Override
public void render(Context context, SharedHistory value, SafeHtmlBuilder sb) {
if (value == null) return;
String cssTableURL = null;
switch (value.getMessageType()) {
case IMAGE:
cssTableURL = "sharedTableImage";
break;
case VIDEO:
cssTableURL = "sharedTableVideo";
break;
default:
break;
}
DateTimeFormat fmt = DateTimeFormat.getFormat("HH:mm:ss | dd/MM/yyyy");
Date date = new Date(value.getDate());
sb.appendHtmlConstant(" <table class=" + cssTableURL + "> " + "<tr>" + "<td class='sharedTable'>");
sb.appendEscaped(value.getTittle());
sb.appendHtmlConstant("</td>" + "</tr>" + "<tr>" + "<td class='sharedTable1'>");
sb.appendEscaped(value.getSendUser().getName());
sb.appendHtmlConstant("</td>" + "<tr>" + "<td class='sharedTable1'>");
sb.appendEscaped(fmt.format(date));
sb.appendHtmlConstant("</td>" + "</tr>" + "</table>");
}
});
@UiField SimplePanel widgetPanel;
interface ChatSharedViewUiBinder extends UiBinder<Widget, SharedView> {
}
public SharedView() {
initWidget(uiBinder.createAndBindUi(this));
}
@Override
public CellList<SharedHistory> getComponentsList() {
// TODO Auto-generated method stub
return cellListImages;
}
@Override
public SimplePanel getSimplePanel() {
// TODO Auto-generated method stub
return widgetPanel;
}
}