Retrigger at.js for slash commands with autocomplete suffix

This commit is contained in:
Sam Rose 2017-02-09 22:35:32 -05:00
parent 5e95296278
commit 1536109ccd
3 changed files with 21 additions and 0 deletions

View File

@ -103,6 +103,9 @@
this.input.each((i, input) => {
const $input = $(input);
$input.off('focus.setupAtWho').on('focus.setupAtWho', this.setupAtWho.bind(this, $input));
// This triggers at.js again
// Needed for slash commands with suffixes (ex: /label ~)
$input.on('inserted-commands.atwho', $input.trigger.bind($input, 'keyup'));
});
},
setupAtWho: function($input) {

View File

@ -0,0 +1,4 @@
---
title: Trigger autocomplete after selecting a slash command
merge_request: 9117
author:

View File

@ -182,6 +182,20 @@ feature 'GFM autocomplete', feature: true, js: true do
expect(page).not_to have_selector('.atwho-view')
end
it 'triggers autocomplete after selecting a slash command' do
note = find('#note_note')
page.within '.timeline-content-form' do
note.native.send_keys('')
note.native.send_keys('/as')
note.click
end
find('.atwho-view li', text: '/assign').native.send_keys(:tab)
user_item = find('.atwho-view li', text: user.username)
expect(user_item).to have_content(user.username)
end
def expect_to_wrap(should_wrap, item, note, value)
expect(item).to have_content(value)
expect(item).not_to have_content("\"#{value}\"")