Changeset View
Changeset View
Standalone View
Standalone View
web/input/input-state.js
Show All 30 Lines | export type PendingMultimediaUpload = { | ||||
// cancelled | // cancelled | ||||
abort: ?() => void, | abort: ?() => void, | ||||
steps: MediaMissionStep[], | steps: MediaMissionStep[], | ||||
selectTime: number, | selectTime: number, | ||||
}; | }; | ||||
// This type represents the input state for a particular thread | // This type represents the input state for a particular thread | ||||
export type InputState = { | export type InputState = { | ||||
pendingUploads: $ReadOnlyArray<PendingMultimediaUpload>, | +pendingUploads: $ReadOnlyArray<PendingMultimediaUpload>, | ||||
assignedUploads: { | +assignedUploads: { | ||||
[messageID: string]: $ReadOnlyArray<PendingMultimediaUpload>, | [messageID: string]: $ReadOnlyArray<PendingMultimediaUpload>, | ||||
}, | }, | ||||
draft: string, | +draft: string, | ||||
appendFiles: (files: $ReadOnlyArray<File>) => Promise<boolean>, | +textCursorPosition: number, | ||||
cancelPendingUpload: (localUploadID: string) => void, | +appendFiles: (files: $ReadOnlyArray<File>) => Promise<boolean>, | ||||
sendTextMessage: ( | +cancelPendingUpload: (localUploadID: string) => void, | ||||
+sendTextMessage: ( | |||||
messageInfo: RawTextMessageInfo, | messageInfo: RawTextMessageInfo, | ||||
threadInfo: ThreadInfo, | threadInfo: ThreadInfo, | ||||
) => Promise<void>, | ) => Promise<void>, | ||||
createMultimediaMessage: (localID: number, threadInfo: ThreadInfo) => void, | +createMultimediaMessage: (localID: number, threadInfo: ThreadInfo) => void, | ||||
setDraft: (draft: string) => void, | +setDraft: (draft: string) => void, | ||||
messageHasUploadFailure: (localMessageID: string) => boolean, | +setTextCursorPosition: (newPosition: number) => void, | ||||
retryMultimediaMessage: ( | +messageHasUploadFailure: (localMessageID: string) => boolean, | ||||
+retryMultimediaMessage: ( | |||||
localMessageID: string, | localMessageID: string, | ||||
threadInfo: ThreadInfo, | threadInfo: ThreadInfo, | ||||
) => void, | ) => void, | ||||
addReply: (text: string) => void, | +addReply: (text: string) => void, | ||||
addReplyListener: ((message: string) => void) => void, | +addReplyListener: ((message: string) => void) => void, | ||||
removeReplyListener: ((message: string) => void) => void, | +removeReplyListener: ((message: string) => void) => void, | ||||
registerSendCallback: (() => mixed) => void, | +registerSendCallback: (() => mixed) => void, | ||||
unregisterSendCallback: (() => mixed) => void, | +unregisterSendCallback: (() => mixed) => void, | ||||
}; | }; | ||||
const InputStateContext: React.Context<?InputState> = React.createContext<?InputState>( | const InputStateContext: React.Context<?InputState> = React.createContext<?InputState>( | ||||
null, | null, | ||||
); | ); | ||||
export { InputStateContext }; | export { InputStateContext }; |