package com.giftoftheembalmer.gotefarm.client;
import com.google.gwt.event.dom.client.ChangeEvent;
import com.google.gwt.event.dom.client.ChangeHandler;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.ListBox;
import com.google.gwt.user.client.ui.VerticalPanel;
import java.util.List;
public class Schedules extends Composite {
Admin admin;
VerticalPanel vpanel = new VerticalPanel();
ListBox eventlb = new ListBox();
List<JSEventTemplate> event_templates;
public Schedules(final Admin admin) {
this.admin = admin;
eventlb.setWidth("100%");
eventlb.setVisibleItemCount(20);
eventlb.addChangeHandler(new ChangeHandler() {
public void onChange(ChangeEvent event) {
int sel = eventlb.getSelectedIndex();
if (sel < 0) return;
final String event_template_key = eventlb.getValue(sel);
GoteFarm.goteService.getEventSchedules(
event_template_key,
new AsyncCallback<List<JSEventSchedule>>() {
public void onSuccess(List<JSEventSchedule> results) {
Schedules.this.admin.setCenterWidget(
new ScheduleEditor(admin, event_template_key,
results)
);
}
public void onFailure(Throwable caught) {
}
}
);
}
});
vpanel.add(eventlb);
initWidget(vpanel);
setStyleName("Admin-Schedules");
}
public void setEventTemplates(List<JSEventTemplate> events) {
event_templates = events;
eventlb.clear();
for (JSEventTemplate e : events) {
eventlb.addItem(e.name, e.key);
}
}
}