cosmo-ui
Version:
Common React components
49 lines (38 loc) • 1.31 kB
text/typescript
import { BASIC_MODAL_KEY, MESSAGE_MODAL_KEY } from '../constants'
export interface ShowModalAction {
type: '@@cosmo-ui/SHOW_MODAL',
modalType: string,
modalProps: any
}
export interface UpdateModalPropsAction {
type: '@@cosmo-ui/UPDATE_MODAL_PROPS',
modalProps: any
}
export interface HideModalAction {
type: '@@cosmo-ui/HIDE_MODAL',
}
export const SHOW_MODAL = '@@cosmo-ui/SHOW_MODAL'
export const HIDE_MODAL = '@@cosmo-ui/HIDE_MODAL'
export const UPDATE_MODAL_PROPS = '@@cosmo-ui/UPDATE_MODAL_PROPS'
export type ModalAction = ShowModalAction | HideModalAction | UpdateModalPropsAction
export const showModal = (modalType: string, modalProps: any = null) =>
({ type: SHOW_MODAL, modalType, modalProps })
export const hideModal = () =>
({ type: HIDE_MODAL })
export const showBasicModal = (message: string) =>
showModal(BASIC_MODAL_KEY, {message, backgroundActive: true})
export const showMessageModal = (message: string) => {
const props = {
message,
backgroundActive: false,
}
return showModal(MESSAGE_MODAL_KEY, props)
}
export const showIconMessageModal = (message: string, icon: string) => {
const props = {
message,
icon,
backgroundActive: false,
}
return showModal(MESSAGE_MODAL_KEY, props)
}