| // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | |
| // for details. All rights reserved. Use of this source code is governed by a | |
| // BSD-style license that can be found in the LICENSE file. | |
| part of $LIBRARYNAME; | |
| $(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS { | |
| $!MEMBERS | |
| // Override default options, since IE returns SelectElement itself and it | |
| // does not operate as a List. | |
| List<OptionElement> get options { | |
| dynamic options = this.querySelectorAll<OptionElement>('option'); | |
| return new UnmodifiableListView(options.toList()); | |
| } | |
| List<OptionElement> get selectedOptions { | |
| // IE does not change the selected flag for single-selection items. | |
| if (this.multiple$NULLASSERT) { | |
| var options = this.options.where((o) => o.selected).toList(); | |
| return new UnmodifiableListView(options); | |
| } else { | |
| var i = this.selectedIndex$NULLASSERT; | |
| return i < 0 ? [] : [this.options[i]]; | |
| } | |
| } | |
| } |