Subversion Repositories SmartDukaan

Rev

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