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

Side by Side Diff: src/site/articles/trydart/examples/5-checkboxbadge/piratebadge.dart

Issue 35913002: Try Dart 1 hour experience first draft (Closed) Base URL: https://github.com/dart-lang/dartlang.org.git@master
Patch Set: trying again to upload chnages. still getting an error 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 unified diff | Download patch
OLDNEW
(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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698