diff --git a/public/js/app/views/navigation.js b/public/js/app/views/navigation.js index 4acc3e6..6838a1a 100644 --- a/public/js/app/views/navigation.js +++ b/public/js/app/views/navigation.js @@ -14,6 +14,14 @@ define(function (require) { return Marionette.ItemView.extend({ template: _.template(tpl), + templateHelpers: function() { + return { + isActiveRoute: function (route) { + return Backbone.history.fragment === route ? 'active' : '' + } + } + }, + events: { "click #settings": "settings" }, @@ -22,6 +30,7 @@ define(function (require) { this.settings = options.settings; this.servers = options.servers; this.serversListView = new ServersListView({ collection: this.servers }) + Backbone.history.on('route', this.render); }, onDomRefresh: function () { diff --git a/public/js/app/views/navigation/servers/list_item.js b/public/js/app/views/navigation/servers/list_item.js index 7ef2d2c..dad61fc 100644 --- a/public/js/app/views/navigation/servers/list_item.js +++ b/public/js/app/views/navigation/servers/list_item.js @@ -11,6 +11,9 @@ define(function (require) { template = _.template(tpl); return Marionette.ItemView.extend({ + className: function () { + return Backbone.history.fragment === 'servers/' + this.model.get('id') ? 'active' : '' + }, tagName: "li", template: template }); diff --git a/public/js/tpl/navigation.html b/public/js/tpl/navigation.html index 20c4f40..a914d4e 100644 --- a/public/js/tpl/navigation.html +++ b/public/js/tpl/navigation.html @@ -11,10 +11,10 @@