Subversion Repositories SmartDukaan

Rev

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