Subversion Repositories SmartDukaan

Rev

Rev 2509 | Rev 2697 | 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");
40
	private final Anchor itemReturns = 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
 
2630 chandransh 117
		root.addItem(itemReturns);
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
182
	public void updateItemList(ItemList itemList) {
183
		if(finalWidget != null){
184
			sp.remove(finalWidget);
185
		}
186
		if(northWidget != null){
187
			sp.remove(northWidget);
188
		}
189
		sp.addNorth(itemList, 200);
190
		this.northWidget = itemList;
191
 
192
		sp.add(finalWidget);
193
	}
760 chandransh 194
 
195
	@Override
196
	public void updateProviderList(ProivderList providerList) {
197
		if(finalWidget != null){
198
			sp.remove(finalWidget);
199
		}
200
		if(northWidget != null){
201
			sp.remove(northWidget);
202
		}
203
		sp.addNorth(providerList, 200);
204
		this.northWidget = providerList;
205
 
206
		sp.add(finalWidget);		
207
	}
534 chandransh 208
 
209
	@Override
210
	public void changeGreeting(String greeting) {
211
		topPanel.changeGreeting(greeting);		
212
	}
213
 
214
	@Override
215
	public HasClickHandlers getMessageBox() {
216
		return null;
217
	}	
167 ashish 218
 
219
	@Override
220
	public HasClickHandlers getAcceptedOrdersAnchor() {
221
		return acceptedOrders;
222
	}
223
 
224
	@Override
486 rajveer 225
	public HasClickHandlers getRejectedOrdersAnchor() {
226
		return rejectedOrders;
227
	}
228
 
229
	@Override
167 ashish 230
	public HasClickHandlers getBilledOrdersAnchor() {
231
		return billedOrders;
232
	}
233
 
234
	@Override
235
	public HasClickHandlers getNewOrdersAnchor() {
236
		return newOrders;
237
	}
238
 
239
	@Override
240
	public HasClickHandlers getShippedOrdersAnchor() {
241
		return shippedOrders;
242
	}
243
 
244
	@Override
306 ashish 245
	public HasClickHandlers getSignOutLink() {
246
		return topPanel.getSignOutLink();
247
	}
248
 
249
	@Override
250
	public HasClickHandlers getAllOrdersAnchor() {
251
		return allOrders;
252
	}
253
 
254
	@Override
255
	public HasClickHandlers getAlertsAnchor() {
256
		return alerts;
257
	}
258
 
259
	@Override
260
	public HasClickHandlers getNotAvailableAnchor() {
261
		return notAvailable;
262
	}
263
 
760 chandransh 264
	@Override
597 chandransh 265
	public HasClickHandlers getOrdersTreeHeader(){
266
		return orderTreeHeader;
267
	}
268
 
760 chandransh 269
	@Override
597 chandransh 270
	public HasClickHandlers getAllItemsAnchor(){
271
		return allItems;
272
	}
273
 
760 chandransh 274
	@Override
597 chandransh 275
	public HasClickHandlers getBestDealsAnchor(){
276
		return bestDeals;
277
	}
278
 
760 chandransh 279
	@Override
597 chandransh 280
	public HasClickHandlers getBestSellersAnchor(){
281
		return bestSellers;
282
	}
283
 
760 chandransh 284
	@Override
597 chandransh 285
	public HasClickHandlers getLatestArrivalsAnchor(){
286
		return latestArrivals;
287
	}
288
 
760 chandransh 289
	@Override
584 chandransh 290
	public HasClickHandlers getCatalogTreeHeader(){
291
		return catalogTreeHeader;
292
	}
293
 
760 chandransh 294
	@Override
295
	public HasClickHandlers getProviderTreeHeader(){
296
		return providerTreeHeader;
297
	}
298
 
299
	@Override
300
	public HasClickHandlers getAllProvidersAnchor(){
301
		return allProviders;
302
	}
1193 chandransh 303
 
304
	@Override
305
	public HasClickHandlers getPrintPendingAnchor() {
306
		return printPending;
307
	}
2449 chandransh 308
 
309
	@Override
310
	public HasClickHandlers getDeliveredOrdersAnchor(){
311
		return deliveredOrders;
312
	}
313
 
314
	public void enableAdminControls(){
315
		deliveredOrders.setVisible(true);
2509 chandransh 316
		doaReturned.setVisible(true);
317
		salesReturned.setVisible(true);
2630 chandransh 318
		reshipped.setVisible(true);
2449 chandransh 319
	}
2509 chandransh 320
 
321
	@Override
322
	public HasClickHandlers getDoaAwaitedAnchor() {
323
		return doaAwaited;
324
	}
325
 
326
	@Override
327
	public HasClickHandlers getDoaReturnedAnchor() {
328
		return doaReturned;
329
	}
330
 
331
	@Override
332
	public HasClickHandlers getSalesReturnPendingAnchor() {
333
		return salesReturnPending;
334
	}
335
 
336
	@Override
337
	public HasClickHandlers getSalesReturnedAnchor() {
338
		return salesReturned;
339
	}
2630 chandransh 340
 
341
	@Override
342
	public HasClickHandlers getReshippedAnchor() {
343
		return reshipped;
344
	}
167 ashish 345
}