Skip to content
This repository was archived by the owner on Dec 4, 2017. It is now read-only.

Commit 761f857

Browse files
chalinwardbell
authored andcommitted
docs(architecture/dart): proofread, updated Dart/TS app and jade
closes #1807 - e2e tests now also cover the tax calculator. - Dart app updated to match TS (it had no sales tax calculator). - TS sample source cleanup (e.g. removed many unnecessary `docregions`). - Prose updated to include @kwalrath's revisions from a while ago, Ward's comments, and some of my edits as well. Contributes to #1598 and #1508.
1 parent 81b011c commit 761f857

28 files changed

+715
-975
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
// #docregion import
2+
import 'package:angular2/core.dart';
3+
// #enddocregion import
4+
5+
import 'hero_list_component.dart';
6+
import 'sales_tax_component.dart';
7+
8+
@Component(
9+
selector: 'my-app',
10+
template: '''
11+
<hero-list></hero-list>
12+
<sales-tax></sales-tax>''',
13+
directives: const [HeroListComponent, SalesTaxComponent])
14+
// #docregion export
15+
class AppComponent { }
Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,28 @@
1-
// #docregion
1+
import 'dart:async';
2+
23
import 'package:angular2/core.dart';
34

45
import 'hero.dart';
56
import 'logger_service.dart';
67

78
@Injectable()
89
class BackendService {
10+
static final _mockHeroes = [
11+
new Hero('Windstorm', 'Weather mastery'),
12+
new Hero('Mr. Nice', 'Killing them with kindness'),
13+
new Hero('Magneta', 'Manipulates metalic objects')
14+
];
15+
916
final Logger _logger;
10-
List getAll(type) {
11-
// TODO get from the database and return as a promise
12-
if (type == Hero) {
13-
return [
14-
new Hero('Windstorm', power: 'Weather mastery'),
15-
new Hero('Mr. Nice', power: 'Killing them with kindness'),
16-
new Hero('Magneta', power: 'Manipulates metalic objects')
17-
];
18-
}
19-
_logger.error('Cannot get object of this type');
20-
throw new ArgumentError("TODO: put log content here");
21-
}
2217

2318
BackendService(Logger this._logger);
19+
20+
Future<List> getAll(type) {
21+
// TODO get from the database
22+
if (type == Hero) return new Future.value(_mockHeroes);
23+
24+
var msg = 'Cannot get object of this type';
25+
_logger.error(msg);
26+
throw new Exception(msg);
27+
}
2428
}
Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
1-
// #docregion
21
class Hero {
32
static int _nextId = 1;
4-
int id;
5-
String name;
6-
String power;
3+
final int id;
4+
String name, power;
75

8-
Hero(this.name, {this.power}) {
9-
id = _nextId++;
10-
}
6+
Hero(this.name, [this.power = '']) : id = _nextId++;
117
}
Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1-
// #docregion
21
import 'package:angular2/core.dart';
32

43
import 'hero.dart';
54

6-
@Component(selector: 'hero-detail', templateUrl: 'hero_detail_component.html')
5+
@Component(
6+
selector: 'hero-detail',
7+
templateUrl: 'hero_detail_component.html')
78
class HeroDetailComponent {
8-
@Input() Hero hero;
9+
@Input()
10+
Hero hero;
911
}

public/docs/_examples/architecture/dart/lib/hero_detail_component.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
<h4>{{hero.name}} Detail</h4>
33
<div>Id: {{hero.id}}</div>
44
<div>Name:
5-
<!-- #docregion ng-model -->
6-
<input [(ngModel)]="hero.name"></div>
7-
<!-- #enddocregion ng-model -->
8-
<div>Power:<input [(ngModel)]="hero.power">
5+
<!-- #docregion ngModel -->
6+
<input [(ngModel)]="hero.name">
7+
<!-- #enddocregion ngModel -->
98
</div>
9+
<div>Power:<input [(ngModel)]="hero.power"></div>
Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,35 @@
1-
// #docplaster
21
import 'package:angular2/core.dart';
32

43
import 'hero.dart';
54
import 'hero_detail_component.dart';
65
import 'hero_service.dart';
76

87
// #docregion metadata
9-
// #docregion providers
108
@Component(
11-
// #enddocregion providers
129
selector: 'hero-list',
1310
templateUrl: 'hero_list_component.html',
1411
directives: const [HeroDetailComponent],
15-
// #docregion providers
16-
providers: const [HeroService])
17-
// #enddocregion providers
18-
// #enddocregion metadata
19-
/*
20-
// #docregion metadata, providers
21-
class HeroListComponent { ... }
22-
// #enddocregion metadata, providers
23-
*/
12+
// #docregion providers
13+
providers: const [HeroService]
14+
// #enddocregion providers
15+
)
2416
// #docregion class
25-
class HeroListComponent {
17+
class HeroListComponent implements OnInit {
18+
// #enddocregion metadata
2619
List<Hero> heroes;
2720
Hero selectedHero;
28-
// #docregion ctor
29-
HeroListComponent(HeroService heroService) {
30-
heroes = heroService.getHeroes();
21+
// #docregion ctor
22+
final HeroService _heroService;
23+
24+
HeroListComponent(this._heroService);
25+
// #enddocregion ctor
26+
27+
void ngOnInit() {
28+
heroes = _heroService.getHeroes();
3129
}
32-
// #enddocregion ctor
33-
selectHero(Hero hero) {
30+
31+
void selectHero(Hero hero) {
3432
selectedHero = hero;
3533
}
34+
// #docregion metadata
3635
}
37-
// #enddocregion class
Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
<!-- #docregion -->
22
<h2>Hero List</h2>
33

4-
<div *ngFor="let hero of heroes" (click)="selectHero(hero)">
5-
{{hero.name}}
6-
</div>
4+
<p><i>Pick a hero from the list</i></p>
5+
<ul>
6+
<li *ngFor="let hero of heroes" (click)="selectHero(hero)">
7+
{{hero.name}}
8+
</li>
9+
</ul>
710

811
<hero-detail *ngIf="selectedHero != null" [hero]="selectedHero"></hero-detail>
Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
<!--#docregion binding -->
2-
<div ... >{{hero.name}}</div>
3-
<hero-detail ... [hero]="selectedHero"></hero-detail>
4-
<div ... (click)="selectHero(hero)">...</div>
2+
<li>{{hero.name}}</li>
3+
<hero-detail [hero]="selectedHero"></hero-detail>
4+
<li (click)="selectHero(hero)"></li>
55
<!--#enddocregion binding -->
66

77
<!--#docregion structural -->
8-
<div *ngFor="let hero of heroes" ...>...</div>
9-
<hero-detail *ngIf="selectedHero != null" ...></hero-detail>
10-
<!--#enddocregion structural -->
8+
<li *ngFor="let hero of heroes"></li>
9+
<hero-detail *ngIf="selectedHero != null"></hero-detail>

public/docs/_examples/architecture/dart/lib/hero_service.dart

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,20 @@ import 'backend_service.dart';
44
import 'hero.dart';
55
import 'logger_service.dart';
66

7-
// #docregion class
87
@Injectable()
8+
// #docregion class
99
class HeroService {
1010
final BackendService _backendService;
1111
final Logger _logger;
12-
HeroService(Logger this._logger, BackendService this._backendService);
12+
final List<Hero> heroes = [];
13+
14+
HeroService(this._logger, this._backendService);
15+
1316
List<Hero> getHeroes() {
14-
List<Hero> heroes = _backendService.getAll(Hero);
15-
_logger.log('Got ${heroes.length} heroes from the server.');
17+
_backendService.getAll(Hero).then((heroes) {
18+
_logger.log('Fetched ${heroes.length} heroes.');
19+
this.heroes.addAll(heroes); // fill cache
20+
});
1621
return heroes;
1722
}
1823
}
19-
// #enddocregion class
Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,11 @@
1-
// #docregion
21
import 'dart:html';
32

43
import 'package:angular2/core.dart';
54

6-
/// A service for logging messages of various types.
7-
///
8-
/// We could switch this implementation to use package:logging.
95
@Injectable()
6+
// #docregion class
107
class Logger {
118
void log(Object msg) => window.console.log(msg);
12-
139
void error(Object msg) => window.console.error(msg);
14-
1510
void warn(Object msg) => window.console.warn(msg);
1611
}

0 commit comments

Comments
 (0)