Rev 18415 | Blame | Compare with Previous | Last modification | View Log | RSS feed
package in.shop2020.catalog.dashboard.client;import in.shop2020.catalog.dashboard.shared.Utils;import java.util.Map.Entry;import com.google.gwt.core.client.GWT;import com.google.gwt.event.dom.client.ClickEvent;import com.google.gwt.uibinder.client.UiBinder;import com.google.gwt.uibinder.client.UiField;import com.google.gwt.uibinder.client.UiHandler;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.ListBox;import com.google.gwt.user.client.ui.TextBox;import com.google.gwt.user.client.ui.Widget;public class BulkPricingDialog extends DialogBox {interface Binder extends UiBinder<Widget, BulkPricingDialog> { }private static final Binder binder = GWT.create(Binder.class);public interface BulkPricingUpdateListener{boolean onUpdate(long quantity, double price);}private BulkPricingUpdateListener bulkPricingUpdateListener;@UiField Button closeButton, updateButton;@UiField TextBox quantity, price;public BulkPricingDialog() {setText("Add bulk Pricing");setWidget(binder.createAndBindUi(this));setAnimationEnabled(true);center();}public BulkPricingDialog(String quantity, String price) {this();setFields(quantity, price);}public void setFields(String quantity, String price) {this.quantity.setText(quantity);this.price.setText(price);}public void setBulkPricingUpdateListener(BulkPricingUpdateListener bulkPricingUpdateListener) {this.bulkPricingUpdateListener = bulkPricingUpdateListener;}@UiHandler("closeButton")void onCloseClicked(ClickEvent event) {hide();}@UiHandler("updateButton")void onEditClicked(ClickEvent event) {double price;long quantity;try {price = Double.parseDouble(this.price.getText());quantity = Long.parseLong(this.quantity.getText());} catch(NumberFormatException ex) {Window.alert("Format is not valid.");return;}if (quantity < 1 || price < 1){Window.alert("Quantity/Price is not valid");return;}if(bulkPricingUpdateListener.onUpdate(quantity, price)) {hide();}}}