UNPKG

fabric8-planner

Version:
40 lines 1.57 kB
import { Injectable } from '@angular/core'; // MemoizedSelector is needed even if it's not being used in this file // Else you get this error // Exported variable 'plannerSelector' has or is using name 'MemoizedSelector' // from external module "@ngrx/store/src/selector" but cannot be named. import { createFeatureSelector, createSelector, select, Store } from '@ngrx/store'; import { filter, tap } from 'rxjs/operators'; import * as SpaceActions from './../actions/space.actions'; export var plannerSelector = createFeatureSelector('planner'); export var spaceSelector = createSelector(plannerSelector, // TODO // This is a HACK till fabric8-ui removes the unnecessary planner imports // it should just be // state => state.space function (state) { return state ? state.space : {}; }); var SpaceQuery = /** @class */ (function () { function SpaceQuery(store) { this.store = store; } Object.defineProperty(SpaceQuery.prototype, "getCurrentSpace", { get: function () { var _this = this; return this.store.pipe(select(spaceSelector), tap(function (s) { if (!s) { _this.store.dispatch(new SpaceActions.Get()); } }), filter(function (s) { return !!s; })); }, enumerable: true, configurable: true }); SpaceQuery.decorators = [ { type: Injectable }, ]; /** @nocollapse */ SpaceQuery.ctorParameters = function () { return [ { type: Store, }, ]; }; return SpaceQuery; }()); export { SpaceQuery }; //# sourceMappingURL=space.js.map