Subversion Repositories SmartDukaan

Rev

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