Skip to content
This repository has been archived by the owner on Sep 11, 2024. It is now read-only.

Commit

Permalink
use the new messageContent property
Browse files Browse the repository at this point in the history
  • Loading branch information
Alun Turner committed Jun 15, 2023
1 parent 62a948b commit b8457b0
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,11 @@ interface WysiwygAutocompleteProps {
* a command in the autocomplete list or pressing enter on a selected item
*/
handleCommand: FormattingFunctions["command"];

/**
* Handler purely for the at-room mentions special case
*/
handleAtRoomMention: FormattingFunctions["mentionAtRoom"];

Check failure on line 49 in src/components/views/rooms/wysiwyg_composer/components/WysiwygAutocomplete.tsx

View workflow job for this annotation

GitHub Actions / Typescript Syntax Check

Property 'mentionAtRoom' does not exist on type 'FormattingFunctions'.
}

/**
Expand All @@ -53,7 +58,7 @@ interface WysiwygAutocompleteProps {
*/
const WysiwygAutocomplete = forwardRef(
(
{ suggestion, handleMention, handleCommand }: WysiwygAutocompleteProps,
{ suggestion, handleMention, handleCommand, handleAtRoomMention }: WysiwygAutocompleteProps,
ref: ForwardedRef<Autocomplete>,
): JSX.Element | null => {
const { room } = useRoomContext();
Expand All @@ -78,7 +83,7 @@ const WysiwygAutocomplete = forwardRef(
if (isNotUndefined(style)) {
attributesMap.set("style", style);
}
handleMention("#", getMentionDisplayText(completion, client), attributesMap);
handleAtRoomMention(attributesMap);

Check failure on line 86 in src/components/views/rooms/wysiwyg_composer/components/WysiwygAutocomplete.tsx

View workflow job for this annotation

GitHub Actions / Jest

WysiwygComposer › Mentions and commands › selecting an at-room completion inserts @room

TypeError: handleAtRoomMention is not a function at Object.handleAtRoomMention [as onConfirm] (src/components/views/rooms/wysiwyg_composer/components/WysiwygAutocomplete.tsx:86:21) at Autocomplete.onConfirm [as onCompletionClicked] (src/components/views/rooms/Autocomplete.tsx:255:20) at onCompletionClicked (src/components/views/rooms/Autocomplete.tsx:294:30) at HTMLUnknownElement.callCallback (node_modules/react-dom/cjs/react-dom.development.js:3945:14) at HTMLUnknownElement.callTheUserObjectsOperation (node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30) at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25) at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3) at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9) at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17) at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34) at Object.invokeGuardedCallbackDev (node_modules/react-dom/cjs/react-dom.development.js:3994:16) at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:4056:31) at invokeGuardedCallbackAndCatchFirstError (node_modules/react-dom/cjs/react-dom.development.js:4070:25) at executeDispatch (node_modules/react-dom/cjs/react-dom.development.js:8243:3) at processDispatchQueueItemsInOrder (node_modules/react-dom/cjs/react-dom.development.js:8275:7) at processDispatchQueue (node_modules/react-dom/cjs/react-dom.development.js:8288:5) at dispatchEventsForPlugins (node_modules/react-dom/cjs/react-dom.development.js:8299:3) at node_modules/react-dom/cjs/react-dom.development.js:8508:12 at batchedEventUpdates$1 (node_modules/react-dom/cjs/react-dom.development.js:22396:12) at batchedEventUpdates (node_modules/react-dom/cjs/react-dom.development.js:3745:12) at dispatchEventForPluginEventSystem (node_modules/react-dom/cjs/react-dom.development.js:8507:3) at attemptToDispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:6005:3) at dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:5924:19) at unstable_runWithPriority (node_modules/scheduler/cjs/scheduler.development.js:468:12) at runWithPriority$1 (node_modules/react-dom/cjs/react-dom.development.js:11276:10) at discreteUpdates$1 (node_modules/react-dom/cjs/react-dom.development.js:22413:14) at discreteUpdates (node_modules/react-dom/cjs/react-dom.development.js:3756:12) at dispatchDiscreteEvent (node_modules/react-dom/cjs/react-dom.development.js:5889:3) at HTMLDivElement.callTheUserObjectsOperation (node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30) at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25) at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3) at HTMLDivElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9) at HTMLDivElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17) at HTMLDivElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34) at node_modules/@testing-library/user-event/dist/cjs/event/dispatchEvent.js:47:43 at node_modules/@testing-library/react/dist/pure.js:66:16 at batchedUpdates$1 (node_modules/react-dom/cjs/react-dom.development.js:22380:12) at act (node_modules/react-dom/cjs/react-dom-test-utils.development.js:1042:14) at Object.eventWrapper (node_modules/@testing-library/react/dist/pure.js:65:28) at Object.wrapEvent (node_modules/@testing-library/user-event/dist/cjs/event/wrapEvent.js:8:28) at Object.dispatchEvent (node_modules/@testing-library/user-event/dist/cjs/event/dispatchEvent.js:47:22) at Object.dispatchUIEvent (node_modules/@testing-libr
return;
}
case "room":
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ export const WysiwygComposer = memo(function WysiwygComposer({
const autocompleteRef = useRef<Autocomplete | null>(null);

const inputEventProcessor = useInputEventProcessor(onSend, autocompleteRef, initialContent, eventRelation);
const { ref, isWysiwygReady, content, actionStates, wysiwyg, suggestion, getMessageHTMLContent } = useWysiwyg({
const { ref, isWysiwygReady, content, actionStates, wysiwyg, suggestion, messageContent } = useWysiwyg({

Check failure on line 64 in src/components/views/rooms/wysiwyg_composer/components/WysiwygComposer.tsx

View workflow job for this annotation

GitHub Actions / Typescript Syntax Check

Property 'messageContent' does not exist on type '{ ref: MutableRefObject<HTMLDivElement>; isWysiwygReady: boolean; wysiwyg: FormattingFunctions; content: string; actionStates: AllActionStates; debug: { ...; }; suggestion: MappedSuggestion; }'.
initialContent,
inputEventProcessor,
});
Expand All @@ -74,11 +74,10 @@ export const WysiwygComposer = memo(function WysiwygComposer({
useSetCursorPosition(!isReady, ref);

useEffect(() => {
const messageContent = getMessageHTMLContent();
if (!disabled && isNotNull(messageContent)) {
onChange(messageContent);
}
}, [onChange, getMessageHTMLContent, disabled]);
}, [onChange, messageContent, disabled]);

useEffect(() => {
function handleClick(e: Event): void {
Expand Down Expand Up @@ -118,6 +117,7 @@ export const WysiwygComposer = memo(function WysiwygComposer({
ref={autocompleteRef}
suggestion={suggestion}
handleMention={wysiwyg.mention}
handleAtRoomMention={wysiwyg.mentionAtRoom}

Check failure on line 120 in src/components/views/rooms/wysiwyg_composer/components/WysiwygComposer.tsx

View workflow job for this annotation

GitHub Actions / Typescript Syntax Check

Property 'mentionAtRoom' does not exist on type 'FormattingFunctions'.
handleCommand={wysiwyg.command}
/>
<FormattingButtons composer={wysiwyg} actionStates={actionStates} />
Expand Down

0 comments on commit b8457b0

Please sign in to comment.