Subversion Repositories SmartDukaan

Rev

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