use of elemental.dom.Element in project che by eclipse.
the class Tree method getNodeFromElement.
/**
* Returns the tree node whose element is or contains the given element, or
* null if the given element cannot be matched to a tree node.
*/
public TreeNodeElement<D> getNodeFromElement(Element element) {
Css css = getModel().resources.treeCss();
Element treeNodeBody = CssUtils.getAncestorOrSelfWithClassName(element, css.treeNodeBody());
return treeNodeBody != null ? getView().getTreeNodeFromTreeNodeBody(treeNodeBody, css) : null;
}
use of elemental.dom.Element in project che by eclipse.
the class Tree method asWidget.
/** {@inheritDoc} */
@Override
public Widget asWidget() {
if (widget == null) {
widget = new HTML();
Element element = getView().getElement();
widget.getElement().appendChild((Node) element);
widget.getElement().getStyle().setOverflow(Style.Overflow.AUTO);
}
return widget;
}
use of elemental.dom.Element in project che by eclipse.
the class TreeNodeElement method updateLeafOffset.
public final void updateLeafOffset(Element parent) {
if (!parent.hasAttribute("___depth")) {
return;
}
try {
int depth = Integer.parseInt(parent.getAttribute("___depth"));
Element expandElement = (Element) getNodeBody().getChildren().item(0);
expandElement.getStyle().setMarginLeft("" + (depth * 8) + "px");
if (!hasChildNodes()) {
return;
}
final JsUListElement childrenContainer = getChildrenContainer();
if (childrenContainer != null) {
getChildrenContainer().setAttribute("___depth", "" + (depth + 1));
}
} catch (Exception e) {
e.printStackTrace();
}
}
use of elemental.dom.Element in project che by eclipse.
the class TreeNodeElement method ensureChildrenContainer.
/**
* If this node does not have a children container, but has children data,
* then we coerce a children container into existence.
*/
final void ensureChildrenContainer(NodeDataAdapter<D> dataAdapter, Tree.Css css) {
if (!hasChildrenContainer()) {
D data = getData();
if (dataAdapter.hasChildren(data)) {
Element childrenContainer = Elements.createElement("ul", css.childrenContainer());
this.appendChild(childrenContainer);
childrenContainer.getStyle().setDisplay(CSSStyleDeclaration.Display.NONE);
((Element) getExpandControl().getChildNodes().item(0)).getStyle().setDisplay("block");
((Element) getExpandControl().getChildNodes().item(1)).getStyle().setDisplay("none");
} else {
getExpandControl().setClassName(css.expandControl() + " " + css.leafIcon());
}
}
}
use of elemental.dom.Element in project che by eclipse.
the class Elements method createElement.
public static Element createElement(String tagName, String... classNames) {
Element elem = getDocument().createElement(tagName);
addClassesToElement(elem, classNames);
return elem;
}
Aggregations