Subversion Repositories SmartDukaan

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
167 ashish 1
package in.shop2020.hotspot.dashbaord.client.inbox;
2
 
3
import in.shop2020.hotspot.dashbaord.client.event.AcceptOrderEvent;
4
import in.shop2020.hotspot.dashbaord.client.event.AddressLabelEvent;
192 ashish 5
import in.shop2020.hotspot.dashbaord.client.event.ShippedOrderEvent;
306 ashish 6
import in.shop2020.hotspot.dashbaord.client.inbox.OrderList.SelectionStyle;
7
import in.shop2020.hotspot.dashbaord.shared.actions.DetailsMask;
167 ashish 8
import in.shop2020.hotspot.dashbaord.shared.actions.Order;
9
 
10
import org.enunes.gwt.mvp.client.EventBus;
11
 
12
import com.google.gwt.core.client.GWT;
13
import com.google.gwt.event.dom.client.ClickEvent;
14
import com.google.gwt.event.dom.client.ClickHandler;
15
import com.google.gwt.resources.client.CssResource;
16
import com.google.gwt.uibinder.client.UiBinder;
17
import com.google.gwt.uibinder.client.UiField;
306 ashish 18
import com.google.gwt.user.client.ui.Button;
167 ashish 19
import com.google.gwt.user.client.ui.FlexTable;
20
import com.google.gwt.user.client.ui.HTML;
306 ashish 21
import com.google.gwt.user.client.ui.HTMLPanel;
22
import com.google.gwt.user.client.ui.HorizontalPanel;
23
import com.google.gwt.user.client.ui.Label;
167 ashish 24
import com.google.gwt.user.client.ui.ResizeComposite;
306 ashish 25
import com.google.gwt.user.client.ui.VerticalPanel;
167 ashish 26
import com.google.gwt.user.client.ui.Widget;
27
import com.google.gwt.user.client.ui.HTMLTable.Cell;
28
 
29
public class OrderDetails extends ResizeComposite{
30
 
31
	public interface Listener{
32
		void onClick();
33
	}
34
 
35
	interface Binder extends UiBinder<Widget, OrderDetails>{ }
36
 
37
	interface SelectionStyle extends CssResource{
306 ashish 38
		String blueLabel();
39
		String greenLabel();
167 ashish 40
	}
41
 
42
	private static final Binder binder = GWT.create(Binder.class);
43
 
44
	@UiField FlexTable header;
45
	@UiField FlexTable table;
306 ashish 46
	@UiField HorizontalPanel orderDetails;
47
	@UiField VerticalPanel orderDetails1;
48
	@UiField VerticalPanel orderDetails2;
49
	@UiField VerticalPanel orderDetails3;
50
	@UiField VerticalPanel orderDetails4;
51
	@UiField VerticalPanel orderDetails5;
52
	@UiField SelectionStyle selectionStyle;
167 ashish 53
 
54
 
55
	private final EventBus eventbus;
56
	private Order order;
57
	private Order transaction;
306 ashish 58
	private Button acceptOrder = new Button();
59
	private Button rejectOrder = new Button();
60
	private Button notAvailable= new Button();
61
	private Button addBillingInfo= new Button();
62
	private Button addShippingInfo= new Button();
63
	private Button markShipped= new Button();
64
	private Button printLabel = new Button();
65
	private String user;
66
	private DetailsMask mask;
167 ashish 67
 
306 ashish 68
	public OrderDetails(EventBus eventbus, Order order, Order order2, DetailsMask mask, String user){
167 ashish 69
		this.eventbus = eventbus;
70
		this.order = order;
71
		this.transaction = order2;
306 ashish 72
		this.mask = mask;
73
		this.user = user;
167 ashish 74
		initWidget(binder.createAndBindUi(this));
75
		initTable();
306 ashish 76
		registerButtonHandlers();
77
		implementMask();
78
		loadOrderDetails();
167 ashish 79
	}
80
 
81
	private void initTable() {
82
		header.getColumnFormatter().setWidth(0, "128px");
306 ashish 83
	    header.getColumnFormatter().setWidth(1, "128px");
84
	    header.getColumnFormatter().setWidth(2, "128px");
85
	    header.getColumnFormatter().setWidth(3, "128px");
86
	    header.getColumnFormatter().setWidth(4, "128px");
87
	    header.getColumnFormatter().setWidth(5, "128px");
88
 
89
	    acceptOrder.setText("Accept");
90
	    rejectOrder.setText("Reject");
91
	    notAvailable.setText("Out Of Stock");
92
	    addBillingInfo.setText("Bill");
93
	    printLabel.setText("Print Label");
94
	    addShippingInfo.setText("Ship");
95
	    markShipped.setText("Shipped");
167 ashish 96
 
306 ashish 97
	    header.setWidget(0, 0, acceptOrder);
98
	    header.setWidget(0, 1, rejectOrder);
99
	    header.setWidget(0, 2, notAvailable);
100
	    header.setWidget(0, 3, printLabel);
101
	    header.setWidget(0, 4, addBillingInfo);
102
	    header.setWidget(0, 5, addShippingInfo);
103
	    header.setWidget(0, 6, markShipped);
104
	    //addShippingInfo.setVisible(false);
105
	    //markShipped.setVisible(false);
106
	    /*
107
	    header.setText(0, 1, "Add Billing Details");
108
	    header.setText(0, 2, "Print shipping label");
109
	    header.setText(0, 3, "Prepare for Shipping ");
110
	    header.setText(0, 4, "Mark Shipped");
111
	    header.setText(0, 5, "View Order Details");
112
 
167 ashish 113
	    header.setText(0, 0, "Accept Order");
114
	    header.setText(0, 1, "Add Billing Details");
115
	    header.setText(0, 2, "Print shipping label");
116
	    header.setText(0, 3, "Prepare for Shipping ");
117
	    header.setText(0, 4, "Mark Shipped");
118
	    header.setText(0, 5, "View Order Details");
306 ashish 119
	    */ 
167 ashish 120
	}
121
 
306 ashish 122
	private void registerButtonHandlers(){
123
		acceptOrder.addClickHandler(new ClickHandler() {
124
 
125
			@Override
126
			public void onClick(ClickEvent event) {
127
				if(acceptOrder.isEnabled()){
128
					eventbus.fireEvent(new AcceptOrderEvent(order));
129
				}
130
			}
131
		});
132
 
133
		addBillingInfo.addClickHandler(new ClickHandler() {
134
 
135
			@Override
136
			public void onClick(ClickEvent event) {
137
				if(!addBillingInfo.isEnabled()) return;
138
				BillingInfoBox box = new BillingInfoBox(eventbus, order, user);
139
				//box.clear();
140
				box.center();				
141
			}
142
		});
143
		printLabel.addClickHandler(new ClickHandler() {
144
 
145
			@Override
146
			public void onClick(ClickEvent event) {
147
				if(!printLabel.isEnabled()) return;
148
				eventbus.fireEvent(new AddressLabelEvent(order));
149
			}
150
		});
151
 
152
		addShippingInfo.addClickHandler(new ClickHandler() {
153
 
154
			@Override
155
			public void onClick(ClickEvent event) {
156
				if(!addShippingInfo.isEnabled()) return;
157
				ShipmentInfoBox box = new ShipmentInfoBox(eventbus, order);
158
				//box.clear();
159
				box.center();			
160
			}
161
		});
162
		markShipped.addClickHandler(new ClickHandler() {
163
 
164
			@Override
165
			public void onClick(ClickEvent event) {			
166
				if(!markShipped.isEnabled()) return;
167
				eventbus.fireEvent(new ShippedOrderEvent(order, "", "", "", false));
168
			}
169
		});
170
 
171
	}
172
	/*
167 ashish 173
	private void registerhandlers(){
174
		header.addClickHandler(new ClickHandler() {
175
 
176
			@Override
177
			public void onClick(ClickEvent event) {
178
 
179
				Cell cell = header.getCellForEvent(event);
180
 
181
				int columnIndex = cell.getCellIndex();
182
 
183
				if(columnIndex == 0){
184
					//accept orders
185
					eventbus.fireEvent(new AcceptOrderEvent(order));
186
				}
187
 
188
				if(columnIndex == 1){
189
					//generate billing information
192 ashish 190
					BillingInfoBox box = new BillingInfoBox(eventbus, order);
167 ashish 191
					box.clear();
192
					box.center();
193
				}
194
 
195
				if(columnIndex == 2){
196
					eventbus.fireEvent(new AddressLabelEvent(order));
197
				}
198
 
199
				if(columnIndex == 3){
192 ashish 200
					ShipmentInfoBox box = new ShipmentInfoBox(eventbus, order);
167 ashish 201
					box.clear();
202
					box.center();
203
				}
204
 
205
				if(columnIndex == 4){
192 ashish 206
 
207
					eventbus.fireEvent(new ShippedOrderEvent(order, "", "", "", false));
208
 
167 ashish 209
				}
210
			}
211
		});
212
	}
306 ashish 213
*/
214
	private void implementMask(){
215
		switch(mask){
216
		case NEW:
217
			maskButtons(true, true, true, false, false, false, false);
218
			break;
219
		case ACCEPT:
220
			maskButtons(false, false, false, true, true, false, false);
221
			break;
222
		case BILL:
223
			maskButtons(false, false, false, true, false, true, true);
224
			break;
225
		case SHIP:
226
			maskButtons(false, false, false, false, false, false, false);
227
			break;
228
		}
229
	}
230
 
231
	private void maskButtons(boolean accept, boolean reject, boolean notavailable, boolean print, boolean billing, boolean shipping, boolean mark){
232
		acceptOrder.setEnabled(accept);
233
		rejectOrder.setEnabled(reject);
234
		notAvailable.setEnabled(notavailable);
235
		printLabel.setEnabled(print);
236
		addBillingInfo.setEnabled(billing);
237
		addShippingInfo.setEnabled(shipping);
238
		markShipped.setEnabled(mark);		
239
	}
240
 
241
	private void loadOrderDetails(){
242
 
243
		HorizontalPanel hpanel = new HorizontalPanel();
244
		hpanel.setSpacing(5);
245
		hpanel.add(new Label("SKU ID:  "));
246
 
247
		hpanel.add(new Label(transaction.getSku_id()+""));
248
		hpanel.setCellWidth(hpanel.getWidget(0), "128px");
249
		hpanel.setCellWidth(hpanel.getWidget(1), "128px");
250
		hpanel.getWidget(0).setStyleName(selectionStyle.blueLabel());
251
		hpanel.getWidget(1).setStyleName(selectionStyle.greenLabel());
252
		orderDetails1.add(hpanel);
253
 
254
		hpanel = new HorizontalPanel();
255
		hpanel.setSpacing(5);
256
		hpanel.add(new Label("MODEL:  "));
257
 
258
		hpanel.add(new Label(transaction.getModel()));
259
		hpanel.setCellWidth(hpanel.getWidget(0), "128px");
260
		hpanel.setCellWidth(hpanel.getWidget(1), "128px");
261
		hpanel.getWidget(0).setStyleName(selectionStyle.blueLabel());
262
		hpanel.getWidget(1).setStyleName(selectionStyle.greenLabel());
263
		orderDetails1.add(hpanel);
264
 
265
		hpanel = new HorizontalPanel();
266
		hpanel.setSpacing(5);
267
		hpanel.add(new Label("COLOUR:  "));
268
 
269
		hpanel.add(new Label(transaction.getColour()));
270
		hpanel.setCellWidth(hpanel.getWidget(0), "128px");
271
		hpanel.setCellWidth(hpanel.getWidget(1), "128px");
272
		hpanel.getWidget(0).setStyleName(selectionStyle.blueLabel());
273
		hpanel.getWidget(1).setStyleName(selectionStyle.greenLabel());
274
		orderDetails1.add(hpanel);
275
 
276
		hpanel = new HorizontalPanel();
277
		hpanel.setSpacing(5);
278
		hpanel.add(new Label("VENDOR:   "));
279
 
280
		hpanel.add(new Label(transaction.getVendor()));
281
		hpanel.setCellWidth(hpanel.getWidget(0), "128px");
282
		hpanel.setCellWidth(hpanel.getWidget(1), "128px");
283
		hpanel.getWidget(0).setStyleName(selectionStyle.blueLabel());
284
		hpanel.getWidget(1).setStyleName(selectionStyle.greenLabel());
285
		orderDetails1.add(hpanel);
286
 
287
		//orderDetails.setWidget(0, 0, panel);
288
 
289
		hpanel = new HorizontalPanel();
290
		hpanel.setSpacing(5);
291
		hpanel.add(new Label("ADDRESS:  "));
292
 
293
		hpanel.add(new Label(transaction.getShipment().getAddress()));
294
		hpanel.setCellWidth(hpanel.getWidget(0), "128px");
295
		hpanel.setCellWidth(hpanel.getWidget(1), "128px");
296
		hpanel.getWidget(0).setStyleName(selectionStyle.blueLabel());
297
		hpanel.getWidget(1).setStyleName(selectionStyle.greenLabel());
298
		orderDetails2.add(hpanel);
299
 
300
		hpanel = new HorizontalPanel();
301
		hpanel.setSpacing(5);
302
		hpanel.add(new Label("VALUE:  "));
303
 
304
		hpanel.add(new Label(transaction.getShipment().getValue()));
305
		hpanel.setCellWidth(hpanel.getWidget(0), "128px");
306
		hpanel.setCellWidth(hpanel.getWidget(1), "128px");
307
		hpanel.getWidget(0).setStyleName(selectionStyle.blueLabel());
308
		hpanel.getWidget(1).setStyleName(selectionStyle.greenLabel());
309
		orderDetails2.add(hpanel);
310
 
311
		hpanel = new HorizontalPanel();
312
		hpanel.setSpacing(5);
313
		hpanel.add(new Label("WEIGHT:  "));
314
 
315
		hpanel.add(new Label(transaction.getShipment().getWeight()));
316
		hpanel.setCellWidth(hpanel.getWidget(0), "128px");
317
		hpanel.setCellWidth(hpanel.getWidget(1), "128px");
318
		hpanel.getWidget(0).setStyleName(selectionStyle.blueLabel());
319
		hpanel.getWidget(1).setStyleName(selectionStyle.greenLabel());
320
		orderDetails2.add(hpanel);
321
 
322
		hpanel = new HorizontalPanel();
323
		hpanel.setSpacing(5);
324
		hpanel.add(new Label("SHIPMENT STATUS:   "));
325
 
326
		hpanel.add(new Label(transaction.getShipment().getShipmentStatus()));
327
		hpanel.setCellWidth(hpanel.getWidget(0), "128px");
328
		hpanel.setCellWidth(hpanel.getWidget(1), "128px");
329
		hpanel.getWidget(0).setStyleName(selectionStyle.blueLabel());
330
		hpanel.getWidget(1).setStyleName(selectionStyle.greenLabel());
331
		orderDetails2.add(hpanel);
332
 
333
		//orderDetails.setWidget(0, 1, panel);
334
 
335
		hpanel = new HorizontalPanel();
336
		hpanel.setSpacing(5);
337
		hpanel.add(new Label("PAYMENT TIME:  "));
338
 
339
		hpanel.add(new Label(transaction.getShipment().getPaymentTime()));
340
		hpanel.setCellWidth(hpanel.getWidget(0), "128px");
341
		hpanel.setCellWidth(hpanel.getWidget(1), "128px");
342
		hpanel.getWidget(0).setStyleName(selectionStyle.blueLabel());
343
		hpanel.getWidget(1).setStyleName(selectionStyle.greenLabel());
344
		orderDetails3.add(hpanel);
345
 
346
		hpanel = new HorizontalPanel();
347
		hpanel.setSpacing(5);
348
		hpanel.add(new Label("PAYMENT MODE:  "));
349
 
350
		hpanel.add(new Label(transaction.getShipment().getPaymentMode()));
351
		hpanel.setCellWidth(hpanel.getWidget(0), "128px");
352
		hpanel.setCellWidth(hpanel.getWidget(1), "128px");
353
		hpanel.getWidget(0).setStyleName(selectionStyle.blueLabel());
354
		hpanel.getWidget(1).setStyleName(selectionStyle.greenLabel());
355
		orderDetails3.add(hpanel);
356
 
357
		hpanel = new HorizontalPanel();
358
		hpanel.setSpacing(5);
359
		hpanel.add(new Label("BANK TX ID:  "));
360
 
361
		hpanel.add(new Label(transaction.getShipment().getBank_tx_id()));
362
		hpanel.setCellWidth(hpanel.getWidget(0), "128px");
363
		hpanel.setCellWidth(hpanel.getWidget(1), "128px");
364
		hpanel.getWidget(0).setStyleName(selectionStyle.blueLabel());
365
		hpanel.getWidget(1).setStyleName(selectionStyle.greenLabel());
366
		orderDetails3.add(hpanel);
367
 
368
		hpanel = new HorizontalPanel();
369
		hpanel.setSpacing(5);
370
		hpanel.add(new Label("BILL NO:  "));
371
 
372
		hpanel.add(new Label(transaction.getShipment().getBillNo()));
373
		hpanel.setCellWidth(hpanel.getWidget(0), "128px");
374
		hpanel.setCellWidth(hpanel.getWidget(1), "128px");
375
		hpanel.getWidget(0).setStyleName(selectionStyle.blueLabel());
376
		hpanel.getWidget(1).setStyleName(selectionStyle.greenLabel());
377
		orderDetails4.add(hpanel);
378
 
379
		hpanel = new HorizontalPanel();
380
		hpanel.setSpacing(5);
381
		hpanel.add(new Label("BILLER:  "));
382
 
383
		hpanel.add(new Label(transaction.getShipment().getBillCreatedBy()));
384
		hpanel.setCellWidth(hpanel.getWidget(0), "128px");
385
		hpanel.setCellWidth(hpanel.getWidget(1), "128px");
386
		hpanel.getWidget(0).setStyleName(selectionStyle.blueLabel());
387
		hpanel.getWidget(1).setStyleName(selectionStyle.greenLabel());
388
		orderDetails4.add(hpanel);
389
 
390
		hpanel = new HorizontalPanel();
391
		hpanel.setSpacing(5);
392
		hpanel.add(new Label("TIME:  "));
393
 
394
		hpanel.add(new Label(transaction.getShipment().getBillCreatedOn()));
395
		hpanel.setCellWidth(hpanel.getWidget(0), "128px");
396
		hpanel.setCellWidth(hpanel.getWidget(1), "128px");
397
		hpanel.getWidget(0).setStyleName(selectionStyle.blueLabel());
398
		hpanel.getWidget(1).setStyleName(selectionStyle.greenLabel());
399
		orderDetails4.add(hpanel);
400
 
401
		hpanel = new HorizontalPanel();
402
		hpanel.setSpacing(5);
403
		hpanel.add(new Label("AIRWAY BILL NO:  "));
404
 
405
		hpanel.add(new Label(transaction.getShipment().getAirwayNo()));
406
		hpanel.setCellWidth(hpanel.getWidget(0), "128px");
407
		hpanel.setCellWidth(hpanel.getWidget(1), "128px");
408
		hpanel.getWidget(0).setStyleName(selectionStyle.blueLabel());
409
		hpanel.getWidget(1).setStyleName(selectionStyle.greenLabel());
410
		orderDetails5.add(hpanel);
411
 
412
		hpanel = new HorizontalPanel();
413
		hpanel.setSpacing(5);
414
		hpanel.add(new Label("TRACKING ID:  "));
415
 
416
		hpanel.add(new Label(transaction.getShipment().getTracker()));
417
		hpanel.setCellWidth(hpanel.getWidget(0), "128px");
418
		hpanel.setCellWidth(hpanel.getWidget(1), "128px");
419
		hpanel.getWidget(0).setStyleName(selectionStyle.blueLabel());
420
		hpanel.getWidget(1).setStyleName(selectionStyle.greenLabel());
421
		orderDetails5.add(hpanel);
422
 
423
		hpanel = new HorizontalPanel();
424
		hpanel.setSpacing(5);
425
		hpanel.add(new Label("PROVIDER:  "));
426
 
427
		hpanel.add(new Label(transaction.getShipment().getProvider()));
428
		hpanel.setCellWidth(hpanel.getWidget(0), "128px");
429
		hpanel.setCellWidth(hpanel.getWidget(1), "128px");
430
		hpanel.getWidget(0).setStyleName(selectionStyle.blueLabel());
431
		hpanel.getWidget(1).setStyleName(selectionStyle.greenLabel());
432
		orderDetails5.add(hpanel);
433
 
434
		hpanel = new HorizontalPanel();
435
		hpanel.setSpacing(5);
436
		hpanel.add(new Label("SHIPPED ON:  "));
437
 
438
		hpanel.add(new Label(transaction.getShipment().getShippedOn()));
439
		hpanel.setCellWidth(hpanel.getWidget(0), "128px");
440
		hpanel.setCellWidth(hpanel.getWidget(1), "128px");
441
		hpanel.getWidget(0).setStyleName(selectionStyle.blueLabel());
442
		hpanel.getWidget(1).setStyleName(selectionStyle.greenLabel());
443
		orderDetails5.add(hpanel);
444
	}
167 ashish 445
}