// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. // WARNING: Do not edit - generated code. /** * All your attribute manipulation needs in one place. * Extends the regular Map interface by automatically coercing non-string * values to strings. */ abstract class AttributeMap implements Map { void operator []=(String key, value); } /** * All your element measurement needs in one place */ abstract class ElementRect { // Relative to offsetParent ClientRect get client; ClientRect get offset; ClientRect get scroll; // In global coords ClientRect get bounding; // In global coords List get clientRects; } abstract class NodeSelector { Element query(String selectors); List queryAll(String selectors); } abstract class CSSClassSet implements Set { /** * Adds the class [token] to the element if it is not on it, removes it if it * is. */ bool toggle(String token); /** * Returns [:true:] classes cannot be added or removed from this * [:CSSClassSet:]. */ bool get frozen; } /// @domName Element abstract class Element implements Node, NodeSelector { factory Element.html(String html) => _ElementFactoryProvider.createElement_html(html); factory Element.tag(String tag) => _ElementFactoryProvider.createElement_tag(tag); AttributeMap get attributes; void set attributes(Map value); /** * @domName childElementCount, firstElementChild, lastElementChild, * children, Node.nodes.add */ List get elements; void set elements(Collection value); /** @domName className, classList */ CSSClassSet get classes; void set classes(Collection value); AttributeMap get dataAttributes; void set dataAttributes(Map value); /** * Adds the specified text as a text node after the last child of this. */ void addText(String text); /** * Parses the specified text as HTML and adds the resulting node after the * last child of this. */ void addHTML(String html); /** * @domName getClientRects, getBoundingClientRect, clientHeight, clientWidth, * clientTop, clientLeft, offsetHeight, offsetWidth, offsetTop, offsetLeft, * scrollHeight, scrollWidth, scrollTop, scrollLeft */ Future get rect; /** @domName Window.getComputedStyle */ Future get computedStyle; /** @domName Window.getComputedStyle */ Future getComputedStyle(String pseudoElement); Element clone(bool deep); Element get parent; /** * Experimental support for [web components][wc]. This field stores a * reference to the component implementation. It was inspired by Mozilla's * [x-tags][] project. Please note: in the future it may be possible to * `extend Element` from your class, in which case this field will be * deprecated and will simply return this [Element] object. * * [wc]: http://dvcs.w3.org/hg/webcomponents/raw-file/tip/explainer/index.html * [x-tags]: http://x-tags.org/ */ var xtag; /** * @domName EventTarget.addEventListener, EventTarget.removeEventListener, EventTarget.dispatchEvent */ ElementEvents get on; /** @domName HTMLElement.children */ abstract HTMLCollection get $dom_children; /** @domName HTMLElement.contentEditable */ String contentEditable; /** @domName HTMLElement.dir */ String dir; /** @domName HTMLElement.draggable */ bool draggable; /** @domName HTMLElement.hidden */ bool hidden; /** @domName HTMLElement.id */ String id; /** @domName HTMLElement.innerHTML */ String innerHTML; /** @domName HTMLElement.isContentEditable */ abstract bool get isContentEditable; /** @domName HTMLElement.lang */ String lang; /** @domName HTMLElement.outerHTML */ abstract String get outerHTML; /** @domName HTMLElement.spellcheck */ bool spellcheck; /** @domName HTMLElement.tabIndex */ int tabIndex; /** @domName HTMLElement.title */ String title; /** @domName HTMLElement.translate */ bool translate; /** @domName HTMLElement.webkitdropzone */ String webkitdropzone; /** @domName HTMLElement.click */ void click(); /** @domName HTMLElement.insertAdjacentElement */ Element insertAdjacentElement(String where, Element element); /** @domName HTMLElement.insertAdjacentHTML */ void insertAdjacentHTML(String where, String html); /** @domName HTMLElement.insertAdjacentText */ void insertAdjacentText(String where, String text); static const int ALLOW_KEYBOARD_INPUT = 1; /** @domName Element.childElementCount */ abstract int get $dom_childElementCount; /** @domName Element.className */ String $dom_className; /** @domName Element.clientHeight */ abstract int get $dom_clientHeight; /** @domName Element.clientLeft */ abstract int get $dom_clientLeft; /** @domName Element.clientTop */ abstract int get $dom_clientTop; /** @domName Element.clientWidth */ abstract int get $dom_clientWidth; /** @domName Element.dataset */ abstract Map get dataset; /** @domName Element.firstElementChild */ abstract Element get $dom_firstElementChild; /** @domName Element.lastElementChild */ abstract Element get $dom_lastElementChild; /** @domName Element.nextElementSibling */ abstract Element get nextElementSibling; /** @domName Element.offsetHeight */ abstract int get $dom_offsetHeight; /** @domName Element.offsetLeft */ abstract int get $dom_offsetLeft; /** @domName Element.offsetParent */ abstract Element get offsetParent; /** @domName Element.offsetTop */ abstract int get $dom_offsetTop; /** @domName Element.offsetWidth */ abstract int get $dom_offsetWidth; /** @domName Element.previousElementSibling */ abstract Element get previousElementSibling; /** @domName Element.scrollHeight */ abstract int get $dom_scrollHeight; /** @domName Element.scrollLeft */ int $dom_scrollLeft; /** @domName Element.scrollTop */ int $dom_scrollTop; /** @domName Element.scrollWidth */ abstract int get $dom_scrollWidth; /** @domName Element.style */ abstract CSSStyleDeclaration get style; /** @domName Element.tagName */ abstract String get tagName; /** @domName Element.blur */ void blur(); /** @domName Element.focus */ void focus(); /** @domName Element.getAttribute */ String $dom_getAttribute(String name); /** @domName Element.getBoundingClientRect */ ClientRect $dom_getBoundingClientRect(); /** @domName Element.getClientRects */ List $dom_getClientRects(); /** @domName Element.getElementsByClassName */ List $dom_getElementsByClassName(String name); /** @domName Element.getElementsByTagName */ List $dom_getElementsByTagName(String name); /** @domName Element.hasAttribute */ bool $dom_hasAttribute(String name); /** @domName Element.querySelector */ Element $dom_querySelector(String selectors); /** @domName Element.querySelectorAll */ List $dom_querySelectorAll(String selectors); /** @domName Element.remove */ void remove(); /** @domName Element.removeAttribute */ void $dom_removeAttribute(String name); /** @domName Element.scrollByLines */ void scrollByLines(int lines); /** @domName Element.scrollByPages */ void scrollByPages(int pages); /** @domName Element.scrollIntoViewIfNeeded */ void scrollIntoView([bool centerIfNeeded]); /** @domName Element.setAttribute */ void $dom_setAttribute(String name, String value); /** @domName Element.webkitMatchesSelector */ bool matchesSelector(String selectors); /** @domName Element.webkitRequestFullScreen */ void webkitRequestFullScreen(int flags); /** @domName Element.webkitRequestFullscreen */ void webkitRequestFullscreen(); /** @domName Element.webkitRequestPointerLock */ void webkitRequestPointerLock(); } abstract class ElementEvents implements Events { EventListenerList get abort; EventListenerList get beforeCopy; EventListenerList get beforeCut; EventListenerList get beforePaste; EventListenerList get blur; EventListenerList get change; EventListenerList get click; EventListenerList get contextMenu; EventListenerList get copy; EventListenerList get cut; EventListenerList get doubleClick; EventListenerList get drag; EventListenerList get dragEnd; EventListenerList get dragEnter; EventListenerList get dragLeave; EventListenerList get dragOver; EventListenerList get dragStart; EventListenerList get drop; EventListenerList get error; EventListenerList get focus; EventListenerList get input; EventListenerList get invalid; EventListenerList get keyDown; EventListenerList get keyPress; EventListenerList get keyUp; EventListenerList get load; EventListenerList get mouseDown; EventListenerList get mouseMove; EventListenerList get mouseOut; EventListenerList get mouseOver; EventListenerList get mouseUp; EventListenerList get mouseWheel; EventListenerList get paste; EventListenerList get reset; EventListenerList get scroll; EventListenerList get search; EventListenerList get select; EventListenerList get selectStart; EventListenerList get submit; EventListenerList get touchCancel; EventListenerList get touchEnd; EventListenerList get touchEnter; EventListenerList get touchLeave; EventListenerList get touchMove; EventListenerList get touchStart; EventListenerList get transitionEnd; EventListenerList get fullscreenChange; EventListenerList get fullscreenError; }