UNPKG

@cometchat/chat-uikit-react-native

Version:

Ready-to-use Chat UI Components for React Native

118 lines (115 loc) 3.58 kB
import { AvatarStyleInterface, CometChatDetailsTemplate, ImageType } from "../../shared" //@ts-ignore import { CometChat } from '@cometchat/chat-sdk-react-native' import { CallLogDetailsStyleInterface } from "./CallLogDetailsStyle" import { CallLogHistoryConfiguration } from "../CometChatCallLogHistory"; import { CallLogParticipantsConfiguration } from "../CometChatCallLogParticipants"; import { CallLogRecordingsConfiguration } from "../CometChatCallLogRecordings/CallLogRecordingsConfiguration"; export interface CallLogDetailsConfigurationInterface { /** * toggle visibility of close button */ showCloseButton?: boolean, /** * This will change the close button icon */ closeButtonIconImage?: ImageType, /** * toggle the profile view */ hideProfile?: boolean, /** * Pass the custom profile view here. */ CustomProfileView?: (props: { user?: CometChat.User }) => JSX.Element, /** * List of templates tobe shown */ data?: (props: { message: CometChat.BaseMessage, user?: CometChat.User, group?: CometChat.Group }) => CometChatDetailsTemplate[], /** * call back for error */ onError?: (e: CometChat.CometChatException) => void, /** * custom functionality on back press */ onBack?: () => void, /** * Style object for Avatar */ avatarStyle?: AvatarStyleInterface, /** * Style object for CallLogDetails */ callLogDetailsStyle?: CallLogDetailsStyleInterface, /** * Configuration for call history. */ callLogHistoryConfiguration?: CallLogHistoryConfiguration; /** * Configuration for call log participants. */ callLogParticipantsConfiguration?: CallLogParticipantsConfiguration; /** * Configuration for call log recordings. */ callLogRecordingsConfiguration?: CallLogRecordingsConfiguration; } export class CallLogDetailsConfiguration implements CallLogDetailsConfigurationInterface { /** * toggle visibility of close button */ showCloseButton?: boolean /** * This will change the close button icon */ closeButtonIconImage?: ImageType /** * toggle the profile view */ hideProfile?: boolean /** * Pass the custom profile view here. */ CustomProfileView?: (props: { user?: CometChat.User }) => JSX.Element /** * List of templates tobe shown */ data?: (props: { message: CometChat.BaseMessage; user?: CometChat.User; group?: CometChat.Group }) => CometChatDetailsTemplate[] /** * call back for error */ onError?: (e: CometChat.CometChatException) => void /** * custom functionality on back press */ onBack?: () => void /** * Style object for Avatar */ avatarStyle?: AvatarStyleInterface /** * Style object for CallLogDetails */ callLogDetailsStyle?: CallLogDetailsStyleInterface /** * Configuration for call history. */ callLogHistoryConfiguration?: CallLogHistoryConfiguration /** * Configuration for call log participants. */ callLogParticipantsConfiguration?: CallLogParticipantsConfiguration /** * Configuration for call log recordings. */ callLogRecordingsConfiguration?: CallLogRecordingsConfiguration constructor(props: CallLogDetailsConfigurationInterface) { if (props) { for (const [key, value] of Object.entries(props)) { //@ts-ignore this[key] = value; } } } }