use of elemental.dom.Element in project che by eclipse.
the class SimpleList method attachEventHandlers.
private void attachEventHandlers() {
getView().addEventListener(Event.CLICK, new EventListener() {
@Override
public void handleEvent(Event evt) {
Element listItemElem = CssUtils.getAncestorOrSelfWithClassName((Element) evt.getTarget(), css.listItem());
if (listItemElem == null) {
Log.warn(SimpleList.class, "Unable to find an ancestor that was a list item for a click on: ", evt.getTarget());
return;
}
ListItem<M> listItem = ListItem.cast(listItemElem);
eventDelegate.onListItemClicked(listItem, listItem.getData());
}
}, false);
getView().addEventListener(Event.DBLCLICK, new EventListener() {
@Override
public void handleEvent(Event evt) {
Element listItemElem = CssUtils.getAncestorOrSelfWithClassName((Element) evt.getTarget(), css.listItem());
if (listItemElem == null) {
Log.warn(SimpleList.class, "Unable to find an ancestor that was a list item for a click on: ", evt.getTarget());
return;
}
ListItem<M> listItem = ListItem.cast(listItemElem);
eventDelegate.onListItemDoubleClicked(listItem, listItem.getData());
}
}, false);
}
use of elemental.dom.Element in project che by eclipse.
the class DomUtils method calculateElementOffset.
/**
* Returns an offset to the top-left of a child element relative to the
* top-left of an ancestor element, optionally including any scroll top or
* left in elements from the ancestor (inclusive) to the child (exclusive).
*
* @param ancestorElement
* optional, if null the offset from the top-left of
* the page will be given. Should not be the childElement.
*/
@Deprecated
public static Offset calculateElementOffset(Element childElement, Element ancestorElement, boolean includeScroll) {
Offset offset = new Offset();
Element element = childElement;
for (; element.getOffsetParent() != null && element != ancestorElement; element = element.getOffsetParent()) {
offset.top += element.getOffsetTop();
offset.left += element.getOffsetLeft();
if (!includeScroll) {
offset.top -= element.getOffsetParent().getScrollTop();
offset.left -= element.getOffsetParent().getScrollLeft();
}
}
return offset;
}
use of elemental.dom.Element in project che by eclipse.
the class Elements method injectJs.
public static void injectJs(String js) {
Element scriptElem = createElement("script");
scriptElem.setAttribute("language", "javascript");
scriptElem.setTextContent(js);
getBody().appendChild(scriptElem);
}
use of elemental.dom.Element in project che by eclipse.
the class Elements method replaceContents.
/**
* Replaces the contents of an Element with the specified ID, with a single
* element.
*
* @param id
* The ID of the Element that we will erase the contents of.
* @param with
* The element that we will attach to the element that we just
* erased the contents of.
*/
public static void replaceContents(String id, Element with) {
Element parent = getElementById(id);
replaceContents(parent, with);
}
use of elemental.dom.Element in project che by eclipse.
the class Tree method renderTree.
/**
* Renders the tree starting with the root node up until the specified depth.
* <p/>
* This will NOT restore any expansions. If you want to re-render the tree
* obeying previous expansions then,
*
* @param depth
* integer indicating how deep we should auto-expand. -1 means
* render the entire tree.
*/
public void renderTree(int depth) {
// Clear the current view.
Element rootElement = getView().getElement();
rootElement.setInnerHTML("");
rootElement.setAttribute("___depth", "0");
// If the root is not set, we have nothing to render.
D root = getModel().root;
if (root == null) {
return;
}
// Root is special in that we don't render a directory for it. Only its
// children.
List<D> children = getModel().dataAdapter.getChildren(root);
for (int i = 0, n = children.size(); i < n; i++) {
renderRecursive(rootElement, children.get(i), depth);
}
}
Aggregations