UNPKG

@randy.tarampi/jsx

Version:

Some common JSX components for www.randytarampi.ca

41 lines 1.91 kB
import { createAction } from "redux-actions"; import { chatClosed } from "./chatClosed"; import { chatInitiated } from "./chatInitiated"; import { chatOpened } from "./chatOpened"; import { messageComposeReceived } from "./messageComposeReceived"; import { messageComposeSent } from "./messageComposeSent"; import { messageReceived } from "./messageReceived"; import { messageSent } from "./messageSent"; import { sessionLoaded } from "./sessionLoaded"; import { userAvatarChanged } from "./userAvatarChanged"; import { userEmailChanged } from "./userEmailChanged"; import { userNicknameChanged } from "./userNicknameChanged"; import { userPhoneChanged } from "./userPhoneChanged"; import { websiteAvailabilityChanged } from "./websiteAvailabilityChanged"; export var CRISP_INITIALIZING = "CRISP_INITIALIZING"; export var CRISP_INITIALIZED = "CRISP_INITIALIZED"; export var crispNamespaceHandlerMap = { "session:loaded": sessionLoaded, "chat:initiated": chatInitiated, "chat:opened": chatOpened, "chat:closed": chatClosed, "message:sent": messageSent, "message:received": messageReceived, "message:compose:sent": messageComposeSent, "message:compose:received": messageComposeReceived, "user:email:changed": userEmailChanged, "user:phone:changed": userPhoneChanged, "user:nickname:changed": userNicknameChanged, "user:avatar:changed": userAvatarChanged, "website:availability:changed": websiteAvailabilityChanged }; export var initializeCrispCreator = $crisp => dispatch => { dispatch(initializingCrisp()); Object.keys(crispNamespaceHandlerMap).forEach(namespace => { $crisp.push(["on", namespace, payload => dispatch(crispNamespaceHandlerMap[namespace](payload))]); }); dispatch(initializedCrisp()); }; export var initializingCrisp = createAction(CRISP_INITIALIZING); export var initializedCrisp = createAction(CRISP_INITIALIZED); export default initializeCrispCreator;