Subversion Repositories SmartDukaan

Rev

Rev 4286 | Rev 4353 | Go to most recent revision | Details | Compare with Previous | 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.inbox.InboxPresenter.Display;
4
 
5
import com.google.gwt.dom.client.Style.Unit;
6
import com.google.gwt.event.dom.client.HasClickHandlers;
7
import com.google.gwt.user.client.ui.Anchor;
8
import com.google.gwt.user.client.ui.Composite;
306 ashish 9
import com.google.gwt.user.client.ui.DockLayoutPanel;
167 ashish 10
import com.google.gwt.user.client.ui.HTML;
584 chandransh 11
import com.google.gwt.user.client.ui.Label;
167 ashish 12
import com.google.gwt.user.client.ui.SplitLayoutPanel;
13
import com.google.gwt.user.client.ui.StackLayoutPanel;
306 ashish 14
import com.google.gwt.user.client.ui.Tree;
15
import com.google.gwt.user.client.ui.TreeItem;
167 ashish 16
import com.google.gwt.user.client.ui.Widget;
17
 
18
public class InboxWidget extends Composite implements Display{
19
 
20
	private final HTML commandList = new HTML("Navigation");
21
	private final HTML messageDetails = new HTML("Message Details");
306 ashish 22
	private DockLayoutPanel dpanel = new DockLayoutPanel(Unit.EM);
167 ashish 23
	private SplitLayoutPanel sp = new SplitLayoutPanel();
534 chandransh 24
 
25
	private Tree orderTree = new Tree();
26
	private final Anchor allOrders = new Anchor("All");
3065 chandransh 27
	private final Anchor verificationPendingOrders = new Anchor("Verification Pending");
487 rajveer 28
	private final Anchor newOrders = new Anchor("Pending");
534 chandransh 29
	private final Anchor acceptedOrders = new Anchor("Accepted");
306 ashish 30
	private final Anchor billedOrders = new Anchor("Billed");
31
	private final Anchor shippedOrders = new Anchor("Shipped");
2449 chandransh 32
	private final Anchor deliveredOrders = new Anchor("Delivered");
530 chandransh 33
	private final Anchor rejectedOrders = new Anchor("Rejected");
4248 rajveer 34
	private final Anchor cancelConfirmed = new Anchor("Cancel Confirmed");
1193 chandransh 35
	private final Anchor printPending = new Anchor("Print Pending");
2509 chandransh 36
	private final Anchor doaAwaited = new Anchor("DOA Return Awaited");
37
	private final Anchor salesReturnPending = new Anchor("Sales Return Awaited");
4113 chandransh 38
	private final Anchor searchOrders = new Anchor("Search");
2509 chandransh 39
	private final Anchor doaReturned = new Anchor("DOA Returned");
40
	private final Anchor salesReturned = new Anchor("Sales Returned");
2630 chandransh 41
	private final Anchor reshipped = new Anchor("Reshipped");
2697 chandransh 42
	private final Anchor returnOrders = new Anchor("Returns");
534 chandransh 43
 
597 chandransh 44
	private Label orderTreeHeader = new Label("Orders");
584 chandransh 45
	private Label catalogTreeHeader = new Label("Catalog");
760 chandransh 46
	private Label providerTreeHeader = new Label("Couriers");
2835 chandransh 47
	private Label purchaseTreeHeader = new Label("Purchases");
4286 rajveer 48
	private Label inventoryTreeHeader = new Label("Inventory");
760 chandransh 49
 
4308 rajveer 50
	private Tree lowInventoryTree = new Tree();
51
	private final Anchor lowInventory = new Anchor("Low Inventory");
52
	private final Anchor poRaised = new Anchor("PO Raised");
53
	private final Anchor reversalInitiated = new Anchor("Reversal Initiated");
54
	private final Anchor notAvailable = new Anchor("Not Available");
55
 
534 chandransh 56
	private Tree catalogTree = new Tree();
57
	private final Anchor allItems = new Anchor("All Items");
58
	private final Anchor bestSellers = new Anchor("Best Sellers");
59
	private final Anchor bestDeals = new Anchor("Best Deals");
60
	private final Anchor latestArrivals = new Anchor("Latest Arrivals");
61
 
760 chandransh 62
	private Tree providerTree = new Tree();
63
	private final Anchor allProviders = new Anchor("All Couriers");
64
 
2835 chandransh 65
	private Tree purchaseTree = new Tree();
66
	private final Anchor newPurchaseOrders = new Anchor("New POs"); 
67
	private final Anchor openPurchaseOrders = new Anchor("Open POs");
68
	private final Anchor closedPurchaseOrders = new Anchor("Closed POs");
69
 
4286 rajveer 70
	private Tree inventoryTree = new Tree();
71
	private final Anchor reportUpload = new Anchor("Upload Report");
72
 
306 ashish 73
	private final Anchor alerts = new Anchor("Alerts");
167 ashish 74
	private Widget finalWidget = null;
75
	private Widget northWidget = null;
306 ashish 76
	private TopPanel topPanel = new TopPanel();
534 chandransh 77
 
167 ashish 78
	public InboxWidget(){
534 chandransh 79
		//Prepare the order tree
80
		TreeItem orderRootItem = createOrderTree();
81
		orderTree.addItem(orderRootItem);
82
		orderTree.setWidth("200px");
3065 chandransh 83
		orderTree.setSelectedItem(orderRootItem.getChild(1)); //FIXME: 0 is the index of the pending orders. Using numbers in code is bad practice. Fix this.
534 chandransh 84
		orderTree.ensureSelectedItemVisible();
85
 
86
		//Prepare the catalogue tree
87
		TreeItem catalogRootItem = createCatalogTree();
88
		catalogTree.addItem(catalogRootItem);
89
		catalogTree.setWidth("200px");
90
		catalogTree.setSelectedItem(catalogRootItem.getChild(0)); //FIXME: 0 is the index of All Items. Using numbers in code is bad practice.
91
		catalogTree.ensureSelectedItemVisible();
760 chandransh 92
 
93
		TreeItem providerRootItem = createProviderTree();
94
		providerTree.addItem(providerRootItem);
95
		providerTree.setWidth("200px");
96
		providerTree.setSelectedItem(providerRootItem.getChild(0));
97
		providerTree.ensureSelectedItemVisible();
584 chandransh 98
 
2835 chandransh 99
		TreeItem purchaseRootItem = createPurchaseTree();
100
        providerTree.addItem(purchaseRootItem);
101
        providerTree.setWidth("200px");
102
        providerTree.setSelectedItem(purchaseRootItem.getChild(0));
103
        providerTree.ensureSelectedItemVisible();
4286 rajveer 104
 
105
        //Prepare the left panel
534 chandransh 106
		StackLayoutPanel leftPanel = new StackLayoutPanel(Unit.PX);
597 chandransh 107
		leftPanel.add(orderTree, orderTreeHeader, 25);
584 chandransh 108
		leftPanel.add(catalogTree, catalogTreeHeader, 25);
760 chandransh 109
		leftPanel.add(providerTree, providerTreeHeader, 25);
2835 chandransh 110
		//leftPanel.add(purchaseTree, purchaseTreeHeader, 25);
4286 rajveer 111
		inventoryTree.addItem(reportUpload);
112
		leftPanel.add(inventoryTree, inventoryTreeHeader, 25);
534 chandransh 113
 
4286 rajveer 114
 
534 chandransh 115
		// Prepare the lower body of dashboard with the left navigation and the
116
		// display area on the right.
117
		sp.addWest(leftPanel, 200);
118
		sp.add(messageDetails);
119
 
120
		//Prepare the complete body with the header
306 ashish 121
		dpanel.addNorth(topPanel, 5);
122
		dpanel.add(sp);
534 chandransh 123
 
167 ashish 124
		finalWidget = messageDetails;
306 ashish 125
		initWidget(dpanel);
167 ashish 126
 
127
		commandList.setHTML("<p> hi, how ae you doing buddy </p><ul><li>one<li>two<li>three</ul>");
306 ashish 128
		messageDetails.setText("");
167 ashish 129
	}
534 chandransh 130
 
131
	private TreeItem createOrderTree(){
306 ashish 132
		TreeItem root = new TreeItem("Orders");
967 chandransh 133
		//root.addItem(allOrders);
3065 chandransh 134
		root.addItem(verificationPendingOrders);
306 ashish 135
		root.addItem(newOrders);
136
		root.addItem(acceptedOrders);
137
		root.addItem(billedOrders);
138
		root.addItem(shippedOrders);
139
		root.addItem(rejectedOrders);
4308 rajveer 140
 
141
		TreeItem lowInventoryItem = new TreeItem("Low Inventory");
142
		lowInventoryTree.addItem(lowInventoryItem);
143
		lowInventoryItem.addItem(lowInventory);
144
		lowInventoryItem.addItem(poRaised);
145
		lowInventoryItem.addItem(reversalInitiated);
146
		lowInventoryItem.addItem(notAvailable);
147
		root.addItem(lowInventoryTree);
148
 
149
 
4251 rajveer 150
		root.addItem(cancelConfirmed);
4248 rajveer 151
		root.addItem(salesReturnPending);
2449 chandransh 152
		root.addItem(printPending);
2509 chandransh 153
		root.addItem(doaAwaited);
4113 chandransh 154
		root.addItem(searchOrders);
2449 chandransh 155
 
4248 rajveer 156
 
2697 chandransh 157
		root.addItem(returnOrders);
2630 chandransh 158
 
2449 chandransh 159
		root.addItem(deliveredOrders);
2509 chandransh 160
		root.addItem(doaReturned);
161
		root.addItem(salesReturned);
2630 chandransh 162
		root.addItem(reshipped);
306 ashish 163
		root.addItem(alerts);
2449 chandransh 164
		deliveredOrders.setVisible(false);
2509 chandransh 165
		doaReturned.setVisible(false);
166
		salesReturned.setVisible(false);
2630 chandransh 167
		reshipped.setVisible(false);
486 rajveer 168
		alerts.setVisible(false);
306 ashish 169
		return root;
170
	}
171
 
534 chandransh 172
	private TreeItem createCatalogTree(){
173
		TreeItem root = new TreeItem("Catalog");
174
		root.addItem(allItems);
175
		root.addItem(bestDeals);
176
		root.addItem(bestSellers);
177
		root.addItem(latestArrivals);
178
		return root;
179
	}
760 chandransh 180
 
181
	private TreeItem createProviderTree(){
182
		TreeItem root = new TreeItem("Courier");
183
		root.addItem(allProviders);
184
		return root;
185
	}
2835 chandransh 186
 
187
   private TreeItem createPurchaseTree(){
188
        TreeItem root = new TreeItem("Purchase Orders");
189
        root.addItem(newPurchaseOrders);
190
        root.addItem(openPurchaseOrders);
191
        root.addItem(closedPurchaseOrders);
192
        return root;
193
    }
760 chandransh 194
 
167 ashish 195
	@Override
196
	public Widget asWidget() {
197
 
198
		return this;
199
	}
200
 
201
	@Override
534 chandransh 202
	public void updateDetailsPane(Widget details) {
203
		if(finalWidget != null){
204
			sp.remove(finalWidget);
205
		}
206
		sp.add(details);
207
		finalWidget = details;
208
	}
209
 
210
	@Override
211
	public void removeDetailsPane() {
212
		updateDetailsPane(messageDetails);	
213
	}
167 ashish 214
 
215
	@Override
216
	public void updateOrderList(OrderList orderList) {
217
		if(finalWidget != null){
218
			sp.remove(finalWidget);
219
		}
220
		if(northWidget != null){
221
			sp.remove(northWidget);
222
		}
223
		sp.addNorth(orderList, 200);
224
		this.northWidget = orderList;
225
 
226
		sp.add(finalWidget);
227
	}
584 chandransh 228
 
229
	@Override
2697 chandransh 230
	public void updateReturnOrderList(ReturnOrderList retOrderList) {
231
		if(finalWidget != null){
232
			sp.remove(finalWidget);
233
		}
234
		if(northWidget != null){
235
			sp.remove(northWidget);
236
		}
237
		sp.addNorth(retOrderList, 200);
238
		this.northWidget = retOrderList;
239
 
240
		sp.add(finalWidget);
241
	}
242
 
243
	@Override
584 chandransh 244
	public void updateItemList(ItemList itemList) {
245
		if(finalWidget != null){
246
			sp.remove(finalWidget);
247
		}
248
		if(northWidget != null){
249
			sp.remove(northWidget);
250
		}
251
		sp.addNorth(itemList, 200);
252
		this.northWidget = itemList;
253
 
254
		sp.add(finalWidget);
255
	}
760 chandransh 256
 
257
	@Override
258
	public void updateProviderList(ProivderList providerList) {
259
		if(finalWidget != null){
260
			sp.remove(finalWidget);
261
		}
262
		if(northWidget != null){
263
			sp.remove(northWidget);
264
		}
265
		sp.addNorth(providerList, 200);
266
		this.northWidget = providerList;
267
 
268
		sp.add(finalWidget);		
269
	}
534 chandransh 270
 
271
	@Override
272
	public void changeGreeting(String greeting) {
273
		topPanel.changeGreeting(greeting);		
274
	}
275
 
276
	@Override
277
	public HasClickHandlers getMessageBox() {
278
		return null;
279
	}	
167 ashish 280
 
281
	@Override
282
	public HasClickHandlers getAcceptedOrdersAnchor() {
283
		return acceptedOrders;
284
	}
285
 
286
	@Override
486 rajveer 287
	public HasClickHandlers getRejectedOrdersAnchor() {
288
		return rejectedOrders;
289
	}
290
 
291
	@Override
167 ashish 292
	public HasClickHandlers getBilledOrdersAnchor() {
293
		return billedOrders;
294
	}
295
 
296
	@Override
297
	public HasClickHandlers getNewOrdersAnchor() {
298
		return newOrders;
299
	}
300
 
301
	@Override
302
	public HasClickHandlers getShippedOrdersAnchor() {
303
		return shippedOrders;
304
	}
305
 
306
	@Override
306 ashish 307
	public HasClickHandlers getSignOutLink() {
308
		return topPanel.getSignOutLink();
309
	}
310
 
311
	@Override
312
	public HasClickHandlers getAllOrdersAnchor() {
313
		return allOrders;
314
	}
315
 
316
	@Override
317
	public HasClickHandlers getAlertsAnchor() {
318
		return alerts;
319
	}
320
 
321
	@Override
4308 rajveer 322
	public HasClickHandlers getLowInventoryAnchor() {
323
		return lowInventory;
324
	}
325
 
326
	@Override
327
	public HasClickHandlers getPoRaisedAnchor() {
328
		return poRaised;
329
	}
330
 
331
	@Override
332
	public HasClickHandlers getReversalInitiatedAnchor() {
333
		return reversalInitiated;
334
	}
335
 
336
	@Override
306 ashish 337
	public HasClickHandlers getNotAvailableAnchor() {
338
		return notAvailable;
339
	}
760 chandransh 340
	@Override
4248 rajveer 341
	public HasClickHandlers getCancelConfirmedAnchor() {
342
		return cancelConfirmed;
343
	}
344
 
345
	@Override
597 chandransh 346
	public HasClickHandlers getOrdersTreeHeader(){
347
		return orderTreeHeader;
348
	}
349
 
760 chandransh 350
	@Override
597 chandransh 351
	public HasClickHandlers getAllItemsAnchor(){
352
		return allItems;
353
	}
354
 
760 chandransh 355
	@Override
597 chandransh 356
	public HasClickHandlers getBestDealsAnchor(){
357
		return bestDeals;
358
	}
359
 
760 chandransh 360
	@Override
597 chandransh 361
	public HasClickHandlers getBestSellersAnchor(){
362
		return bestSellers;
363
	}
364
 
760 chandransh 365
	@Override
597 chandransh 366
	public HasClickHandlers getLatestArrivalsAnchor(){
367
		return latestArrivals;
368
	}
369
 
760 chandransh 370
	@Override
584 chandransh 371
	public HasClickHandlers getCatalogTreeHeader(){
372
		return catalogTreeHeader;
373
	}
374
 
760 chandransh 375
	@Override
376
	public HasClickHandlers getProviderTreeHeader(){
377
		return providerTreeHeader;
378
	}
379
 
380
	@Override
381
	public HasClickHandlers getAllProvidersAnchor(){
382
		return allProviders;
383
	}
1193 chandransh 384
 
385
	@Override
386
	public HasClickHandlers getPrintPendingAnchor() {
387
		return printPending;
388
	}
2449 chandransh 389
 
390
	@Override
391
	public HasClickHandlers getDeliveredOrdersAnchor(){
392
		return deliveredOrders;
393
	}
394
 
395
	public void enableAdminControls(){
396
		deliveredOrders.setVisible(true);
2509 chandransh 397
		doaReturned.setVisible(true);
398
		salesReturned.setVisible(true);
2630 chandransh 399
		reshipped.setVisible(true);
2449 chandransh 400
	}
2509 chandransh 401
 
402
	@Override
403
	public HasClickHandlers getDoaAwaitedAnchor() {
404
		return doaAwaited;
405
	}
406
 
407
	@Override
408
	public HasClickHandlers getDoaReturnedAnchor() {
409
		return doaReturned;
410
	}
411
 
412
	@Override
413
	public HasClickHandlers getSalesReturnPendingAnchor() {
414
		return salesReturnPending;
415
	}
416
 
417
	@Override
418
	public HasClickHandlers getSalesReturnedAnchor() {
419
		return salesReturned;
420
	}
2630 chandransh 421
 
422
	@Override
423
	public HasClickHandlers getReshippedAnchor() {
424
		return reshipped;
425
	}
2697 chandransh 426
 
427
	@Override
428
	public HasClickHandlers getReturnOrdersAnchor(){
429
		return returnOrders;
430
	}
2835 chandransh 431
 
432
    @Override
433
    public HasClickHandlers getPurchaseTreeHeader() {
434
        return purchaseTreeHeader;
435
    }
436
 
437
    @Override
438
    public HasClickHandlers getNewPurchaseOrdersAnchor() {
439
        return newPurchaseOrders;
440
    }
441
 
442
    @Override
443
    public HasClickHandlers getOpenPurchaseOrdersAnchor() {
444
        return openPurchaseOrders;
445
    }
446
 
447
    @Override
448
    public HasClickHandlers getClosedPurchaseOrdersAnchor() {
449
        return closedPurchaseOrders;
450
    }
3065 chandransh 451
 
452
    @Override
453
    public HasClickHandlers getVerificationPendingOrdersAnchor() {
454
        return verificationPendingOrders;
455
    }
4113 chandransh 456
 
457
    @Override
458
    public HasClickHandlers getSearchOrdersAnchor() {
459
        return searchOrders;
460
    }
4248 rajveer 461
 
4286 rajveer 462
	@Override
463
	public HasClickHandlers getReportUploadAnchor() {
464
		return reportUpload;
465
	}
167 ashish 466
}