Skip to content
Snippets Groups Projects
Forked from an inaccessible project.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
selectors.ts 1.23 KiB
import { GlobalState } from '@app/core/state';
import { createSelector } from '@ngrx/store';
import { DARSState } from './state';

export const getDARSState = ({ dars }: GlobalState) => {
  return dars;
};

export const alerts = createSelector(
  getDARSState,
  (state: DARSState) => state.alerts,
);

export const degreePlans = createSelector(
  getDARSState,
  (state: DARSState) => state.degreePlans,
);

export const metadataStatus = createSelector(
  getDARSState,
  (state: DARSState) => state.metadata.status,
);

export const programMetadata = createSelector(
  getDARSState,
  (state: DARSState) => {
    if (state.metadata.status === 'Loaded') {
      return state.metadata.programMetadata;
    } else {
      return [];
    }
  },
);

export const whatIfMetadata = createSelector(
  getDARSState,
  (state: DARSState) => {
    if (state.metadata.status === 'Loaded') {
      return state.metadata.whatIfMetadata;
    } else {
      return [];
    }
  },
);

export const visibleAuditStatus = createSelector(
  getDARSState,
  (state: DARSState) => state.visibleAudit.status,
);

export const visibleAudit = createSelector(
  getDARSState,
  (state: DARSState) =>
    state.visibleAudit.status === 'Loaded' ? state.visibleAudit.audit : null,
);