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

Commit 5a9922c

Browse files
committed
docs(cb-ts-to-js): add cookbook about applying TypeScript examples to ES5
1 parent 4452163 commit 5a9922c

27 files changed

+733
-0
lines changed
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
describe('TypeScript to Javascript tests', function () {
2+
3+
beforeAll(function () {
4+
browser.get('');
5+
});
6+
7+
it('should display the basic component example', function () {
8+
testTag('my-app', 'Hello World');
9+
});
10+
11+
it('should display the component example with lifecycle methods', function () {
12+
testTag('my-app-lifecycle', 'Hello World');
13+
});
14+
15+
it('should display component with DI example', function () {
16+
testTag('my-app-di', 'Hello World');
17+
});
18+
19+
it('should display component with DI using @Inject example', function () {
20+
testTag('my-app-di-inject', 'Hello World');
21+
});
22+
23+
it('should display component with DI using @Optional example', function () {
24+
testTag('my-app-di-inject-optional', 'Hello');
25+
});
26+
27+
function testTag(selector, expectedText) {
28+
var component = element(by.css(selector));
29+
expect(component.getText()).toBe(expectedText);
30+
}
31+
32+
});
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
(function(app) {
2+
3+
// #docregion
4+
function AppComponent(message) {
5+
this.message = message;
6+
}
7+
AppComponent.parameters = [
8+
[
9+
new ng.core.Optional(),
10+
new ng.core.Inject('message')
11+
]
12+
];
13+
AppComponent.annotations = [
14+
new ng.core.Component({
15+
selector: 'my-app-di-inject-optional',
16+
template: '<h1>Hello {{message}}</h1>'
17+
})
18+
];
19+
// #enddocregion
20+
app.AppDIInjectOptionalComponent = AppComponent;
21+
22+
})(window.app = window.app || {});
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
(function(app) {
2+
3+
// #docregion
4+
function AppComponent(message) {
5+
this.message = message;
6+
}
7+
AppComponent.parameters = [
8+
new ng.core.Inject('message')
9+
];
10+
AppComponent.annotations = [
11+
new ng.core.Component({
12+
selector: 'my-app-di-inject',
13+
template: '<h1>Hello {{message}}</h1>'
14+
})
15+
];
16+
// #enddocregion
17+
app.AppDIInjectComponent = AppComponent;
18+
19+
})(window.app = window.app || {});
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
(function(app) {
2+
// #docregion
3+
var AppComponent = ng.core.Component({
4+
selector: 'my-app-di-inline',
5+
template: '<h1>Hello {{message}}</h1>'
6+
})
7+
.Class({
8+
constructor:
9+
[app.DataService, function(service) {
10+
this.message = service.getMessage();
11+
}]
12+
});
13+
// #enddocregion
14+
app.AppDIInlineComponent = AppComponent;
15+
})(window.app = window.app || {});
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
(function(app) {
2+
3+
// #docregion
4+
function AppComponent(dataService) {
5+
this.message = dataService.getMessage();
6+
}
7+
AppComponent.parameters = [
8+
app.DataService
9+
];
10+
AppComponent.annotations = [
11+
new ng.core.Component({
12+
selector: 'my-app-di',
13+
template: '<h1>Hello {{message}}</h1>'
14+
})
15+
];
16+
// #enddocregion
17+
app.AppDIComponent = AppComponent;
18+
19+
})(window.app = window.app || {});
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
(function(app) {
2+
3+
// #docregion component
4+
var AppComponent = ng.core.Component({
5+
selector: 'my-app-2',
6+
template:
7+
'<h1>Hello {{getMessage()}}</h1>',
8+
})
9+
.Class({
10+
constructor: function() {
11+
},
12+
getMessage: function() {
13+
return 'World';
14+
}
15+
});
16+
// #enddocregion component
17+
18+
app.AppComponentDsl = AppComponent;
19+
20+
})(window.app = window.app || {});
21+
// #enddocregion appexport
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
(function(app) {
2+
// #docregion
3+
function AppComponent() {
4+
}
5+
// #enddocregion
6+
AppComponent.annotations = [
7+
new ng.core.Component({
8+
selector: 'my-app-lifecycle',
9+
template: '<h1>Hello {{message}}</h1>'
10+
})
11+
];
12+
// #docregion
13+
AppComponent.prototype.ngOnInit =
14+
function() {
15+
this.message = 'World';
16+
};
17+
// #enddocregion
18+
19+
app.AppLifecycleComponent = AppComponent;
20+
21+
})(window.app = window.app || {});
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
// #docregion appexport
2+
(function(app) {
3+
// #enddocregion appexport
4+
5+
// #docregion metadata
6+
// #docregion appexport
7+
// #docregion constructorproto
8+
function AppComponent() {
9+
}
10+
// #enddocregion constructorproto
11+
// #enddocregion appexport
12+
AppComponent.annotations = [
13+
new ng.core.Component({
14+
selector: 'my-app',
15+
template:
16+
'<h1>Hello {{getMessage()}}</h1>'
17+
})
18+
];
19+
// #docregion constructorproto
20+
AppComponent.prototype.getMessage =
21+
function() {
22+
return 'World';
23+
};
24+
// #enddocregion constructorproto
25+
// #enddocregion metadata
26+
27+
// #docregion appexport
28+
app.AppComponent = AppComponent;
29+
30+
})(window.app = window.app || {});
31+
// #enddocregion appexport
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
(function(app) {
2+
3+
function DataService() {
4+
}
5+
DataService.annotations = [
6+
new ng.core.Injectable()
7+
];
8+
DataService.prototype.getMessage = function() {
9+
return 'World';
10+
};
11+
app.DataService = DataService;
12+
13+
})(window.app = window.app || {});
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
// #docregion appimport
2+
(function(app) {
3+
// #enddocregion appimport
4+
5+
// #docregion ng2import
6+
var provide =
7+
ng.core.provide;
8+
var bootstrap =
9+
ng.platform.browser.bootstrap;
10+
var LocationStrategy =
11+
ng.router.LocationStrategy;
12+
var HashLocationStrategy =
13+
ng.router.HashLocationStrategy;
14+
// #enddocregion ng2import
15+
16+
// #docregion appimport
17+
var AppComponent = app.AppComponent;
18+
// #enddocregion appimport
19+
20+
document.addEventListener('DOMContentLoaded', function() {
21+
bootstrap(AppComponent);
22+
bootstrap(app.AppComponentDsl);
23+
bootstrap(app.AppLifecycleComponent);
24+
bootstrap(app.AppDIComponent, [app.DataService]);
25+
bootstrap(app.AppDIInlineComponent, [app.DataService]);
26+
bootstrap(app.AppDIInjectComponent, [
27+
ng.core.provide('message', {useValue: 'World'})
28+
]);
29+
bootstrap(app.AppDIInjectOptionalComponent);
30+
});
31+
32+
// #docregion appimport
33+
})(window.app = window.app || {});
34+
// #enddocregion appimport

public/docs/_examples/cb-ts-to-js/js/example-config.json

Whitespace-only changes.
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<base href="/">
5+
<meta name="viewport" content="width=device-width, initial-scale=1">
6+
7+
<!-- IE required polyfills, in this exact order -->
8+
<script src="node_modules/es6-shim/es6-shim.min.js"></script>
9+
<script src="node_modules/systemjs/dist/system-polyfills.js"></script>
10+
<script src="node_modules/angular2/es6/dev/src/testing/shims_for_IE.js"></script>
11+
12+
<script src="node_modules/angular2/bundles/angular2-polyfills.js"></script>
13+
<script src="node_modules/rxjs/bundles/Rx.umd.js"></script>
14+
<script src="node_modules/angular2/bundles/angular2-all.umd.dev.js"></script>
15+
<script src="app/data.service.js"></script>
16+
<script src="app/app.component.js"></script>
17+
<script src="app/app-dsl.component.js"></script>
18+
<script src="app/app-lifecycle.component.js"></script>
19+
<script src="app/app-di.component.js"></script>
20+
<script src="app/app-di-inline.component.js"></script>
21+
<script src="app/app-di-inject.component.js"></script>
22+
<script src="app/app-di-inject-optional.component.js"></script>
23+
<script src="app/main.js"></script>
24+
</head>
25+
26+
<body>
27+
<my-app>Loading app...</my-app>
28+
<my-app-2>Loading app...</my-app-2>
29+
<my-app-lifecycle>Loading app...</my-app-lifecycle>
30+
<my-app-di>Loading app...</my-app-di>
31+
<my-app-di-inline>Loading app...</my-app-di-inline>
32+
<my-app-di-inject>Loading app...</my-app-di-inject>
33+
<my-app-di-inject-optional>Loading app...</my-app-di-inject-optional>
34+
</body>
35+
36+
</html>
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
**/*.js
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import {Component, Inject, Optional} from 'angular2/core';
2+
3+
// #docregion
4+
@Component({
5+
selector: 'my-app-di-inject-optional',
6+
template: `<h1>Hello {{message}}</h1>`
7+
})
8+
export class AppComponent {
9+
constructor(
10+
@Inject('message')
11+
@Optional()
12+
private message:string) {
13+
}
14+
}
15+
// #enddocregion
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import {Component, Inject} from 'angular2/core';
2+
3+
// #docregion
4+
@Component({
5+
selector: 'my-app-di-inject',
6+
template: `<h1>Hello {{message}}</h1>`
7+
})
8+
export class AppComponent {
9+
constructor(
10+
@Inject('message')
11+
private message:string) {
12+
}
13+
}
14+
// #enddocregion
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import {Component} from 'angular2/core';
2+
import {DataService} from './data.service';
3+
4+
// #docregion
5+
@Component({
6+
selector: 'my-app-di',
7+
template: `<h1>Hello {{message}}</h1>`
8+
})
9+
export class AppComponent {
10+
message:string;
11+
constructor(dataService:DataService) {
12+
this.message = dataService.getMessage();
13+
}
14+
}
15+
// #enddocregion
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
// #docregion
2+
import {Component, OnInit}
3+
from 'angular2/core';
4+
// #enddocregion
5+
6+
@Component({
7+
selector: 'my-app-lifecycle',
8+
template: `<h1>Hello {{message}}</h1>`
9+
})
10+
// #docregion
11+
export class AppComponent
12+
implements OnInit {
13+
message:string;
14+
ngOnInit() {
15+
this.message = 'World';
16+
}
17+
}
18+
// #enddocregion
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
// #docregion metadata
2+
import {Component} from 'angular2/core';
3+
4+
@Component({
5+
selector: 'my-app',
6+
template: `
7+
<h1>Hello {{getMessage()}}</h1>
8+
`
9+
})
10+
// #docregion appexport
11+
// #docregion class
12+
export class AppComponent {
13+
getMessage() {
14+
return 'World';
15+
}
16+
}
17+
// #enddocregion class
18+
// #enddocregion appexport
19+
// #enddocregion metadata
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import {Injectable} from 'angular2/core';
2+
3+
@Injectable()
4+
export class DataService {
5+
constructor() {
6+
}
7+
getMessage() {
8+
return 'World';
9+
}
10+
}

0 commit comments

Comments
 (0)