Rev 4603 | Blame | Compare with Previous | Last modification | View Log | RSS feed
package in.shop2020.hotspot.dashbaord.client.inbox;import in.shop2020.hotspot.dashbaord.client.event.LoadProviderDetailsEvent;import java.util.Map;import org.enunes.gwt.mvp.client.EventBus;import com.google.gwt.core.client.GWT;import com.google.gwt.event.dom.client.ClickEvent;import com.google.gwt.resources.client.CssResource;import com.google.gwt.uibinder.client.UiBinder;import com.google.gwt.uibinder.client.UiField;import com.google.gwt.uibinder.client.UiHandler;import com.google.gwt.user.client.ui.FlexTable;import com.google.gwt.user.client.ui.ResizeComposite;import com.google.gwt.user.client.ui.Widget;import com.google.gwt.user.client.ui.HTMLTable.Cell;public class ProivderList extends ResizeComposite {interface ProivderListUiBinder extends UiBinder<Widget, ProivderList> {}private static ProivderListUiBinder uiBinder = GWT.create(ProivderListUiBinder.class);interface SelectionStyle extends CssResource{String selectedRow();String alertsRow();}@UiField FlexTable header;@UiField FlexTable providerTable;@UiField SelectionStyle selectionStyle;private int selectedRow = -1;private final EventBus eventbus;private final Map<Long, String> providers;public ProivderList(EventBus eventbus, Map<Long, String> providers) {this.providers = providers;this.eventbus = eventbus;initWidget(uiBinder.createAndBindUi(this));initHeader();updateProviderTable(this.providers);}private void initHeader(){header.getColumnFormatter().setWidth(0, "128px");header.getColumnFormatter().setWidth(1, "128px");header.setText(0, 0, "Provider Id");header.setText(0, 1, "Proivder Name");}private void updateProviderTable(Map<Long, String> providers){providerTable.getColumnFormatter().setWidth(0, "128px");providerTable.getColumnFormatter().setWidth(1, "128px");int i=0;for(final Map.Entry<Long, String> entry : providers.entrySet()){int col = 0;providerTable.setText(i, col++, entry.getKey() + "");providerTable.setText(i, col++, entry.getValue());i++;}}@UiHandler("providerTable")void onClick(ClickEvent event) {Cell cell = providerTable.getCellForEvent(event);int newRowIndex = cell.getRowIndex();selectRow(newRowIndex);String providerId = providerTable.getText(newRowIndex, 0);eventbus.fireEvent(new LoadProviderDetailsEvent(providerId, providers.get(Long.parseLong(providerId))));}private void selectRow(int row) {String style = selectionStyle.selectedRow();if(selectedRow != -1){providerTable.getRowFormatter().removeStyleName(selectedRow, style);}providerTable.getRowFormatter().addStyleName(row, style);selectedRow = row;}}