This repository was archived by the owner on Feb 22, 2018. It is now read-only.
File tree Expand file tree Collapse file tree 3 files changed +49
-0
lines changed Expand file tree Collapse file tree 3 files changed +49
-0
lines changed Original file line number Diff line number Diff line change @@ -13,6 +13,7 @@ part 'block_type.dart';
13
13
part 'compiler.dart' ;
14
14
part 'directive.dart' ;
15
15
part 'directives/ng_bind.dart' ;
16
+ part 'directives/ng_click.dart' ;
16
17
part 'directives/ng_controller.dart' ;
17
18
part 'directives/ng_mustache.dart' ;
18
19
part 'directives/ng_repeat.dart' ;
@@ -124,5 +125,6 @@ angularModule(AngularModule module) {
124
125
125
126
module.directive (NgBindAttrDirective );
126
127
module.directive (NgRepeatAttrDirective );
128
+ module.directive (NgClickAttrDirective );
127
129
module.directive (NgControllerAttrDirective );
128
130
}
Original file line number Diff line number Diff line change
1
+ part of angular;
2
+
3
+
4
+ class NgClickAttrDirective {
5
+ String expression;
6
+ dom.Node node;
7
+
8
+
9
+ NgClickAttrDirective (dom.Node this .node, DirectiveValue directiveValue) {
10
+ expression = directiveValue.value;
11
+ }
12
+
13
+ attach (Scope scope) {
14
+ node.onClick.listen ((event) => scope.$apply (expression));
15
+ }
16
+ }
Original file line number Diff line number Diff line change
1
+ import '../_specs.dart' ;
2
+ import 'dart:html' as dom;
3
+
4
+
5
+ main () {
6
+ beforeEach (module (angularModule));
7
+
8
+ describe ('NgClick' , () {
9
+ var compile, element, rootScope;
10
+
11
+ triggerEvent (elementWrapper, name) {
12
+ elementWrapper[0 ].dispatchEvent (new dom.Event .eventType ('MouseEvent' , name));
13
+ }
14
+
15
+ beforeEach (inject ((Scope scope, Compiler compiler) {
16
+ compile = (html, [applyFn]) {
17
+ element = $(html);
18
+ rootScope = scope;
19
+ compiler (element)(element).attach (scope);
20
+ scope.$apply (applyFn);
21
+ };
22
+ }));
23
+
24
+
25
+ it ('should evaluate the expression on click' , () {
26
+ compile ('<button ng-click="abc = true"></button>' );
27
+ triggerEvent (element, 'click' );
28
+ expect (rootScope['abc' ]).toEqual (true );
29
+ });
30
+ });
31
+ }
You can’t perform that action at this time.
0 commit comments