mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 01:54:15 +00:00
49 lines
1.4 KiB
TypeScript
49 lines
1.4 KiB
TypeScript
/* eslint-disable max-classes-per-file */
|
|
import { Action } from '@ngrx/store';
|
|
import { EPerson } from '../../core/eperson/models/eperson.model';
|
|
import { type } from '../../shared/ngrx/type';
|
|
|
|
/**
|
|
* For each action type in an action group, make a simple
|
|
* enum object for all of this group's action types.
|
|
*
|
|
* The 'type' utility function coerces strings into string
|
|
* literal types and runs a simple check to guarantee all
|
|
* action types in the application are unique.
|
|
*/
|
|
export const EPeopleRegistryActionTypes = {
|
|
|
|
EDIT_EPERSON: type('dspace/epeople-registry/EDIT_EPERSON'),
|
|
CANCEL_EDIT_EPERSON: type('dspace/epeople-registry/CANCEL_EDIT_EPERSON'),
|
|
};
|
|
|
|
/**
|
|
* Used to edit an EPerson in the EPeople registry
|
|
*/
|
|
export class EPeopleRegistryEditEPersonAction implements Action {
|
|
type = EPeopleRegistryActionTypes.EDIT_EPERSON;
|
|
|
|
eperson: EPerson;
|
|
|
|
constructor(eperson: EPerson) {
|
|
this.eperson = eperson;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Used to cancel the editing of an EPerson in the EPeople registry
|
|
*/
|
|
export class EPeopleRegistryCancelEPersonAction implements Action {
|
|
type = EPeopleRegistryActionTypes.CANCEL_EDIT_EPERSON;
|
|
}
|
|
|
|
|
|
/**
|
|
* Export a type alias of all actions in this action group
|
|
* so that reducers can easily compose action types
|
|
* These are all the actions to perform on the EPeople registry state
|
|
*/
|
|
export type EPeopleRegistryAction
|
|
= EPeopleRegistryEditEPersonAction
|
|
| EPeopleRegistryCancelEPersonAction;
|