loop-modules
Version:
Shared modules for the Loop product suite.
40 lines (35 loc) • 1.02 kB
text/typescript
// libs
import { Observable } from 'rxjs/Observable';
// app
import { LoopScenario } from '../interfaces/loop-scenario.interface';
import { AppState } from './app.state';
/**
* The AppState slice for persisting LoopScenario records
*
* @export
* @interface LoopScenarioState
*/
export interface LoopScenarioState {
/**
* The collection of loaded LoopScenario entries from the back-end service
*
* @type {LoopScenario[]}
*/
entries?: LoopScenario[];
/**
* The collection of selected LoopScenario entries' identities
*
* @type {string[]} The LoopScenario identities
*/
selectedEntries?: string[];
}
export const initialState: LoopScenarioState = {
entries: [],
selectedEntries: []
};
export function getScenarios(state$: Observable<AppState>) {
return state$.select(state => state.scenarios.entries);
}
export function getSelectedScenarios(state$: Observable<AppState>) {
return state$.select(state => state.scenarios.selectedEntries);
}