diff --git a/app/javascript/gabsocial/actions/alerts.js b/app/javascript/gabsocial/actions/alerts.js deleted file mode 100644 index 33791369..00000000 --- a/app/javascript/gabsocial/actions/alerts.js +++ /dev/null @@ -1,55 +0,0 @@ -//test -import { defineMessages } from 'react-intl'; - -const messages = defineMessages({ - unexpectedTitle: { id: 'alert.unexpected.title', defaultMessage: 'Oops!' }, - unexpectedMessage: { id: 'alert.unexpected.message', defaultMessage: 'An unexpected error occurred.' }, -}); - -export const ALERT_SHOW = 'ALERT_SHOW'; -export const ALERT_DISMISS = 'ALERT_DISMISS'; -export const ALERT_CLEAR = 'ALERT_CLEAR'; - -export function dismissAlert(alert) { - return { - type: ALERT_DISMISS, - alert, - }; -}; - -export function clearAlert() { - return { - type: ALERT_CLEAR, - }; -}; - -export function showAlert(title = messages.unexpectedTitle, message = messages.unexpectedMessage) { - return { - type: ALERT_SHOW, - title, - message, - }; -}; - -export function showAlertForError(error) { - if (error.response) { - const { data, status, statusText } = error.response; - - if (status === 404 || status === 410) { - // Skip these errors as they are reflected in the UI - return {}; - } - - let message = statusText; - let title = `${status}`; - - if (data.error) { - message = data.error; - } - - return showAlert(title, message); - } else { - console.error(error); - return showAlert(); - } -} diff --git a/app/javascript/gabsocial/actions/compose.js b/app/javascript/gabsocial/actions/compose.js index 28bc0d2c..4c390258 100644 --- a/app/javascript/gabsocial/actions/compose.js +++ b/app/javascript/gabsocial/actions/compose.js @@ -8,8 +8,7 @@ import { useEmoji } from './emojis'; import resizeImage from '../utils/resize_image'; import { importFetchedAccounts } from './importer'; import { updateTimeline, dequeueTimeline } from './timelines'; -import { showAlertForError } from './alerts'; -import { showAlert } from './alerts'; +// import { showAlert, showAlertForError } from './alerts'; import { defineMessages } from 'react-intl'; import { openModal, closeModal } from './modal'; import { me } from '../initial_state'; @@ -134,13 +133,13 @@ export function handleComposeSubmit(dispatch, getState, response, status) { const isScheduledStatus = response.data['scheduled_at'] !== undefined; if (isScheduledStatus) { - dispatch(showAlertForError({ - response: { - data: {}, - status: 200, - statusText: 'Successfully scheduled status', - } - })); + // dispatch(showAlertForError({ + // response: { + // data: {}, + // status: 200, + // statusText: 'Successfully scheduled status', + // } + // })); dispatch(submitComposeSuccess({ ...response.data })); return; } @@ -247,12 +246,12 @@ export function uploadCompose(files) { let total = Array.from(files).reduce((a, v) => a + v.size, 0); if (files.length + media.size > uploadLimit) { - dispatch(showAlert(undefined, messages.uploadErrorLimit)); + // dispatch(showAlert(undefined, messages.uploadErrorLimit)); return; } if (getState().getIn(['compose', 'poll'])) { - dispatch(showAlert(undefined, messages.uploadErrorPoll)); + // dispatch(showAlert(undefined, messages.uploadErrorPoll)); return; } @@ -379,7 +378,7 @@ const fetchComposeSuggestionsAccounts = throttle((dispatch, getState, token) => dispatch(readyComposeSuggestionsAccounts(token, response.data)); }).catch(error => { if (!isCancel(error)) { - dispatch(showAlertForError(error)); + // dispatch(showAlertForError(error)); } }); }, 200, { leading: true, trailing: true }); diff --git a/app/javascript/gabsocial/actions/lists.js b/app/javascript/gabsocial/actions/lists.js index 0dcaa860..9307e853 100644 --- a/app/javascript/gabsocial/actions/lists.js +++ b/app/javascript/gabsocial/actions/lists.js @@ -1,6 +1,6 @@ import api from '../api'; import { importFetchedAccounts } from './importer'; -import { showAlertForError } from './alerts'; +// import { showAlertForError } from './alerts'; import { me } from '../initial_state' export const LIST_FETCH_REQUEST = 'LIST_FETCH_REQUEST'; @@ -263,7 +263,8 @@ export const fetchListSuggestions = q => (dispatch, getState) => { api(getState).get('/api/v1/accounts/search', { params }).then(({ data }) => { dispatch(importFetchedAccounts(data)); dispatch(fetchListSuggestionsReady(q, data)); - }).catch(error => dispatch(showAlertForError(error))); + }) + // }).catch(error => dispatch(showAlertForError(error))); }; export const fetchListSuggestionsReady = (query, accounts) => ({ diff --git a/app/javascript/gabsocial/actions/settings.js b/app/javascript/gabsocial/actions/settings.js index fb1f805e..c4ad0662 100644 --- a/app/javascript/gabsocial/actions/settings.js +++ b/app/javascript/gabsocial/actions/settings.js @@ -1,6 +1,6 @@ import api from '../api'; import { debounce } from 'lodash'; -import { showAlertForError } from './alerts'; +// import { showAlertForError } from './alerts'; import { me } from '../initial_state'; export const SETTING_CHANGE = 'SETTING_CHANGE'; @@ -29,7 +29,7 @@ const debouncedSave = debounce((dispatch, getState) => { api().put('/api/web/settings', { data }) .then(() => dispatch({ type: SETTING_SAVE })) - .catch(error => dispatch(showAlertForError(error))); + // .catch(error => dispatch(showAlertForError(error))); }, 5000, { trailing: true }); export function saveSettings() { diff --git a/app/javascript/gabsocial/assets/add_icon.js b/app/javascript/gabsocial/assets/add_icon.js index 78c7ad38..42d373de 100644 --- a/app/javascript/gabsocial/assets/add_icon.js +++ b/app/javascript/gabsocial/assets/add_icon.js @@ -17,10 +17,10 @@ const AddIcon = ({ xmlSpace='preserve' aria-label={title} > - - - - + + + + ) export default AddIcon \ No newline at end of file diff --git a/app/javascript/gabsocial/assets/angle_right_icon.js b/app/javascript/gabsocial/assets/angle_right_icon.js index 9b8faaf7..bbd4451f 100644 --- a/app/javascript/gabsocial/assets/angle_right_icon.js +++ b/app/javascript/gabsocial/assets/angle_right_icon.js @@ -17,10 +17,10 @@ const AngleRightIcon = ({ xmlSpace='preserve' aria-label={title} > - - - - + + + + ) export default AngleRightIcon \ No newline at end of file diff --git a/app/javascript/gabsocial/assets/apps_icon.js b/app/javascript/gabsocial/assets/apps_icon.js index 40b03e85..ebc9a79f 100644 --- a/app/javascript/gabsocial/assets/apps_icon.js +++ b/app/javascript/gabsocial/assets/apps_icon.js @@ -17,19 +17,18 @@ const AppsIcon = ({ xmlSpace='preserve' aria-label={title} > - - - - - - - - - - - - - + + + + + + + + + + + + ) export default AppsIcon \ No newline at end of file diff --git a/app/javascript/gabsocial/assets/audio_icon.js b/app/javascript/gabsocial/assets/audio_icon.js index 4267ad65..99d3a58d 100644 --- a/app/javascript/gabsocial/assets/audio_icon.js +++ b/app/javascript/gabsocial/assets/audio_icon.js @@ -5,23 +5,23 @@ const AudioIcon = ({ viewBox = '0 0 24 24', title = '', }) => ( - - - - - - - ) + + + + + + +) export default AudioIcon \ No newline at end of file diff --git a/app/javascript/gabsocial/assets/back_icon.js b/app/javascript/gabsocial/assets/back_icon.js index 8416287d..4cf5137c 100644 --- a/app/javascript/gabsocial/assets/back_icon.js +++ b/app/javascript/gabsocial/assets/back_icon.js @@ -17,10 +17,10 @@ const BackIcon = ({ xmlSpace='preserve' aria-label={title} > - - - - + + + + ) export default BackIcon \ No newline at end of file diff --git a/app/javascript/gabsocial/assets/calendar_icon.js b/app/javascript/gabsocial/assets/calendar_icon.js index 64cdc251..cbc74f60 100644 --- a/app/javascript/gabsocial/assets/calendar_icon.js +++ b/app/javascript/gabsocial/assets/calendar_icon.js @@ -18,7 +18,7 @@ const CalendarIcon = ({ aria-label={title} > - + ) diff --git a/app/javascript/gabsocial/assets/chat_icon.js b/app/javascript/gabsocial/assets/chat_icon.js index 15496017..8f7de4d8 100644 --- a/app/javascript/gabsocial/assets/chat_icon.js +++ b/app/javascript/gabsocial/assets/chat_icon.js @@ -18,8 +18,8 @@ const ChatIcon = ({ aria-label={title} > - - + + ) diff --git a/app/javascript/gabsocial/assets/circle_icon.js b/app/javascript/gabsocial/assets/circle_icon.js index 97be6803..a9d27e0c 100644 --- a/app/javascript/gabsocial/assets/circle_icon.js +++ b/app/javascript/gabsocial/assets/circle_icon.js @@ -5,22 +5,22 @@ const CircleIcon = ({ viewBox = '0 0 48 48', title = '', }) => ( - - - - - - ) + + + + + +) export default CircleIcon \ No newline at end of file diff --git a/app/javascript/gabsocial/assets/close_icon.js b/app/javascript/gabsocial/assets/close_icon.js index b4fafaa1..0b731314 100644 --- a/app/javascript/gabsocial/assets/close_icon.js +++ b/app/javascript/gabsocial/assets/close_icon.js @@ -17,10 +17,10 @@ const CloseIcon = ({ xmlSpace='preserve' aria-label={title} > - - - - + + + + ) export default CloseIcon \ No newline at end of file diff --git a/app/javascript/gabsocial/assets/comment_icon.js b/app/javascript/gabsocial/assets/comment_icon.js index 0e1d53c8..8d8aadd5 100644 --- a/app/javascript/gabsocial/assets/comment_icon.js +++ b/app/javascript/gabsocial/assets/comment_icon.js @@ -18,7 +18,7 @@ const CommentIcon = ({ aria-label={title} > - + ) diff --git a/app/javascript/gabsocial/assets/dissenter_icon.js b/app/javascript/gabsocial/assets/dissenter_icon.js index 4cb5b122..1176a4a5 100644 --- a/app/javascript/gabsocial/assets/dissenter_icon.js +++ b/app/javascript/gabsocial/assets/dissenter_icon.js @@ -18,10 +18,10 @@ const DissenterIcon = ({ aria-label={title} > - - - - + + + + ) diff --git a/app/javascript/gabsocial/assets/ellipsis_icon.js b/app/javascript/gabsocial/assets/ellipsis_icon.js index e2d47a18..5ffffe7d 100644 --- a/app/javascript/gabsocial/assets/ellipsis_icon.js +++ b/app/javascript/gabsocial/assets/ellipsis_icon.js @@ -17,12 +17,12 @@ const EllipsisIcon = ({ xmlSpace='preserve' aria-label={title} > - - - - - - + + + + + + ) export default EllipsisIcon \ No newline at end of file diff --git a/app/javascript/gabsocial/assets/error_icon.js b/app/javascript/gabsocial/assets/error_icon.js index 889dc2ee..54bb637b 100644 --- a/app/javascript/gabsocial/assets/error_icon.js +++ b/app/javascript/gabsocial/assets/error_icon.js @@ -18,7 +18,7 @@ const ErrorIcon = ({ aria-label={title} > - + ) diff --git a/app/javascript/gabsocial/assets/fullscreen_icon.js b/app/javascript/gabsocial/assets/fullscreen_icon.js index fa50c827..d8253b73 100644 --- a/app/javascript/gabsocial/assets/fullscreen_icon.js +++ b/app/javascript/gabsocial/assets/fullscreen_icon.js @@ -18,10 +18,10 @@ const FullscreenIcon = ({ aria-label={title} > - - - - + + + + ) diff --git a/app/javascript/gabsocial/assets/globe_icon.js b/app/javascript/gabsocial/assets/globe_icon.js index 52961af2..c59355d0 100644 --- a/app/javascript/gabsocial/assets/globe_icon.js +++ b/app/javascript/gabsocial/assets/globe_icon.js @@ -20,7 +20,6 @@ const GlobeIcon = ({ - {/* */} ) diff --git a/app/javascript/gabsocial/assets/group_icon.js b/app/javascript/gabsocial/assets/group_icon.js index 2837e232..a3800351 100644 --- a/app/javascript/gabsocial/assets/group_icon.js +++ b/app/javascript/gabsocial/assets/group_icon.js @@ -18,12 +18,12 @@ const GroupIcon = ({ aria-label={title} > - - - - - - + + + + + + ) diff --git a/app/javascript/gabsocial/assets/happy_icon.js b/app/javascript/gabsocial/assets/happy_icon.js index 86ace91b..5d42fa8b 100644 --- a/app/javascript/gabsocial/assets/happy_icon.js +++ b/app/javascript/gabsocial/assets/happy_icon.js @@ -18,7 +18,7 @@ const HappyIcon = ({ aria-label={title} > - + ) diff --git a/app/javascript/gabsocial/assets/home_icon.js b/app/javascript/gabsocial/assets/home_icon.js index 89507ffa..773e2b48 100644 --- a/app/javascript/gabsocial/assets/home_icon.js +++ b/app/javascript/gabsocial/assets/home_icon.js @@ -18,7 +18,7 @@ const HomeIcon = ({ aria-label={title} > - + ) diff --git a/app/javascript/gabsocial/assets/like_icon.js b/app/javascript/gabsocial/assets/like_icon.js index c5aa3110..9fbb5c6d 100644 --- a/app/javascript/gabsocial/assets/like_icon.js +++ b/app/javascript/gabsocial/assets/like_icon.js @@ -18,7 +18,7 @@ const LikeIcon = ({ aria-label={title} > - + ) diff --git a/app/javascript/gabsocial/assets/link_icon.js b/app/javascript/gabsocial/assets/link_icon.js index 7fd270fe..6fb2230f 100644 --- a/app/javascript/gabsocial/assets/link_icon.js +++ b/app/javascript/gabsocial/assets/link_icon.js @@ -18,8 +18,8 @@ const LinkIcon = ({ aria-label={title} > - - + + ) diff --git a/app/javascript/gabsocial/assets/list_icon.js b/app/javascript/gabsocial/assets/list_icon.js index 5989d4b8..d4d81361 100644 --- a/app/javascript/gabsocial/assets/list_icon.js +++ b/app/javascript/gabsocial/assets/list_icon.js @@ -18,7 +18,7 @@ const ListIcon = ({ aria-label={title} > - + ) diff --git a/app/javascript/gabsocial/assets/media_icon.js b/app/javascript/gabsocial/assets/media_icon.js index 3e2504ad..791b741b 100644 --- a/app/javascript/gabsocial/assets/media_icon.js +++ b/app/javascript/gabsocial/assets/media_icon.js @@ -17,13 +17,13 @@ const MediaIcon = ({ xmlSpace='preserve' aria-label={title} > - - - - - - - + + + + + + + ) export default MediaIcon \ No newline at end of file diff --git a/app/javascript/gabsocial/assets/minimize_fullscreen_icon.js b/app/javascript/gabsocial/assets/minimize_fullscreen_icon.js index 4feb027a..42af9d13 100644 --- a/app/javascript/gabsocial/assets/minimize_fullscreen_icon.js +++ b/app/javascript/gabsocial/assets/minimize_fullscreen_icon.js @@ -5,25 +5,25 @@ const MinimizeFullscreenIcon = ({ viewBox = '0 0 32 32', title = 'Minimize Fullscreen', }) => ( - - - - - - - - - ) + + + + + + + + +) export default MinimizeFullscreenIcon \ No newline at end of file diff --git a/app/javascript/gabsocial/assets/missing_icon.js b/app/javascript/gabsocial/assets/missing_icon.js index c89b928e..dbf596c9 100644 --- a/app/javascript/gabsocial/assets/missing_icon.js +++ b/app/javascript/gabsocial/assets/missing_icon.js @@ -18,10 +18,10 @@ const MissingIcon = ({ aria-label={title} > - - - - + + + + ) diff --git a/app/javascript/gabsocial/assets/more_icon.js b/app/javascript/gabsocial/assets/more_icon.js index 013fdd0b..6f9aaac1 100644 --- a/app/javascript/gabsocial/assets/more_icon.js +++ b/app/javascript/gabsocial/assets/more_icon.js @@ -17,11 +17,10 @@ const MoreIcon = ({ xmlSpace='preserve' aria-label={title} > - - - - - + + + + ) export default MoreIcon \ No newline at end of file diff --git a/app/javascript/gabsocial/assets/notifications_icon.js b/app/javascript/gabsocial/assets/notifications_icon.js index 2ac2ac37..584e74e7 100644 --- a/app/javascript/gabsocial/assets/notifications_icon.js +++ b/app/javascript/gabsocial/assets/notifications_icon.js @@ -18,9 +18,9 @@ const NotificationsIcon = ({ aria-label={title} > - - - + + + ) diff --git a/app/javascript/gabsocial/assets/pause_icon.js b/app/javascript/gabsocial/assets/pause_icon.js index ab2773f3..0a39ddcb 100644 --- a/app/javascript/gabsocial/assets/pause_icon.js +++ b/app/javascript/gabsocial/assets/pause_icon.js @@ -17,12 +17,11 @@ const PauseIcon = ({ xmlSpace='preserve' aria-label={title} > - - - - - - + + + + + ) export default PauseIcon \ No newline at end of file diff --git a/app/javascript/gabsocial/assets/pin_icon.js b/app/javascript/gabsocial/assets/pin_icon.js index 70d817d1..7a142e49 100644 --- a/app/javascript/gabsocial/assets/pin_icon.js +++ b/app/javascript/gabsocial/assets/pin_icon.js @@ -17,10 +17,10 @@ const PinIcon = ({ xmlSpace='preserve' aria-label={title} > - - - - + + + + ) export default PinIcon \ No newline at end of file diff --git a/app/javascript/gabsocial/assets/play_icon.js b/app/javascript/gabsocial/assets/play_icon.js index b922ff19..d4b7dc93 100644 --- a/app/javascript/gabsocial/assets/play_icon.js +++ b/app/javascript/gabsocial/assets/play_icon.js @@ -5,22 +5,22 @@ const PlayIcon = ({ viewBox = '0 0 64 64', title = 'Play', }) => ( - - - - - - ) + + + + + +) export default PlayIcon \ No newline at end of file diff --git a/app/javascript/gabsocial/assets/poll_icon.js b/app/javascript/gabsocial/assets/poll_icon.js index 383aa0e1..e803c6ed 100644 --- a/app/javascript/gabsocial/assets/poll_icon.js +++ b/app/javascript/gabsocial/assets/poll_icon.js @@ -17,10 +17,10 @@ const PollIcon = ({ xmlSpace='preserve' aria-label={title} > - - - - + + + + ) export default PollIcon \ No newline at end of file diff --git a/app/javascript/gabsocial/assets/repost_icon.js b/app/javascript/gabsocial/assets/repost_icon.js index 23299d83..aa2b05ac 100644 --- a/app/javascript/gabsocial/assets/repost_icon.js +++ b/app/javascript/gabsocial/assets/repost_icon.js @@ -17,10 +17,10 @@ const CloseIcon = ({ xmlSpace='preserve' aria-label={title} > - - - - + + + + ) export default CloseIcon \ No newline at end of file diff --git a/app/javascript/gabsocial/assets/search_alt_icon.js b/app/javascript/gabsocial/assets/search_alt_icon.js index c6486960..9630e305 100644 --- a/app/javascript/gabsocial/assets/search_alt_icon.js +++ b/app/javascript/gabsocial/assets/search_alt_icon.js @@ -17,11 +17,10 @@ const SearchAltIcon = ({ xmlSpace='preserve' aria-label={title} > - - - - - + + + + ) export default SearchAltIcon \ No newline at end of file diff --git a/app/javascript/gabsocial/assets/search_icon.js b/app/javascript/gabsocial/assets/search_icon.js index 3bae5ed9..9d4f2eab 100644 --- a/app/javascript/gabsocial/assets/search_icon.js +++ b/app/javascript/gabsocial/assets/search_icon.js @@ -18,7 +18,7 @@ const SearchIcon = ({ aria-label={title} > - + ) diff --git a/app/javascript/gabsocial/assets/share_icon.js b/app/javascript/gabsocial/assets/share_icon.js index d256b5d5..311f6076 100644 --- a/app/javascript/gabsocial/assets/share_icon.js +++ b/app/javascript/gabsocial/assets/share_icon.js @@ -18,11 +18,11 @@ const ShareIcon = ({ aria-label={title} > - - - - - + + + + + ) diff --git a/app/javascript/gabsocial/assets/shop_icon.js b/app/javascript/gabsocial/assets/shop_icon.js index 68979815..dcddcc44 100644 --- a/app/javascript/gabsocial/assets/shop_icon.js +++ b/app/javascript/gabsocial/assets/shop_icon.js @@ -18,8 +18,8 @@ const ShopIcon = ({ aria-label={title} > - - + + ) diff --git a/app/javascript/gabsocial/assets/subtract_icon.js b/app/javascript/gabsocial/assets/subtract_icon.js index 330b10c2..5716665b 100644 --- a/app/javascript/gabsocial/assets/subtract_icon.js +++ b/app/javascript/gabsocial/assets/subtract_icon.js @@ -17,10 +17,10 @@ const SubtractIcon = ({ xmlSpace='preserve' aria-label={title} > - - - - + + + + ) export default SubtractIcon \ No newline at end of file diff --git a/app/javascript/gabsocial/assets/trends_icon.js b/app/javascript/gabsocial/assets/trends_icon.js index f4ce5ee7..1e050ecf 100644 --- a/app/javascript/gabsocial/assets/trends_icon.js +++ b/app/javascript/gabsocial/assets/trends_icon.js @@ -17,16 +17,15 @@ const TrendsIcon = ({ xmlSpace='preserve' aria-label={title} > - - - - - - - - - - + + + + + + + + + ) export default TrendsIcon \ No newline at end of file diff --git a/app/javascript/gabsocial/assets/warning_icon.js b/app/javascript/gabsocial/assets/warning_icon.js index 7f262585..2293ae48 100644 --- a/app/javascript/gabsocial/assets/warning_icon.js +++ b/app/javascript/gabsocial/assets/warning_icon.js @@ -18,7 +18,7 @@ const WarningIcon = ({ aria-label={title} > - + ) diff --git a/app/javascript/gabsocial/components/account.js b/app/javascript/gabsocial/components/account.js index 83b5207f..18aa5d66 100644 --- a/app/javascript/gabsocial/components/account.js +++ b/app/javascript/gabsocial/components/account.js @@ -35,6 +35,7 @@ class Account extends ImmutablePureComponent { actionTitle: PropTypes.string, onActionClick: PropTypes.func, compact: PropTypes.bool, + expanded: PropTypes.bool, showDismiss: PropTypes.bool, dismissAction: PropTypes.func, } @@ -76,6 +77,7 @@ class Account extends ImmutablePureComponent { actionIcon, actionTitle, compact, + expanded, dismissAction, showDismiss, } = this.props diff --git a/app/javascript/gabsocial/components/autosuggest_textbox/autosuggest_textbox.js b/app/javascript/gabsocial/components/autosuggest_textbox/autosuggest_textbox.js index d1e6daa4..644d16b2 100644 --- a/app/javascript/gabsocial/components/autosuggest_textbox/autosuggest_textbox.js +++ b/app/javascript/gabsocial/components/autosuggest_textbox/autosuggest_textbox.js @@ -35,13 +35,13 @@ export default class AutosuggestTextbox extends ImmutablePureComponent { onBlur: PropTypes.func, textarea: PropTypes.bool, small: PropTypes.bool, - }; + } static defaultProps = { autoFocus: true, searchTokens: ['@', ':', '#'], textarea: false, - }; + } state = { suggestionsHidden: true, @@ -49,11 +49,13 @@ export default class AutosuggestTextbox extends ImmutablePureComponent { selectedSuggestion: 0, lastToken: null, tokenStart: 0, - }; + } onChange = (e) => { const [ tokenStart, token ] = textAtCursorMatchesToken(e.target.value, e.target.selectionStart, this.props.searchTokens); + console.log('onChange', e.target.value, e.target, this.textbox, tokenStart, token) + if (token !== null && this.state.lastToken !== token) { this.setState({ lastToken: token, selectedSuggestion: 0, tokenStart }); this.props.onSuggestionsFetchRequested(token); @@ -155,10 +157,6 @@ export default class AutosuggestTextbox extends ImmutablePureComponent { } } - setTextbox = (c) => { - this.textbox = c; - } - renderSuggestion = (suggestion, i) => { const { selectedSuggestion } = this.state; let inner, key; @@ -192,6 +190,10 @@ export default class AutosuggestTextbox extends ImmutablePureComponent { ); } + setTextbox = (c) => { + this.textbox = c; + } + render () { const { value, @@ -249,12 +251,15 @@ export default class AutosuggestTextbox extends ImmutablePureComponent {
+