chore: update to rc6 (#2177)
This commit is contained in:
parent
b2781d96dc
commit
0c962712b3
|
@ -633,6 +633,7 @@ gulp.task('build-dart-api-docs', ['_shred-api-examples', 'dartdoc'], function()
|
|||
return buildApiDocsForDart();
|
||||
});
|
||||
|
||||
// Using the --build flag will use systemjs.config.plunker.build.js (for preview builds)
|
||||
gulp.task('build-plunkers', ['_copy-example-boilerplate'], function() {
|
||||
regularPlunker.buildPlunkers(EXAMPLES_PATH, LIVE_EXAMPLES_PATH, { errFn: gutil.log, build: argv.build });
|
||||
return embeddedPlunker.buildPlunkers(EXAMPLES_PATH, LIVE_EXAMPLES_PATH, { errFn: gutil.log, build: argv.build });
|
||||
|
|
|
@ -17,7 +17,7 @@ import { Heroes } from './hero.service';
|
|||
template: `
|
||||
<ul>
|
||||
<li *ngFor="let hero of heroes"
|
||||
@shrinkOut="'in'">
|
||||
[@shrinkOut]="'in'">
|
||||
{{hero.name}}
|
||||
</li>
|
||||
</ul>
|
||||
|
|
|
@ -27,7 +27,7 @@ import { Heroes } from './hero.service';
|
|||
template: `
|
||||
<ul>
|
||||
<li *ngFor="let hero of heroes"
|
||||
@heroState="hero.state"
|
||||
[@heroState]="hero.state"
|
||||
(click)="hero.toggleState()">
|
||||
{{hero.name}}
|
||||
</li>
|
||||
|
|
|
@ -20,7 +20,7 @@ import { Heroes } from './hero.service';
|
|||
template: `
|
||||
<ul>
|
||||
<li *ngFor="let hero of heroes"
|
||||
@heroState="hero.state"
|
||||
[@heroState]="hero.state"
|
||||
(click)="hero.toggleState()">
|
||||
{{hero.name}}
|
||||
</li>
|
||||
|
|
|
@ -18,7 +18,7 @@ import { Heroes } from './hero.service';
|
|||
<ul>
|
||||
<li *ngFor="let hero of heroes"
|
||||
(click)="hero.toggleState()"
|
||||
@heroState="hero.state">
|
||||
[@heroState]="hero.state">
|
||||
{{hero.name}}
|
||||
</li>
|
||||
</ul>
|
||||
|
|
|
@ -17,7 +17,7 @@ import { Heroes } from './hero.service';
|
|||
template: `
|
||||
<ul>
|
||||
<li *ngFor="let hero of heroes"
|
||||
@flyInOut="'in'">
|
||||
[@flyInOut]="'in'">
|
||||
{{hero.name}}
|
||||
</li>
|
||||
</ul>
|
||||
|
|
|
@ -17,7 +17,7 @@ import { Heroes } from './hero.service';
|
|||
template: `
|
||||
<ul>
|
||||
<li *ngFor="let hero of heroes"
|
||||
@flyInOut="'in'">
|
||||
[@flyInOut]="'in'">
|
||||
{{hero.name}}
|
||||
</li>
|
||||
</ul>
|
||||
|
|
|
@ -19,7 +19,7 @@ import { Heroes } from './hero.service';
|
|||
template: `
|
||||
<ul>
|
||||
<li *ngFor="let hero of heroes"
|
||||
@heroState="hero.state"
|
||||
[@heroState]="hero.state"
|
||||
(click)="hero.toggleState()">
|
||||
{{hero.name}}
|
||||
</li>
|
||||
|
|
|
@ -17,7 +17,7 @@ import { Heroes } from './hero.service';
|
|||
template: `
|
||||
<ul>
|
||||
<li *ngFor="let hero of heroes"
|
||||
@flyInOut="'in'">
|
||||
[@flyInOut]="'in'">
|
||||
{{hero.name}}
|
||||
</li>
|
||||
</ul>
|
||||
|
|
|
@ -16,7 +16,7 @@ import { Heroes } from './hero.service';
|
|||
template: `
|
||||
<ul>
|
||||
<li *ngFor="let hero of heroes"
|
||||
@flyInOut="'in'"
|
||||
[@flyInOut]="'in'"
|
||||
(click)="hero.toggleState()">
|
||||
{{hero.name}}
|
||||
</li>
|
||||
|
|
|
@ -20,7 +20,7 @@ import { Heroes } from './hero.service';
|
|||
template: `
|
||||
<ul>
|
||||
<li *ngFor="let hero of heroes"
|
||||
@heroState="hero.state"
|
||||
[@heroState]="hero.state"
|
||||
(click)="hero.toggleState()">
|
||||
{{hero.name}}
|
||||
</li>
|
||||
|
|
|
@ -13,7 +13,7 @@ const HEROES = [
|
|||
export class BackendService {
|
||||
constructor(private logger: Logger) {}
|
||||
|
||||
getAll(type: Type): PromiseLike<any[]> {
|
||||
getAll(type: Type<any>): PromiseLike<any[]> {
|
||||
if (type === Hero) {
|
||||
// TODO get from the database
|
||||
return Promise.resolve<Hero[]>(HEROES);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { NgModule } from '@angular/core';
|
||||
import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
||||
import { BrowserModule } from '@angular/platform-browser';
|
||||
|
||||
import { AppComponent } from './app.component';
|
||||
|
@ -30,12 +30,17 @@ let directives: any[] = [
|
|||
VoteTakerComponent
|
||||
];
|
||||
|
||||
let schemas: any[] = [];
|
||||
|
||||
// Include Countdown examples
|
||||
// unless in e2e tests which they break.
|
||||
if (!/e2e/.test(location.search)) {
|
||||
console.log('adding countdown timer examples');
|
||||
directives.push(CountdownLocalVarParentComponent);
|
||||
directives.push(CountdownViewChildParentComponent);
|
||||
} else {
|
||||
// In e2e test use CUSTOM_ELEMENTS_SCHEMA to supress unknown element errors
|
||||
schemas.push(CUSTOM_ELEMENTS_SCHEMA);
|
||||
}
|
||||
|
||||
@NgModule({
|
||||
|
@ -43,6 +48,7 @@ if (!/e2e/.test(location.search)) {
|
|||
BrowserModule
|
||||
],
|
||||
declarations: directives,
|
||||
bootstrap: [ AppComponent ]
|
||||
bootstrap: [ AppComponent ],
|
||||
schemas: schemas
|
||||
})
|
||||
export class AppModule { }
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { browserDynamicPlatform } from '@angular/platform-browser-dynamic';
|
||||
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
|
||||
|
||||
import { AppModule } from './app.module';
|
||||
|
||||
browserDynamicPlatform().bootstrapModule(AppModule);
|
||||
platformBrowserDynamic().bootstrapModule(AppModule);
|
||||
|
|
|
@ -1,15 +1,12 @@
|
|||
// #docregion
|
||||
import { Component } from '@angular/core';
|
||||
|
||||
import { SomeAbsoluteComponent, SomeRelativeComponent } from './some.component';
|
||||
|
||||
@Component({
|
||||
selector: 'my-app',
|
||||
template:
|
||||
`<h1>Absolute & <i>Component-Relative</i> Paths</h1>
|
||||
<absolute-path></absolute-path>
|
||||
<relative-path></relative-path>
|
||||
`,
|
||||
directives: [SomeAbsoluteComponent, SomeRelativeComponent]
|
||||
`
|
||||
})
|
||||
export class AppComponent {}
|
||||
|
|
|
@ -2,13 +2,16 @@ import { NgModule } from '@angular/core';
|
|||
import { BrowserModule } from '@angular/platform-browser';
|
||||
|
||||
import { AppComponent } from './app.component';
|
||||
import { SomeAbsoluteComponent, SomeRelativeComponent } from './some.component';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
BrowserModule
|
||||
],
|
||||
declarations: [
|
||||
AppComponent
|
||||
AppComponent,
|
||||
SomeAbsoluteComponent,
|
||||
SomeRelativeComponent
|
||||
],
|
||||
bootstrap: [ AppComponent ]
|
||||
})
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
/* tslint:disable:*/
|
||||
// #docplaster
|
||||
// #docregion
|
||||
import { Component, forwardRef, Optional, provide, SkipSelf } from '@angular/core';
|
||||
import { Component, forwardRef, Optional, SkipSelf } from '@angular/core';
|
||||
|
||||
// A component base class (see AlexComponent)
|
||||
export abstract class Base { name = 'Count Basie'; }
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// #docregion
|
||||
import { browserDynamicPlatform } from '@angular/platform-browser-dynamic';
|
||||
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
|
||||
|
||||
import { AppModule } from './app.module';
|
||||
|
||||
browserDynamicPlatform().bootstrapModule(AppModule);
|
||||
platformBrowserDynamic().bootstrapModule(AppModule);
|
||||
|
|
|
@ -25,7 +25,7 @@ describe('TypeScript to Javascript tests', function () {
|
|||
it('should support optional, attribute, and query injections', function () {
|
||||
let app = element(by.css('hero-di-inject-additional'));
|
||||
let h1 = app.element(by.css('h1'));
|
||||
let okMsg = app.element(by.css('.ok-msg'));
|
||||
let okMsg = app.element(by.css('p'));
|
||||
|
||||
expect(h1.getText()).toBe('Tour of Heroes');
|
||||
app.element(by.buttonText('OK')).click();
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
template:
|
||||
'<h1>{{titlePrefix}} {{title}}</h1>' +
|
||||
'<button (click)="ok()">OK</button>' +
|
||||
'<ng-content></ng-content>'
|
||||
'<p>{{ msg }}</p>'
|
||||
}).Class({
|
||||
constructor: [
|
||||
[
|
||||
|
@ -14,20 +14,14 @@
|
|||
new ng.core.Inject('titlePrefix')
|
||||
],
|
||||
new ng.core.Attribute('title'),
|
||||
[
|
||||
new ng.core.Query('okMsg'),
|
||||
ng.core.ElementRef
|
||||
],
|
||||
function(titlePrefix, title, msg) {
|
||||
function(titlePrefix, title) {
|
||||
this.titlePrefix = titlePrefix;
|
||||
this.title = title;
|
||||
this.msg = msg;
|
||||
this.msg = '';
|
||||
}
|
||||
],
|
||||
ok: function() {
|
||||
var msgEl =
|
||||
this.msg.first.nativeElement;
|
||||
msgEl.textContent = 'OK!';
|
||||
this.msg = 'OK!';
|
||||
}
|
||||
});
|
||||
// #enddocregion
|
||||
|
@ -35,7 +29,6 @@
|
|||
var AppComponent = ng.core.Component({
|
||||
selector: 'hero-di-inject-additional',
|
||||
template: '<hero-title title="Tour of Heroes">' +
|
||||
'<span #okMsg class="ok-msg"></span>' +
|
||||
'</hero-title>'
|
||||
}).Class({
|
||||
constructor: function() { }
|
||||
|
|
|
@ -4,8 +4,8 @@
|
|||
// #enddocregion appimport
|
||||
|
||||
// #docregion ng2import
|
||||
var bootstrap =
|
||||
ng.platformBrowserDynamic.bootstrap;
|
||||
var platformBrowserDynamic =
|
||||
ng.platformBrowserDynamic.platformBrowserDynamic;
|
||||
var LocationStrategy =
|
||||
ng.common.LocationStrategy;
|
||||
var HashLocationStrategy =
|
||||
|
@ -17,20 +17,17 @@
|
|||
// #enddocregion appimport
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
var platformBrowserDynamic = ng.platformBrowserDynamic.platformBrowserDynamic();
|
||||
|
||||
platformBrowserDynamic.bootstrapModule(app.HeroesModule);
|
||||
platformBrowserDynamic.bootstrapModule(app.HeroesDslModule);
|
||||
platformBrowserDynamic.bootstrapModule(app.HeroesLifecycleModule);
|
||||
platformBrowserDynamic.bootstrapModule(app.HeroesDIModule);
|
||||
platformBrowserDynamic.bootstrapModule(app.HeroDIInlineModule);
|
||||
platformBrowserDynamic.bootstrapModule(app.HeroesDIInjectModule);
|
||||
platformBrowserDynamic.bootstrapModule(app.HeroesDIInjectModule2);
|
||||
platformBrowserDynamic.bootstrapModule(app.HeroesDIInjectAdditionalModule);
|
||||
platformBrowserDynamic.bootstrapModule(app.HeroesIOModule);
|
||||
platformBrowserDynamic.bootstrapModule(app.HeroesHostBindingsModule);
|
||||
|
||||
platformBrowserDynamic.bootstrapModule(app.HeroesQueriesModule);
|
||||
platformBrowserDynamic().bootstrapModule(app.HeroesModule);
|
||||
platformBrowserDynamic().bootstrapModule(app.HeroesDslModule);
|
||||
platformBrowserDynamic().bootstrapModule(app.HeroesLifecycleModule);
|
||||
platformBrowserDynamic().bootstrapModule(app.HeroesDIModule);
|
||||
platformBrowserDynamic().bootstrapModule(app.HeroDIInlineModule);
|
||||
platformBrowserDynamic().bootstrapModule(app.HeroesDIInjectModule);
|
||||
platformBrowserDynamic().bootstrapModule(app.HeroesDIInjectModule2);
|
||||
platformBrowserDynamic().bootstrapModule(app.HeroesDIInjectAdditionalModule);
|
||||
platformBrowserDynamic().bootstrapModule(app.HeroesIOModule);
|
||||
platformBrowserDynamic().bootstrapModule(app.HeroesHostBindingsModule);
|
||||
platformBrowserDynamic().bootstrapModule(app.HeroesQueriesModule);
|
||||
});
|
||||
|
||||
// #docregion appimport
|
||||
|
|
|
@ -1,11 +1,8 @@
|
|||
import {
|
||||
Attribute,
|
||||
Component,
|
||||
ElementRef,
|
||||
Inject,
|
||||
Optional,
|
||||
Query,
|
||||
QueryList,
|
||||
NgModule
|
||||
} from '@angular/core';
|
||||
import { BrowserModule } from '@angular/platform-browser';
|
||||
|
@ -16,24 +13,21 @@ import { BrowserModule } from '@angular/platform-browser';
|
|||
template: `
|
||||
<h1>{{titlePrefix}} {{title}}</h1>
|
||||
<button (click)="ok()">OK</button>
|
||||
<ng-content></ng-content>
|
||||
<p>{{ msg }}</p>
|
||||
`
|
||||
})
|
||||
class TitleComponent {
|
||||
private msg: string = '';
|
||||
constructor(
|
||||
@Inject('titlePrefix')
|
||||
@Optional()
|
||||
private titlePrefix: string,
|
||||
@Attribute('title')
|
||||
private title: string,
|
||||
@Query('okMsg')
|
||||
private msg: QueryList<ElementRef>) {
|
||||
private title: string) {
|
||||
}
|
||||
|
||||
ok() {
|
||||
let msgEl =
|
||||
this.msg.first.nativeElement;
|
||||
msgEl.textContent = 'OK!';
|
||||
this.msg = 'OK!';
|
||||
}
|
||||
}
|
||||
// #enddocregion
|
||||
|
@ -41,7 +35,6 @@ class TitleComponent {
|
|||
@Component({
|
||||
selector: 'hero-di-inject-additional',
|
||||
template: `<hero-title title="Tour of Heroes">
|
||||
<span #okMsg class="ok-msg"></span>
|
||||
</hero-title>`
|
||||
})
|
||||
class AppComponent { }
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
/* tslint:disable no-unused-variable */
|
||||
// #docregion ng2import
|
||||
import { bootstrap }
|
||||
from '@angular/platform-browser-dynamic';
|
||||
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
|
||||
import {
|
||||
LocationStrategy,
|
||||
HashLocationStrategy
|
||||
|
@ -12,8 +11,6 @@ import {
|
|||
import { HeroComponent } from './hero.component';
|
||||
// #enddocregion appimport
|
||||
|
||||
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
|
||||
|
||||
import { HeroesModule } from './hero.component';
|
||||
import { HeroesLifecycleModule } from './hero-lifecycle.component';
|
||||
import { HeroesDIModule } from './hero-di.component';
|
||||
|
|
|
@ -7,9 +7,21 @@ import { HeroesComponent } from './heroes/heroes.component';
|
|||
import { HeroListComponent } from './heroes/hero-list.component';
|
||||
import { InjectorComponent } from './injector.component';
|
||||
import { TestComponent } from './test.component';
|
||||
import { ProvidersComponent } from './providers.component';
|
||||
import { APP_CONFIG, HERO_DI_CONFIG } from './app.config';
|
||||
import { UserService } from './user.service';
|
||||
import {
|
||||
ProvidersComponent,
|
||||
Provider1Component,
|
||||
Provider3Component,
|
||||
Provider4Component,
|
||||
Provider5Component,
|
||||
Provider6aComponent,
|
||||
Provider6bComponent,
|
||||
Provider7Component,
|
||||
Provider8Component,
|
||||
Provider9Component,
|
||||
Provider10Component,
|
||||
} from './providers.component';
|
||||
|
||||
// #docregion ngmodule
|
||||
@NgModule({
|
||||
|
@ -22,7 +34,18 @@ import { UserService } from './user.service';
|
|||
HeroesComponent,
|
||||
HeroListComponent,
|
||||
InjectorComponent,
|
||||
TestComponent
|
||||
TestComponent,
|
||||
ProvidersComponent,
|
||||
Provider1Component,
|
||||
Provider3Component,
|
||||
Provider4Component,
|
||||
Provider5Component,
|
||||
Provider6aComponent,
|
||||
Provider6bComponent,
|
||||
Provider7Component,
|
||||
Provider8Component,
|
||||
Provider9Component,
|
||||
Provider10Component,
|
||||
],
|
||||
// #docregion ngmodule-providers
|
||||
providers: [
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { browserDynamicPlatform } from '@angular/platform-browser-dynamic';
|
||||
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
|
||||
import { AppModule } from './app.module';
|
||||
|
||||
// #docregion bootstrap
|
||||
browserDynamicPlatform().bootstrapModule(AppModule);
|
||||
platformBrowserDynamic().bootstrapModule(AppModule);
|
||||
// #enddocregion bootstrap
|
||||
|
|
|
@ -261,18 +261,6 @@ export class Provider10Component implements OnInit {
|
|||
<div id="p8"><provider-8></provider-8></div>
|
||||
<div id="p9"><provider-9></provider-9></div>
|
||||
<div id="p10"><provider-10></provider-10></div>
|
||||
`,
|
||||
directives: [
|
||||
Provider1Component,
|
||||
Provider3Component,
|
||||
Provider4Component,
|
||||
Provider5Component,
|
||||
Provider6aComponent,
|
||||
Provider6bComponent,
|
||||
Provider7Component,
|
||||
Provider8Component,
|
||||
Provider9Component,
|
||||
Provider10Component,
|
||||
],
|
||||
`
|
||||
})
|
||||
export class ProvidersComponent { }
|
||||
|
|
|
@ -1,18 +0,0 @@
|
|||
/* tslint:disable */
|
||||
import { bootstrap } from '@angular/platform-browser-dynamic';
|
||||
|
||||
import { AppCtorComponent } from './app-ctor.component';
|
||||
import { AppComponent as v1 } from './app.component.1';
|
||||
import { AppComponent as v2 } from './app.component.2';
|
||||
import { AppComponent as v3 } from './app.component.3';
|
||||
|
||||
import { AppComponent as final } from './app.component';
|
||||
|
||||
// pick one
|
||||
// bootstrap(v1);
|
||||
// bootstrap(v2);
|
||||
// bootstrap(v3);
|
||||
bootstrap(final);
|
||||
|
||||
// for doc testing
|
||||
bootstrap(AppCtorComponent);
|
|
@ -11,7 +11,7 @@
|
|||
<!-- Polyfill(s) for older browsers -->
|
||||
<script src="https://unpkg.com/core-js/client/shim.min.js"></script>
|
||||
|
||||
<script src="https://unpkg.com/zone.js@0.6.12"></script>
|
||||
<script src="https://unpkg.com/zone.js@0.6.17"></script>
|
||||
<script src="https://unpkg.com/reflect-metadata@0.1.3"></script>
|
||||
<script src="https://unpkg.com/systemjs@0.19.27/dist/system.src.js"></script>
|
||||
<script src="https://unpkg.com/typescript@1.8.10/lib/typescript.js"></script>
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
// #docregion
|
||||
import { NgModule } from '@angular/core';
|
||||
import { BrowserModule } from '@angular/platform-browser';
|
||||
|
||||
import { DiDemoComponent } from './di_demo';
|
||||
import { UiTabsComponent, UiPaneDirective } from './ui_tabs';
|
||||
|
||||
@NgModule({
|
||||
imports: [ BrowserModule ],
|
||||
declarations: [
|
||||
DiDemoComponent,
|
||||
UiTabsComponent,
|
||||
UiPaneDirective
|
||||
],
|
||||
bootstrap: [ DiDemoComponent ]
|
||||
})
|
||||
export class AppModule { }
|
|
@ -1,8 +1,6 @@
|
|||
// #docregion
|
||||
import { Component } from '@angular/core';
|
||||
|
||||
import { UiTabsComponent, UiPaneDirective } from './ui_tabs';
|
||||
|
||||
class Detail {
|
||||
title: string;
|
||||
text: string;
|
||||
|
@ -26,8 +24,7 @@ class Detail {
|
|||
</ui-tabs>
|
||||
<hr>
|
||||
<button class="btn" (click)="addDetail()">Add Detail</button>
|
||||
`,
|
||||
directives: [UiTabsComponent, UiPaneDirective]
|
||||
`
|
||||
})
|
||||
export class DiDemoComponent {
|
||||
details: Detail[] = [];
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// #docregion
|
||||
import { bootstrap } from '@angular/platform-browser-dynamic';
|
||||
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
|
||||
|
||||
import { DiDemoComponent } from './di_demo';
|
||||
import { AppModule } from './app.module';
|
||||
|
||||
bootstrap(DiDemoComponent);
|
||||
platformBrowserDynamic().bootstrapModule(AppModule);
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
<!-- Polyfill(s) for older browsers -->
|
||||
<script src="https://unpkg.com/core-js/client/shim.min.js"></script>
|
||||
|
||||
<script src="https://unpkg.com/zone.js@0.6.12"></script>
|
||||
<script src="https://unpkg.com/zone.js@0.6.17"></script>
|
||||
<script src="https://unpkg.com/reflect-metadata@0.1.3"></script>
|
||||
<script src="https://unpkg.com/systemjs@0.19.27/dist/system.src.js"></script>
|
||||
<script src="https://unpkg.com/typescript@1.8.10/lib/typescript.js"></script>
|
||||
|
|
|
@ -4,13 +4,19 @@ import { BrowserModule } from '@angular/platform-browser';
|
|||
import { FormsModule } from '@angular/forms';
|
||||
|
||||
import { TodoAppComponent } from './todo_app';
|
||||
import { TodoListComponent } from './todo_list';
|
||||
import { TodoFormComponent } from './todo_form';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
BrowserModule,
|
||||
FormsModule
|
||||
],
|
||||
declarations: [ TodoAppComponent ],
|
||||
declarations: [
|
||||
TodoAppComponent,
|
||||
TodoListComponent,
|
||||
TodoFormComponent
|
||||
],
|
||||
bootstrap: [ TodoAppComponent ]
|
||||
})
|
||||
export class AppModule { }
|
||||
|
|
|
@ -2,8 +2,6 @@
|
|||
import { Component } from '@angular/core';
|
||||
|
||||
import { Todo } from './todo';
|
||||
import { TodoListComponent } from './todo_list';
|
||||
import { TodoFormComponent } from './todo_form';
|
||||
|
||||
@Component({
|
||||
selector: 'todo-app',
|
||||
|
@ -14,8 +12,7 @@ import { TodoFormComponent } from './todo_form';
|
|||
|
||||
<todo-list [todos]="todos"></todo-list>
|
||||
<todo-form (newTask)="addTask($event)"></todo-form>`,
|
||||
styles: ['a { cursor: pointer; cursor: hand; }'],
|
||||
directives: [TodoListComponent, TodoFormComponent]
|
||||
styles: ['a { cursor: pointer; cursor: hand; }']
|
||||
})
|
||||
export class TodoAppComponent {
|
||||
todos: Todo[] = [
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
<!-- Polyfill(s) for older browsers -->
|
||||
<script src="https://unpkg.com/core-js/client/shim.min.js"></script>
|
||||
|
||||
<script src="https://unpkg.com/zone.js@0.6.12"></script>
|
||||
<script src="https://unpkg.com/zone.js@0.6.17"></script>
|
||||
<script src="https://unpkg.com/reflect-metadata@0.1.3"></script>
|
||||
<script src="https://unpkg.com/systemjs@0.19.27/dist/system.src.js"></script>
|
||||
<script src="https://unpkg.com/typescript@1.8.10/lib/typescript.js"></script>
|
||||
|
|
|
@ -66,8 +66,8 @@ describe('Lifecycle hooks', function () {
|
|||
|
||||
expect(titleEle.getText()).toContain('Windstorm can sing');
|
||||
changeLogEles.count().then(function(count) {
|
||||
// Empirically 5 messages to start
|
||||
expect(count).toBeGreaterThan(4, 'should start with some messages');
|
||||
// 3 messages to start
|
||||
expect(count).toEqual(3, 'should start with 3 messages');
|
||||
logCount = count;
|
||||
// heroNameInputEle.sendKeys('-foo-').then(function () {
|
||||
return sendKeys(heroNameInputEle, '-foo-');
|
||||
|
@ -82,8 +82,7 @@ describe('Lifecycle hooks', function () {
|
|||
return sendKeys(powerInputEle, '-bar-');
|
||||
}).then(function () {
|
||||
expect(titleEle.getText()).toContain('Windstorm-foo- can sing-bar-');
|
||||
// 7 == 2 previously + length of '-bar-'
|
||||
expect(changeLogEles.count()).toEqual(logCount + 11, 'should add 11 more messages');
|
||||
expect(changeLogEles.count()).toEqual(logCount + 6, 'should add 6 more messages');
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* tslint:disable:forin */
|
||||
// #docregion
|
||||
import { Component, DoCheck, Input, OnChanges, SimpleChange, ViewChild } from '@angular/core';
|
||||
import { Component, DoCheck, Input, ViewChild } from '@angular/core';
|
||||
|
||||
class Hero {
|
||||
constructor(public name: string) {}
|
||||
|
@ -21,7 +21,7 @@ class Hero {
|
|||
'p {background: Yellow; padding: 8px; margin-top: 8px}'
|
||||
]
|
||||
})
|
||||
export class DoCheckComponent implements DoCheck, OnChanges {
|
||||
export class DoCheckComponent implements DoCheck {
|
||||
@Input() hero: Hero;
|
||||
@Input() power: string;
|
||||
|
||||
|
@ -66,16 +66,6 @@ export class DoCheckComponent implements DoCheck, OnChanges {
|
|||
}
|
||||
// #enddocregion ng-do-check
|
||||
|
||||
// Copied from OnChangesComponent
|
||||
ngOnChanges(changes: {[propertyName: string]: SimpleChange}) {
|
||||
for (let propName in changes) {
|
||||
let chng = changes[propName];
|
||||
let cur = JSON.stringify(chng.currentValue);
|
||||
let prev = JSON.stringify(chng.previousValue);
|
||||
this.changeLog.push(`OnChanges: ${propName}: currentValue = ${cur}, previousValue = ${prev}`);
|
||||
}
|
||||
}
|
||||
|
||||
reset() {
|
||||
this.changeDetected = true;
|
||||
this.changeLog.length = 0;
|
||||
|
|
|
@ -25,24 +25,22 @@
|
|||
"author": "",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"@angular/common": "2.0.0-rc.5",
|
||||
"@angular/compiler": "2.0.0-rc.5",
|
||||
"@angular/compiler-cli": "0.5.0",
|
||||
"@angular/core": "2.0.0-rc.5",
|
||||
"@angular/forms": "0.3.0",
|
||||
"@angular/http": "2.0.0-rc.5",
|
||||
"@angular/platform-browser": "2.0.0-rc.5",
|
||||
"@angular/platform-browser-dynamic": "2.0.0-rc.5",
|
||||
"@angular/router": "3.0.0-rc.1",
|
||||
"@angular/router-deprecated": "2.0.0-rc.2",
|
||||
"@angular/upgrade": "2.0.0-rc.5",
|
||||
"angular2-in-memory-web-api": "0.0.17",
|
||||
"@angular/common": "2.0.0-rc.6",
|
||||
"@angular/compiler": "2.0.0-rc.6",
|
||||
"@angular/core": "2.0.0-rc.6",
|
||||
"@angular/forms": "2.0.0-rc.6",
|
||||
"@angular/http": "2.0.0-rc.6",
|
||||
"@angular/platform-browser": "2.0.0-rc.6",
|
||||
"@angular/platform-browser-dynamic": "2.0.0-rc.6",
|
||||
"@angular/router": "3.0.0-rc.2",
|
||||
"@angular/upgrade": "2.0.0-rc.6",
|
||||
"angular2-in-memory-web-api": "0.0.18",
|
||||
"bootstrap": "^3.3.6",
|
||||
"core-js": "^2.4.0",
|
||||
"core-js": "^2.4.1",
|
||||
"reflect-metadata": "^0.1.3",
|
||||
"rxjs": "5.0.0-beta.6",
|
||||
"rxjs": "5.0.0-beta.11",
|
||||
"systemjs": "0.19.27",
|
||||
"zone.js": "^0.6.12"
|
||||
"zone.js": "^0.6.17"
|
||||
},
|
||||
"devDependencies": {
|
||||
"angular-cli": "^1.0.0-beta.5",
|
||||
|
|
|
@ -7,23 +7,23 @@
|
|||
},
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"@angular/common": "2.0.0-rc.5",
|
||||
"@angular/compiler": "2.0.0-rc.5",
|
||||
"@angular/core": "2.0.0-rc.5",
|
||||
"@angular/forms": "0.3.0",
|
||||
"@angular/http": "2.0.0-rc.5",
|
||||
"@angular/platform-browser": "2.0.0-rc.5",
|
||||
"@angular/platform-browser-dynamic": "2.0.0-rc.5",
|
||||
"@angular/router": "3.0.0-rc.1",
|
||||
"@angular/common": "2.0.0-rc.6",
|
||||
"@angular/compiler": "2.0.0-rc.6",
|
||||
"@angular/core": "2.0.0-rc.6",
|
||||
"@angular/forms": "2.0.0-rc.6",
|
||||
"@angular/http": "2.0.0-rc.6",
|
||||
"@angular/platform-browser": "2.0.0-rc.6",
|
||||
"@angular/platform-browser-dynamic": "2.0.0-rc.6",
|
||||
"@angular/router": "3.0.0-rc.2",
|
||||
"@angular/router-deprecated": "2.0.0-rc.2",
|
||||
"@angular/upgrade": "2.0.0-rc.5",
|
||||
"@angular/upgrade": "2.0.0-rc.6",
|
||||
|
||||
"core-js": "^2.4.0",
|
||||
"core-js": "^2.4.1",
|
||||
"reflect-metadata": "0.1.3",
|
||||
"rxjs": "5.0.0-beta.6",
|
||||
"zone.js": "0.6.12",
|
||||
"rxjs": "5.0.0-beta.11",
|
||||
"zone.js": "0.6.17",
|
||||
|
||||
"angular2-in-memory-web-api": "0.0.15",
|
||||
"angular2-in-memory-web-api": "0.0.18",
|
||||
"bootstrap": "^3.3.6"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
|
|
@ -11,24 +11,24 @@
|
|||
},
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"@angular/common": "2.0.0-rc.5",
|
||||
"@angular/compiler": "2.0.0-rc.5",
|
||||
"@angular/common": "2.0.0-rc.6",
|
||||
"@angular/compiler": "2.0.0-rc.6",
|
||||
"@angular/compiler-cli": "0.5.0",
|
||||
"@angular/core": "2.0.0-rc.5",
|
||||
"@angular/forms": "0.3.0",
|
||||
"@angular/http": "2.0.0-rc.5",
|
||||
"@angular/platform-browser": "2.0.0-rc.5",
|
||||
"@angular/platform-browser-dynamic": "2.0.0-rc.5",
|
||||
"@angular/router": "3.0.0-rc.1",
|
||||
"@angular/upgrade": "2.0.0-rc.5",
|
||||
"@angular/core": "2.0.0-rc.6",
|
||||
"@angular/forms": "2.0.0-rc.6",
|
||||
"@angular/http": "2.0.0-rc.6",
|
||||
"@angular/platform-browser": "2.0.0-rc.6",
|
||||
"@angular/platform-browser-dynamic": "2.0.0-rc.6",
|
||||
"@angular/router": "3.0.0-rc.2",
|
||||
"@angular/upgrade": "2.0.0-rc.6",
|
||||
|
||||
"core-js": "^2.4.0",
|
||||
"core-js": "^2.4.1",
|
||||
"reflect-metadata": "^0.1.3",
|
||||
"rxjs": "5.0.0-beta.6",
|
||||
"rxjs": "5.0.0-beta.11",
|
||||
"systemjs": "0.19.27",
|
||||
"zone.js": "^0.6.12",
|
||||
"zone.js": "^0.6.17",
|
||||
|
||||
"angular2-in-memory-web-api": "0.0.17",
|
||||
"angular2-in-memory-web-api": "0.0.18",
|
||||
"bootstrap": "^3.3.6"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"globalDependencies": {
|
||||
"core-js": "registry:dt/core-js#0.0.0+20160602141332",
|
||||
"core-js": "registry:dt/core-js#0.0.0+20160725163759",
|
||||
"jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
|
||||
"node": "registry:dt/node#6.0.0+20160807145350"
|
||||
"node": "registry:dt/node#6.0.0+20160831021119"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
// #docplaster
|
||||
// #docregion
|
||||
import { Component } from '@angular/core';
|
||||
import { DomSanitizationService, SafeResourceUrl, SafeUrl } from '@angular/platform-browser';
|
||||
import { DomSanitizer, SafeResourceUrl, SafeUrl } from '@angular/platform-browser';
|
||||
|
||||
@Component({
|
||||
selector: 'bypass-security',
|
||||
|
@ -14,7 +14,7 @@ export class BypassSecurityComponent {
|
|||
videoUrl: SafeResourceUrl;
|
||||
|
||||
// #docregion trust-url
|
||||
constructor(private sanitizer: DomSanitizationService) {
|
||||
constructor(private sanitizer: DomSanitizer) {
|
||||
// javascript: URLs are dangerous if attacker controlled.
|
||||
// Angular sanitizes them in data binding, but we can
|
||||
// explicitly tell Angular to trust this value:
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { NgModule } from '@angular/core';
|
||||
import { browserDynamicPlatform } from '@angular/platform-browser-dynamic';
|
||||
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
|
||||
import { BrowserModule } from '@angular/platform-browser';
|
||||
|
||||
import { HttpModule } from '@angular/http';
|
||||
|
@ -91,6 +91,6 @@ const moduleMetadata = {
|
|||
@NgModule(moduleMetadata)
|
||||
class MainModule { }
|
||||
|
||||
browserDynamicPlatform().bootstrapModule(MainModule);
|
||||
platformBrowserDynamic().bootstrapModule(MainModule);
|
||||
|
||||
|
||||
|
|
|
@ -5,12 +5,6 @@
|
|||
* Adjust as necessary for your application needs.
|
||||
*/
|
||||
(function(global) {
|
||||
|
||||
var ngVer = '@2.0.0-rc.5'; // lock in the angular package version; do not let it float to current!
|
||||
var routerVer = '@3.0.0-rc.1'; // lock router version
|
||||
var formsVer = '@0.3.0'; // lock forms version
|
||||
var routerDeprecatedVer = '@2.0.0-rc.2'; // temporarily until we update all the guides
|
||||
|
||||
//map tells the System loader where to look for things
|
||||
var map = {
|
||||
'app': 'app',
|
||||
|
@ -25,7 +19,7 @@
|
|||
'@angular/platform-browser-dynamic': 'https://cdn.rawgit.com/angular/platform-browser-dynamic-builds/master',
|
||||
'@angular/router': 'https://cdn.rawgit.com/angular/router-builds/master',
|
||||
|
||||
'rxjs': 'https://unpkg.com/rxjs@5.0.0-beta.6',
|
||||
'rxjs': 'https://unpkg.com/rxjs@5.0.0-beta.11',
|
||||
'ts': 'https://unpkg.com/plugin-typescript@4.0.10/lib/plugin.js',
|
||||
'typescript': 'https://unpkg.com/typescript@1.9.0-dev.20160409/lib/typescript.js',
|
||||
|
||||
|
|
|
@ -5,9 +5,8 @@
|
|||
*/
|
||||
(function(global) {
|
||||
|
||||
var ngVer = '@2.0.0-rc.5'; // lock in the angular package version; do not let it float to current!
|
||||
var routerVer = '@3.0.0-rc.1'; // lock router version
|
||||
var formsVer = '@0.3.0'; // lock forms version
|
||||
var ngVer = '@2.0.0-rc.6'; // lock in the angular package version; do not let it float to current!
|
||||
var routerVer = '@3.0.0-rc.2'; // lock router version
|
||||
var routerDeprecatedVer = '@2.0.0-rc.2'; // temporarily until we update all the guides
|
||||
|
||||
//map tells the System loader where to look for things
|
||||
|
@ -16,10 +15,9 @@
|
|||
|
||||
'@angular': 'https://unpkg.com/@angular', // sufficient if we didn't pin the version
|
||||
'@angular/router': 'https://unpkg.com/@angular/router' + routerVer,
|
||||
'@angular/forms': 'https://unpkg.com/@angular/forms' + formsVer,
|
||||
'@angular/router-deprecated': 'https://unpkg.com/@angular/router-deprecated' + routerDeprecatedVer,
|
||||
'angular2-in-memory-web-api': 'https://unpkg.com/angular2-in-memory-web-api', // get latest
|
||||
'rxjs': 'https://unpkg.com/rxjs@5.0.0-beta.6',
|
||||
'rxjs': 'https://unpkg.com/rxjs@5.0.0-beta.11',
|
||||
'ts': 'https://unpkg.com/plugin-typescript@4.0.10/lib/plugin.js',
|
||||
'typescript': 'https://unpkg.com/typescript@1.9.0-dev.20160409/lib/typescript.js',
|
||||
};
|
||||
|
@ -35,6 +33,7 @@
|
|||
'common',
|
||||
'compiler',
|
||||
'core',
|
||||
'forms',
|
||||
'http',
|
||||
'platform-browser',
|
||||
'platform-browser-dynamic',
|
||||
|
@ -48,7 +47,7 @@
|
|||
});
|
||||
|
||||
// Add package entries for angular packages
|
||||
ngPackageNames.concat(['forms', 'router', 'router-deprecated']).forEach(function(pkgName) {
|
||||
ngPackageNames.concat(['router', 'router-deprecated']).forEach(function(pkgName) {
|
||||
|
||||
// Bundled (~40 requests):
|
||||
packages['@angular/'+pkgName] = { main: '/bundles/' + pkgName + '.umd.js' };
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { browserDynamicPlatform } from '@angular/platform-browser-dynamic';
|
||||
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
|
||||
|
||||
import { AppModule } from './app.module';
|
||||
|
||||
browserDynamicPlatform().bootstrapModule(AppModule);
|
||||
platformBrowserDynamic().bootstrapModule(AppModule);
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"globalDependencies": {
|
||||
"core-js": "registry:dt/core-js#0.0.0+20160602141332",
|
||||
"core-js": "registry:dt/core-js#0.0.0+20160725163759",
|
||||
"jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
|
||||
"node": "registry:dt/node#6.0.0+20160807145350"
|
||||
"node": "registry:dt/node#6.0.0+20160831021119"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,18 +10,17 @@
|
|||
},
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@angular/common": "2.0.0-rc.5",
|
||||
"@angular/compiler": "2.0.0-rc.5",
|
||||
"@angular/core": "2.0.0-rc.5",
|
||||
"@angular/forms": "0.3.0",
|
||||
"@angular/http": "2.0.0-rc.5",
|
||||
"@angular/platform-browser": "2.0.0-rc.5",
|
||||
"@angular/platform-browser-dynamic": "2.0.0-rc.5",
|
||||
"@angular/router": "3.0.0-rc.1",
|
||||
"core-js": "^2.4.0",
|
||||
"reflect-metadata": "0.1.2",
|
||||
"rxjs": "5.0.0-beta.6",
|
||||
"zone.js": "0.6.12"
|
||||
"@angular/common": "2.0.0-rc.6",
|
||||
"@angular/compiler": "2.0.0-rc.6",
|
||||
"@angular/core": "2.0.0-rc.6",
|
||||
"@angular/forms": "2.0.0-rc.6",
|
||||
"@angular/http": "2.0.0-rc.6",
|
||||
"@angular/platform-browser": "2.0.0-rc.6",
|
||||
"@angular/platform-browser-dynamic": "2.0.0-rc.6",
|
||||
"@angular/router": "3.0.0-rc.2",
|
||||
"core-js": "^2.4.1",
|
||||
"rxjs": "5.0.0-beta.11",
|
||||
"zone.js": "^0.6.17"
|
||||
},
|
||||
"devDependencies": {
|
||||
"angular2-template-loader": "^0.4.0",
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"globalDependencies": {
|
||||
"core-js": "registry:dt/core-js#0.0.0+20160602141332",
|
||||
"core-js": "registry:dt/core-js#0.0.0+20160725163759",
|
||||
"jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
|
||||
"node": "registry:dt/node#6.0.0+20160807145350"
|
||||
"node": "registry:dt/node#6.0.0+20160831021119"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
"icon": "home",
|
||||
"title": "Angular Docs",
|
||||
"menuTitle": "Docs Home",
|
||||
"banner": "Welcome to <b>Angular in JavaScript</b>! The current Angular 2 release is <b>rc.5</b>. Please consult the <a href='https://github.com/angular/angular/blob/master/CHANGELOG.md' target='_blank'> Change Log</a> about recent enhancements, fixes, and breaking changes."
|
||||
"banner": "Welcome to <b>Angular in JavaScript</b>! The current Angular 2 release is <b>rc.6</b>. Please consult the <a href='https://github.com/angular/angular/blob/master/CHANGELOG.md' target='_blank'> Change Log</a> about recent enhancements, fixes, and breaking changes."
|
||||
},
|
||||
|
||||
"quickstart": {
|
||||
|
|
|
@ -365,8 +365,7 @@ table(width="100%")
|
|||
To achieve the same effect in JavaScript, use the constructor array notation
|
||||
in which the injection information precedes the constructor function itself.
|
||||
|
||||
Use the injection support functions `Attribute`, `Host`, `Optional`, `Self`, `SkipSelf`,
|
||||
`Query` and `ViewQuery` to qualify dependency injection behavior.
|
||||
Use the injection support functions `Attribute`, `Host`, `Optional`, `Self`, `SkipSelf` to qualify dependency injection behavior.
|
||||
|
||||
Use a nested array to combine injection functions.
|
||||
|
||||
|
|
|
@ -157,7 +157,7 @@ h2#bypass-security-apis Trusting Safe Values
|
|||
introduce a security vulnerability into your application. If in doubt, find a professional
|
||||
security reviewer.
|
||||
|
||||
You can mark a value as trusted by injecting `DomSanitizationService`, and calling one of the
|
||||
You can mark a value as trusted by injecting `DomSanitizer`, and calling one of the
|
||||
following methods.
|
||||
|
||||
* `bypassSecurityTrustHtml`
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
"icon": "home",
|
||||
"title": "Angular Docs",
|
||||
"menuTitle": "Docs Home",
|
||||
"banner": "Welcome to <b>Angular in TypeScript</b>! The current Angular 2 release is <b>rc.5</b>. Please consult the <a href='https://github.com/angular/angular/blob/master/CHANGELOG.md' target='_blank'> Change Log</a> about recent enhancements, fixes, and breaking changes."
|
||||
"banner": "Welcome to <b>Angular in TypeScript</b>! The current Angular 2 release is <b>rc.6</b>. Please consult the <a href='https://github.com/angular/angular/blob/master/CHANGELOG.md' target='_blank'> Change Log</a> about recent enhancements, fixes, and breaking changes."
|
||||
},
|
||||
|
||||
"cli-quickstart": {
|
||||
|
|
|
@ -69,7 +69,7 @@ figure
|
|||
|
||||
:marked
|
||||
We now have an animation defined but it is not yet used anywhere. We can change that by
|
||||
attaching it to one or more elements in the component's template using the "`@triggerName`"
|
||||
attaching it to one or more elements in the component's template using the "`[@triggerName]`"
|
||||
syntax:
|
||||
|
||||
+makeExample('animations/ts/app/hero-list-basic.component.ts', 'template')(format=".")
|
||||
|
|
|
@ -157,7 +157,7 @@ h2#bypass-security-apis Trusting Safe Values
|
|||
introduce a security vulnerability into your application. If in doubt, find a professional
|
||||
security reviewer.
|
||||
|
||||
You can mark a value as trusted by injecting `DomSanitizationService`, and calling one of the
|
||||
You can mark a value as trusted by injecting `DomSanitizer`, and calling one of the
|
||||
following methods.
|
||||
|
||||
* `bypassSecurityTrustHtml`
|
||||
|
|
|
@ -41,7 +41,7 @@ var _rxData = [
|
|||
{
|
||||
pattern: 'script',
|
||||
from: 'node_modules/zone.js/dist/zone.js',
|
||||
to: 'https://unpkg.com/zone.js@0.6.12?main=browser'
|
||||
to: 'https://unpkg.com/zone.js@0.6.17?main=browser'
|
||||
},
|
||||
{
|
||||
pattern: 'script',
|
||||
|
@ -51,7 +51,7 @@ var _rxData = [
|
|||
{
|
||||
pattern: 'script',
|
||||
from: 'node_modules/rxjs/bundles/Rx.umd.js',
|
||||
to: 'https://unpkg.com/rxjs@5.0.0-beta.6/bundles/Rx.umd.js'
|
||||
to: 'https://unpkg.com/rxjs@5.0.0-beta.11/bundles/Rx.umd.js'
|
||||
},
|
||||
{
|
||||
pattern: 'script',
|
||||
|
|
Loading…
Reference in New Issue