use of elemental.html.AnchorElement in project che by eclipse.
the class ClassFileSourcesDownloader method onEditorOpened.
@Override
public void onEditorOpened(EditorOpenedEvent event) {
EditorPartPresenter editor = event.getEditor();
VirtualFile file = editor.getEditorInput().getFile();
if (file instanceof JarFileNode) {
final JarFileNode jarFileNode = (JarFileNode) file;
if (jarFileNode.isContentGenerated()) {
if (editor instanceof TextEditor) {
final TextEditor presenter = (TextEditor) editor;
TextEditorPartView view = presenter.getView();
final DivElement divElement = Elements.createDivElement();
divElement.setClassName(resources.css().editorInfoPanel());
Text textNode = Elements.createTextNode(constant.mavenClassDecompiled());
DivElement decompiledElement = Elements.createDivElement();
decompiledElement.appendChild(textNode);
decompiledElement.setClassName(resources.css().editorMessage());
divElement.appendChild(decompiledElement);
AnchorElement anchorElement = Elements.createAnchorElement();
anchorElement.appendChild(Elements.createTextNode(constant.mavenDownloadSources()));
anchorElement.setHref("#");
anchorElement.setClassName(resources.css().downloadLink());
divElement.appendChild(anchorElement);
final HasNotificationPanel.NotificationRemover remover = view.addNotification((Element) divElement);
anchorElement.setOnclick(new EventListener() {
@Override
public void handleEvent(Event evt) {
downloadSources(jarFileNode, remover);
}
});
}
}
}
}
use of elemental.html.AnchorElement in project che by eclipse.
the class Elements method markupParagraph.
/** Creates a paragraph tag and fills it with spans and anchor tags internally. */
private static void markupParagraph(Element parent, String text, String linkCssClass) {
if (StringUtils.isNullOrWhitespace(text)) {
// don't add any dom here
return;
}
ParagraphElement myParagraph = createParagraphElement();
int index = 0;
REGEXP_MARKUP.setLastIndex(0);
SpanElement current = createSpanElement();
for (MatchResult match = REGEXP_MARKUP.exec(text); match != null; match = REGEXP_MARKUP.exec(text)) {
current.setTextContent(text.substring(index, match.getIndex()));
myParagraph.appendChild(current);
current = createSpanElement();
/*
* If our match is a \n we need to create a <br/> element to force a line break, otherwise we
* matched an http/www link so let's make an anchor tag out of it.
*/
if (match.getGroup(0).equals("\n")) {
myParagraph.appendChild(createBRElement());
} else {
AnchorElement anchor = createAnchorElement(linkCssClass);
anchor.setHref(match.getGroup(0));
anchor.setTarget("_blank");
anchor.setTextContent(match.getGroup(0));
myParagraph.appendChild(anchor);
}
index = match.getIndex() + match.getGroup(0).length();
}
current.setTextContent(text.substring(index));
myParagraph.appendChild(current);
parent.appendChild(myParagraph);
}
use of elemental.html.AnchorElement in project che by eclipse.
the class Elements method createAnchorElement.
public static AnchorElement createAnchorElement(String... classNames) {
AnchorElement elem = getDocument().createAnchorElement();
addClassesToElement(elem, classNames);
return elem;
}
Aggregations