Subversion Repositories SmartDukaan

Rev

Rev 2352 | Rev 2843 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1146 chandransh 1
package in.shop2020.hotspot.dashbaord.client.inbox;
2
 
3
import in.shop2020.hotspot.dashbaord.client.event.AddJacketNumberEvent;
4
import in.shop2020.hotspot.dashbaord.shared.actions.Order;
5
 
6
import org.enunes.gwt.mvp.client.EventBus;
7
 
8
import com.google.gwt.event.dom.client.ClickEvent;
9
import com.google.gwt.event.dom.client.ClickHandler;
10
import com.google.gwt.user.client.ui.Button;
11
import com.google.gwt.user.client.ui.DialogBox;
12
import com.google.gwt.user.client.ui.HorizontalPanel;
13
import com.google.gwt.user.client.ui.Label;
14
import com.google.gwt.user.client.ui.TextBox;
15
import com.google.gwt.user.client.ui.VerticalPanel;
2781 chandransh 16
import com.google.gwt.user.client.ui.Widget;
1146 chandransh 17
 
18
public class JacketInfoBox extends DialogBox {
19
	private Label errorLabel = new Label("");
2781 chandransh 20
 
1146 chandransh 21
	private Label jacketNumberLabel = new Label("Jacket Number");
22
	private TextBox jacketNumberBox = new TextBox();
2781 chandransh 23
 
24
	private Label itemNumberLabel = new Label("Item Number");
25
	private TextBox itemNumberBox = new TextBox();
26
 
2352 chandransh 27
	private Label imeiNumberLabel = new Label("IMEI No.");
28
	private TextBox imeiNumberBox = new TextBox();
2781 chandransh 29
 
30
	private Label billedBy = new Label("Billed by");
31
 
1146 chandransh 32
	private Button submitbutton = new Button("Submit");
33
	private VerticalPanel vpanel = new VerticalPanel();
34
 
2781 chandransh 35
	public JacketInfoBox(final EventBus eventBus, final Order order, final String user){
1146 chandransh 36
		vpanel.add(errorLabel);
2352 chandransh 37
		vpanel.add(getHorizontalPanel(jacketNumberLabel, jacketNumberBox));      //Ask for the jacket number
2781 chandransh 38
		vpanel.add(getHorizontalPanel(itemNumberLabel, itemNumberBox));          //Ask for the item number
2352 chandransh 39
		if("Handsets".equals(order.getProductGroup())){
40
			vpanel.add(getHorizontalPanel(imeiNumberLabel, imeiNumberBox));      //Ask for IMEI only in case of Handsets
41
		}
2781 chandransh 42
		vpanel.add(getHorizontalPanel(billedBy, new Label(user)));
1146 chandransh 43
		vpanel.add(submitbutton);
44
 
45
		setWidget(vpanel);
46
		setAutoHideEnabled(true);
47
		setGlassEnabled(true);
2352 chandransh 48
		setText("Enter the Jacket Number and IMEI no.");
1146 chandransh 49
		setModal(true);
50
 
51
		submitbutton.addClickHandler(new ClickHandler() {
52
 
53
			@Override
54
			public void onClick(ClickEvent event) {
2352 chandransh 55
				long jacketNumber = -1;
56
				try {
57
					jacketNumber = Long.parseLong(jacketNumberBox.getText());
58
				} catch(NumberFormatException nfe){
59
					nfe.printStackTrace();
1146 chandransh 60
				}
2352 chandransh 61
 
62
				if(jacketNumber <= 0){
63
					errorLabel.setText("Invalid Jacket number.");
64
					return;
65
				}
66
 
2781 chandransh 67
				String itemNumber = itemNumberBox.getText();
68
				if(itemNumber==null || itemNumber.trim().isEmpty()){
69
					errorLabel.setText("Item Number can't be left empty");
70
					return;
71
				}
72
 
2352 chandransh 73
				long imeiNumber = -1;
74
				if("Handsets".equals(order.getProductGroup())){
75
					try {
76
						imeiNumber = Long.parseLong(imeiNumberBox.getText());
77
					} catch(NumberFormatException nfe){
78
						nfe.printStackTrace();
79
					}
80
 
81
					if(imeiNumber <= 0){
82
						errorLabel.setText("Invalid IMEI number");
83
						return;
84
					}
85
				}
86
 
2781 chandransh 87
				eventBus.fireEvent(new AddJacketNumberEvent(order, jacketNumber, imeiNumber, itemNumber.trim(), user));
2352 chandransh 88
				hide();
89
				clean();
1146 chandransh 90
			}
91
		});
92
	}
93
 
94
	public void clean(){
95
		jacketNumberBox.setText("");
2352 chandransh 96
		imeiNumberBox.setText("");
1146 chandransh 97
		errorLabel.setText("");
98
	}
2352 chandransh 99
 
2781 chandransh 100
	private HorizontalPanel getHorizontalPanel(Label label, Widget textBox){
2352 chandransh 101
		HorizontalPanel hpanel = new HorizontalPanel();
102
		hpanel.setSpacing(5);
103
		hpanel.add(label);
104
		hpanel.add(textBox);
105
		hpanel.setCellWidth(label, "120px");
106
		return hpanel;
107
	}
1146 chandransh 108
}