Don't load suggestions when chartview active
This commit is contained in:
1 parent
e84f2aa04c
commit
20f1076037
3 files changed
+79
-66
No files matched your search
@@ -51,20 +51,6 @@ var Charts = new Class({
|
|||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
show: function(){
|
|
||||||
var self = this;
|
|
||||||
|
|
||||||
self.el.show();
|
|
||||||
|
|
||||||
if(!self.shown_once){
|
|
||||||
self.api_request = Api.request('charts.view', {
|
|
||||||
'onComplete': self.fill.bind(self)
|
|
||||||
});
|
|
||||||
|
|
||||||
self.shown_once = true;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
fill: function(json){
|
fill: function(json){
|
||||||
|
|
||||||
var self = this;
|
var self = this;
|
||||||
@@ -169,6 +155,24 @@ var Charts = new Class({
|
|||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
show: function(){
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
self.el.show();
|
||||||
|
|
||||||
|
if(!self.shown_once){
|
||||||
|
self.api_request = Api.request('charts.view', {
|
||||||
|
'onComplete': self.fill.bind(self)
|
||||||
|
});
|
||||||
|
|
||||||
|
self.shown_once = true;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
hide: function(){
|
||||||
|
this.el.hide();
|
||||||
|
},
|
||||||
|
|
||||||
afterAdded: function(m){
|
afterAdded: function(m){
|
||||||
|
|
||||||
$(m).getElement('div.chart_number')
|
$(m).getElement('div.chart_number')
|
||||||
|
|||||||
@@ -2,6 +2,8 @@ var SuggestList = new Class({
|
|||||||
|
|
||||||
Implements: [Options, Events],
|
Implements: [Options, Events],
|
||||||
|
|
||||||
|
shown_once: false,
|
||||||
|
|
||||||
initialize: function(options){
|
initialize: function(options){
|
||||||
var self = this;
|
var self = this;
|
||||||
self.setOptions(options);
|
self.setOptions(options);
|
||||||
@@ -44,12 +46,13 @@ var SuggestList = new Class({
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
var cookie_menu_select = Cookie.read('suggestions_charts_menu_selected');
|
var cookie_menu_select = Cookie.read('suggestions_charts_menu_selected') || 'suggestions';
|
||||||
if( cookie_menu_select === 'suggestions' || cookie_menu_select === null ) self.el.show(); else self.el.hide();
|
if( cookie_menu_select === 'suggestions')
|
||||||
|
self.show();
|
||||||
|
else
|
||||||
|
self.hide();
|
||||||
|
|
||||||
self.api_request = Api.request('suggestion.view', {
|
self.fireEvent('created');
|
||||||
'onComplete': self.fill.bind(self)
|
|
||||||
});
|
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -145,6 +148,24 @@ var SuggestList = new Class({
|
|||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
show: function(){
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
self.el.show();
|
||||||
|
|
||||||
|
if(!self.shown_once){
|
||||||
|
self.api_request = Api.request('suggestion.view', {
|
||||||
|
'onComplete': self.fill.bind(self)
|
||||||
|
});
|
||||||
|
|
||||||
|
self.shown_once = true;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
hide: function(){
|
||||||
|
this.el.hide();
|
||||||
|
},
|
||||||
|
|
||||||
toElement: function(){
|
toElement: function(){
|
||||||
return this.el;
|
return this.el;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -146,13 +146,13 @@ Page.Home = new Class({
|
|||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
// Suggest
|
// Suggest
|
||||||
self.suggestion_list = new SuggestList({
|
self.suggestions_list = new SuggestList({
|
||||||
'onLoaded': function(){
|
'onCreated': function(){
|
||||||
self.chain.callChain();
|
self.chain.callChain();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
$(self.suggestion_list).inject(self.el);
|
$(self.suggestions_list).inject(self.el);
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -160,46 +160,38 @@ Page.Home = new Class({
|
|||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
// Charts
|
// Charts
|
||||||
self.charts = new Charts({
|
self.charts_list = new Charts({
|
||||||
'onCreated': function(){
|
'onCreated': function(){
|
||||||
self.chain.callChain();
|
self.chain.callChain();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
$(self.charts).inject(self.el);
|
$(self.charts_list).inject(self.el);
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
createSuggestionsChartsMenu: function(){
|
createSuggestionsChartsMenu: function(){
|
||||||
var self = this;
|
var self = this,
|
||||||
|
suggestion_tab, charts_tab;
|
||||||
|
|
||||||
self.el_toggle_menu_suggestions = new Element('a.toggle_suggestions.active', {
|
self.el_toggle_menu = new Element('div.toggle_menu', {
|
||||||
'href': '#',
|
'events': {
|
||||||
'events': { 'click': function(e) {
|
'click:relay(a)': function(e, el) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
self.toggleSuggestionsCharts('suggestions');
|
self.toggleSuggestionsCharts(el.get('data-container'), el);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}).grab( new Element('h2', {'text': 'Suggestions'}));
|
}).adopt(
|
||||||
|
suggestion_tab = new Element('a.toggle_suggestions', {
|
||||||
|
'data-container': 'suggestions'
|
||||||
|
}).grab(new Element('h2', {'text': 'Suggestions'})),
|
||||||
|
charts_tab = new Element('a.toggle_charts', {
|
||||||
|
'data-container': 'charts'
|
||||||
|
}).grab( new Element('h2', {'text': 'Charts'}))
|
||||||
|
);
|
||||||
|
|
||||||
self.el_toggle_menu_charts = new Element('a.toggle_charts', {
|
var menu_selected = Cookie.read('suggestions_charts_menu_selected') || 'suggestions';
|
||||||
'href': '#',
|
self.toggleSuggestionsCharts(menu_selected, menu_selected == 'suggestions' ? suggestion_tab : charts_tab);
|
||||||
'events': { 'click': function(e) {
|
|
||||||
e.preventDefault();
|
|
||||||
self.toggleSuggestionsCharts('charts');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}).grab( new Element('h2', {'text': 'Charts'}));
|
|
||||||
|
|
||||||
self.el_toggle_menu = new Element('div.toggle_menu').grab(
|
|
||||||
self.el_toggle_menu_suggestions
|
|
||||||
).grab(
|
|
||||||
self.el_toggle_menu_charts
|
|
||||||
);
|
|
||||||
|
|
||||||
var menu_selected = Cookie.read('suggestions_charts_menu_selected');
|
|
||||||
if( menu_selected === null ) menu_selected = 'suggestions';
|
|
||||||
self.toggleSuggestionsCharts( menu_selected );
|
|
||||||
|
|
||||||
self.el_toggle_menu.inject(self.el);
|
self.el_toggle_menu.inject(self.el);
|
||||||
|
|
||||||
@@ -207,23 +199,19 @@ Page.Home = new Class({
|
|||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
toggleSuggestionsCharts: function(menu_id){
|
toggleSuggestionsCharts: function(menu_id, el){
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
switch(menu_id) {
|
// Toggle ta
|
||||||
case 'suggestions':
|
self.el_toggle_menu.getElements('.active').removeClass('active');
|
||||||
if($(self.suggestion_list)) $(self.suggestion_list).show();
|
if(el) el.addClass('active');
|
||||||
self.el_toggle_menu_suggestions.addClass('active');
|
|
||||||
if($(self.charts)) $(self.charts).hide();
|
// Hide both
|
||||||
self.el_toggle_menu_charts.removeClass('active');
|
if(self.suggestions_list) self.suggestions_list.hide();
|
||||||
break;
|
if(self.charts_list) self.charts_list.hide();
|
||||||
case 'charts':
|
|
||||||
if($(self.charts)) self.charts.show();
|
var toggle_to = self[menu_id + '_list'];
|
||||||
self.el_toggle_menu_charts.addClass('active');
|
if(toggle_to) toggle_to.show();
|
||||||
if($(self.suggestion_list)) $(self.suggestion_list).hide();
|
|
||||||
self.el_toggle_menu_suggestions.removeClass('active');
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
Cookie.write('suggestions_charts_menu_selected', menu_id, {'duration': 365});
|
Cookie.write('suggestions_charts_menu_selected', menu_id, {'duration': 365});
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in new issue
Block a user