diff --git a/modules/angular2/src/dom/html_adapter.dart b/modules/angular2/src/dom/html_adapter.dart
index 297f8680be..611e50239c 100644
--- a/modules/angular2/src/dom/html_adapter.dart
+++ b/modules/angular2/src/dom/html_adapter.dart
@@ -83,7 +83,16 @@ class Html5LibDomAdapter implements DomAdapter {
throw 'not implemented';
}
String nodeName(node) {
- throw 'not implemented';
+ switch (node.nodeType) {
+ case Node.ELEMENT_NODE:
+ return (node as Element).localName;
+ case Node.TEXT_NODE:
+ return '#text';
+ default:
+ throw 'not implemented for type ${node.nodeType}. '
+ 'See http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-1950641247'
+ ' for node types definitions.';
+ }
}
String nodeValue(node) => node.data;
String type(node) {
@@ -179,9 +188,8 @@ class Html5LibDomAdapter implements DomAdapter {
getElementsByTagName(element, String name) {
throw 'not implemented';
}
- List classList(element) {
- throw 'not implemented';
- }
+ List classList(element) => element.classes.toList();
+
addClass(element, String classname) {
element.classes.add(classname);
}
diff --git a/modules/angular2/src/transform/common/directive_metadata_reader.dart b/modules/angular2/src/transform/common/directive_metadata_reader.dart
index 5dfe3bf301..dd63cb984a 100644
--- a/modules/angular2/src/transform/common/directive_metadata_reader.dart
+++ b/modules/angular2/src/transform/common/directive_metadata_reader.dart
@@ -9,6 +9,9 @@ import 'parser.dart';
DirectiveMetadata readDirectiveMetadata(RegisteredType t) {
var visitor = new _DirectiveMetadataVisitor();
t.annotations.accept(visitor);
+ if (visitor.meta != null) {
+ visitor.meta.id = '${t.typeName}';
+ }
return visitor.meta;
}
diff --git a/modules/angular2/src/transform/common/parser.dart b/modules/angular2/src/transform/common/parser.dart
index 5c038819b1..b86ca7f69f 100644
--- a/modules/angular2/src/transform/common/parser.dart
+++ b/modules/angular2/src/transform/common/parser.dart
@@ -68,7 +68,8 @@ class NgDeps {
final List imports = [];
final List exports = [];
final List registeredTypes = [];
- FunctionDeclaration setupMethod;
+ LibraryDirective lib = null;
+ FunctionDeclaration setupMethod = null;
NgDeps(this.code);
}
@@ -76,6 +77,12 @@ class NgDeps {
class _ParseNgDepsVisitor extends Object with RecursiveAstVisitor