mirror of
https://github.com/flarum/framework.git
synced 2025-05-23 15:19:56 +08:00
Massive JavaScript cleanup
- Use JSX for templates - Docblock/comment everything - Mostly passes ESLint (still some work to do) - Lots of renaming, refactoring, etc. CSS hasn't been updated yet.
This commit is contained in:
36
js/forum/src/components/UsersSearchSource.js
Normal file
36
js/forum/src/components/UsersSearchSource.js
Normal file
@ -0,0 +1,36 @@
|
||||
import highlight from 'flarum/helpers/highlight';
|
||||
import avatar from 'flarum/helpers/avatar';
|
||||
|
||||
/**
|
||||
* The `UsersSearchSource` finds and displays user search results in the search
|
||||
* dropdown.
|
||||
*
|
||||
* @implements SearchSource
|
||||
*/
|
||||
export default class UsersSearchResults {
|
||||
search(query) {
|
||||
return app.store.find('users', {
|
||||
filter: {q: query},
|
||||
page: {limit: 5}
|
||||
});
|
||||
}
|
||||
|
||||
view(query) {
|
||||
const results = app.store.all('users')
|
||||
.filter(user => user.username().toLowerCase().substr(0, query.length) === query);
|
||||
|
||||
if (!results.length) return '';
|
||||
|
||||
return [
|
||||
<li className="dropdown-header">Users</li>,
|
||||
results.map(user => (
|
||||
<li className="user-search-result" data-index={'users' + user.id()}>
|
||||
<a href={app.route.user(user)} config={m.route}>
|
||||
{avatar(user)}
|
||||
{highlight(user.username(), query)}
|
||||
</a>
|
||||
</li>
|
||||
))
|
||||
];
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user