Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
2105 ankur.sing 1
 
2
package in.shop2020.catalog.dashboard.client;
3
 
4
import in.shop2020.catalog.dashboard.shared.Utils;
5
 
6
import java.util.Map.Entry;
7
 
8
import com.google.gwt.core.client.GWT;
9
import com.google.gwt.event.dom.client.ClickEvent;
10
import com.google.gwt.uibinder.client.UiBinder;
11
import com.google.gwt.uibinder.client.UiField;
12
import com.google.gwt.uibinder.client.UiHandler;
13
import com.google.gwt.user.client.Window;
14
import com.google.gwt.user.client.ui.Button;
2119 ankur.sing 15
import com.google.gwt.user.client.ui.CheckBox;
2105 ankur.sing 16
import com.google.gwt.user.client.ui.DialogBox;
17
import com.google.gwt.user.client.ui.ListBox;
18
import com.google.gwt.user.client.ui.TextBox;
19
import com.google.gwt.user.client.ui.Widget;
20
 
21
 
22
public class VendorMappingDialog extends DialogBox {
23
 
2119 ankur.sing 24
    interface Binder extends UiBinder<Widget, VendorMappingDialog> { }
25
    private static final Binder binder = GWT.create(Binder.class);
2105 ankur.sing 26
 
2119 ankur.sing 27
    public interface VendorMappingUpdateListener{
28
        boolean onUpdate(String itemKey, long vendorId);
29
    }
2105 ankur.sing 30
 
2119 ankur.sing 31
    private VendorMappingUpdateListener vendorMappingUpdateListener;
2105 ankur.sing 32
 
2119 ankur.sing 33
    @UiField TextBox productGroup, brand, modelNumber, color;
34
    @UiField CheckBox sameAsOurs;
35
    @UiField Button generateKeyButton;
36
    @UiField Button closeButton, updateButton;
37
    @UiField TextBox itemKey;
38
    @UiField ListBox vendor;
39
 
40
    public VendorMappingDialog() {
41
        setText("Vendor Item Mapping");
42
        setWidget(binder.createAndBindUi(this));
43
        setAnimationEnabled(true);
44
        //setGlassEnabled(true);
45
        center();
46
        for(Entry<Long, String> e : Utils.getAllVendors().entrySet()){
47
            vendor.addItem(e.getValue());
48
        }
49
    }
50
 
51
    public VendorMappingDialog(String itemKey) {
52
        this();
53
        setKey(itemKey);
54
    }
55
 
56
    public void setKey(String itemKey) {
57
        this.itemKey.setText(itemKey);
58
        this.vendor.setEnabled(false);
59
    }
60
 
61
    public void setVendorMappingUpdateListener(VendorMappingUpdateListener vMappingUpdateListener) {
62
        this.vendorMappingUpdateListener = vMappingUpdateListener;
63
    }
64
 
65
    @UiHandler("closeButton")
66
    void onCloseClicked(ClickEvent event) {
67
        hide();
68
    }
69
 
70
    @UiHandler("updateButton")
71
    void onEditClicked(ClickEvent event) {
72
        long vendorId;
73
        String key;
74
        vendorId = Utils.getVendorId(this.vendor.getItemText(this.vendor.getSelectedIndex()));
75
        key = itemKey.getText().trim();
76
        if(key.isEmpty()) {
77
            Window.alert("Item key cannot be empty");
78
            return;
79
        }
80
        if(vendorMappingUpdateListener.onUpdate(key, vendorId)) {
81
            hide();
82
        }
83
    }
84
 
85
    @UiHandler("generateKeyButton")
86
    void generateKey(ClickEvent event) {
87
        String pg = productGroup.getText().trim();
88
        String br = brand.getText().trim();
89
        String mn = modelNumber.getText().trim();
90
        String clr = color.getText().trim();
91
        if(pg.equals("") || br.equals("") || mn.equals("") || clr.equals("")) {
92
            Window.alert("Please fill up product group, brand, model number and color");
93
            return;
94
        }
95
        String key = pg + "|" + br + "|" + mn + "|" + clr;
96
        itemKey.setText(key);
97
     }
98
 
99
    @UiHandler("sameAsOurs")
100
    void setDefaultKeyParams(ClickEvent event) {
101
        if(sameAsOurs.getValue()) {
102
            //TODO
103
            Window.alert("Yet to be implemented.");
104
        }
105
    }
2105 ankur.sing 106
}