Skip to content

Commit aa7e538

Browse files
committed
Merge remote-tracking branch 'origin/master'
# Conflicts: # src/app/app.component.ts
2 parents 5ec3002 + 05195e0 commit aa7e538

23 files changed

Lines changed: 346 additions & 141 deletions

README.md

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,26 @@
1-
# Getting Started
1+
# Sample App with Angular 2 + Typescript + Angular CLI + Bootstrap 4
22

3-
Angular 2 App that follows Best Practices from the official style guide
3+
Sample app made with :heart:
44

5-
## Run and go
6-
```
7-
npm install
8-
npm start
9-
```
5+
### Demo
6+
7+
![angular-2-sample-project](http://i65.tinypic.com/1jqhx2.jpg)
8+
9+
## Based on
10+
Angular 2, Bootstrap 4, Angular CLI and more plugins like ng2 translate
11+
12+
## How can I support developers?
13+
- Star the GitHub repo :star:
14+
- Create pull requests, submit bugs, suggest new features or documentation updates :wrench:
15+
16+
## Features
17+
* TypeScript
18+
* Webpack
19+
* Responsive layout
20+
* Bootstrap 4 CSS Framework
21+
* Sass
22+
* Angular 2
23+
* jQuery
24+
25+
Enjoy :metal:
26+
I'm always happy to hear your feedback!

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
"core-js": "^2.4.1",
2727
"font-awesome": "^4.7.0",
2828
"json-server": "^0.9.4",
29+
"ng2-translate": "^5.0.0",
2930
"rxjs": "^5.0.1",
3031
"ts-helpers": "^1.1.1",
3132
"zone.js": "^0.7.2"

src/app/app.component.html

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,5 @@
1-
<toh-nav [title]="'Tour of heroes'"></toh-nav>
2-
<router-outlet></router-outlet>
1+
<div class="container main-container">
2+
<toh-nav [title]="'tourOfHeroes' | translate"></toh-nav>
3+
<router-outlet></router-outlet>
4+
</div>
5+
<toh-footer></toh-footer>

src/app/app.component.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import {Component} from '@angular/core';
2+
import {TranslateService} from 'ng2-translate';
23
import {Title} from '@angular/platform-browser';
34

45
import {environment} from '../environments/environment';
@@ -9,9 +10,14 @@ import {environment} from '../environments/environment';
910
})
1011

1112
export class AppComponent {
12-
title: string;
13+
private translateService: TranslateService;
1314

14-
constructor(private titleService: Title) {
15+
constructor(translateService: TranslateService,
16+
private titleService: Title) {
1517
titleService.setTitle(environment.title);
18+
19+
this.translateService = translateService;
20+
this.translateService.setDefaultLang('en');
21+
this.translateService.use('en');
1622
}
1723
}

src/app/app.module.ts

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1-
import {NgModule} from '@angular/core';
2-
import {BrowserModule} from '@angular/platform-browser';
3-
import {FormsModule} from '@angular/forms';
4-
import {HttpModule} from '@angular/http';
1+
import {NgModule} from '@angular/core';
2+
import {BrowserModule} from '@angular/platform-browser';
3+
import {FormsModule} from '@angular/forms';
4+
import {Http, HttpModule} from '@angular/http';
5+
import {TranslateModule, TranslateLoader} from 'ng2-translate';
6+
import {TranslateLoaderFactory} from './app.translate.factory';
57

68
import {APP_CONFIG, AppConfig} from './config/app.config';
79

@@ -18,6 +20,11 @@ import {HeroTopComponent} from './heroes/hero-top/hero-top.component';
1820
BrowserModule,
1921
FormsModule,
2022
HttpModule,
23+
TranslateModule.forRoot({
24+
provide: TranslateLoader,
25+
useFactory: TranslateLoaderFactory,
26+
deps: [Http]
27+
}),
2128
AppRoutingModule,
2229
CoreModule,
2330
HeroesModule,

src/app/app.translate.factory.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import {TranslateStaticLoader} from 'ng2-translate';
2+
3+
export function TranslateLoaderFactory(http: any) {
4+
return new TranslateStaticLoader(http, '/assets/i18n', '.json');
5+
}

src/app/core/core.module.ts

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,39 @@
1-
import {NgModule, Optional, SkipSelf} from '@angular/core';
2-
import {CommonModule} from '@angular/common';
3-
import {FormsModule} from '@angular/forms';
1+
import {NgModule, Optional, SkipSelf} from '@angular/core';
2+
import {CommonModule} from '@angular/common';
3+
import {FormsModule} from '@angular/forms';
4+
import {Http} from '@angular/http';
5+
import {TranslateModule, TranslateLoader} from 'ng2-translate';
6+
import {TranslateLoaderFactory} from '../app.translate.factory';
47

58
import {throwIfAlreadyLoaded} from './module-import-guard';
69
import {LoggerService} from './logger.service';
710

811
import {HeroesModule} from '../heroes/heroes.module';
912
import {HeroRoutingModule} from '../heroes/heroes-routing.module';
1013

11-
import {NavComponent} from './nav/nav.component';
14+
import {NavComponent} from './nav/nav.component';
15+
import {FooterComponent} from "./footer/footer.component";
16+
1217

1318
@NgModule({
1419
imports: [
1520
CommonModule,
1621
FormsModule,
1722
HeroRoutingModule,
18-
HeroesModule
23+
HeroesModule,
24+
TranslateModule.forRoot({
25+
provide: TranslateLoader,
26+
useFactory: TranslateLoaderFactory,
27+
deps: [Http]
28+
}),
1929
],
2030
exports: [
21-
NavComponent
31+
NavComponent,
32+
FooterComponent
2233
],
2334
declarations: [
24-
NavComponent
35+
NavComponent,
36+
FooterComponent
2537
],
2638
providers: [
2739
LoggerService
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<footer>
2+
<div class="container center">
3+
<span class="text-muted">{{ 'tourOfHeroes' | translate }} @2016.</span>
4+
</div>
5+
</footer>
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
:host(toh-footer) {
2+
position: absolute;
3+
bottom: 0;
4+
width: 100%;
5+
height: 60px;
6+
line-height: 60px;
7+
background-color: #f5f5f5;
8+
padding: 0 6em 0 6em;
9+
10+
.container {
11+
padding: 0;
12+
}
13+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import {Component} from '@angular/core';
2+
3+
@Component({
4+
selector: 'toh-footer',
5+
templateUrl: './footer.component.html',
6+
styleUrls: ['./footer.component.scss']
7+
})
8+
9+
export class FooterComponent {
10+
}

0 commit comments

Comments
 (0)