Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(387)

Unified Diff: pkg/template_binding/lib/src/select_element.dart

Issue 42433002: port Node.bind to bd0a0591920da9091b326627a46a104a92c7efe7 (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: pkg/template_binding/lib/src/select_element.dart
diff --git a/pkg/template_binding/lib/src/select_element.dart b/pkg/template_binding/lib/src/select_element.dart
index e1cc14347f39124c22ac752ac12956f0ec870e14..432b0490b68ee47822a03b9800c31ec010ebf93c 100644
--- a/pkg/template_binding/lib/src/select_element.dart
+++ b/pkg/template_binding/lib/src/select_element.dart
@@ -10,12 +10,14 @@ class _SelectElementExtension extends _ElementExtension {
SelectElement get _node => super._node;
- NodeBinding createBinding(String name, model, String path) {
- if (name.toLowerCase() == 'selectedindex') {
- // TODO(rafaelw): Maybe template should remove all binding instructions.
- _node.attributes.remove(name);
- return new _SelectedIndexBinding(_node, model, path);
+ NodeBinding bind(String name, model, [String path]) {
+ if (name == 'selectedindex') name = 'selectedIndex';
+ if (name != 'selectedIndex' && name != 'value') {
+ return super.bind(name, model, path);
}
- return super.createBinding(name, model, path);
+
+ _self.unbind(name);
+ _node.attributes.remove(name);
+ return bindings[name] = new _SelectBinding(_node, name, model, path);
}
}

Powered by Google App Engine
This is Rietveld 408576698