Subversion Repositories SmartDukaan

Rev

Rev 760 | Blame | Last modification | View Log | RSS feed

package in.shop2020.hotspot.dashbaord.client.inbox;

import org.enunes.gwt.mvp.client.EventBus;

import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.Window;
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.VerticalPanel;

public class ProviderInfoBox extends DialogBox {
        private Label providerSelectionLabel = new Label("Select Provider");
        private Label billGeneratedByLabel = new Label("Generated By");
        private Label errorLabel = new Label("");
        private ListBox providerName = new ListBox();
        private Button submitbutton = new Button("Submit");
        private Label generatedBy;

        private EventBus eventBus;

        private HorizontalPanel hpanel;

        private VerticalPanel vpanel = new VerticalPanel();

        private final String user;
        
        public ProviderInfoBox(final EventBus eventBus, final String username, final long warehouseID) {
                this.user = username;
                this.eventBus = eventBus;
                
//              Map<String, String> providerMap = LogisticsUtils.getAllProviders();
//              for(String providerID : providerMap.keySet())
//                      providerName.addItem(providerMap.get(providerID), providerID);
                providerName.addItem("Aramex", "1");
                providerName.addItem("Blue Dart", "2");
                vpanel.add(errorLabel);
                hpanel = new HorizontalPanel();
                hpanel.setSpacing(5);
                hpanel.add(providerSelectionLabel);
                hpanel.add(providerName);
                hpanel.setCellWidth(providerSelectionLabel, "120px");
                vpanel.add(hpanel);

                hpanel = new HorizontalPanel();
                hpanel.setSpacing(5);
                hpanel.add(billGeneratedByLabel);
                generatedBy = new Label(this.user);
                hpanel.add(generatedBy);
                hpanel.setCellWidth(billGeneratedByLabel, "120px");
                vpanel.add(hpanel);
                vpanel.add(submitbutton);

                setWidget(vpanel);
                setAutoHideEnabled(true);
                setGlassEnabled(true);
                setText("Please select the provider");
                setModal(true);

                submitbutton.addClickHandler(new ClickHandler() {

                        @Override
                        public void onClick(ClickEvent event) {
                                int selectedIdx = providerName.getSelectedIndex();
                                if (-1 == selectedIdx) {
                                        errorLabel.setText("A provider must be selected.");
                                        return;
                                }
                                int providerID;
                                try{
                                        providerID = Integer.parseInt(providerName.getValue(selectedIdx));
                                        GWT.log("Selected provider with ID: " + providerID + " and warehouse is: " + warehouseID);
                                }catch(NumberFormatException nfe){
                                        errorLabel.setText("Something is wrong with the form. Contact Spice Online Retail.");
                                        return;
                                }
                                
                                hide();
                                String manifestGenerationUrl = "http://" + Window.Location.getHost() + "/Support/manifest/?providerID=";
                                manifestGenerationUrl = manifestGenerationUrl + providerID + "&warehouseID=" + warehouseID;
                                Window.open(manifestGenerationUrl, "newWindowName", "window features.");
                                clean();
                        }
                });
        }
        
        public void clean(){
                providerName.setItemSelected(providerName.getSelectedIndex(), false);
                generatedBy.setText("");
                errorLabel.setText("");
        }
}