Add displayed property.

and remove logs, commments, etc...
Jonathan Frederic 12 years ago
parent f2c8de99ae
commit 1f002cd456

@ -83,6 +83,7 @@ function(WidgetManager, _, Backbone){
break;
case 'display':
this.widget_manager.display_view(msg, this);
this.trigger('displayed');
break;
}
},

@ -35,16 +35,21 @@ define(["widgets/js/widget"], function(WidgetManager){
this.model.on('change:_titles', function(model, value, options) {
this.update_titles(value);
}, this);
this.model.on('displayed', function() {
this.update_titles();
}, this);
},
update_titles: function(titles) {
// Set tab titles
if (!titles) {
titles = this.model.get('_titles');
}
var that = this;
console.log('update titles');
_.each(titles, function(title, page_index) {
var accordian = that.containers[page_index];
if (accordian !== undefined) {
console.log('setting child title');
accordian
.find('.accordion-heading')
.find('.accordion-toggle')
@ -56,9 +61,7 @@ define(["widgets/js/widget"], function(WidgetManager){
update_selected_index: function(old_index, new_index, options) {
// Only update the selection if the selection wasn't triggered
// by the front-end. It must be triggered by the back-end.
console.log('try update selected_index');
if (options === undefined || options.updated_view != this) {
console.log('update selected_index');
this.containers[old_index].find('.accordion-body').collapse('hide');
if (0 <= new_index && new_index < this.containers.length) {
this.containers[new_index].find('.accordion-body').collapse('show');
@ -75,7 +78,6 @@ define(["widgets/js/widget"], function(WidgetManager){
},
remove_child_model: function(model) {
console.log('rm child');
// Called when a child is removed from children list.
var accordion_group = this.model_containers[model.id];
this.containers.splice(accordion_group.container_index, 1);
@ -85,7 +87,6 @@ define(["widgets/js/widget"], function(WidgetManager){
},
add_child_model: function(model) {
console.log('add child');
// Called when a child is added to children list.
var view = this.create_child_view(model);
var index = this.containers.length;
@ -123,12 +124,7 @@ define(["widgets/js/widget"], function(WidgetManager){
accordion_inner.append(view.$el);
this.update();
// // Stupid workaround to close the bootstrap accordion tabs which
// // open by default even though they don't have the `in` class
// // attached to them. For some reason a delay is required.
// // TODO: Better fix.
// setTimeout(function(){ that.update(); }, 500);
this.update_titles();
},
});
WidgetManager.register_widget_view('AccordionView', AccordionView);

Loading…
Cancel
Save