List of usage examples for com.google.gwt.dom.client AnchorElement setTarget
public void setTarget(String target)
From source file:com.google.speedtracer.client.visualizations.view.RequestDetails.java
License:Apache License
private static AnchorElement createNewTabLink(Document document, String className, String href, String text) { final AnchorElement link = document.createAnchorElement(); link.setClassName(className);/*from w w w . j a v a 2 s . c o m*/ link.setHref(href); link.setInnerText(text); link.setTarget("_blank"); return link; }
From source file:org.eurekastreams.web.client.ui.common.stream.renderers.content.ParsedContentRenderer.java
License:Apache License
/** * Renders a single segment into the supplied container element (appending to existing content). * * @param segment//from w w w.j a va2s.c o m * The segment. * @param parent * The container element. * @param streamSearchLinkBuilder * For building links for hashtags. */ public void renderSegment(final ContentSegment segment, final ComplexPanel parent, final StreamSearchLinkBuilder streamSearchLinkBuilder) { // Notes: // * The element and widget setters automatically HTML encode content, hence it is not explicitly done. // * Using plain elements instead of widgets to keep markup cleaner, except for internal links. Although the // internal links will go to the right place when implemented as plain anchors, IE will lose all its history. // (So really this is working around another IE bug.) final Element parentElement = parent.getElement(); final Document doc = parentElement.getOwnerDocument(); if (segment.isText()) { parentElement.appendChild(doc.createTextNode(segment.getContent())); } else if (segment.isLink()) { String url; if (segment.getContent().charAt(0) == '#' && (segment.getUrl() == null || segment.getUrl().isEmpty())) { // hashtag - determine URL to link to url = streamSearchLinkBuilder.buildHashtagSearchLink(segment.getContent(), null); } else { // "normal" link - target is known. url = segment.getUrl(); } // May be internal or external; open in new window unless internal. if (url.charAt(0) == '#') { parent.add(new InlineHyperlink(segment.getContent(), url.substring(1))); } else { AnchorElement anchor = doc.createAnchorElement(); anchor.setHref(url); anchor.appendChild(doc.createTextNode(segment.getContent())); anchor.setTarget("_blank"); parentElement.appendChild(anchor); } } else if (segment.isTag() && "br/".equals(segment.getContent())) { parentElement.appendChild(doc.createBRElement()); } }
From source file:org.rstudio.studio.client.workbench.views.help.HelpPane.java
License:Open Source License
private void helpNavigated(Document doc) { NodeList<Element> elements = doc.getElementsByTagName("a"); for (int i = 0; i < elements.getLength(); i++) { ElementEx a = (ElementEx) elements.getItem(i); String href = a.getAttribute("href", 2); if (href == null) continue; if (href.contains(":") || href.endsWith(".pdf")) { // external links AnchorElement aElement = a.cast(); aElement.setTarget("_blank"); } else {//ww w . j a va 2 s . c o m // Internal links need to be handled in JavaScript so that // they can participate in virtual session history. This // won't have any effect for right-click > Show in New Window // but that's a good thing. a.setAttribute("onclick", "window.parent.helpNavigate(this.href, " + (BrowseCap.isLinuxDesktop() || BrowseCap.isWindowsDesktop() ? "true" : "false") + "); return false"); } } String effectiveTitle = getDocTitle(doc); title_.setText(effectiveTitle); this.fireEvent(new HelpNavigateEvent(doc.getURL(), effectiveTitle)); }