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