1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- import ReducerRegistry from '../base/redux/ReducerRegistry';
-
- import { RESET_WHITEBOARD, SETUP_WHITEBOARD } from './actionTypes';
-
- export interface IWhiteboardState {
-
- /**
- * The whiteboard collaboration details.
- */
- collabDetails?: { roomId: string; roomKey: string; };
-
- /**
- * The indicator which determines whether the whiteboard is open.
- *
- * @type {boolean}
- */
- isOpen: boolean;
- }
-
- const DEFAULT_STATE: IWhiteboardState = {
- isOpen: false
- };
-
- export interface IWhiteboardAction extends Partial<IWhiteboardState> {
-
- /**
- * The whiteboard collaboration details.
- */
- collabDetails?: { roomId: string; roomKey: string; };
-
- /**
- * The action type.
- */
- type: string;
- }
-
- ReducerRegistry.register(
- 'features/whiteboard',
- (state: IWhiteboardState = DEFAULT_STATE, action: IWhiteboardAction) => {
- switch (action.type) {
- case SETUP_WHITEBOARD: {
- return {
- ...state,
- isOpen: true,
- collabDetails: action.collabDetails
- };
- }
- case RESET_WHITEBOARD:
- return DEFAULT_STATE;
- }
-
- return state;
- });
|