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
 
484 rajveer 247
		hpanel.add(new Label(transaction.getSkuId()+""));
306 ashish 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
 
484 rajveer 258
		hpanel.add(new Label(transaction.getModelName()));
306 ashish 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
 
484 rajveer 269
		hpanel.add(new Label(transaction.getExtraInfo()));
306 ashish 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
 
484 rajveer 293
		hpanel.add(new Label(transaction.getCustomerAddress()));
306 ashish 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
 
484 rajveer 300
		/*
306 ashish 301
		hpanel = new HorizontalPanel();
302
		hpanel.setSpacing(5);
303
		hpanel.add(new Label("VALUE:  "));
304
 
305
		hpanel.add(new Label(transaction.getShipment().getValue()));
306
		hpanel.setCellWidth(hpanel.getWidget(0), "128px");
307
		hpanel.setCellWidth(hpanel.getWidget(1), "128px");
308
		hpanel.getWidget(0).setStyleName(selectionStyle.blueLabel());
309
		hpanel.getWidget(1).setStyleName(selectionStyle.greenLabel());
310
		orderDetails2.add(hpanel);
311
 
312
		hpanel = new HorizontalPanel();
313
		hpanel.setSpacing(5);
314
		hpanel.add(new Label("WEIGHT:  "));
315
 
316
		hpanel.add(new Label(transaction.getShipment().getWeight()));
317
		hpanel.setCellWidth(hpanel.getWidget(0), "128px");
318
		hpanel.setCellWidth(hpanel.getWidget(1), "128px");
319
		hpanel.getWidget(0).setStyleName(selectionStyle.blueLabel());
320
		hpanel.getWidget(1).setStyleName(selectionStyle.greenLabel());
321
		orderDetails2.add(hpanel);
322
 
323
		hpanel = new HorizontalPanel();
324
		hpanel.setSpacing(5);
325
		hpanel.add(new Label("SHIPMENT STATUS:   "));
326
 
327
		hpanel.add(new Label(transaction.getShipment().getShipmentStatus()));
328
		hpanel.setCellWidth(hpanel.getWidget(0), "128px");
329
		hpanel.setCellWidth(hpanel.getWidget(1), "128px");
330
		hpanel.getWidget(0).setStyleName(selectionStyle.blueLabel());
331
		hpanel.getWidget(1).setStyleName(selectionStyle.greenLabel());
332
		orderDetails2.add(hpanel);
333
 
334
		//orderDetails.setWidget(0, 1, panel);
335
 
336
		hpanel = new HorizontalPanel();
337
		hpanel.setSpacing(5);
338
		hpanel.add(new Label("PAYMENT TIME:  "));
339
 
340
		hpanel.add(new Label(transaction.getShipment().getPaymentTime()));
341
		hpanel.setCellWidth(hpanel.getWidget(0), "128px");
342
		hpanel.setCellWidth(hpanel.getWidget(1), "128px");
343
		hpanel.getWidget(0).setStyleName(selectionStyle.blueLabel());
344
		hpanel.getWidget(1).setStyleName(selectionStyle.greenLabel());
345
		orderDetails3.add(hpanel);
346
 
347
		hpanel = new HorizontalPanel();
348
		hpanel.setSpacing(5);
349
		hpanel.add(new Label("PAYMENT MODE:  "));
350
 
351
		hpanel.add(new Label(transaction.getShipment().getPaymentMode()));
352
		hpanel.setCellWidth(hpanel.getWidget(0), "128px");
353
		hpanel.setCellWidth(hpanel.getWidget(1), "128px");
354
		hpanel.getWidget(0).setStyleName(selectionStyle.blueLabel());
355
		hpanel.getWidget(1).setStyleName(selectionStyle.greenLabel());
356
		orderDetails3.add(hpanel);
357
 
358
		hpanel = new HorizontalPanel();
359
		hpanel.setSpacing(5);
360
		hpanel.add(new Label("BANK TX ID:  "));
361
 
362
		hpanel.add(new Label(transaction.getShipment().getBank_tx_id()));
363
		hpanel.setCellWidth(hpanel.getWidget(0), "128px");
364
		hpanel.setCellWidth(hpanel.getWidget(1), "128px");
365
		hpanel.getWidget(0).setStyleName(selectionStyle.blueLabel());
366
		hpanel.getWidget(1).setStyleName(selectionStyle.greenLabel());
367
		orderDetails3.add(hpanel);
368
 
369
		hpanel = new HorizontalPanel();
370
		hpanel.setSpacing(5);
371
		hpanel.add(new Label("BILL NO:  "));
372
 
373
		hpanel.add(new Label(transaction.getShipment().getBillNo()));
374
		hpanel.setCellWidth(hpanel.getWidget(0), "128px");
375
		hpanel.setCellWidth(hpanel.getWidget(1), "128px");
376
		hpanel.getWidget(0).setStyleName(selectionStyle.blueLabel());
377
		hpanel.getWidget(1).setStyleName(selectionStyle.greenLabel());
378
		orderDetails4.add(hpanel);
379
 
380
		hpanel = new HorizontalPanel();
381
		hpanel.setSpacing(5);
382
		hpanel.add(new Label("BILLER:  "));
383
 
384
		hpanel.add(new Label(transaction.getShipment().getBillCreatedBy()));
385
		hpanel.setCellWidth(hpanel.getWidget(0), "128px");
386
		hpanel.setCellWidth(hpanel.getWidget(1), "128px");
387
		hpanel.getWidget(0).setStyleName(selectionStyle.blueLabel());
388
		hpanel.getWidget(1).setStyleName(selectionStyle.greenLabel());
389
		orderDetails4.add(hpanel);
390
 
391
		hpanel = new HorizontalPanel();
392
		hpanel.setSpacing(5);
393
		hpanel.add(new Label("TIME:  "));
394
 
395
		hpanel.add(new Label(transaction.getShipment().getBillCreatedOn()));
396
		hpanel.setCellWidth(hpanel.getWidget(0), "128px");
397
		hpanel.setCellWidth(hpanel.getWidget(1), "128px");
398
		hpanel.getWidget(0).setStyleName(selectionStyle.blueLabel());
399
		hpanel.getWidget(1).setStyleName(selectionStyle.greenLabel());
400
		orderDetails4.add(hpanel);
401
 
402
		hpanel = new HorizontalPanel();
403
		hpanel.setSpacing(5);
404
		hpanel.add(new Label("AIRWAY BILL NO:  "));
405
 
406
		hpanel.add(new Label(transaction.getShipment().getAirwayNo()));
407
		hpanel.setCellWidth(hpanel.getWidget(0), "128px");
408
		hpanel.setCellWidth(hpanel.getWidget(1), "128px");
409
		hpanel.getWidget(0).setStyleName(selectionStyle.blueLabel());
410
		hpanel.getWidget(1).setStyleName(selectionStyle.greenLabel());
411
		orderDetails5.add(hpanel);
412
 
413
		hpanel = new HorizontalPanel();
414
		hpanel.setSpacing(5);
415
		hpanel.add(new Label("TRACKING ID:  "));
416
 
417
		hpanel.add(new Label(transaction.getShipment().getTracker()));
418
		hpanel.setCellWidth(hpanel.getWidget(0), "128px");
419
		hpanel.setCellWidth(hpanel.getWidget(1), "128px");
420
		hpanel.getWidget(0).setStyleName(selectionStyle.blueLabel());
421
		hpanel.getWidget(1).setStyleName(selectionStyle.greenLabel());
422
		orderDetails5.add(hpanel);
423
 
424
		hpanel = new HorizontalPanel();
425
		hpanel.setSpacing(5);
426
		hpanel.add(new Label("PROVIDER:  "));
427
 
428
		hpanel.add(new Label(transaction.getShipment().getProvider()));
429
		hpanel.setCellWidth(hpanel.getWidget(0), "128px");
430
		hpanel.setCellWidth(hpanel.getWidget(1), "128px");
431
		hpanel.getWidget(0).setStyleName(selectionStyle.blueLabel());
432
		hpanel.getWidget(1).setStyleName(selectionStyle.greenLabel());
433
		orderDetails5.add(hpanel);
434
 
435
		hpanel = new HorizontalPanel();
436
		hpanel.setSpacing(5);
437
		hpanel.add(new Label("SHIPPED ON:  "));
438
 
439
		hpanel.add(new Label(transaction.getShipment().getShippedOn()));
440
		hpanel.setCellWidth(hpanel.getWidget(0), "128px");
441
		hpanel.setCellWidth(hpanel.getWidget(1), "128px");
442
		hpanel.getWidget(0).setStyleName(selectionStyle.blueLabel());
443
		hpanel.getWidget(1).setStyleName(selectionStyle.greenLabel());
444
		orderDetails5.add(hpanel);
484 rajveer 445
		*/
306 ashish 446
	}
167 ashish 447
}