OLD | NEW |
(Empty) | |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. |
| 4 |
| 5 import 'dart:html'; |
| 6 import 'dart:math'; |
| 7 |
| 8 InputElement inputNameElement; |
| 9 ButtonElement genButtonElement; |
| 10 |
| 11 bool useRandomName = false; |
| 12 |
| 13 void main() { |
| 14 inputNameElement = query('#inputName'); |
| 15 inputNameElement.onChange.listen(generateBadge); |
| 16 |
| 17 genButtonElement = query('#generateButton'); |
| 18 genButtonElement.onClick.listen(generateBadge); |
| 19 |
| 20 query('#useRandomName').onClick.listen(useRandomNameClickHandler); |
| 21 } |
| 22 |
| 23 void generateBadge(Event event) { |
| 24 if (!useRandomName) { |
| 25 query('#badgeName').text = new PirateName(firstName: inputNameElement.value)
.name; |
| 26 } else { |
| 27 query('#badgeName').text = new PirateName().name; |
| 28 } |
| 29 } |
| 30 |
| 31 void useRandomNameClickHandler(MouseEvent e) { |
| 32 if ((e.target as CheckboxInputElement).checked) { |
| 33 genButtonElement.disabled = false; |
| 34 inputNameElement |
| 35 ..disabled = true |
| 36 ..value = '' |
| 37 ..placeholder = ''; |
| 38 useRandomName = true; |
| 39 } else { |
| 40 genButtonElement.disabled = true; |
| 41 inputNameElement |
| 42 ..disabled = false |
| 43 ..placeholder = 'Your name here'; |
| 44 useRandomName = false; |
| 45 } |
| 46 } |
| 47 |
| 48 class PirateName { |
| 49 |
| 50 Random indexGen = new Random(); |
| 51 |
| 52 String _pirateName; |
| 53 |
| 54 String get name => _pirateName; |
| 55 set name(String value) => _pirateName = value; |
| 56 |
| 57 String toString() => name; |
| 58 |
| 59 PirateName({String firstName}) { |
| 60 if (firstName == null) { |
| 61 firstName = names[indexGen.nextInt(names.length)]; |
| 62 } |
| 63 _pirateName = '$firstName'; |
| 64 } |
| 65 |
| 66 List names = const [ 'Anne', 'Bette', 'Cate', 'Dawn', |
| 67 'Elise', 'Faye', 'Ginger', 'Harriot', |
| 68 'Izzy', 'Jane', 'Kaye', 'Liz', |
| 69 'Maria', 'Nell', 'Olive', 'Pat', |
| 70 'Queenie', 'Rae', 'Sal', 'Tam', |
| 71 'Uma', 'Violet', 'Wilma', 'Xana', |
| 72 'Yvonne', 'Zelda', |
| 73 'Abe', 'Billy', 'Caleb', 'Davie', |
| 74 'Eb', 'Frank', 'Gabe', 'House', |
| 75 'Icarus', 'Jack', 'Kurt', 'Larry', |
| 76 'Mike', 'Nolan', 'Oliver', 'Pat', |
| 77 'Quib', 'Roy', 'Sal', 'Tom', |
| 78 'Ube', 'Val', 'Walt', 'Xavier', |
| 79 'Yvan', 'Zeb']; |
| 80 } |
| 81 |
OLD | NEW |