Skip to content
This repository was archived by the owner on Feb 22, 2018. It is now read-only.

Commit 1f60295

Browse files
committed
revert(TextChangeListener): remove TextChangeListener support
1 parent 49377db commit 1f60295

File tree

6 files changed

+5
-46
lines changed

6 files changed

+5
-46
lines changed

lib/core_dom/block_factory.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,8 +132,7 @@ class BlockFactory {
132132
nodeModule.factory(NgTextMustacheDirective, (Injector injector) {
133133
return new NgTextMustacheDirective(
134134
node, ref.value, injector.get(Interpolate), injector.get(Scope),
135-
injector.get(TextChangeListener), injector.get(AstParser),
136-
injector.get(FilterMap));
135+
injector.get(AstParser), injector.get(FilterMap));
137136
});
138137
} else if (ref.type == NgAttrMustacheDirective) {
139138
if (nodesAttrsDirectives == null) {

lib/core_dom/directive.dart

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,6 @@ part of angular.core.dom;
55
*/
66
typedef AttributeChanged(String newValue);
77

8-
/**
9-
* Callback function used to notify of text changes.
10-
*/
11-
abstract class TextChangeListener{
12-
call(String text);
13-
}
14-
158
/**
169
* NodeAttrs is a facade for element attributes. The facade is responsible
1710
* for normalizing attribute names as well as allowing access to the

lib/core_dom/module.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ class NgCoreDomModule extends Module {
3030
NgCoreDomModule() {
3131
value(dom.Window, dom.window);
3232

33-
value(TextChangeListener, null);
3433
factory(TemplateCache, (_) => new TemplateCache(capacity: 0));
3534
type(dom.NodeTreeSanitizer, implementedBy: NullTreeSanitizer);
3635

lib/core_dom/ng_mustache.dart

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,20 +7,16 @@ class NgTextMustacheDirective {
77
String markup,
88
Interpolate interpolate,
99
Scope scope,
10-
TextChangeListener listener,
1110
AstParser parser,
1211
FilterMap filters) {
1312
Interpolation interpolation = interpolate(markup);
14-
interpolation.setter = (text) {
15-
element.text = text;
16-
if (listener != null) listener.call(text);
17-
};
13+
interpolation.setter = (text) => element.text = text;
1814

1915
List items = interpolation.expressions.map((exp) {
2016
return parser(exp, filters:filters);
2117
}).toList();
2218
AST ast = new PureFunctionAST('[[$markup]]', new ArrayFn(), items);
23-
scope.watch(ast, interpolation.call, readOnly: listener == null);
19+
scope.watch(ast, interpolation.call, readOnly: true);
2420
}
2521

2622
}

lib/directive/input_select.dart

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -97,9 +97,8 @@ class InputSelectDirective implements NgAttachAware {
9797
*
9898
*/
9999
@NgDirective(
100-
selector: 'option',
101-
publishTypes: const [TextChangeListener])
102-
class OptionValueDirective implements TextChangeListener, NgAttachAware,
100+
selector: 'option')
101+
class OptionValueDirective implements NgAttachAware,
103102
NgDetachAware {
104103
final InputSelectDirective _inputSelectDirective;
105104
final dom.Element _element;
@@ -118,12 +117,6 @@ class OptionValueDirective implements TextChangeListener, NgAttachAware,
118117
}
119118
}
120119

121-
call(String text) {
122-
if (_inputSelectDirective != null) {
123-
_inputSelectDirective.dirty();
124-
}
125-
}
126-
127120
detach() {
128121
if (_inputSelectDirective != null) {
129122
_inputSelectDirective.dirty();

test/core_dom/ng_mustache_spec.dart

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ main() {
66
describe('ng-mustache', () {
77
TestBed _;
88
beforeEach(module((Module module) {
9-
module.type(_ListenerDirective);
109
module.type(_HelloFilter);
1110
}));
1211
beforeEach(inject((TestBed tb) => _ = tb));
@@ -25,15 +24,6 @@ main() {
2524
}));
2625

2726

28-
it('should allow listening on text change events', inject((Logger logger) {
29-
_.compile('<div listener>{{text}}</div>');
30-
_.rootScope.context['text'] = 'works';
31-
_.rootScope.apply();
32-
expect(_.rootElement.text).toEqual('works');
33-
expect(logger).toEqual(['works']);
34-
}));
35-
36-
3727
it('should replace {{}} in attribute', inject((Compiler $compile, Scope rootScope, Injector injector, DirectiveMap directives) {
3828
var element = $('<div some-attr="{{name}}" other-attr="{{age}}"></div>');
3929
var template = $compile(element, directives);
@@ -120,17 +110,6 @@ main() {
120110

121111
}
122112

123-
@NgDirective(
124-
selector: '[listener]',
125-
publishTypes: const [TextChangeListener],
126-
visibility: NgDirective.DIRECT_CHILDREN_VISIBILITY
127-
)
128-
class _ListenerDirective implements TextChangeListener {
129-
Logger logger;
130-
_ListenerDirective(Logger this.logger);
131-
call(String text) => logger(text);
132-
}
133-
134113
@NgFilter(name:'hello')
135114
class _HelloFilter {
136115
call(String str) {

0 commit comments

Comments
 (0)