diff --git a/app/ui-utils/client/lib/modal.js b/app/ui-utils/client/lib/modal.js index d46b8f8c4e7ff..1971ba908b0e4 100644 --- a/app/ui-utils/client/lib/modal.js +++ b/app/ui-utils/client/lib/modal.js @@ -209,16 +209,14 @@ Template.rc_modal.helpers({ Template.rc_modal.onRendered(function() { this.oldFocus = document.activeElement; - if (this.data.onRendered) { - this.data.onRendered(); - } - if (this.data.input) { $('.js-modal-input', this.firstNode).focus(); } else if (this.data.showConfirmButton && this.data.confirmOnEnter) { $('.js-confirm', this.firstNode).focus(); } - + if (this.data.onRendered) { + this.data.onRendered(); + } this.data.closeOnEscape && document.addEventListener('keydown', modal.onKeyDown); }); diff --git a/app/ui/client/lib/fileUpload.js b/app/ui/client/lib/fileUpload.js index 3a559c3c2217f..b8ad23505353a 100644 --- a/app/ui/client/lib/fileUpload.js +++ b/app/ui/client/lib/fileUpload.js @@ -116,7 +116,7 @@ const getAudioUploadPreview = (file, preview) => `\
- +
`; @@ -132,7 +132,7 @@ const getVideoUploadPreview = (file, preview) => `\
- +
`; @@ -145,7 +145,7 @@ const getImageUploadPreview = (file, preview) => `\
- +
`; @@ -180,7 +180,7 @@ const getGenericUploadPreview = (file) => `\
- +
`; @@ -260,7 +260,7 @@ export const fileUpload = async (files, input, { rid, tmid }) => { confirmButtonText: t('Send'), cancelButtonText: t('Cancel'), html: true, - onRendered: () => $('#file-name').focus(), + onRendered: () => $('#file-description').focus(), }, async (isConfirm) => { if (!isConfirm) { return; diff --git a/client/views/room/contextualBar/Discussions/index.js b/client/views/room/contextualBar/Discussions/index.js index 539a2872a40b2..04efb72eb3495 100644 --- a/client/views/room/contextualBar/Discussions/index.js +++ b/client/views/room/contextualBar/Discussions/index.js @@ -2,7 +2,7 @@ import { FlowRouter } from 'meteor/kadira:flow-router'; import React, { useCallback, useMemo, useState, memo } from 'react'; import { Box, Icon, TextInput, Callout } from '@rocket.chat/fuselage'; import { Virtuoso } from 'react-virtuoso'; -import { useDebouncedValue, useResizeObserver } from '@rocket.chat/fuselage-hooks'; +import { useDebouncedValue, useResizeObserver, useAutoFocus } from '@rocket.chat/fuselage-hooks'; import VerticalBar from '../../../../components/VerticalBar'; import { useTranslation } from '../../../../contexts/TranslationContext'; @@ -124,7 +124,7 @@ export function DiscussionList({ total = 10, discussions = [], loadMoreItems, lo const showRealNames = useSetting('UI_Use_Real_Name'); const t = useTranslation(); - + const inputRef = useAutoFocus(true); const onClick = useCallback((e) => { const { drid } = e.currentTarget.dataset; FlowRouter.goToRoomById(drid); @@ -141,7 +141,7 @@ export function DiscussionList({ total = 10, discussions = [], loadMoreItems, lo - }/> + }/> {error && {error.toString()}} diff --git a/client/views/room/contextualBar/RoomFiles/RoomFiles.js b/client/views/room/contextualBar/RoomFiles/RoomFiles.js index 5e7c4eeb45cc7..648f3cde3bb29 100644 --- a/client/views/room/contextualBar/RoomFiles/RoomFiles.js +++ b/client/views/room/contextualBar/RoomFiles/RoomFiles.js @@ -1,5 +1,5 @@ import React, { useState, useCallback, useMemo } from 'react'; -import { useMutableCallback, useLocalStorage, useUniqueId } from '@rocket.chat/fuselage-hooks'; +import { useMutableCallback, useLocalStorage, useUniqueId, useAutoFocus } from '@rocket.chat/fuselage-hooks'; import { Box, Icon, @@ -74,6 +74,7 @@ export const RoomFiles = function RoomFiles({ ['text', t('Texts')], ['application', t('Files')], ], [t]); + const inputRef = useAutoFocus(true); const searchId = useUniqueId(); @@ -91,7 +92,7 @@ export const RoomFiles = function RoomFiles({ - }/> + }/> { @@ -256,6 +257,7 @@ export function ThreadList({ value={text} onChange={setText} addon={} + ref={inputRef} />