Subversion Repositories SmartDukaan

Rev

Rev 5217 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
5217 amit.gupta 1
package in.shop2020.catalog.dashboard.client;
2
 
3
import java.util.Date;
4
 
5
import com.google.gwt.core.client.GWT;
6
import com.google.gwt.event.dom.client.ClickEvent;
7
import com.google.gwt.uibinder.client.UiBinder;
8
import com.google.gwt.uibinder.client.UiField;
9
import com.google.gwt.uibinder.client.UiHandler;
10
import com.google.gwt.user.client.Window;
11
import com.google.gwt.user.client.ui.Button;
6241 amit.gupta 12
import com.google.gwt.user.client.ui.CheckBox;
5217 amit.gupta 13
import com.google.gwt.user.client.ui.DialogBox;
14
import com.google.gwt.user.client.ui.TextBox;
15
import com.google.gwt.user.client.ui.Widget;
16
import com.google.gwt.user.datepicker.client.DateBox;
17
 
18
public class ComingSoonDialog extends DialogBox {
19
	interface Binder extends UiBinder<Widget, ComingSoonDialog> { }
20
    private static final Binder binder = GWT.create(Binder.class);
21
    private ComingSoon comingSoon; 
22
 
23
    @UiField Button okButton, cancelButton, cancelComingSoonButton;
24
    @UiField TextBox lightBoxText;
25
    @UiField DateBox comingSoonStartDate, expectedArrivalDate;
6241 amit.gupta 26
    @UiField CheckBox showPrice;
5217 amit.gupta 27
 
28
 
29
    public ComingSoonDialog(ComingSoon comingSoon){
30
    	setText("Coming Soon");
31
        setWidget(binder.createAndBindUi(this));
32
        setAnimationEnabled(true);
33
        center();
34
        this.comingSoon = comingSoon;
35
        if(this.comingSoon.getExpectedArrivalDate() != null){
36
        	this.lightBoxText.setValue(this.comingSoon.getBestDealsText());
37
        	this.comingSoonStartDate.setValue(this.comingSoon.getComingSoonStartDate());
38
        	this.expectedArrivalDate.setValue(this.comingSoon.getExpectedArrivalDate());
6241 amit.gupta 39
        	this.expectedArrivalDate.setValue(this.comingSoon.getExpectedArrivalDate());
40
        	this.showPrice.setValue(this.comingSoon.isShowPrice());
5217 amit.gupta 41
        }else {
42
        	this.cancelComingSoonButton.setEnabled(false);
43
        }
44
    }
45
 
46
 
47
 
48
 
49
    @UiHandler("cancelComingSoonButton")
50
    void onCancelComingSoon(ClickEvent event){
51
    	if(Window.confirm("The item will be removed from Coming Soon Page.\nAre you sure?")){
52
	    	this.comingSoon.setComingSoonStartDate(null);
53
	    	this.comingSoon.setExpectedArrivalDate(null);
54
	    	this.comingSoon.setBestDealsText("");
55
	    	this.hide();
56
    	}
57
    }
58
 
59
    @UiHandler("cancelButton")
60
    void onCancelClicked(ClickEvent event) {
61
        hide();
62
    }
63
 
64
    @UiHandler("okButton")
65
    void onOkClicked(ClickEvent event) {
66
        String lightBoxTxt;
67
        Date comingSoonStartDt = null;
68
        Date expectedArrivalDt = null;
69
        lightBoxTxt = this.lightBoxText.getText().trim();
70
        boolean sure = true;
71
 
72
 
73
        try {
74
            	if(!expectedArrivalDate.getTextBox().getText().trim().equals("")) {
75
            		expectedArrivalDt = expectedArrivalDate.getValue(); 
76
            		if(expectedArrivalDt.compareTo(new Date()) <=0 ){
77
            			Window.alert("Expected arrival date should be higher than Current Time.");
78
            			return;
79
            		}
80
            		if(!comingSoonStartDate.getTextBox().getText().trim().equals("")) {
81
            			comingSoonStartDt = comingSoonStartDate.getValue();
82
	            		if(comingSoonStartDt.compareTo(expectedArrivalDt) >= 0 ){
83
	            			Window.alert("Expected arrival date should be higher than Coming Soon Start Date.");
84
	            			return;
85
	            		}
86
            		}
87
            	} else {
88
            		Window.alert("Expected arrival date can't be blank.");
89
            	}
90
        } catch(Exception ex) {
91
            Window.alert("Invalid Date format");
92
            return;
93
        }
94
 
95
        if(lightBoxTxt.equals("")){
96
        	sure = Window.confirm("No offer message will be displayed in the light Box. Are you sure?");
97
        	if(!sure) {
98
        		return;
99
        	}
100
        }
101
        //Do the coding for moving both the info to appropriate fields.
102
 
103
       	this.comingSoon.setComingSoonStartDate(comingSoonStartDt);
104
        this.comingSoon.setExpectedArrivalDate(expectedArrivalDt);
105
        this.comingSoon.setBestDealsText(lightBoxTxt);
6241 amit.gupta 106
        this.comingSoon.setShowPrice(showPrice.getValue());
5217 amit.gupta 107
        hide();
108
    }
109
}