| // 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. |
| |
| part of html; |
| |
| /** |
| * 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<String, String> { |
| 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<ClientRect> get clientRects; |
| } |
| |
| abstract class NodeSelector { |
| Element query(String selectors); |
| List<Element> queryAll(String selectors); |
| } |
| |
| abstract class CSSClassSet implements Set<String> { |
| /** |
| * 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; |
| } |
| |
| $!COMMENT |
| abstract class _IElement implements _INode, NodeSelector { |
| factory Element.html(String html) => |
| _$(ID)FactoryProvider.createElement_html(html); |
| factory Element.tag(String tag) => |
| _$(ID)FactoryProvider.createElement_tag(tag); |
| |
| AttributeMap get attributes; |
| void set attributes(Map<String, String> value); |
| |
| /** |
| * @domName childElementCount, firstElementChild, lastElementChild, |
| * children, Node.nodes.add |
| */ |
| List<Element> get elements; |
| |
| void set elements(Collection<Element> value); |
| |
| /** @domName className, classList */ |
| CSSClassSet get classes; |
| |
| void set classes(Collection<String> value); |
| |
| AttributeMap get dataAttributes; |
| void set dataAttributes(Map<String, String> 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<ElementRect> get rect; |
| |
| /** @domName Window.getComputedStyle */ |
| Future<CSSStyleDeclaration> get computedStyle; |
| |
| /** @domName Window.getComputedStyle */ |
| Future<CSSStyleDeclaration> 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; |
| |
| $!MEMBERS |
| } |