Rev 4455 | Rev 4478 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package in.shop2020.hotspot.dashbaord.client.inbox;import in.shop2020.hotspot.dashbaord.client.inbox.InboxPresenter.Display;import in.shop2020.hotspot.dashbaord.shared.actions.OrderType;import com.google.gwt.dom.client.Style.Unit;import com.google.gwt.event.dom.client.HasClickHandlers;import com.google.gwt.user.client.ui.Anchor;import com.google.gwt.user.client.ui.Composite;import com.google.gwt.user.client.ui.DockLayoutPanel;import com.google.gwt.user.client.ui.HTML;import com.google.gwt.user.client.ui.Label;import com.google.gwt.user.client.ui.SplitLayoutPanel;import com.google.gwt.user.client.ui.StackLayoutPanel;import com.google.gwt.user.client.ui.Tree;import com.google.gwt.user.client.ui.TreeItem;import com.google.gwt.user.client.ui.Widget;public class InboxWidget extends Composite implements Display{private final HTML commandList = new HTML("Navigation");private final HTML messageDetails = new HTML("Message Details");private DockLayoutPanel dpanel = new DockLayoutPanel(Unit.EM);private SplitLayoutPanel sp = new SplitLayoutPanel();private Tree orderTree = new Tree();private final Anchor allOrders = new Anchor("All");private final Anchor verificationPendingOrders = new Anchor("Verification Pending");private final Anchor newOrders = new Anchor("New Orders");private final Anchor acceptedOrders = new Anchor("Accepted");private final Anchor billedOrders = new Anchor("Billed");private final Anchor shippedOrders = new Anchor("Shipped");private final Anchor deliveredOrders = new Anchor("Delivered");private final Anchor rejectedOrders = new Anchor("Rejected");private final Anchor cancelConfirmed = new Anchor("Cancel Confirmed");private final Anchor printPending = new Anchor("Print Pending");private final Anchor doaAwaited = new Anchor("DOA Return Awaited");private final Anchor salesReturnPending = new Anchor("Sales Return Awaited");private final Anchor searchOrders = new Anchor("Search");private final Anchor doaReturned = new Anchor("DOA Returned");private final Anchor salesReturned = new Anchor("Sales Returned");private final Anchor reshipped = new Anchor("Reshipped");private final Anchor returnOrders = new Anchor("Returns");private final Anchor doaRequestConfirmed = new Anchor("DOA Request Confirmed");private final Anchor doaLostInTransit = new Anchor("DOA Lost In Transit");private final Anchor alerts = new Anchor("Alerts");private Label orderTreeHeader = new Label("Orders");private Label catalogTreeHeader = new Label("Catalog");private Label providerTreeHeader = new Label("Couriers");private Label purchaseTreeHeader = new Label("Purchases");private Label inventoryTreeHeader = new Label("Inventory");private Label allPendingTreeHeader = new Label("All Pending");private Tree allPendingTree = new Tree();private final Anchor lowInventory = new Anchor("Low Inventory");private final Anchor poRaised = new Anchor("PO Raised");private final Anchor reversalInitiated = new Anchor("Reversal Initiated");private final Anchor notAvailable = new Anchor("Not Available");private Tree catalogTree = new Tree();private final Anchor allItems = new Anchor("All Items");private final Anchor bestSellers = new Anchor("Best Sellers");private final Anchor bestDeals = new Anchor("Best Deals");private final Anchor latestArrivals = new Anchor("Latest Arrivals");private Tree providerTree = new Tree();private final Anchor allProviders = new Anchor("All Couriers");private Tree purchaseTree = new Tree();private final Anchor newPurchaseOrders = new Anchor("New POs");private final Anchor openPurchaseOrders = new Anchor("Open POs");private final Anchor closedPurchaseOrders = new Anchor("Closed POs");private Tree inventoryTree = new Tree();private final Anchor reportUpload = new Anchor("Upload Report");private Widget finalWidget = null;private Widget northWidget = null;private TopPanel topPanel = new TopPanel();public InboxWidget(){//Prepare the order treeTreeItem orderRootItem = createOrderTree();orderTree.addItem(orderRootItem);orderTree.setWidth("200px");orderTree.setSelectedItem(orderRootItem.getChild(1)); //FIXME: 0 is the index of the pending orders. Using numbers in code is bad practice. Fix this.orderTree.ensureSelectedItemVisible();TreeItem alertRootItem = createAlertTree();orderTree.addItem(alertRootItem);orderTree.setWidth("200px");//Prepare the catalogue treeTreeItem catalogRootItem = createCatalogTree();catalogTree.addItem(catalogRootItem);catalogTree.setWidth("200px");catalogTree.setSelectedItem(catalogRootItem.getChild(0)); //FIXME: 0 is the index of All Items. Using numbers in code is bad practice.catalogTree.ensureSelectedItemVisible();TreeItem providerRootItem = createProviderTree();providerTree.addItem(providerRootItem);providerTree.setWidth("200px");providerTree.setSelectedItem(providerRootItem.getChild(0));providerTree.ensureSelectedItemVisible();TreeItem purchaseRootItem = createPurchaseTree();providerTree.addItem(purchaseRootItem);providerTree.setWidth("200px");providerTree.setSelectedItem(purchaseRootItem.getChild(0));providerTree.ensureSelectedItemVisible();//Prepare the left panelStackLayoutPanel leftPanel = new StackLayoutPanel(Unit.PX);leftPanel.add(orderTree, orderTreeHeader, 25);leftPanel.add(catalogTree, catalogTreeHeader, 25);leftPanel.add(providerTree, providerTreeHeader, 25);//leftPanel.add(purchaseTree, purchaseTreeHeader, 25);inventoryTree.addItem(reportUpload);leftPanel.add(inventoryTree, inventoryTreeHeader, 25);// Prepare the lower body of dashboard with the left navigation and the// display area on the right.sp.addWest(leftPanel, 200);sp.add(messageDetails);//Prepare the complete body with the headerdpanel.addNorth(topPanel, 5);dpanel.add(sp);finalWidget = messageDetails;initWidget(dpanel);commandList.setHTML("<p> hi, how ae you doing buddy </p><ul><li>one<li>two<li>three</ul>");messageDetails.setText("");}private TreeItem createOrderTree(){TreeItem root = new TreeItem("Orders");//root.addItem(allOrders);root.addItem(verificationPendingOrders);TreeItem lowInventoryItem = new TreeItem(allPendingTreeHeader);allPendingTree.addItem(lowInventoryItem);allPendingTree.setSelectedItem(lowInventoryItem);allPendingTree.ensureSelectedItemVisible();lowInventoryItem.addItem(newOrders);lowInventoryItem.addItem(lowInventory);lowInventoryItem.addItem(poRaised);lowInventoryItem.addItem(reversalInitiated);lowInventoryItem.addItem(notAvailable);root.addItem(allPendingTree);root.addItem(acceptedOrders);root.addItem(billedOrders);root.addItem(shippedOrders);root.addItem(rejectedOrders);root.addItem(cancelConfirmed);root.addItem(salesReturnPending);root.addItem(printPending);root.addItem(doaAwaited);root.addItem(doaRequestConfirmed);root.addItem(doaLostInTransit);root.addItem(searchOrders);root.addItem(returnOrders);root.addItem(deliveredOrders);root.addItem(doaReturned);root.addItem(salesReturned);root.addItem(reshipped);verificationPendingOrders.setVisible(false);deliveredOrders.setVisible(false);doaReturned.setVisible(false);salesReturned.setVisible(false);reshipped.setVisible(false);doaRequestConfirmed.setVisible(false);doaLostInTransit.setVisible(false);return root;}private TreeItem createAlertTree(){TreeItem root = new TreeItem("All Alerts");root.addItem(alerts);return root;}private TreeItem createCatalogTree(){TreeItem root = new TreeItem("Catalog");root.addItem(allItems);root.addItem(bestDeals);root.addItem(bestSellers);root.addItem(latestArrivals);return root;}private TreeItem createProviderTree(){TreeItem root = new TreeItem("Courier");root.addItem(allProviders);return root;}private TreeItem createPurchaseTree(){TreeItem root = new TreeItem("Purchase Orders");root.addItem(newPurchaseOrders);root.addItem(openPurchaseOrders);root.addItem(closedPurchaseOrders);return root;}@Overridepublic Widget asWidget() {return this;}@Overridepublic void updateDetailsPane(Widget details) {if(finalWidget != null){sp.remove(finalWidget);}sp.add(details);finalWidget = details;}@Overridepublic void removeDetailsPane() {updateDetailsPane(messageDetails);}@Overridepublic void updateOrderList(OrderList orderList) {if(finalWidget != null){sp.remove(finalWidget);}if(northWidget != null){sp.remove(northWidget);}sp.addNorth(orderList, 200);this.northWidget = orderList;sp.add(finalWidget);}public void updateOrderCount(OrderType type, long count) {switch (type) {case ACCEPTED:acceptedOrders.setText("Accepted (" + count +")");break;case ALL_PENDING:allPendingTreeHeader.setText("All Pending (" + count +")");break;case NEW:newOrders.setText("New Orders (" + count +")");break;case BILLED:billedOrders.setText("Billed (" + count +")");break;case SHIPPED:shippedOrders.setText("Shipped (" + count +")");break;case LOW_INVENTORY:lowInventory.setText("Low Inventory (" + count +")");break;case PO_RAISED:poRaised.setText("PO Raised (" + count +")");break;case REVERSAL_INITIATED:reversalInitiated.setText("Reversal Initiated (" + count +")");break;case NOT_AVAILABLE:notAvailable.setText("Not Available (" + count +")");break;case CANCEL_CONFIRMED:cancelConfirmed.setText("Cancel Confirmed (" + count +")");break;case VERIFICATION_PENDING:verificationPendingOrders.setText("Verification Pending (" + count +")");break;case SALES_RETURN_AWAITED:salesReturnPending.setText("Sales Return Awaited (" + count +")");break;case DOA_AWAITED:doaAwaited.setText("DOA Return Awaited (" + count +")");break;case DOA_REQUEST_AUTHORIZED:doaRequestConfirmed.setText("DOA Request Confirmed (" + count +")");break;case DOA_LOST_IN_TRANSIT:doaLostInTransit.setText("DOA Lost In Transit (" + count +")");break;case SALES_RETURNED:salesReturned.setText("Sales Returned (" + count +")");break;case DOA_RETURNED:doaReturned.setText("DOA Returned (" + count +")");break;case RESHIPPED:reshipped.setText("Reshipped (" + count +")");break;case REFUNDED:rejectedOrders.setText(" Rejected (" + count +")");break;default:break;}}@Overridepublic void updateReturnOrderList(ReturnOrderList retOrderList) {if(finalWidget != null){sp.remove(finalWidget);}if(northWidget != null){sp.remove(northWidget);}sp.addNorth(retOrderList, 200);this.northWidget = retOrderList;sp.add(finalWidget);}@Overridepublic void updateAlertList(AlertList alertList) {if(finalWidget != null){sp.remove(finalWidget);}if(northWidget != null){sp.remove(northWidget);}sp.addNorth(alertList, 200);this.northWidget = alertList;sp.add(finalWidget);}@Overridepublic void updateItemList(ItemList itemList) {if(finalWidget != null){sp.remove(finalWidget);}if(northWidget != null){sp.remove(northWidget);}sp.addNorth(itemList, 200);this.northWidget = itemList;sp.add(finalWidget);}@Overridepublic void updateProviderList(ProivderList providerList) {if(finalWidget != null){sp.remove(finalWidget);}if(northWidget != null){sp.remove(northWidget);}sp.addNorth(providerList, 200);this.northWidget = providerList;sp.add(finalWidget);}@Overridepublic void changeGreeting(String greeting) {topPanel.changeGreeting(greeting);}@Overridepublic void updateAlertsCount(long count) {topPanel.updateAlertsCount(count);}@Overridepublic HasClickHandlers getMessageBox() {return null;}@Overridepublic HasClickHandlers getAcceptedOrdersAnchor() {return acceptedOrders;}@Overridepublic HasClickHandlers getRejectedOrdersAnchor() {return rejectedOrders;}@Overridepublic HasClickHandlers getBilledOrdersAnchor() {return billedOrders;}@Overridepublic HasClickHandlers getNewOrdersAnchor() {return newOrders;}@Overridepublic HasClickHandlers getShippedOrdersAnchor() {return shippedOrders;}@Overridepublic HasClickHandlers getSignOutLink() {return topPanel.getSignOutLink();}@Overridepublic HasClickHandlers getAlertsCountLink() {return topPanel.getAlertsCountLink();}@Overridepublic HasClickHandlers getAllPendingOrdersAnchor() {return allPendingTreeHeader;}@Overridepublic HasClickHandlers getAlertsAnchor() {return alerts;}@Overridepublic HasClickHandlers getLowInventoryAnchor() {return lowInventory;}@Overridepublic HasClickHandlers getPoRaisedAnchor() {return poRaised;}@Overridepublic HasClickHandlers getReversalInitiatedAnchor() {return reversalInitiated;}@Overridepublic HasClickHandlers getNotAvailableAnchor() {return notAvailable;}@Overridepublic HasClickHandlers getCancelConfirmedAnchor() {return cancelConfirmed;}@Overridepublic HasClickHandlers getOrdersTreeHeader(){return orderTreeHeader;}@Overridepublic HasClickHandlers getAllItemsAnchor(){return allItems;}@Overridepublic HasClickHandlers getBestDealsAnchor(){return bestDeals;}@Overridepublic HasClickHandlers getBestSellersAnchor(){return bestSellers;}@Overridepublic HasClickHandlers getLatestArrivalsAnchor(){return latestArrivals;}@Overridepublic HasClickHandlers getCatalogTreeHeader(){return catalogTreeHeader;}@Overridepublic HasClickHandlers getProviderTreeHeader(){return providerTreeHeader;}@Overridepublic HasClickHandlers getAllProvidersAnchor(){return allProviders;}@Overridepublic HasClickHandlers getPrintPendingAnchor() {return printPending;}@Overridepublic HasClickHandlers getDeliveredOrdersAnchor(){return deliveredOrders;}public void enableAdminControls(){verificationPendingOrders.setVisible(true);deliveredOrders.setVisible(true);doaReturned.setVisible(true);salesReturned.setVisible(true);reshipped.setVisible(true);doaRequestConfirmed.setVisible(true);doaLostInTransit.setVisible(true);}@Overridepublic HasClickHandlers getDoaAwaitedAnchor() {return doaAwaited;}@Overridepublic HasClickHandlers getDoaRequestConfirmedAnchor() {return doaRequestConfirmed;}@Overridepublic HasClickHandlers getDoaLostInTransitAnchor() {return doaRequestConfirmed;}@Overridepublic HasClickHandlers getDoaReturnedAnchor() {return doaReturned;}@Overridepublic HasClickHandlers getSalesReturnPendingAnchor() {return salesReturnPending;}@Overridepublic HasClickHandlers getSalesReturnedAnchor() {return salesReturned;}@Overridepublic HasClickHandlers getReshippedAnchor() {return reshipped;}@Overridepublic HasClickHandlers getReturnOrdersAnchor(){return returnOrders;}@Overridepublic HasClickHandlers getPurchaseTreeHeader() {return purchaseTreeHeader;}@Overridepublic HasClickHandlers getNewPurchaseOrdersAnchor() {return newPurchaseOrders;}@Overridepublic HasClickHandlers getOpenPurchaseOrdersAnchor() {return openPurchaseOrders;}@Overridepublic HasClickHandlers getClosedPurchaseOrdersAnchor() {return closedPurchaseOrders;}@Overridepublic HasClickHandlers getVerificationPendingOrdersAnchor() {return verificationPendingOrders;}@Overridepublic HasClickHandlers getSearchOrdersAnchor() {return searchOrders;}@Overridepublic HasClickHandlers getReportUploadAnchor() {return reportUpload;}}