@@ -134,10 +134,11 @@ class NgEvent {
134
134
// object? One would pretty much only assign to one or two of those
135
135
// properties. I'm opting for the map since it's less boilerplate code.
136
136
var listeners = {};
137
+ final EventHandler eventHandler;
137
138
final dom.Element element;
138
139
final Scope scope;
139
140
140
- NgEvent (this .element, this .scope);
141
+ NgEvent (this .element, this .scope, this .eventHandler );
141
142
142
143
// NOTE: Do not use the element.on['some_event'].listen(...) syntax. Doing so
143
144
// has two downsides:
@@ -147,63 +148,61 @@ class NgEvent {
147
148
// platform specific event name automatically but you're on your own if
148
149
// you use the on[] syntax. This also applies to $dom_addEventListener.
149
150
// Ref: http://api.dartlang.org/docs/releases/latest/dart_html/Events.html
150
- initListener (var stream, var handler) {
151
- int key = stream.hashCode;
152
- if (! listeners.containsKey (key)) {
153
- listeners[key] = handler;
154
- stream.listen ((event) => handler ({r"$event" : event}));
155
- }
151
+ _initListener (name, stream, handler) {
152
+ print ("DEPRECATED: ng-$name is depricated use on-$name instead." );
153
+ element.attributes['on-$name ' ] = element.attributes['ng-$name ' ];
154
+ eventHandler.register (name);
156
155
}
157
156
158
- set onAbort (value) => initListener ( element.onAbort, value);
159
- set onBeforeCopy (value) => initListener ( element.onBeforeCopy, value);
160
- set onBeforeCut (value) => initListener ( element.onBeforeCut, value);
161
- set onBeforePaste (value) => initListener ( element.onBeforePaste, value);
162
- set onBlur (value) => initListener ( element.onBlur, value);
163
- set onChange (value) => initListener ( element.onChange, value);
164
- set onClick (value) => initListener ( element.onClick, value);
165
- set onContextMenu (value) => initListener ( element.onContextMenu, value);
166
- set onCopy (value) => initListener ( element.onCopy, value);
167
- set onCut (value) => initListener ( element.onCut, value);
168
- set onDoubleClick (value) => initListener ( element.onDoubleClick, value);
169
- set onDrag (value) => initListener ( element.onDrag, value);
170
- set onDragEnd (value) => initListener ( element.onDragEnd, value);
171
- set onDragEnter (value) => initListener ( element.onDragEnter, value);
172
- set onDragLeave (value) => initListener ( element.onDragLeave, value);
173
- set onDragOver (value) => initListener ( element.onDragOver, value);
174
- set onDragStart (value) => initListener ( element.onDragStart, value);
175
- set onDrop (value) => initListener ( element.onDrop, value);
176
- set onError (value) => initListener ( element.onError, value);
177
- set onFocus (value) => initListener ( element.onFocus, value);
178
- set onFullscreenChange (value) => initListener ( element.onFullscreenChange, value);
179
- set onFullscreenError (value) => initListener ( element.onFullscreenError, value);
180
- set onInput (value) => initListener ( element.onInput, value);
181
- set onInvalid (value) => initListener ( element.onInvalid, value);
182
- set onKeyDown (value) => initListener ( element.onKeyDown, value);
183
- set onKeyPress (value) => initListener ( element.onKeyPress, value);
184
- set onKeyUp (value) => initListener ( element.onKeyUp, value);
185
- set onLoad (value) => initListener ( element.onLoad, value);
186
- set onMouseDown (value) => initListener ( element.onMouseDown, value);
187
- set onMouseEnter (value) => initListener ( element.onMouseEnter, value);
188
- set onMouseLeave (value) => initListener ( element.onMouseLeave, value);
189
- set onMouseMove (value) => initListener ( element.onMouseMove, value);
190
- set onMouseOut (value) => initListener ( element.onMouseOut, value);
191
- set onMouseOver (value) => initListener ( element.onMouseOver, value);
192
- set onMouseUp (value) => initListener ( element.onMouseUp, value);
193
- set onMouseWheel (value) => initListener ( element.onMouseWheel, value);
194
- set onPaste (value) => initListener ( element.onPaste, value);
195
- set onReset (value) => initListener ( element.onReset, value);
196
- set onScroll (value) => initListener ( element.onScroll, value);
197
- set onSearch (value) => initListener ( element.onSearch, value);
198
- set onSelect (value) => initListener ( element.onSelect, value);
199
- set onSelectStart (value) => initListener ( element.onSelectStart, value);
200
- // set onSpeechChange(value) => initListener( element.onSpeechChange, value);
201
- set onSubmit (value) => initListener ( element.onSubmit, value);
202
- set onTouchCancel (value) => initListener ( element.onTouchCancel, value);
203
- set onTouchEnd (value) => initListener ( element.onTouchEnd, value);
204
- set onTouchEnter (value) => initListener ( element.onTouchEnter, value);
205
- set onTouchLeave (value) => initListener ( element.onTouchLeave, value);
206
- set onTouchMove (value) => initListener ( element.onTouchMove, value);
207
- set onTouchStart (value) => initListener ( element.onTouchStart, value);
208
- set onTransitionEnd (value) => initListener ( element.onTransitionEnd, value);
157
+ set onAbort (value) => _initListener ( 'abort' , element.onAbort, value);
158
+ set onBeforeCopy (value) => _initListener ( 'beforecopy' , element.onBeforeCopy, value);
159
+ set onBeforeCut (value) => _initListener ( 'beforecut' , element.onBeforeCut, value);
160
+ set onBeforePaste (value) => _initListener ( 'beforepaste' , element.onBeforePaste, value);
161
+ set onBlur (value) => _initListener ( 'blur' , element.onBlur, value);
162
+ set onChange (value) => _initListener ( 'change' , element.onChange, value);
163
+ set onClick (value) => _initListener ( 'click' , element.onClick, value);
164
+ set onContextMenu (value) => _initListener ( 'contextmenu' , element.onContextMenu, value);
165
+ set onCopy (value) => _initListener ( 'copy' , element.onCopy, value);
166
+ set onCut (value) => _initListener ( 'cut' , element.onCut, value);
167
+ set onDoubleClick (value) => _initListener ( 'doubleclick' , element.onDoubleClick, value);
168
+ set onDrag (value) => _initListener ( 'drag' , element.onDrag, value);
169
+ set onDragEnd (value) => _initListener ( 'dragend' , element.onDragEnd, value);
170
+ set onDragEnter (value) => _initListener ( 'dragenter' , element.onDragEnter, value);
171
+ set onDragLeave (value) => _initListener ( 'dragleave' , element.onDragLeave, value);
172
+ set onDragOver (value) => _initListener ( 'dragover' , element.onDragOver, value);
173
+ set onDragStart (value) => _initListener ( 'dragstart' , element.onDragStart, value);
174
+ set onDrop (value) => _initListener ( 'drop' , element.onDrop, value);
175
+ set onError (value) => _initListener ( 'error' , element.onError, value);
176
+ set onFocus (value) => _initListener ( 'focus' , element.onFocus, value);
177
+ set onFullscreenChange (value) => _initListener ( 'fullscreenchange' , element.onFullscreenChange, value);
178
+ set onFullscreenError (value) => _initListener ( 'fullscreenerror' , element.onFullscreenError, value);
179
+ set onInput (value) => _initListener ( 'input' , element.onInput, value);
180
+ set onInvalid (value) => _initListener ( 'invalid' , element.onInvalid, value);
181
+ set onKeyDown (value) => _initListener ( 'keydown' , element.onKeyDown, value);
182
+ set onKeyPress (value) => _initListener ( 'keypress' , element.onKeyPress, value);
183
+ set onKeyUp (value) => _initListener ( 'keyup' , element.onKeyUp, value);
184
+ set onLoad (value) => _initListener ( 'load' , element.onLoad, value);
185
+ set onMouseDown (value) => _initListener ( 'mousedown' , element.onMouseDown, value);
186
+ set onMouseEnter (value) => _initListener ( 'mouseenter' , element.onMouseEnter, value);
187
+ set onMouseLeave (value) => _initListener ( 'mouseleave' , element.onMouseLeave, value);
188
+ set onMouseMove (value) => _initListener ( 'mousemove' , element.onMouseMove, value);
189
+ set onMouseOut (value) => _initListener ( 'mouseout' , element.onMouseOut, value);
190
+ set onMouseOver (value) => _initListener ( 'mouseover' , element.onMouseOver, value);
191
+ set onMouseUp (value) => _initListener ( 'mouseup' , element.onMouseUp, value);
192
+ set onMouseWheel (value) => _initListener ( 'mousewheel' , element.onMouseWheel, value);
193
+ set onPaste (value) => _initListener ( 'paste' , element.onPaste, value);
194
+ set onReset (value) => _initListener ( 'reset' , element.onReset, value);
195
+ set onScroll (value) => _initListener ( 'scroll' , element.onScroll, value);
196
+ set onSearch (value) => _initListener ( 'search' , element.onSearch, value);
197
+ set onSelect (value) => _initListener ( 'select' , element.onSelect, value);
198
+ set onSelectStart (value) => _initListener ( 'selectstart' , element.onSelectStart, value);
199
+ //set onSpeechChange(value) => _initListener('speechchange', element.onSpeechChange, value);
200
+ set onSubmit (value) => _initListener ( 'submit' , element.onSubmit, value);
201
+ set onTouchCancel (value) => _initListener ( 'touchcancel' , element.onTouchCancel, value);
202
+ set onTouchEnd (value) => _initListener ( 'touchend' , element.onTouchEnd, value);
203
+ set onTouchEnter (value) => _initListener ( 'touchenter' , element.onTouchEnter, value);
204
+ set onTouchLeave (value) => _initListener ( 'touchleave' , element.onTouchLeave, value);
205
+ set onTouchMove (value) => _initListener ( 'touchmove' , element.onTouchMove, value);
206
+ set onTouchStart (value) => _initListener ( 'touchstart' , element.onTouchStart, value);
207
+ set onTransitionEnd (value) => _initListener ( 'transitionend' , element.onTransitionEnd, value);
209
208
}
0 commit comments