| Index: client/dom/templates/html/frog/impl_EventTarget.darttemplate
|
| diff --git a/client/dom/templates/html/frog/impl_EventTarget.darttemplate b/client/dom/templates/html/frog/impl_EventTarget.darttemplate
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..eb6e3fcdfa49fe58208c904d956e77f10b4e5e46
|
| --- /dev/null
|
| +++ b/client/dom/templates/html/frog/impl_EventTarget.darttemplate
|
| @@ -0,0 +1,63 @@
|
| +// Copyright (c) 2012, 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.
|
| +
|
| +class _EventsImpl implements Events {
|
| + /* Raw event target. */
|
| + // TODO(jacobr): it would be nice if we could specify this as
|
| + // _EventTargetJs or EventTarget
|
| + final var _ptr;
|
| +
|
| + _EventsImpl(this._ptr);
|
| +
|
| + _EventListenerListImpl operator [](String type) => _get(type.toLowerCase());
|
| +
|
| + _EventListenerListImpl _get(String type) {
|
| + return new _EventListenerListImpl(_ptr, type);
|
| + }
|
| +}
|
| +
|
| +class _EventListenerListImpl implements EventListenerList {
|
| +
|
| + // TODO(jacobr): make this _EventTargetJs
|
| + final var _ptr;
|
| + final String _type;
|
| +
|
| + _EventListenerListImpl(this._ptr, this._type);
|
| +
|
| + // TODO(jacobr): implement equals.
|
| +
|
| + _EventListenerListImpl add(EventListener listener,
|
| + [bool useCapture = false]) {
|
| + _add(listener, useCapture);
|
| + return this;
|
| + }
|
| +
|
| + _EventListenerListImpl remove(EventListener listener,
|
| + [bool useCapture = false]) {
|
| + _remove(listener, useCapture);
|
| + return this;
|
| + }
|
| +
|
| + bool dispatch(Event evt) {
|
| + // TODO(jacobr): what is the correct behavior here. We could alternately
|
| + // force the event to have the expected type.
|
| + assert(evt.type == _type);
|
| + return _ptr._dispatchEvent(evt);
|
| + }
|
| +
|
| + void _add(EventListener listener, bool useCapture) {
|
| + _ptr._addEventListener(_type, listener, useCapture);
|
| + }
|
| +
|
| + void _remove(EventListener listener, bool useCapture) {
|
| + _ptr._removeEventListener(_type, listener, useCapture);
|
| + }
|
| +}
|
| +
|
| +
|
| +class $CLASSNAME$EXTENDS$IMPLEMENTS$NATIVESPEC {
|
| +
|
| + Events get on() => new _EventsImpl(this);
|
| +$!MEMBERS
|
| +}
|
|
|