Subversion Repositories SmartDukaan

Rev

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