Summary Table
Categories |
Total Count |
PII |
0 |
URL |
0 |
DNS |
0 |
EKL |
0 |
IP |
0 |
PORT |
0 |
VsID |
0 |
CF |
0 |
AI |
0 |
VPD |
0 |
PL |
0 |
Other |
0 |
File Content
// Action classes for setting state specific to the session, including:
// - Current view (patient, orders, etc)
// - Current user context
// - Available user contexts
// - User-directed message queue
import { Action } from '@ngrx/store';
import { UserPreferences, UserIdentity, AppData } from '../models/sessionModels';
import { ModalData } from '../models/uiModels';
export enum SessionActionTypes {
SetView = 'Set Page View',
SetPreferences = 'Set user preferences',
AddUIMessage = 'Add a UI message to the popup queue',
RemoveUIMessage = 'Remove a UI message from the popup queue',
AddPendingRequest = 'Add network request to the queue',
RemovePendingRequest = 'Remove network request from the queue',
SetAvailableIdentities = 'Set the user available identities',
SetActiveIdentity = 'Set the user identity currently active',
SetAppInfo = 'Set the application environment information'
}
export class SetView implements Action {
readonly type = SessionActionTypes.SetView;
constructor(public payload: string) {}
}
export class SetPreferences implements Action {
readonly type = SessionActionTypes.SetPreferences;
constructor(public payload: UserPreferences) {}
}
export class AddUIMessage implements Action {
readonly type = SessionActionTypes.AddUIMessage;
constructor(public payload: ModalData) {}
}
export class RemoveUIMessage implements Action {
readonly type = SessionActionTypes.RemoveUIMessage;
constructor(public payload: number) {}
}
export class AddPendingRequest implements Action {
readonly type = SessionActionTypes.AddPendingRequest;
constructor(public payload: string) {}
}
export class RemovePendingRequest implements Action {
readonly type = SessionActionTypes.RemovePendingRequest;
constructor(public payload: string) {}
}
export class SetActiveIdentity implements Action {
readonly type = SessionActionTypes.SetActiveIdentity;
constructor(public payload: UserIdentity) {}
}
export class SetAvailableIdentities implements Action {
readonly type = SessionActionTypes.SetAvailableIdentities;
constructor(public payload: UserIdentity[]) {}
}
export class SetAppInfo implements Action {
readonly type = SessionActionTypes.SetAppInfo;
constructor(public payload: AppData) {}
}
// union type of action classes for reducer's usage
export type SessionActions =
| SetView
| SetPreferences
| AddUIMessage
| RemoveUIMessage
| AddPendingRequest
| RemovePendingRequest
| SetAvailableIdentities
| SetActiveIdentity
| SetAppInfo;