import _ from 'lodash'; import tpl from 'vj/utils/tpl'; import request from 'vj/utils/request'; import DOMAttachedObject from 'vj/components/DOMAttachedObject'; import AutoComplete from '.'; function getText(user) { return user.uname; } function getItems(val) { return request.get('/user/search', { q: val }); } function renderItem(user) { return tpl`
${user.uname}
UID = ${user._id}
`; } export default class UserSelectAutoComplete extends AutoComplete { static DOMAttachKey = 'vjUserSelectAutoCompleteInstance'; constructor($dom, options) { super($dom, { classes: 'user-select', items: getItems, render: renderItem, text: getText, ...options, }); } } _.assign(UserSelectAutoComplete, DOMAttachedObject); window.Hydro.components.UserSelectAutoComplete = UserSelectAutoComplete;