This commit is contained in:
syuilo 2018-07-25 00:51:30 +09:00
parent 623bc57c6d
commit 73d7ab0f47
2 changed files with 10 additions and 4 deletions

View File

@ -1,5 +1,6 @@
import * as getCaretCoordinates from 'textarea-caret';
import MkAutocomplete from '../components/autocomplete.vue';
import renderAcct from '../../../../../misc/acct/render';
export default {
bind(el, binding, vn) {
@ -187,13 +188,15 @@ class Autocomplete {
const trimmedBefore = before.substring(0, before.lastIndexOf('@'));
const after = source.substr(caret);
const acct = renderAcct(value);
// 挿入
this.text = trimmedBefore + '@' + value.username + ' ' + after;
this.text = trimmedBefore + '@' + acct + ' ' + after;
// キャレットを戻す
this.vm.$nextTick(() => {
this.textarea.focus();
const pos = trimmedBefore.length + (value.username.length + 2);
const pos = trimmedBefore.length + (acct.length + 2);
this.textarea.setSelectionRange(pos, pos);
});
} else if (type == 'hashtag') {

View File

@ -1,5 +1,8 @@
import { IUser } from '../../models/user';
type UserLike = {
host: string;
username: string;
};
export default (user: IUser) => {
export default (user: UserLike) => {
return user.host === null ? user.username : `${user.username}@${user.host}`;
};