Changeset View
Changeset View
Standalone View
Standalone View
native/input/input-state-container.react.js
Show First 20 Lines • Show All 169 Lines • ▼ Show 20 Lines | type State = { | ||||
+pendingUploads: PendingMultimediaUploads, | +pendingUploads: PendingMultimediaUploads, | ||||
+editState: EditState, | +editState: EditState, | ||||
}; | }; | ||||
class InputStateContainer extends React.PureComponent<Props, State> { | class InputStateContainer extends React.PureComponent<Props, State> { | ||||
state: State = { | state: State = { | ||||
pendingUploads: {}, | pendingUploads: {}, | ||||
editState: { | editState: { | ||||
editedMessage: null, | editedMessage: null, | ||||
isEditedMessageChanged: false, | |||||
}, | }, | ||||
}; | }; | ||||
sendCallbacks: Array<() => void> = []; | sendCallbacks: Array<() => void> = []; | ||||
activeURIs = new Map(); | activeURIs = new Map(); | ||||
editInputBarCallbacks: Array< | editInputBarCallbacks: Array< | ||||
(params: EditInputBarMessageParameters) => void, | (params: EditInputBarMessageParameters) => void, | ||||
> = []; | > = []; | ||||
scrollToMessageCallbacks: Array<(messageID: string) => void> = []; | scrollToMessageCallbacks: Array<(messageID: string) => void> = []; | ||||
▲ Show 20 Lines • Show All 232 Lines • ▼ Show 20 Lines | (pendingUploads: PendingMultimediaUploads, editState: EditState) => ({ | ||||
retryMessage: this.retryMessage, | retryMessage: this.retryMessage, | ||||
registerSendCallback: this.registerSendCallback, | registerSendCallback: this.registerSendCallback, | ||||
unregisterSendCallback: this.unregisterSendCallback, | unregisterSendCallback: this.unregisterSendCallback, | ||||
uploadInProgress: this.uploadInProgress, | uploadInProgress: this.uploadInProgress, | ||||
reportURIDisplayed: this.reportURIDisplayed, | reportURIDisplayed: this.reportURIDisplayed, | ||||
setPendingThreadUpdateHandler: this.setPendingThreadUpdateHandler, | setPendingThreadUpdateHandler: this.setPendingThreadUpdateHandler, | ||||
editState, | editState, | ||||
setEditedMessage: this.setEditedMessage, | setEditedMessage: this.setEditedMessage, | ||||
setEditedMessageChanged: this.setEditedMessageChanged, | |||||
scrollToMessage: this.scrollToMessage, | scrollToMessage: this.scrollToMessage, | ||||
addScrollToMessageListener: this.addScrollToMessageListener, | addScrollToMessageListener: this.addScrollToMessageListener, | ||||
removeScrollToMessageListener: this.removeScrollToMessageListener, | removeScrollToMessageListener: this.removeScrollToMessageListener, | ||||
}), | }), | ||||
); | ); | ||||
scrollToMessage = (messageID: string) => { | scrollToMessage = (messageID: string) => { | ||||
this.scrollToMessageCallbacks.forEach(callback => callback(messageID)); | this.scrollToMessageCallbacks.forEach(callback => callback(messageID)); | ||||
▲ Show 20 Lines • Show All 988 Lines • ▼ Show 20 Lines | addEditInputMessageListener = ( | ||||
callbackEditInputBar: (params: EditInputBarMessageParameters) => void, | callbackEditInputBar: (params: EditInputBarMessageParameters) => void, | ||||
) => { | ) => { | ||||
this.editInputBarCallbacks.push(callbackEditInputBar); | this.editInputBarCallbacks.push(callbackEditInputBar); | ||||
}; | }; | ||||
setEditedMessage = (editedMessage: ?MessageInfo, callback?: () => void) => { | setEditedMessage = (editedMessage: ?MessageInfo, callback?: () => void) => { | ||||
this.setState( | this.setState( | ||||
{ | { | ||||
editState: { editedMessage }, | editState: { editedMessage, isEditedMessageChanged: false }, | ||||
}, | }, | ||||
callback, | callback, | ||||
); | ); | ||||
}; | }; | ||||
setEditedMessageChanged = (isEditedMessageChanged: boolean) => { | |||||
this.setState(prevState => ({ | |||||
editState: { ...prevState.editState, isEditedMessageChanged }, | |||||
})); | |||||
}; | |||||
removeEditInputMessageListener = ( | removeEditInputMessageListener = ( | ||||
callbackEditInputBar: (params: EditInputBarMessageParameters) => void, | callbackEditInputBar: (params: EditInputBarMessageParameters) => void, | ||||
) => { | ) => { | ||||
this.editInputBarCallbacks = this.editInputBarCallbacks.filter( | this.editInputBarCallbacks = this.editInputBarCallbacks.filter( | ||||
candidate => candidate !== callbackEditInputBar, | candidate => candidate !== callbackEditInputBar, | ||||
); | ); | ||||
}; | }; | ||||
▲ Show 20 Lines • Show All 413 Lines • Show Last 20 Lines |