Skip to content

Commit 7855945

Browse files
authored
docs(rtdb): Updating the dynamic querying example with placeholders
1 parent eda1c41 commit 7855945

File tree

1 file changed

+15
-8
lines changed

1 file changed

+15
-8
lines changed

docs/rtdb/querying-lists.md

+15-8
Original file line numberDiff line numberDiff line change
@@ -86,32 +86,39 @@ import 'rxjs/add/operator/switchMap';
8686
@Component({
8787
selector: 'app-root',
8888
template: `
89-
<ul>
90-
<li *ngFor="let item of items | async">
91-
{{ item.text }}
92-
</li>
93-
</ul>
89+
<h1>Firebase widgets!</h1>
90+
<div *ngIf="items$ | async; let items; else loading">
91+
<ul>
92+
<li *ngFor="let item of items">
93+
{{ item.payload.val().text }}
94+
<code>{{ item.payload.key }}</code>
95+
</li>
96+
</ul>
97+
<div *ngIf="items.length === 0">No results, try clearing filters</div>
98+
</div>
99+
<ng-template #loading>Loading&hellip;</ng-template>
94100
<div>
95101
<h4>Filter by size</h4>
96102
<button (click)="filterBy('small')">Small</button>
97103
<button (click)="filterBy('medium')">Medium</button>
98104
<button (click)="filterBy('large')">Large</button>
105+
<button (click)="filterBy('x-large')">Extra Large</button>
99106
<button (click)="filterBy(null)" *ngIf="this.size$.getValue()">
100107
<em>clear filter</em>
101108
</button>
102109
</div>
103110
`,
104111
})
105112
export class AppComponent {
106-
items: Observable<AngularFireAction<firebase.database.DataSnapshot>[]>;
113+
items$: Observable<AngularFireAction<firebase.database.DataSnapshot>[]>;
107114
size$: BehaviorSubject<string|null>;
108115

109116
constructor(db: AngularFireDatabase) {
110117
this.size$ = new BehaviorSubject(null);
111-
this.items = this.size$.switchMap(size =>
118+
this.items$ = this.size$.switchMap(size =>
112119
db.list('/items', ref =>
113120
size ? ref.orderByChild('size').equalTo(size) : ref
114-
).valueChanges();
121+
).snapshotChanges();
115122
);
116123
}
117124
filterBy(size: string|null) {

0 commit comments

Comments
 (0)