Rev 4658 | Rev 5361 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package in.shop2020.hotspot.dashbaord.client.inbox;import in.shop2020.hotspot.dashbaord.client.event.AddJacketNumberEvent;import in.shop2020.hotspot.dashbaord.shared.actions.BillingType;import in.shop2020.hotspot.dashbaord.shared.actions.Order;import java.util.Map;import java.util.Map.Entry;import org.enunes.gwt.mvp.client.EventBus;import com.google.gwt.event.dom.client.ClickEvent;import com.google.gwt.event.dom.client.ClickHandler;import com.google.gwt.user.client.ui.Button;import com.google.gwt.user.client.ui.DialogBox;import com.google.gwt.user.client.ui.HorizontalPanel;import com.google.gwt.user.client.ui.Label;import com.google.gwt.user.client.ui.ListBox;import com.google.gwt.user.client.ui.TextBox;import com.google.gwt.user.client.ui.VerticalPanel;import com.google.gwt.user.client.ui.Widget;public class JacketInfoBox extends DialogBox {private Label errorLabel = new Label("");private Label warehousePickSuggestion = new Label("");private Label jacketNumberLabel = new Label("Jacket Number");private TextBox jacketNumberBox = new TextBox();private Label itemNumberLabel = new Label("Item Number");private TextBox itemNumberBox = new TextBox();private Label serialNumberLabel = new Label("Serial No.");private TextBox serialNumberBox = new TextBox();private Label billedBy = new Label("Billed by");private Label warehouseLabel = new Label("Warehouse");private ListBox warehouseBox = new ListBox();private Button submitbutton = new Button("Submit");private VerticalPanel vpanel = new VerticalPanel();public JacketInfoBox(final EventBus eventBus, final Order order, final String user,final BillingType billingType, Map<Long, String> warehouses){vpanel.add(errorLabel);if (order.getPickFromWarehouse() != null) {warehousePickSuggestion.setText("Pick from WH: " + order.getPickFromWarehouse());}vpanel.add(getHorizontalPanel(jacketNumberLabel, jacketNumberBox)); //Ask for the jacket numberif(billingType == BillingType.OURS){// Check if we need to suggest Hotspot warehouses ?vpanel.add(warehousePickSuggestion);vpanel.add(getHorizontalPanel(itemNumberLabel, itemNumberBox)); //Ask for the item numberif(order.isSerialized()) {vpanel.add(getHorizontalPanel(serialNumberLabel, serialNumberBox)); //Ask for Serial number only in case of Handsets}else {for(Entry<Long, String> warehouse: warehouses.entrySet()){warehouseBox.addItem(warehouse.getValue(), warehouse.getKey()+"");}vpanel.add(getHorizontalPanel(warehouseLabel, warehouseBox));}}vpanel.add(getHorizontalPanel(billedBy, new Label(user)));vpanel.add(submitbutton);setWidget(vpanel);setAutoHideEnabled(true);setGlassEnabled(true);if(billingType == BillingType.OURS)setText("Enter all the details below:");elsesetText("Enter Jacket Number below:");setModal(true);submitbutton.addClickHandler(new ClickHandler() {@Overridepublic void onClick(ClickEvent event) {long jacketNumber = -1;String serialNumber = null;String itemNumber = "NO_NUMBER";try {jacketNumber = Long.parseLong(jacketNumberBox.getText());} catch(NumberFormatException nfe){nfe.printStackTrace();}if(jacketNumber <= 0){errorLabel.setText("Invalid Jacket number.");return;}long fulfilmentWarehouseId = -1;if(billingType == BillingType.OURS){itemNumber = itemNumberBox.getText();if(itemNumber==null || itemNumber.trim().isEmpty()){errorLabel.setText("Item Number can't be left empty");return;}if(order.isSerialized()) {try {serialNumber = serialNumberBox.getText();} catch(NumberFormatException nfe){nfe.printStackTrace();}if(serialNumber == null){errorLabel.setText("Invalid Serial number");return;}}else {try {fulfilmentWarehouseId = Long.parseLong(warehouseBox.getValue(warehouseBox.getSelectedIndex()));} catch(NumberFormatException nfe) {nfe.printStackTrace();}if(fulfilmentWarehouseId <= 0){errorLabel.setText("Invalid Warehouse");return;}}}eventBus.fireEvent(new AddJacketNumberEvent(order, jacketNumber, serialNumber, itemNumber.trim(), user, billingType, fulfilmentWarehouseId));hide();clean();}});}public void clean() {jacketNumberBox.setText("");serialNumberBox.setText("");errorLabel.setText("");warehousePickSuggestion.setText("");}private HorizontalPanel getHorizontalPanel(Label label, Widget textBox) {HorizontalPanel hpanel = new HorizontalPanel();hpanel.setSpacing(5);hpanel.add(label);hpanel.add(textBox);hpanel.setCellWidth(label, "120px");return hpanel;}}