/** * */ package org.appfuse.webapp.client.ui.users.active; import java.util.List; import org.appfuse.webapp.client.application.Application; import org.appfuse.webapp.client.application.base.activity.AbstractBaseActivity; import org.appfuse.webapp.client.proxies.UserProxy; import org.appfuse.webapp.client.ui.home.HomePlace; import com.google.gwt.event.shared.EventBus; import com.google.gwt.user.cellview.client.CellTable; import com.google.gwt.user.cellview.client.ColumnSortEvent; import com.google.gwt.user.cellview.client.ColumnSortEvent.Handler; import com.google.gwt.user.client.ui.AcceptsOneWidget; import com.google.inject.Inject; import com.google.web.bindery.requestfactory.shared.Receiver; /** * @author ivangsa * */ public class ActiveUsersActivity extends AbstractBaseActivity implements ActiveUsersView.Delegate { private final ActiveUsersView view; private Handler clientSideSortHandler; @Inject public ActiveUsersActivity(final Application application, final ActiveUsersView view) { super(application); setTitle(i18n.activeUsers_title()); this.view = view; } @Override public void start(final AcceptsOneWidget panel, final EventBus eventBus) { view.setDelegate(this); panel.setWidget(view); setDocumentTitleAndBodyAttributtes(); final CellTable<UserProxy> cellTable = view.getCellTable(); requests.userRequest().getActiveUsers().fire(new Receiver<List<UserProxy>>() { @Override public void onSuccess(final List<UserProxy> activeUsers) { clientSideSortHandler = new ColumnSortEvent.ListHandler<UserProxy>(activeUsers); cellTable.addColumnSortHandler(clientSideSortHandler); cellTable.setRowData(activeUsers); cellTable.setPageSize(25); } }); } @Override public void cancelClicked() { placeController.goTo(new HomePlace()); } }