diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2016-10-30 18:13:05 +0100 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2016-10-30 18:13:05 +0100 |
commit | c49f6290eb9c93720bd5407f4320bb0fd6c96ed9 (patch) | |
tree | 6b39ea083c41313b1443d71a6b1adaaf1d31f431 /app/assets/javascripts/components/actions | |
parent | fa1cc2d05a12783e166f30bf7a0b3239ebccf732 (diff) |
Basic username autocomplete for text area
Diffstat (limited to 'app/assets/javascripts/components/actions')
-rw-r--r-- | app/assets/javascripts/components/actions/compose.jsx | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/app/assets/javascripts/components/actions/compose.jsx b/app/assets/javascripts/components/actions/compose.jsx index 1bf95eec0..e27b606ee 100644 --- a/app/assets/javascripts/components/actions/compose.jsx +++ b/app/assets/javascripts/components/actions/compose.jsx @@ -13,6 +13,9 @@ export const COMPOSE_UPLOAD_FAIL = 'COMPOSE_UPLOAD_FAIL'; export const COMPOSE_UPLOAD_PROGRESS = 'COMPOSE_UPLOAD_PROGRESS'; export const COMPOSE_UPLOAD_UNDO = 'COMPOSE_UPLOAD_UNDO'; +export const COMPOSE_SUGGESTIONS_CLEAR = 'COMPOSE_SUGGESTIONS_CLEAR'; +export const COMPOSE_SUGGESTIONS_READY = 'COMPOSE_SUGGESTIONS_READY'; + export function changeCompose(text) { return { type: COMPOSE_CHANGE, @@ -129,3 +132,27 @@ export function undoUploadCompose(media_id) { media_id: media_id }; }; + +export function clearComposeSuggestions() { + return { + type: COMPOSE_SUGGESTIONS_CLEAR + }; +}; + +export function fetchComposeSuggestions(token) { + return (dispatch, getState) => { + const loadedCandidates = getState().get('accounts').filter(item => item.get('acct').toLowerCase().slice(0, token.length) === token).map(item => ({ + label: item.get('acct'), + completion: item.get('acct').slice(0, token.length) + })).toList().toJS(); + + dispatch(readyComposeSuggestions(loadedCandidates)); + }; +}; + +export function readyComposeSuggestions(accounts) { + return { + type: COMPOSE_SUGGESTIONS_READY, + accounts + }; +}; |