Skip to content

Commit c7017ec

Browse files
author
Pietro Grandi
committed
working version
1 parent 1bda61e commit c7017ec

File tree

2 files changed

+16
-17
lines changed

2 files changed

+16
-17
lines changed

app/app.component.ts

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,32 @@
11
import {Component, OnInit} from '@angular/core';
2-
import {Store, provideStore, combineReducers} from "@ngrx/store";
2+
import {Store, provideStore} from "@ngrx/store";
33
import {Observable} from "rxjs/Rx";
4+
import {CurrentSearch} from "./models/current-search.model";
45
import {ProximitySelector} from "./components/proximity-selector.component";
56
import {SearchBox} from "./components/search-box.component";
6-
import {searchReducer} from "./reducers/search.reducer";
7-
import {CurrentSearch} from "./models/current-search.model";
7+
import {SearchReducer} from "./reducers/search.reducer";
8+
9+
const storeManager = provideStore({ currentSearch: SearchReducer });
810

911
@Component({
1012
selector: 'my-app',
11-
providers: [
12-
provideStore({ currentSearch: searchReducer })
13-
],
13+
providers: [ storeManager ],
1414
directives: [ SearchBox, ProximitySelector ],
1515
template: `
1616
<h1>{{title}}</h1>
1717
<div class="row">
1818
<search-box [store]="store"></search-box>
1919
<proximity-selector [store]="store"></proximity-selector>
2020
</div>
21-
<div class="row">
22-
<courses-list [searchResults]="results"></courses-list>
23-
</div>
21+
<p>{{ state | json }}</p>
2422
`
2523
})
2624

2725
export class AppComponent implements OnInit {
2826

29-
title = 'One Source of Truth for Angular 2';
27+
title = 'heroes and books'; //One Source of Truth for Angular 2';
28+
29+
private state: CurrentSearch;
3030

3131
private currentSearch: Observable<CurrentSearch>;
3232

@@ -38,8 +38,7 @@ export class AppComponent implements OnInit {
3838

3939
ngOnInit() {
4040
this.currentSearch.subscribe((state: CurrentSearch) => {
41-
// the logic is here
42-
console.log(state);
41+
this.state = state;
4342
});
4443
}
4544

app/reducers/search.reducer.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import {CurrentSearch} from "../models/current-search.model";
33
import {SearchBox} from "../components/search-box.component";
44
import {ProximitySelector} from "../components/proximity-selector.component";
55

6-
export const searchReducer: ActionReducer<CurrentSearch> = (state: CurrentSearch, action: Action) => {
6+
export const SearchReducer: ActionReducer<CurrentSearch> = (state: CurrentSearch, action: Action) => {
77
switch (action.type) {
88
case SearchBox.StoreEvents.text:
99
return Object.assign({}, state, {
@@ -16,15 +16,15 @@ export const searchReducer: ActionReducer<CurrentSearch> = (state: CurrentSearch
1616
longitude: action.payload.position.longitude
1717
}
1818
});
19+
case ProximitySelector.StoreEvents.radius:
20+
return Object.assign({}, state, {
21+
radius: action.payload.radius
22+
});
1923
case ProximitySelector.StoreEvents.off:
2024
return Object.assign({}, state, {
2125
position: null,
2226
radius: null
2327
});
24-
case ProximitySelector.StoreEvents.radius:
25-
return Object.assign({}, state, {
26-
radius: action.payload.radius
27-
});
2828
default:
2929
return state;
3030
}

0 commit comments

Comments
 (0)