Subversion Repositories SmartDukaan

Rev

Rev 3994 | Rev 4124 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3994 Rev 4004
Line 1... Line 1...
1
package in.shop2020.hotspot.dashbaord.client.inbox;
1
package in.shop2020.hotspot.dashbaord.client.inbox;
2
 
2
 
3
import in.shop2020.hotspot.dashbaord.client.event.LoadOrderDetailsEvent;
3
import in.shop2020.hotspot.dashbaord.client.event.LoadOrderDetailsEvent;
-
 
4
import in.shop2020.hotspot.dashbaord.shared.actions.Alert;
4
import in.shop2020.hotspot.dashbaord.shared.actions.Order;
5
import in.shop2020.hotspot.dashbaord.shared.actions.Order;
5
 
6
 
6
import java.util.Date;
7
import java.util.Date;
7
import java.util.List;
8
import java.util.List;
8
 
9
 
9
import org.enunes.gwt.mvp.client.EventBus;
10
import org.enunes.gwt.mvp.client.EventBus;
10
 
11
 
11
import com.google.gwt.core.client.GWT;
12
import com.google.gwt.core.client.GWT;
12
import com.google.gwt.event.dom.client.ClickEvent;
13
import com.google.gwt.event.dom.client.ClickEvent;
13
import com.google.gwt.event.dom.client.ClickHandler;
-
 
14
import com.google.gwt.resources.client.CssResource;
14
import com.google.gwt.resources.client.CssResource;
15
import com.google.gwt.uibinder.client.UiBinder;
15
import com.google.gwt.uibinder.client.UiBinder;
16
import com.google.gwt.uibinder.client.UiField;
16
import com.google.gwt.uibinder.client.UiField;
17
import com.google.gwt.user.client.ui.Anchor;
17
import com.google.gwt.uibinder.client.UiHandler;
18
import com.google.gwt.user.client.ui.FlexTable;
18
import com.google.gwt.user.client.ui.FlexTable;
19
import com.google.gwt.user.client.ui.ResizeComposite;
19
import com.google.gwt.user.client.ui.ResizeComposite;
20
import com.google.gwt.user.client.ui.Widget;
20
import com.google.gwt.user.client.ui.Widget;
-
 
21
import com.google.gwt.user.client.ui.HTMLTable.Cell;
21
 
22
 
22
public class OrderList extends ResizeComposite{
23
public class OrderList extends ResizeComposite{
23
	
24
	
24
	private int selectedRow = -1;
25
	private int selectedRow = -1;
25
	
26
	
26
	//private boolean selectedRowIsAlerted = false;
-
 
27
 
-
 
28
	public interface Listener{
27
	public interface Listener{
29
		void onSelectItem();
28
		void onSelectItem();
30
	}
29
	}
31
	
30
	
32
	interface OrderListUiBinder extends UiBinder<Widget, OrderList>{ }
31
	interface OrderListUiBinder extends UiBinder<Widget, OrderList>{ }
33
	
32
	
34
	interface SelectionStyle extends CssResource{
33
	interface SelectionStyle extends CssResource{
35
		String selectedRow();
34
		String selectedRow();
36
		String alertsRow();
35
		String fatalRow();
-
 
36
		String criticalRow();
37
	}
37
	}
38
	//add gin here
38
	//add gin here
39
	private static final OrderListUiBinder binder = GWT.create(OrderListUiBinder.class);
39
	private static final OrderListUiBinder binder = GWT.create(OrderListUiBinder.class);
40
	
40
	
41
	@UiField FlexTable header;
41
	@UiField FlexTable header;
Line 56... Line 56...
56
	}
56
	}
57
	
57
	
58
	private void initTable(){
58
	private void initTable(){
59
		// Initialize the header.
59
		// Initialize the header.
60
		header.getColumnFormatter().setWidth(0, "40px");
60
		header.getColumnFormatter().setWidth(0, "40px");
61
		header.getColumnFormatter().setWidth(1, "40px");
61
		header.getColumnFormatter().setWidth(1, "50px");
62
		header.getColumnFormatter().setWidth(2, "60px");
62
		header.getColumnFormatter().setWidth(2, "60px");
63
	    header.getColumnFormatter().setWidth(3, "60px");
63
	    header.getColumnFormatter().setWidth(3, "60px");
64
	    header.getColumnFormatter().setWidth(4, "250px");
64
	    header.getColumnFormatter().setWidth(4, "250px");
65
	    header.getColumnFormatter().setWidth(5, "150px");
65
	    header.getColumnFormatter().setWidth(5, "150px");
66
	    header.getColumnFormatter().setWidth(6, "150px");
66
	    header.getColumnFormatter().setWidth(6, "150px");
Line 77... Line 77...
77
	    header.setText(0, 7, "Expected Delivery");
77
	    header.setText(0, 7, "Expected Delivery");
78
	    header.setText(0, 8, "Current Status");
78
	    header.setText(0, 8, "Current Status");
79
 
79
 
80
	    // Initialize the table.
80
	    // Initialize the table.
81
		table.getColumnFormatter().setWidth(0, "40px");
81
		table.getColumnFormatter().setWidth(0, "40px");
82
		table.getColumnFormatter().setWidth(1, "40px");
82
		table.getColumnFormatter().setWidth(1, "50px");
83
		table.getColumnFormatter().setWidth(2, "60px");
83
		table.getColumnFormatter().setWidth(2, "60px");
84
	    table.getColumnFormatter().setWidth(3, "60px");
84
	    table.getColumnFormatter().setWidth(3, "60px");
85
	    table.getColumnFormatter().setWidth(4, "250px");
85
	    table.getColumnFormatter().setWidth(4, "250px");
86
	    table.getColumnFormatter().setWidth(5, "150px");
86
	    table.getColumnFormatter().setWidth(5, "150px");
87
	    table.getColumnFormatter().setWidth(6, "150px");
87
	    table.getColumnFormatter().setWidth(6, "150px");
88
	    table.getColumnFormatter().setWidth(7, "150px");
88
	    table.getColumnFormatter().setWidth(7, "150px");
89
	    table.getColumnFormatter().setWidth(8, "200px");    
89
	    table.getColumnFormatter().setWidth(8, "200px");    
90
	}
90
	}
91
	
91
	
-
 
92
    @UiHandler("table")
-
 
93
    void onClick(ClickEvent event) {
-
 
94
        Cell cell = table.getCellForEvent(event);
-
 
95
        int newRowIndex = cell.getRowIndex();
-
 
96
        selectRow(newRowIndex);
-
 
97
        eventbus.fireEvent(new LoadOrderDetailsEvent(orders.get(newRowIndex)));
-
 
98
    }
-
 
99
	
92
	private void selectRow(int row) {
100
	private void selectRow(int row) {
93
	    // When a row (other than the first one, which is used as a header) is
101
	    // When a row (other than the first one, which is used as a header) is
94
	    // selected, display its associated MailItem.
102
	    // selected, display its associated MailItem.
95
		if(selectedRow != -1){
103
		if(selectedRow != -1){
96
			styleRow(selectedRow, false);
104
			styleRow(selectedRow, false);
97
		}
105
		}
98
		    
106
		    
99
	    styleRow(row, true);
107
	    styleRow(row, true);
100
	    selectedRow = row;
108
	    selectedRow = row;
101
	  }
-
 
102
 
-
 
103
	
-
 
104
	private void styleRow(int row, boolean selected) {
-
 
105
	    if (row != -1) {
-
 
106
	      String style = selectionStyle.selectedRow();
-
 
107
 
-
 
108
	      if (selected) {
-
 
109
	        table.getRowFormatter().addStyleName(row, style);
-
 
110
	      } else {
-
 
111
	        table.getRowFormatter().removeStyleName(row, style);
-
 
112
	      }
-
 
113
	    }
-
 
114
	  }
-
 
115
	
-
 
116
	private void alertRow(int row, boolean remove){
-
 
117
		if (row != -1) {
-
 
118
		      String style = selectionStyle.alertsRow();
-
 
119
		      if(!remove)
-
 
120
		    	  table.getRowFormatter().addStyleName(row, style);
-
 
121
		      else{
-
 
122
		    	  table.getRowFormatter().removeStyleName(row, style);
-
 
123
		      }
-
 
124
		}		      
-
 
125
	}
109
	}
126
	
110
	
-
 
111
    private void styleRow(int row, boolean selected) {
-
 
112
        if (row != -1) {
-
 
113
            String style = selectionStyle.selectedRow();
-
 
114
 
-
 
115
            if (selected) {
-
 
116
                table.getRowFormatter().addStyleName(row, style);
-
 
117
            } else {
-
 
118
                table.getRowFormatter().removeStyleName(row, style);
-
 
119
            }
-
 
120
        }
-
 
121
    }
-
 
122
	
127
	private String getDisplayableDate(Date date){
123
	private String getDisplayableDate(Date date){
128
		String dateString = date.toString();
124
		String dateString = date.toString();
129
		dateString = dateString.substring(0, dateString.lastIndexOf(" "));
125
		dateString = dateString.substring(0, dateString.lastIndexOf(" "));
130
		dateString = dateString.substring(0, dateString.lastIndexOf(" "));
126
		dateString = dateString.substring(0, dateString.lastIndexOf(" "));
131
		return dateString;		
127
		return dateString;		
Line 142... Line 138...
142
			if(order.getModelName()!=null)
138
			if(order.getModelName()!=null)
143
				productDescription.append(" " + order.getModelName());
139
				productDescription.append(" " + order.getModelName());
144
			if(order.getColor()!=null)
140
			if(order.getColor()!=null)
145
				productDescription.append(" " + order.getColor());
141
				productDescription.append(" " + order.getColor());
146
			
142
			
147
			Anchor orderIdAnchor = new Anchor(order.getOrderId() + "");
-
 
148
			table.setText(i, 0, "" + order.getBatchNo());
143
			table.setText(i, 0, "" + order.getBatchNo());
149
			table.setText(i, 1, "" + order.getSerialNo());
144
			table.setText(i, 1, "" + order.getSerialNo());
150
			table.setText(i, 2, order.isCod() ? "COD" : "Prepaid");
145
			table.setText(i, 2, order.isCod() ? "COD" : "Prepaid");
151
			table.setWidget(i, 3, orderIdAnchor);
146
			table.setText(i, 3, "" + order.getOrderId());
152
			table.setText(i, 4, productDescription.toString());
147
			table.setText(i, 4, productDescription.toString());
153
			table.setText(i, 5, getDisplayableDate(new Date(order.getCreatedOn()))+"");
148
			table.setText(i, 5, getDisplayableDate(new Date(order.getCreatedOn()))+"");
154
			table.setText(i, 6, getDisplayableDate(new Date(order.getPromisedDeliveryTime()))+"");
149
			table.setText(i, 6, getDisplayableDate(new Date(order.getPromisedDeliveryTime()))+"");
155
			table.setText(i, 7, getDisplayableDate(new Date(order.getExpectedDeliveryTime()))+"");
150
			table.setText(i, 7, getDisplayableDate(new Date(order.getExpectedDeliveryTime()))+"");
156
			table.setText(i, 8, order.getStatusMessage());
151
			table.setText(i, 8, order.getStatusMessage());
-
 
152
			applyAlertStyle(i, order.getAlert());
157
			i++;
153
			i++;
158
			final int j =i-1;
-
 
159
			
-
 
160
			if (order.isAlert()){
-
 
161
				alertRow(i-1, false);
-
 
162
			}
-
 
163
			
-
 
164
			orderIdAnchor.addClickHandler(new ClickHandler() {
-
 
165
				
-
 
166
				@Override
-
 
167
				public void onClick(ClickEvent event) {
-
 
168
					selectRow(j);
-
 
169
					eventbus.fireEvent(new LoadOrderDetailsEvent(order));
-
 
170
				}
-
 
171
			});
-
 
172
		}
154
		}
173
	}
155
	}
-
 
156
	
-
 
157
	private void applyAlertStyle(int row, Alert alert){
-
 
158
	    String style;
-
 
159
	    switch(alert){
-
 
160
	    case DELIVERY_TIME_EXCEEDED:
-
 
161
	    case SHIPPING_TIME_EXCEEDED:
-
 
162
	    case VERIFICATION_DELAYED_TOO_MUCH:
-
 
163
	    case ACCEPTANCE_DELAYED_TOO_MUCH:
-
 
164
	    case ORDER_NOT_CONNECTED_FOR_TOO_LONG:
-
 
165
	        style = selectionStyle.fatalRow();
-
 
166
	        table.getRowFormatter().addStyleName(row, style);
-
 
167
	        break;
-
 
168
	    case ACCEPTANCE_DELAYED:
-
 
169
	    case VERIFICATION_DELAYED:
-
 
170
	    case ORDER_NOT_CONNECTED:
-
 
171
	        style = selectionStyle.criticalRow();
-
 
172
            table.getRowFormatter().addStyleName(row, style);
-
 
173
            break;
-
 
174
	    case WARNING:
-
 
175
	    case NONE:
-
 
176
	    }
-
 
177
	}
174
}
178
}