Subversion Repositories SmartDukaan

Rev

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