Handle command completions in RTE (#10521)
* pass handleCommand prop down and use it in WysiwygAutocomplete * allow a command to generate a query from buildQuery * port command functionality into the sendMessage util * tidy up comments * remove use of shouldSend and update comments * remove console log * make logic more explicit and amend comment * uncomment replyToEvent block * update util test * remove commented out test * use local text over import from current composer * expand tests * expand tests * handle the FocusAComposer action for the wysiwyg composer * remove TODO comment * remove TODO * test for action dispatch * fix failing tests * tidy up tests * fix TS error and improve typing * fix TS error * amend return types for sendMessage, editMessage * fix null content TS error * fix another null content TS error * use as to correct final TS error * remove undefined argument * try to fix TS errors for editMessage function usage * tidy up * add TODO * improve comments * update comment
This commit is contained in:
parent
7ef7ccb55f
commit
3fa6f8cbf0
10 changed files with 268 additions and 31 deletions
|
@ -29,7 +29,7 @@ export function useEditing(
|
|||
): {
|
||||
isSaveDisabled: boolean;
|
||||
onChange(content: string): void;
|
||||
editMessage(): Promise<ISendEventResponse>;
|
||||
editMessage(): Promise<ISendEventResponse | undefined>;
|
||||
endEditing(): void;
|
||||
} {
|
||||
const roomContext = useRoomContext();
|
||||
|
@ -45,11 +45,12 @@ export function useEditing(
|
|||
[initialContent],
|
||||
);
|
||||
|
||||
const editMessageMemoized = useCallback(
|
||||
() =>
|
||||
!!mxClient && content !== undefined && editMessage(content, { roomContext, mxClient, editorStateTransfer }),
|
||||
[content, roomContext, mxClient, editorStateTransfer],
|
||||
);
|
||||
const editMessageMemoized = useCallback(async () => {
|
||||
if (mxClient === undefined || content === undefined) {
|
||||
return;
|
||||
}
|
||||
return editMessage(content, { roomContext, mxClient, editorStateTransfer });
|
||||
}, [content, roomContext, mxClient, editorStateTransfer]);
|
||||
|
||||
const endEditingMemoized = useCallback(() => endEditing(roomContext), [roomContext]);
|
||||
return { onChange, editMessage: editMessageMemoized, endEditing: endEditingMemoized, isSaveDisabled };
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue