Subversion Repositories SmartDukaan

Rev

Blame | Last modification | View Log | RSS feed

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

import in.shop2020.hotspot.dashbaord.client.event.AcceptOrderEvent;
import in.shop2020.hotspot.dashbaord.client.event.AddressLabelEvent;
import in.shop2020.hotspot.dashbaord.shared.actions.Order;

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.resources.client.CssResource;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.FlexTable;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.ResizeComposite;
import com.google.gwt.user.client.ui.Widget;
import com.google.gwt.user.client.ui.HTMLTable.Cell;

public class OrderDetails extends ResizeComposite{
        
        public interface Listener{
                void onClick();
        }
        
        interface Binder extends UiBinder<Widget, OrderDetails>{ }
        
        interface SelectionStyle extends CssResource{
                String selectedRow();
        }

        private static final Binder binder = GWT.create(Binder.class);
        
        @UiField FlexTable header;
        @UiField FlexTable table;
        @UiField HTML details; 
        
        
        private final EventBus eventbus;
        private Order order;
        private Order transaction;
        
        public OrderDetails(EventBus eventbus, Order order, Order order2){
                this.eventbus = eventbus;
                this.order = order;
                this.transaction = order2;
                initWidget(binder.createAndBindUi(this));
                initTable();
                registerhandlers();
        }
        
        private void initTable() {
                header.getColumnFormatter().setWidth(0, "128px");
            header.getColumnFormatter().setWidth(1, "200px");
            header.getColumnFormatter().setWidth(2, "200px");
            header.getColumnFormatter().setWidth(3, "200px");
            header.getColumnFormatter().setWidth(4, "200px");

            header.setText(0, 0, "Accept Order");
            header.setText(0, 1, "Add Billing Details");
            header.setText(0, 2, "Print shipping label");
            header.setText(0, 3, "Prepare for Shipping ");
            header.setText(0, 4, "Mark Shipped");
            header.setText(0, 5, "View Order Details");
            

        }
        
        private void registerhandlers(){
                header.addClickHandler(new ClickHandler() {
                        
                        @Override
                        public void onClick(ClickEvent event) {
                                
                                Cell cell = header.getCellForEvent(event);
                                
                                int columnIndex = cell.getCellIndex();
                                
                                if(columnIndex == 0){
                                        //accept orders
                                        eventbus.fireEvent(new AcceptOrderEvent(order));
                                }
                                
                                if(columnIndex == 1){
                                        //generate billing information
                                        BillingInfoBox box = new BillingInfoBox(eventbus);
                                        box.clear();
                                        box.center();
                                }
                                
                                if(columnIndex == 2){
                                        eventbus.fireEvent(new AddressLabelEvent(order));
                                }
                                
                                if(columnIndex == 3){
                                        ShipmentInfoBox box = new ShipmentInfoBox(eventbus);
                                        box.clear();
                                        box.center();
                                }
                                
                                if(columnIndex == 4){
                                        StatusDialog sdiag = new StatusDialog();
                                        sdiag.setTitle("Package shipped");
                                        sdiag.setText("Package has been shipped");
                                        sdiag.center();
                                }
                        }
                });
        }
}