parent
d22706b202
commit
3e18dd1203
|
@ -0,0 +1,28 @@
|
||||||
|
<!-- #docregion -->
|
||||||
|
<p>
|
||||||
|
<click-me></click-me>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<click-me2></click-me2>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h4>Give me some keys!</h4>
|
||||||
|
<div><key-up1></key-up1></div>
|
||||||
|
|
||||||
|
<h4>keyup loop-back component</h4>
|
||||||
|
<div><loop-back></loop-back></div>
|
||||||
|
<br><br>
|
||||||
|
|
||||||
|
<h4>Give me some more keys!</h4>
|
||||||
|
<div><key-up2></key-up2></div>
|
||||||
|
|
||||||
|
<h4>Type away! Press [enter] when done.</h4>
|
||||||
|
<div><key-up3></key-up3></div>
|
||||||
|
|
||||||
|
<h4>Type away! Press [enter] or click elsewhere when done.</h4>
|
||||||
|
<div><key-up4></key-up4></div>
|
||||||
|
|
||||||
|
<h4>Little Tour of Heroes</h4>
|
||||||
|
<p><i>Add a new hero</i></p>
|
||||||
|
<div><little-tour></little-tour></div>
|
|
@ -0,0 +1,24 @@
|
||||||
|
// #docregion
|
||||||
|
library user_input.app_component;
|
||||||
|
|
||||||
|
import 'package:angular2/angular2.dart';
|
||||||
|
import 'package:user_input/click_me_component.dart';
|
||||||
|
import 'package:user_input/click_me_component_2.dart';
|
||||||
|
import 'package:user_input/loop_back_component.dart';
|
||||||
|
import 'package:user_input/key_up_components.dart';
|
||||||
|
import 'package:user_input/little_tour_component.dart';
|
||||||
|
|
||||||
|
@Component(
|
||||||
|
selector: 'my-app',
|
||||||
|
templateUrl: 'app-component.html',
|
||||||
|
directives: const [
|
||||||
|
ClickMeComponent,
|
||||||
|
ClickMeComponent2,
|
||||||
|
KeyUpComponentV1,
|
||||||
|
KeyUpComponentV2,
|
||||||
|
KeyUpComponentV3,
|
||||||
|
KeyUpComponentV4,
|
||||||
|
LoopBackComponent,
|
||||||
|
LittleTourComponent
|
||||||
|
])
|
||||||
|
class AppComponent {}
|
|
@ -0,0 +1,18 @@
|
||||||
|
// #docregion
|
||||||
|
library user_input.click_me_component;
|
||||||
|
|
||||||
|
import 'package:angular2/angular2.dart';
|
||||||
|
|
||||||
|
// #docregion click-me-component
|
||||||
|
@Component(
|
||||||
|
selector: 'click-me',
|
||||||
|
template: '''<button (click)="onClickMe()">Click me!</button>
|
||||||
|
{{clickMessage}}''')
|
||||||
|
class ClickMeComponent {
|
||||||
|
String clickMessage = '';
|
||||||
|
|
||||||
|
onClickMe() {
|
||||||
|
clickMessage = 'You are my hero!';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// #enddocregion click-me-component
|
|
@ -0,0 +1,19 @@
|
||||||
|
// #docregion
|
||||||
|
library user_input.click_me_component_2;
|
||||||
|
|
||||||
|
import 'package:angular2/angular2.dart';
|
||||||
|
|
||||||
|
@Component(
|
||||||
|
selector: 'click-me2',
|
||||||
|
template: '''<button (click)="onClickMe2(\$event)">No! .. Click me!</button>
|
||||||
|
{{clickMessage}}''')
|
||||||
|
class ClickMeComponent2 {
|
||||||
|
String clickMessage = '';
|
||||||
|
int clicks = 1;
|
||||||
|
|
||||||
|
onClickMe2(dynamic event) {
|
||||||
|
var evtMsg =
|
||||||
|
event != null ? ' Event target is ' + event.target.tagName : '';
|
||||||
|
clickMessage = ('Click #${clicks++}. ${evtMsg}');
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,85 @@
|
||||||
|
// #docplaster
|
||||||
|
// #docregion
|
||||||
|
library user_input.key_up_components;
|
||||||
|
|
||||||
|
import 'dart:html';
|
||||||
|
|
||||||
|
import 'package:angular2/angular2.dart';
|
||||||
|
|
||||||
|
// #docregion key-up-component-1
|
||||||
|
@Component(
|
||||||
|
selector: 'key-up1',
|
||||||
|
// #docregion key-up-component-1-template
|
||||||
|
template: '''
|
||||||
|
<input (keyup)="onKey(\$event)">
|
||||||
|
<p>{{values}}</p>
|
||||||
|
'''
|
||||||
|
// #enddocregion key-up-component-1-template
|
||||||
|
)
|
||||||
|
// #docregion key-up-component-1-class, key-up-component-1-class-no-type
|
||||||
|
class KeyUpComponentV1 {
|
||||||
|
String values = '';
|
||||||
|
|
||||||
|
// #enddocregion key-up-component-1-class, key-up-component-1-class-no-type
|
||||||
|
/*
|
||||||
|
// #docregion key-up-component-1-class-no-type
|
||||||
|
onKey(dynamic event) {
|
||||||
|
values += event.target.value + ' | ';
|
||||||
|
}
|
||||||
|
// #enddocregion key-up-component-1-class-no-type
|
||||||
|
*/
|
||||||
|
// #docregion key-up-component-1-class
|
||||||
|
onKey(KeyboardEvent event) {
|
||||||
|
InputElement el = event.target;
|
||||||
|
values += '${el.value} | ';
|
||||||
|
}
|
||||||
|
// #docregion key-up-component-1-class-no-type
|
||||||
|
}
|
||||||
|
// #enddocregion key-up-component-1,key-up-component-1-class, key-up-component-1-class-no-type
|
||||||
|
|
||||||
|
//////////////////////////////////////////
|
||||||
|
|
||||||
|
// #docregion key-up-component-2
|
||||||
|
@Component(
|
||||||
|
selector: 'key-up2',
|
||||||
|
template: '''
|
||||||
|
<input #box (keyup)="onKey(box.value)">
|
||||||
|
<p>{{values}}</p>
|
||||||
|
''')
|
||||||
|
class KeyUpComponentV2 {
|
||||||
|
String values = '';
|
||||||
|
onKey(value) {
|
||||||
|
values += '$value | ';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// #enddocregion key-up-component-2
|
||||||
|
|
||||||
|
//////////////////////////////////////////
|
||||||
|
|
||||||
|
// #docregion key-up-component-3
|
||||||
|
@Component(
|
||||||
|
selector: 'key-up3',
|
||||||
|
template: '''
|
||||||
|
<input #box (keyup.enter)="values=box.value">
|
||||||
|
<p>{{values}}</p>
|
||||||
|
''')
|
||||||
|
class KeyUpComponentV3 {
|
||||||
|
String values = '';
|
||||||
|
}
|
||||||
|
// #enddocregion key-up-component-3
|
||||||
|
|
||||||
|
//////////////////////////////////////////
|
||||||
|
|
||||||
|
// #docregion key-up-component-4
|
||||||
|
@Component(
|
||||||
|
selector: 'key-up4',
|
||||||
|
template: '''
|
||||||
|
<input #box
|
||||||
|
(keyup.enter)="values=box.value"
|
||||||
|
(blur)="values=box.value">
|
||||||
|
<p>{{values}}</p>
|
||||||
|
''')
|
||||||
|
class KeyUpComponentV4 {
|
||||||
|
String values = '';
|
||||||
|
}
|
||||||
|
// #enddocregion key-up-component-4
|
|
@ -0,0 +1,29 @@
|
||||||
|
// #docregion
|
||||||
|
library user_input.little_tour_component;
|
||||||
|
|
||||||
|
import 'dart:html';
|
||||||
|
|
||||||
|
import 'package:angular2/angular2.dart';
|
||||||
|
|
||||||
|
// #docregion little-tour
|
||||||
|
@Component(
|
||||||
|
selector: 'little-tour',
|
||||||
|
template: '''
|
||||||
|
<input #newHero
|
||||||
|
(keyup.enter)="addHero(newHero.value)"
|
||||||
|
(blur)="addHero(newHero.value); newHero.value='' ">
|
||||||
|
|
||||||
|
<button (click)=addHero(newHero.value)>Add</button>
|
||||||
|
|
||||||
|
<ul><li *ngFor="#hero of heroes">{{hero}}</li></ul>
|
||||||
|
''')
|
||||||
|
class LittleTourComponent {
|
||||||
|
List<String> heroes = ['Windstorm', 'Bombasto', 'Magneta', 'Tornado'];
|
||||||
|
|
||||||
|
void addHero(String newHero) {
|
||||||
|
if (newHero?.length > 0) {
|
||||||
|
heroes.add(newHero);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// #enddocregion little-tour
|
|
@ -0,0 +1,14 @@
|
||||||
|
// #docregion
|
||||||
|
library user_input.loop_back_component;
|
||||||
|
|
||||||
|
import 'package:angular2/angular2.dart';
|
||||||
|
|
||||||
|
// #docregion loop-back-component
|
||||||
|
@Component(
|
||||||
|
selector: 'loop-back',
|
||||||
|
template: '''
|
||||||
|
<input #box (keyup)="0">
|
||||||
|
<p>{{box.value}}</p>
|
||||||
|
''')
|
||||||
|
class LoopBackComponent {}
|
||||||
|
// #enddocregion loop-back-component
|
|
@ -0,0 +1,10 @@
|
||||||
|
name: user_input
|
||||||
|
description: User Input
|
||||||
|
version: 0.0.1
|
||||||
|
dependencies:
|
||||||
|
angular2: 2.0.0-beta.0
|
||||||
|
browser: ^0.10.0
|
||||||
|
transformers:
|
||||||
|
- angular2:
|
||||||
|
platform_directives: 'package:angular2/src/common/directives.dart#CORE_DIRECTIVES'
|
||||||
|
entry_points: web/main.dart
|
|
@ -0,0 +1,12 @@
|
||||||
|
<!-- #docregion -->
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>User Input</title>
|
||||||
|
<script defer src="main.dart" type="application/dart"></script>
|
||||||
|
<script defer src="packages/browser/dart.js"></script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<my-app>Loading...</my-app>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,7 @@
|
||||||
|
// #docregion
|
||||||
|
import 'package:angular2/bootstrap.dart';
|
||||||
|
import 'package:user_input/app_component.dart';
|
||||||
|
|
||||||
|
main() {
|
||||||
|
bootstrap(AppComponent);
|
||||||
|
}
|
|
@ -0,0 +1,10 @@
|
||||||
|
/* #docregion */
|
||||||
|
fieldset {border-style:none}
|
||||||
|
img {height: 100px;}
|
||||||
|
.box {border: 1px solid black; padding:3px}
|
||||||
|
.child-div {margin-left: 1em; font-weight: normal}
|
||||||
|
.hidden {display: none}
|
||||||
|
.parent-div {margin-top: 1em; font-weight: bold}
|
||||||
|
.special {font-weight:bold;}
|
||||||
|
.toe {margin-left: 1em; font-style: italic;}
|
||||||
|
little-hero {color:blue; font-size: smaller; background-color: Turquoise }
|
Loading…
Reference in New Issue