Rev 960 | Blame | Compare with Previous | Last modification | View Log | RSS feed
package in.shop2020.hotspot.dashbaord.client.inbox;import in.shop2020.hotspot.dashbaord.client.event.LoadItemDetailsEvent;import in.shop2020.hotspot.dashbaord.shared.actions.Item;import java.util.List;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.HTMLTable.Cell;import com.google.gwt.user.client.ui.ResizeComposite;import com.google.gwt.user.client.ui.Widget;public class ItemList extends ResizeComposite{interface ItemListUiBinder extends UiBinder<Widget, ItemList> {}private static final ItemListUiBinder uiBinder = GWT.create(ItemListUiBinder.class);interface SelectionStyle extends CssResource{String selectedRow();String alertsRow();}@UiField FlexTable header;@UiField FlexTable itemDescriptionTable;@UiField SelectionStyle selectionStyle;private int selectedRow = -1;private final EventBus eventbus;private final List<Item> items;public ItemList(EventBus eventbus, List<Item> items) {this.items = items;this.eventbus = eventbus;initWidget(uiBinder.createAndBindUi(this));initHeader();updateItemDescriptionTable(this.items);}private void initHeader(){// Initialize the header.header.getColumnFormatter().setWidth(0, "128px");header.getColumnFormatter().setWidth(1, "128px");header.getColumnFormatter().setWidth(2, "200px");header.getColumnFormatter().setWidth(3, "200px");header.getColumnFormatter().setWidth(4, "200px");header.getColumnFormatter().setWidth(5, "128px");header.getColumnFormatter().setWidth(6, "128px");header.setText(0, 0, "Item Id");header.setText(0, 1, "Product Group");header.setText(0, 2, "Brand");header.setText(0, 3, "Model Number");header.setText(0, 4, "Model Name");header.setText(0, 5, "MRP");header.setText(0, 6, "Category");}private void updateItemDescriptionTable(List<Item> items){itemDescriptionTable.getColumnFormatter().setWidth(0, "128px");itemDescriptionTable.getColumnFormatter().setWidth(1, "128px");itemDescriptionTable.getColumnFormatter().setWidth(2, "200px");itemDescriptionTable.getColumnFormatter().setWidth(3, "200px");itemDescriptionTable.getColumnFormatter().setWidth(4, "200px");itemDescriptionTable.getColumnFormatter().setWidth(5, "128px");itemDescriptionTable.getColumnFormatter().setWidth(6, "128px");int i=0;for(final Item item : items){int col = 0;itemDescriptionTable.setText(i, col++, item.getId() + "");itemDescriptionTable.setText(i, col++, item.getProductGroup());itemDescriptionTable.setText(i, col++, item.getBrand());itemDescriptionTable.setText(i, col++, item.getModelNumber());itemDescriptionTable.setText(i, col++, item.getModelName());itemDescriptionTable.setText(i, col++, item.getMrp()+"");itemDescriptionTable.setText(i, col++, item.getCategory()+"");i++;}}@UiHandler("itemDescriptionTable")void onClick(ClickEvent event) {Cell cell = itemDescriptionTable.getCellForEvent(event);int newRowIndex = cell.getRowIndex();selectRow(newRowIndex);String itemId = itemDescriptionTable.getText(newRowIndex, 0);eventbus.fireEvent(new LoadItemDetailsEvent(itemId));}private void selectRow(int row) {String style = selectionStyle.selectedRow();if(selectedRow != -1){itemDescriptionTable.getRowFormatter().removeStyleName(selectedRow, style);}itemDescriptionTable.getRowFormatter().addStyleName(row, style);selectedRow = row;}}