package net.thesocialos.client.view.deck;
import net.thesocialos.client.CacheLayer;
import net.thesocialos.client.api.TwitterAPI;
import net.thesocialos.shared.model.Columns;
import net.thesocialos.shared.model.Columns.TYPE;
import com.google.gwt.core.client.GWT;
import com.google.gwt.dom.client.Style.Unit;
import com.google.gwt.event.dom.client.ChangeEvent;
import com.google.gwt.event.dom.client.ChangeHandler;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.ListBox;
import com.google.gwt.user.client.ui.RadioButton;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.Widget;
public class AddColumn extends Composite {
private static AddColumnUiBinder uiBinder = GWT.create(AddColumnUiBinder.class);
@UiField ListBox typeList;
@UiField TextBox searchBox;
@UiField RadioButton homeRadio;
@UiField RadioButton mentionsRadio;
@UiField Button showButton;
@UiField DeckColumn column;
@UiField Button addColumn;
int type = 0;
interface AddColumnUiBinder extends UiBinder<Widget, AddColumn> {
}
public AddColumn() {
initWidget(uiBinder.createAndBindUi(this));
searchBox.setVisible(false);
homeRadio.setVisible(false);
mentionsRadio.setVisible(false);
showButton.setVisible(false);
typeList.addItem(" - Select a column type - ");
typeList.addItem("Timeline");
typeList.addItem("Search");
// typeList.addItem("List");
typeList.addChangeHandler(new ChangeHandler() {
@Override
public void onChange(ChangeEvent event) {
if (typeList.getSelectedIndex() == 1) {
searchBox.setVisible(false);
homeRadio.setVisible(true);
mentionsRadio.setVisible(true);
} else if (typeList.getSelectedIndex() == 2) {
searchBox.setVisible(true);
homeRadio.setVisible(false);
mentionsRadio.setVisible(false);
}
showButton.setVisible(true);
type = typeList.getSelectedIndex();
}
});
showButton.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
column.clearPosts();
column.clearTweets();
if (type == 1) {
if (homeRadio.getValue()) column.setColumns(new Columns(TYPE.TIMELINE, Columns.HOME));
else if (mentionsRadio.getValue()) column.setColumns(new Columns(TYPE.TIMELINE, Columns.MENTIONS));
else
return;
new TwitterAPI().loadColumns(column);
}
if (type == 2) {
if (searchBox.getValue().equals("")) return;
column.setColumns(new Columns(TYPE.SEARCH, searchBox.getValue()));
new TwitterAPI().loadColumns(column);
}
}
});
addColumn.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
CacheLayer.UserCalls.addColumn(column.getColumns());
TwitterAPI.timer.schedule(5000);
}
});
column.getParent().getElement().getStyle().setWidth(100, Unit.PCT);
}
}