Rev 4363 | Rev 5110 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package in.shop2020.hotspot.dashbaord.client.inbox;import java.util.Map;import java.util.Map.Entry;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 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 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 vendorLabel = new Label("Vendor");private ListBox vendorBox = 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> vendors){vpanel.add(errorLabel);vpanel.add(getHorizontalPanel(jacketNumberLabel, jacketNumberBox)); //Ask for the jacket numberif(billingType == BillingType.OURS){vpanel.add(getHorizontalPanel(itemNumberLabel, itemNumberBox)); //Ask for the item numberif("Handsets".equalsIgnoreCase(order.getProductGroup())) {vpanel.add(getHorizontalPanel(serialNumberLabel, serialNumberBox)); //Ask for Serial number only in case of Handsets}}for(Entry<Long, String> vendor: vendors.entrySet()){vendorBox.addItem(vendor.getValue(), vendor.getKey()+"");}vpanel.add(getHorizontalPanel(vendorLabel, vendorBox));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;}if(billingType == BillingType.OURS){itemNumber = itemNumberBox.getText();if(itemNumber==null || itemNumber.trim().isEmpty()){errorLabel.setText("Item Number can't be left empty");return;}if("Handsets".equalsIgnoreCase(order.getProductGroup())){try {serialNumber = serialNumberBox.getText();} catch(NumberFormatException nfe){nfe.printStackTrace();}if(serialNumber == null){errorLabel.setText("Invalid Serial number");return;}}}long vendorId = -1;try {vendorId = Long.parseLong(vendorBox.getValue(vendorBox.getSelectedIndex()));} catch(NumberFormatException nfe){nfe.printStackTrace();}if(vendorId <= 0){errorLabel.setText("Invalid Vendor");return;}eventBus.fireEvent(new AddJacketNumberEvent(order, jacketNumber, serialNumber, itemNumber.trim(), user, billingType, vendorId));hide();clean();}});}public void clean(){jacketNumberBox.setText("");serialNumberBox.setText("");errorLabel.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;}}