@Override public EXProductItemNG setProduct(Product p) { super.setProduct(p); if (getAncestorOfType(EXPanel.class) != null) getAncestorOfType(EXPanel.class).setTitle(p.getTitle()); setAttribute("path", p.getAbsolutePath()); List<Link> images = p.getImages().toList(); for (int i = 0; i < 4; i++) { if (i == 0) { getChild("tn" + i).setStyleClass("uibutton uibutton_active"); } else getChild("tn" + i).setStyleClass("uibutton"); if (images.size() > i) getChild("tn" + i) .setAttribute("src", images.get(i).getUrl()) .setStyle("cursor", "pointer"); else getChild("tn" + i) .setAttribute("src", "emimg/detail/img1.png") .setStyle("cursor", "pointer"); } getDescendentOfType(EXTabPanel.class).setModel(this); return this; }
@Override public Container getTabContentAt(TabPanel pane, int index) { if (index == 3) { Product p = (Product) SpringUtil.getRepositoryService().getFile(getAttribute("path"), Util.getRemoteUser()); Container c = new EXContainer("", "div"); List<Product> sameProvider = MallUtil.getMerchant(p.getProvidedBy()) .getManager() .getMyProducts(Product.STATE_PUBLISHED); for (int i = 0; i < sameProvider.size(); i++) { Product pp = sameProvider.get(i); if (pp.getAbsolutePath().equalsIgnoreCase(getAttribute("path"))) continue; String url = pp.getImageUrl(""); if (!StringUtil.isNotEmpty(url)) { url = "emimg/detail/img1.png"; } Container cc = new EXContainer("sp" + i, "img") .setAttribute("src", "emimg/detail/img1.png") .setStyle("cursor", "pointer"); c.addChild(cc.setAttribute("src", url).setAttribute("path", pp.getAbsolutePath())); } return c.setStyle("min-height", "250px"); } else if (index == 4) { Product p = (Product) SpringUtil.getRepositoryService().getFile(getAttribute("path"), Util.getRemoteUser()); Container c = new EXContainer("", "div"); List<Product> sameProvider = MallUtil.getMerchant(p.getProvidedBy()) .getManager() .getMyProducts(Product.STATE_PUBLISHED); for (int i = 0; i < sameProvider.size(); i++) { Product pp = sameProvider.get(i); if (pp.getAbsolutePath().equalsIgnoreCase(getAttribute("path"))) continue; String url = pp.getImageUrl(""); if (!StringUtil.isNotEmpty(url)) { url = "emimg/detail/img1.png"; } Container cc = new EXContainer("hap" + i, "img") .setAttribute("src", "emimg/detail/img1.png") .setStyle("cursor", "pointer"); c.addChild(cc.setAttribute("src", url).setAttribute("path", pp.getAbsolutePath())); } return c.setStyle("min-height", "250px"); } else if (index == 0) { if (StringUtil.isNotEmpty(getAttribute("path"))) { Product p = (Product) SpringUtil.getRepositoryService() .getFile(getAttribute("path"), Util.getRemoteUser()); return new EXContainer("summary", "div") .setText(p.getSummary()) .setStyle("min-height", "250px"); } else { return new EXContainer("sd", "div"); } } else if (index == 2) { return new EXContainer("", "div") .addChild(new EXContainer("sas", "h5").setText("Coming soon")) .setStyle("min-height", "250px"); } else if (index == 1) { Product p = (Product) SpringUtil.getRepositoryService().getFile(getAttribute("path"), Util.getRemoteUser()); List<KeyValuePair> vnps = p.getCategories(); EXFieldSet fs = new EXFieldSet("categories", "Specifications", false); for (KeyValuePair vk : vnps) fs.addField(vk.getKey(), new EXLabel("", vk.getValue())); return new EXContainer("", "div").addChild(fs).setStyle("min-height", "250px"); // return new EXContainer("sas", "h3").setText("Coming soon"); } else return null; }
@Override public boolean ServerAction(Container container, Map<String, String> request) throws UIException { if (container.getName().equals("title") || container.getName().equals("image") || container.getName().equals("img")) { return false; } if (container.getName().startsWith("sp")) { String path = container.getAttribute("path"); if (StringUtil.isNotEmpty(path) && !path.equalsIgnoreCase("null")) { Product p = (Product) SpringUtil.getRepositoryService() .getFile(container.getAttribute("path"), Util.getRemoteUser()); setProduct(p); } return true; } if (container.getName().startsWith("star")) { int index = Integer.parseInt(container.getName().replace("star", "")) + 1; Product p = (Product) SpringUtil.getRepositoryService().getFile(getAttribute("path"), Util.getRemoteUser()); for (int i = 0; i < index; i++) { getChild("star" + i).setStyle("background", "green"); } String u = Util.getRemoteUser(); if (!StringUtil.isNotEmpty(u)) { u = "anonymous"; } Directory votes = (Directory) p.getFile("votes"); if (votes == null) { votes = p.createFile("votes", Directory.class); } String cur = votes.getProperty(u); if (cur == null) { cur = "0"; } try { Integer.parseInt(cur); } catch (Exception e) { cur = "0"; } votes.setProperty(u, (Integer.parseInt(cur) + index) + ""); p.save(); return true; } if (container.getName().startsWith("tn")) { for (Container c : getChildren()) { if (c.getName().startsWith("tn")) { c.setStyleClass("uibutton"); } } container.setStyleClass("uibutton uibutton_active"); getChild("image").setAttribute("src", container.getAttribute("src")); return true; } if (container.getName().equals("merchant")) { Merchant m = MallUtil.getMerchant(container.getAttribute("merchant")); // EXMerchantInfo info = new EXMerchantInfo(""); EXMerchantCardV2 info = new EXMerchantCardV2("sd", m); EXPanel panel = new EXPanel("mm", m.getCompanyName()); panel.setBody(info); // info.setMerchant(m); container .getAncestorOfType(PopupContainer.class) .addPopup(panel.setStyle("z-index", "3000").setStyle("width", "704px")); return true; } if (container.getName().equals("thumbUp")) { Product p = (Product) SpringUtil.getRepositoryService().getFile(getAttribute("path"), Util.getRemoteUser()); p.thumbUp(); p.save(); return true; } if (container.getName().equals("thumbDown")) { Product p = (Product) SpringUtil.getRepositoryService().getFile(getAttribute("path"), Util.getRemoteUser()); p.thumbDown(); p.save(); return true; } EXInput in = getDescendentOfType(EXInput.class); int value = Integer.parseInt(in.getValue().toString()); if (container.getName().equals("addQty")) { in.setValue((value + 1) + ""); } else if (container.getName().equals("delQty")) { if (value > 0) { in.setValue((value - 1) + ""); } } else if (container.getName().equals("addToCart")) { if (container.getAncestorOfType(EXMall.class) != null) { Product p = (Product) SpringUtil.getRepositoryService() .getFile(getAttribute("path"), Util.getRemoteUser()); EXMiniCarts carts = getRoot().getDescendentOfType(EXMiniCarts.class); if (carts.getChildren().size() == 0) { carts.addChild( new EXContainer("totalll", "h4") .addClass("ui-widget-header") .setStyle("margin", "0") .setStyle("width", "100%") .setStyle("text-align", "center")); } EXMiniCart cart = getRoot().getDescendentOfType(EXMiniCarts.class).getMiniCart(p.getProvidedBy()); if (!cart.getTemplateLocation().endsWith("EXMinicartNG.xhtml")) { cart.setTemplateLocation("templates/ng/EXMinicartNG.xhtml"); cart.getParent().setStyle("float", "right").setStyle("margin-top", "12px"); cart.addChild(new EXContainer("images", "div").setStyle("height", "20px")); cart.removeClass("cart-widget") .setStyle("margin", "0") .setStyle("padding", "0") .setStyle("margin-top", "0"); cart.addChild( new EXContainer("checkout", "a") .addEvent(new CartDetailEvent(), Event.CLICK) .setAttribute("href", "#") .setText("<img src=\"blueprint/images/checkout.png\"></img>")); } CartItem item = cart.getItem(p.getAbsolutePath()); if (item == null) { cart.getChild("images") .addChild( new EXContainer("img", "img") .setStyle("cursor", "pointer") .setAttribute("path", p.getAbsolutePath()) .addEvent(this, CLICK) .setStyle("margin", "4px 4px 0px 4px") .setStyle("width", "30px") .setStyle("height", "30px") .setAttribute("src", p.getImageUrl(""))); } CartItem citem = cart.addToCart(p, value, container); } else { Product p = (Product) SpringUtil.getRepositoryService() .getFile(getAttribute("path"), Util.getRemoteUser()); getRoot().getDescendentOfType(EXMiniCart.class).addToCart(p, 1, container); } } else { Product p = (Product) SpringUtil.getRepositoryService().getFile(getAttribute("path"), Util.getRemoteUser()); try { MallUtil.getCurrentUser().addToFavorite(p.getAbsolutePath()); } catch (Exception e) { e.printStackTrace(); } } return true; }