summaryrefslogtreecommitdiffstats
path: root/client/components/sidebar/sidebar.js
diff options
context:
space:
mode:
Diffstat (limited to 'client/components/sidebar/sidebar.js')
-rw-r--r--client/components/sidebar/sidebar.js25
1 files changed, 20 insertions, 5 deletions
diff --git a/client/components/sidebar/sidebar.js b/client/components/sidebar/sidebar.js
index b737e9de..777d72e1 100644
--- a/client/components/sidebar/sidebar.js
+++ b/client/components/sidebar/sidebar.js
@@ -1,6 +1,11 @@
+Sidebar = null;
+
var defaultView = 'home';
-Sidebar = null;
+var viewTitles = {
+ filter: 'filter-cards',
+ multiselection: 'multi-selection'
+};
BlazeComponent.extendComponent({
template: function() {
@@ -60,14 +65,23 @@ BlazeComponent.extendComponent({
},
setView: function(view) {
- view = view || defaultView;
+ view = _.isString(view) ? view : defaultView;
this._view.set(view);
+ this.open();
+ },
+
+ isDefaultView: function() {
+ return this.getView() === defaultView;
},
getViewTemplate: function() {
return this.getView() + 'Sidebar';
},
+ getViewTitle: function() {
+ return TAPi18n.__(viewTitles[this.getView()]);
+ },
+
// Board members can assign people or labels by drag-dropping elements from
// the sidebar to the cards on the board. In order to re-initialize the
// jquery-ui plugin any time a draggable member or label is modified or
@@ -108,12 +122,13 @@ BlazeComponent.extendComponent({
// XXX Hacky, we need some kind of `super`
var mixinEvents = this.getMixin(Mixins.InfiniteScrolling).events();
return mixinEvents.concat([{
- 'click .js-toogle-sidebar': this.toogle
+ 'click .js-toogle-sidebar': this.toogle,
+ 'click .js-back-home': this.setView
}]);
}
}).register('sidebar');
EscapeActions.register('sidebarView',
- function() { return Sidebar && Sidebar.getView() !== defaultView; },
- function() { Sidebar.setView(defaultView); }
+ function() { Sidebar.setView(defaultView); },
+ function() { return Sidebar && Sidebar.getView() !== defaultView; }
);