Example usage for com.google.gwt.dom.client AnchorElement setTarget

List of usage examples for com.google.gwt.dom.client AnchorElement setTarget

Introduction

In this page you can find the example usage for com.google.gwt.dom.client AnchorElement setTarget.

Prototype

public void setTarget(String target) 

Source Link

Document

Frame to render the resource in.

Usage

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));
}