Subversion Repositories SmartDukaan

Rev

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