Rev 20026 | 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.OrderAlert;import in.shop2020.hotspot.dashbaord.shared.actions.OrderCategory;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 searchOrders = new Anchor("Search");private final Anchor searchOrdersByMasterOrderId = new Anchor("Search Orders- MasterOrderId");private final Anchor searchFlipkartOrders = new Anchor("Search Flipkart Order");private final Anchor searchSnapdealOrders = new Anchor("Search Snapdeal Order");private final Anchor searchEbayOrders = new Anchor("Search Ebay Order");private final Anchor searchHS18Orders = new Anchor("Search HS18 Order");private final Anchor returnOrders = new Anchor("Returns");private final Anchor lostInTransit = new Anchor("Lost In Transit");private final Anchor doaRequestConfirmed = new Anchor("DOA Authorized");private final Anchor doaAwaited = new Anchor("DOA Return Awaited");private final Anchor doaReturned = new Anchor("DOA Received");private final Anchor doaLostInTransit = new Anchor("DOA Lost In Transit");private final Anchor doaReceivedDamaged = new Anchor("DOA Damaged Received");private final Anchor retRequestConfirmed = new Anchor("RETURN Authorized");private final Anchor retAwaited = new Anchor("RETURN Return Awaited");private final Anchor retReturned = new Anchor("RETURN Received");private final Anchor retLostInTransit = new Anchor("RETURN Lost In Transit");private final Anchor retReceivedDamaged = new Anchor("RETURN Damaged Received");private final Anchor rtoPending = new Anchor("RTO Awaited");private final Anchor rtoReturned = new Anchor("RTO Received");private final Anchor rtoReturnedDamaged = new Anchor("RTO Received Damaged");private final Anchor reshipped = new Anchor("Reshipped");private final Anchor delaySheetUpload = new Anchor("Delay Sheet Upload");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 Label doaTreeHeader = new Label("DOAs");private Label retTreeHeader = new Label("RETURNS");private Label rtoTreeHeader = new Label("RTOs");private Tree doaTree = new Tree();private Tree returnTree = new Tree();private Tree rtoTree = new Tree();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 final Anchor readyOrders = new Anchor("Ready");private final Anchor reviewOrders = new Anchor("Review");private final Anchor readyLaterOrders = new Anchor("Ready Later");private final Anchor reviewLaterOrders = new Anchor("Review Later");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 final Anchor eodStockReportUpload = new Anchor("Upload EOD Stock Report for comparison");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);inventoryTree.addItem(eodStockReportUpload);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);lowInventoryItem.addItem(readyOrders);lowInventoryItem.addItem(reviewOrders);lowInventoryItem.addItem(readyLaterOrders);lowInventoryItem.addItem(reviewLaterOrders);root.addItem(allPendingTree);root.addItem(acceptedOrders);root.addItem(billedOrders);root.addItem(shippedOrders);root.addItem(rejectedOrders);root.addItem(cancelConfirmed);root.addItem(searchOrders);root.addItem(searchOrdersByMasterOrderId);//root.addItem(searchFlipkartOrders);//root.addItem(searchSnapdealOrders);//root.addItem(searchEbayOrders);root.addItem(searchHS18Orders);root.addItem(lostInTransit);TreeItem doaItem = new TreeItem(doaTreeHeader);doaTree.addItem(doaItem);doaTree.setSelectedItem(doaItem);doaTree.ensureSelectedItemVisible();doaItem.addItem(doaRequestConfirmed);doaItem.addItem(doaAwaited);doaItem.addItem(doaReturned);doaItem.addItem(doaLostInTransit);doaItem.addItem(doaReceivedDamaged);root.addItem(doaTree);TreeItem returnItem = new TreeItem(retTreeHeader);returnTree.addItem(returnItem);returnTree.setSelectedItem(returnItem);returnTree.ensureSelectedItemVisible();returnItem.addItem(retRequestConfirmed);returnItem.addItem(retAwaited);returnItem.addItem(retReturned);returnItem.addItem(retReceivedDamaged);returnItem.addItem(retLostInTransit);root.addItem(returnTree);TreeItem rtoItem = new TreeItem(rtoTreeHeader);rtoTree.addItem(rtoItem);rtoTree.setSelectedItem(rtoItem);rtoTree.ensureSelectedItemVisible();rtoItem.addItem(rtoPending);rtoItem.addItem(rtoReturned);rtoItem.addItem(rtoReturnedDamaged);//returnTree.addItem(retReceivedDamaged);//returnTree.addItem(retLostInTransit);root.addItem(rtoTree);root.addItem(returnOrders);root.addItem(deliveredOrders);root.addItem(reshipped);root.addItem(delaySheetUpload);verificationPendingOrders.setVisible(false);deliveredOrders.setVisible(false);lostInTransit.setVisible(false);doaReturned.setVisible(false);doaRequestConfirmed.setVisible(false);doaLostInTransit.setVisible(false);doaReceivedDamaged.setVisible(false);retReturned.setVisible(false);retRequestConfirmed.setVisible(false);retLostInTransit.setVisible(false);retReceivedDamaged.setVisible(false);rtoReturned.setVisible(false);rtoReturnedDamaged.setVisible(false);reshipped.setVisible(false);delaySheetUpload.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);}@Overridepublic void updateOrderCount(OrderType type, OrderCategory category, 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 RTO_AWAITED:rtoPending.setText("RTO Awaited (" + count +")");break;case RTO_RETURNED:rtoReturned.setText("RTO Received (" + count +")");break;case RTO_RECEIVED_DAMAGED:rtoReturnedDamaged.setText("RTO Received Damaged (" + count +")");break;case DOA_AWAITED:doaAwaited.setText("DOA Awaited (" + count +")");break;case DOA_REQUEST_AUTHORIZED:doaRequestConfirmed.setText("DOA Authorized (" + count +")");break;case DOA_RECEIVED_PRESTINE:doaReturned.setText("DOA Received (" + count +")");break;case LOST_IN_TRANSIT:lostInTransit.setText("Lost In Transit (" + count +")");break;case DOA_LOST_IN_TRANSIT:doaLostInTransit.setText("DOA Lost In Transit (" + count +")");break;case DOA_RECEIVED_DAMAGED:doaReceivedDamaged.setText("DOA Received Damaged (" + count +")");break;case RET_AWAITED:retAwaited.setText("RETURN Awaited (" + count +")");break;case RET_REQUEST_AUTHORIZED:retRequestConfirmed.setText("RETURN Authorized (" + count +")");break;case RET_RECEIVED_PRESTINE:retReturned.setText("RETURN Received (" + count +")");break;case RET_LOST_IN_TRANSIT:retLostInTransit.setText("RETURN Lost In Transit (" + count +")");break;case RET_RECEIVED_DAMAGED:retReceivedDamaged.setText("RETURN Received Damaged (" + count +")");break;case RESHIPPED:reshipped.setText("Reshipped (" + count +")");break;case REFUNDED:rejectedOrders.setText(" Rejected (" + count +")");break;default:break;}switch(category){case READY:readyOrders.setText("Ready ("+count+")");break;case REVIEW:reviewOrders.setText("Review ("+count+")");break;case READY_LATER:readyLaterOrders.setText("Ready Later ("+count+")");break;case REVIEW_LATER:reviewLaterOrders.setText("Review Later ("+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 getDeliveredOrdersAnchor(){return deliveredOrders;}public void enableAdminControls(){verificationPendingOrders.setVisible(true);deliveredOrders.setVisible(true);lostInTransit.setVisible(true);reshipped.setVisible(true);doaReturned.setVisible(true);doaRequestConfirmed.setVisible(true);doaLostInTransit.setVisible(true);doaReceivedDamaged.setVisible(true);retReturned.setVisible(true);retRequestConfirmed.setVisible(true);retLostInTransit.setVisible(true);retReceivedDamaged.setVisible(true);rtoReturned.setVisible(true);rtoReturnedDamaged.setVisible(true);delaySheetUpload.setVisible(true);}@Overridepublic HasClickHandlers getDoaAwaitedAnchor() {return doaAwaited;}@Overridepublic HasClickHandlers getDoaRequestConfirmedAnchor() {return doaRequestConfirmed;}@Overridepublic HasClickHandlers getLostInTransitAnchor() {return lostInTransit;}@Overridepublic HasClickHandlers getDoaLostInTransitAnchor() {return doaLostInTransit;}@Overridepublic HasClickHandlers getDoaReceivedDamagedAnchor() {return doaReceivedDamaged;}@Overridepublic HasClickHandlers getDoaReturnedAnchor() {return doaReturned;}@Overridepublic HasClickHandlers getRetAwaitedAnchor() {return retAwaited;}@Overridepublic HasClickHandlers getRetRequestConfirmedAnchor() {return retRequestConfirmed;}@Overridepublic HasClickHandlers getRetLostInTransitAnchor() {return retLostInTransit;}@Overridepublic HasClickHandlers getRetReceivedDamagedAnchor() {return retReceivedDamaged;}@Overridepublic HasClickHandlers getRetReturnedAnchor() {return retReturned;}@Overridepublic HasClickHandlers getSalesReturnPendingAnchor() {return rtoPending;}@Overridepublic HasClickHandlers getSalesReturnedAnchor() {return rtoReturned;}@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 getSearchOrdersByMasterOrderIdAnchor() {return searchOrdersByMasterOrderId;}@Overridepublic HasClickHandlers getSearchFlipkartOrdersAnchor() {return searchFlipkartOrders;}@Overridepublic HasClickHandlers getSearchSnapdealOrdersAnchor() {return searchSnapdealOrders;}@Overridepublic HasClickHandlers getSearchEbayOrdersAnchor() {return searchEbayOrders;}@Overridepublic HasClickHandlers getSearchHS18OrdersAnchor() {return searchHS18Orders;}@Overridepublic HasClickHandlers getReportUploadAnchor() {return reportUpload;}@Overridepublic HasClickHandlers getSalesReturnedDamagedAnchor() {return rtoReturnedDamaged;}@Overridepublic HasClickHandlers getEODStockReportUploadAnchor() {return eodStockReportUpload;}@Overridepublic HasClickHandlers getReadyOrdersAnchor() {return readyOrders;}@Overridepublic HasClickHandlers getReviewOrdersAnchor() {return reviewOrders;}@Overridepublic HasClickHandlers getReadyLaterOrdersAnchor() {return readyLaterOrders;}@Overridepublic HasClickHandlers getReviewLaterOrdersAnchor() {return reviewLaterOrders;}@Overridepublic HasClickHandlers getDelaySheetUploadAnchor() {return delaySheetUpload;}}