mirror of
https://github.com/flarum/framework.git
synced 2025-02-21 07:50:24 +08:00
Clicking on an index nav item should always refresh the discussion list
This commit is contained in:
parent
bfef59c172
commit
8b7e7c0afd
10
framework/core/js/forum/src/components/index-nav-item.js
Normal file
10
framework/core/js/forum/src/components/index-nav-item.js
Normal file
@ -0,0 +1,10 @@
|
||||
import NavItem from 'flarum/components/nav-item'
|
||||
|
||||
export default class IndexNavItem extends NavItem {
|
||||
static props(props) {
|
||||
props.onclick = props.onclick || function() {
|
||||
app.cache.discussionList = null;
|
||||
m.redraw.strategy('none');
|
||||
};
|
||||
}
|
||||
}
|
@ -12,7 +12,7 @@ import DiscussionPage from 'flarum/components/discussion-page';
|
||||
|
||||
import SelectInput from 'flarum/components/select-input';
|
||||
import ActionButton from 'flarum/components/action-button';
|
||||
import NavItem from 'flarum/components/nav-item';
|
||||
import IndexNavItem from 'flarum/components/index-nav-item';
|
||||
import LoadingIndicator from 'flarum/components/loading-indicator';
|
||||
import DropdownSelect from 'flarum/components/dropdown-select';
|
||||
|
||||
@ -204,7 +204,7 @@ export default class IndexPage extends Component {
|
||||
var params = {sort: m.route.param('sort')};
|
||||
|
||||
items.add('allDiscussions',
|
||||
NavItem.component({
|
||||
IndexNavItem.component({
|
||||
href: app.route('index', params),
|
||||
label: 'All Discussions',
|
||||
icon: 'comments-o'
|
||||
|
@ -32,7 +32,7 @@ export default class Component {
|
||||
static component(props) {
|
||||
props = props || {};
|
||||
if (this.props) {
|
||||
props = this.props(props);
|
||||
this.props(props);
|
||||
}
|
||||
var view = function(component) {
|
||||
component.props = props;
|
||||
|
@ -4,7 +4,11 @@ import icon from 'flarum/helpers/icon'
|
||||
export default class NavItem extends Component {
|
||||
view() {
|
||||
var active = this.constructor.active(this.props);
|
||||
return m('li'+(active ? '.active' : ''), m('a', {href: this.props.href, config: m.route}, [
|
||||
return m('li'+(active ? '.active' : ''), m('a', {
|
||||
href: this.props.href,
|
||||
onclick: this.props.onclick,
|
||||
config: m.route
|
||||
}, [
|
||||
icon(this.props.icon+' icon'),
|
||||
this.props.label, ' ',
|
||||
this.props.badge ? m('span.count', this.props.badge) : ''
|
||||
|
Loading…
x
Reference in New Issue
Block a user