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:
Toby Zerner
2015-07-15 14:00:11 +09:30
parent 4480e0a83f
commit ab6c03c0cc
220 changed files with 9785 additions and 5919 deletions

View 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>
))
];
}
}