2015-12-10 09:40:54 -08:00
|
|
|
// #docplaster
|
2016-06-09 13:00:26 -05:00
|
|
|
// #docregion
|
2015-12-10 09:40:54 -08:00
|
|
|
export class Crisis {
|
|
|
|
constructor(public id: number, public name: string) { }
|
|
|
|
}
|
|
|
|
|
2016-05-02 16:53:25 -07:00
|
|
|
const CRISES = [
|
|
|
|
new Crisis(1, 'Dragon Burning Cities'),
|
|
|
|
new Crisis(2, 'Sky Rains Great White Sharks'),
|
|
|
|
new Crisis(3, 'Giant Asteroid Heading For Earth'),
|
|
|
|
new Crisis(4, 'Procrastinators Meeting Delayed Again'),
|
|
|
|
];
|
|
|
|
|
|
|
|
let crisesPromise = Promise.resolve(CRISES);
|
|
|
|
|
|
|
|
// #docregion
|
2016-06-09 13:00:26 -05:00
|
|
|
import {Injectable} from '@angular/core';
|
2016-05-02 16:53:25 -07:00
|
|
|
|
2015-12-10 09:40:54 -08:00
|
|
|
@Injectable()
|
|
|
|
export class CrisisService {
|
2016-05-02 16:53:25 -07:00
|
|
|
|
|
|
|
static nextCrisisId = 100;
|
|
|
|
|
2015-12-10 09:40:54 -08:00
|
|
|
getCrises() { return crisesPromise; }
|
|
|
|
|
|
|
|
getCrisis(id: number | string) {
|
|
|
|
return crisesPromise
|
|
|
|
.then(crises => crises.filter(c => c.id === +id)[0]);
|
|
|
|
}
|
|
|
|
|
|
|
|
// #enddocregion
|
|
|
|
|
2016-05-02 16:53:25 -07:00
|
|
|
addCrisis(name: string) {
|
2015-12-10 09:40:54 -08:00
|
|
|
name = name.trim();
|
2016-05-02 16:53:25 -07:00
|
|
|
if (name) {
|
2015-12-10 09:40:54 -08:00
|
|
|
let crisis = new Crisis(CrisisService.nextCrisisId++, name);
|
|
|
|
crisesPromise.then(crises => crises.push(crisis));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// #docregion
|
|
|
|
}
|
|
|
|
// #enddocregion
|