| Index: src/site/articles/trydart/examples/5-checkboxbadge/piratebadge.dart
|
| diff --git a/src/site/articles/trydart/examples/5-checkboxbadge/piratebadge.dart b/src/site/articles/trydart/examples/5-checkboxbadge/piratebadge.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..259a6a3f21582a9d43fb4e7655d25b4a9eee20f0
|
| --- /dev/null
|
| +++ b/src/site/articles/trydart/examples/5-checkboxbadge/piratebadge.dart
|
| @@ -0,0 +1,81 @@
|
| +// 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.
|
| +
|
| +import 'dart:html';
|
| +import 'dart:math';
|
| +
|
| +InputElement inputNameElement;
|
| +ButtonElement genButtonElement;
|
| +
|
| +bool useRandomName = false;
|
| +
|
| +void main() {
|
| + inputNameElement = query('#inputName');
|
| + inputNameElement.onChange.listen(generateBadge);
|
| +
|
| + genButtonElement = query('#generateButton');
|
| + genButtonElement.onClick.listen(generateBadge);
|
| +
|
| + query('#useRandomName').onClick.listen(useRandomNameClickHandler);
|
| +}
|
| +
|
| +void generateBadge(Event event) {
|
| + if (!useRandomName) {
|
| + query('#badgeName').text = new PirateName(firstName: inputNameElement.value).name;
|
| + } else {
|
| + query('#badgeName').text = new PirateName().name;
|
| + }
|
| +}
|
| +
|
| +void useRandomNameClickHandler(MouseEvent e) {
|
| + if ((e.target as CheckboxInputElement).checked) {
|
| + genButtonElement.disabled = false;
|
| + inputNameElement
|
| + ..disabled = true
|
| + ..value = ''
|
| + ..placeholder = '';
|
| + useRandomName = true;
|
| + } else {
|
| + genButtonElement.disabled = true;
|
| + inputNameElement
|
| + ..disabled = false
|
| + ..placeholder = 'Your name here';
|
| + useRandomName = false;
|
| + }
|
| +}
|
| +
|
| +class PirateName {
|
| +
|
| + Random indexGen = new Random();
|
| +
|
| + String _pirateName;
|
| +
|
| + String get name => _pirateName;
|
| + set name(String value) => _pirateName = value;
|
| +
|
| + String toString() => name;
|
| +
|
| + PirateName({String firstName}) {
|
| + if (firstName == null) {
|
| + firstName = names[indexGen.nextInt(names.length)];
|
| + }
|
| + _pirateName = '$firstName';
|
| + }
|
| +
|
| + List names = const [ 'Anne', 'Bette', 'Cate', 'Dawn',
|
| + 'Elise', 'Faye', 'Ginger', 'Harriot',
|
| + 'Izzy', 'Jane', 'Kaye', 'Liz',
|
| + 'Maria', 'Nell', 'Olive', 'Pat',
|
| + 'Queenie', 'Rae', 'Sal', 'Tam',
|
| + 'Uma', 'Violet', 'Wilma', 'Xana',
|
| + 'Yvonne', 'Zelda',
|
| + 'Abe', 'Billy', 'Caleb', 'Davie',
|
| + 'Eb', 'Frank', 'Gabe', 'House',
|
| + 'Icarus', 'Jack', 'Kurt', 'Larry',
|
| + 'Mike', 'Nolan', 'Oliver', 'Pat',
|
| + 'Quib', 'Roy', 'Sal', 'Tom',
|
| + 'Ube', 'Val', 'Walt', 'Xavier',
|
| + 'Yvan', 'Zeb'];
|
| +}
|
| +
|
|
|