var DocumentElementWrapper = function(documentElement) {
+ this.documentElement = documentElement;
+
this.addWidget = function(widget) {
documentElement.dom().find('.canvas-widgets').append(widget);
};
}
this.setDisplayStyle = function(displayStyle) {
- documentElement.dom().css('display', displayStyle);
- documentElement._container().css('display', displayStyle);
+ documentElement.dom().css('display', displayStyle || '');
+ documentElement._container().css('display', displayStyle || '');
};
this.tag = function() {
this.toggle = function(toggle) {
documentElement._container().toggle(toggle);
}
+
+ var eventBus = documentElement.bound() ? documentElement.canvas.eventBus :
+ {trigger: function() {}};
+ this.trigger = function() {
+ eventBus.trigger.apply(eventBus, arguments);
+ }
+
}
var getDisplayStyle = function(tag, klass) {
return 'none';
if(tag === 'span')
return 'inline';
+ if(klass === 'item')
+ return null;
return 'block';
}
this.hideButton = widgets.hideButton(closeHandler);
this.el.addWidget(this.hideButton);
- this.toggle(false);
+ this.toggle(false, {silent: true});
},
- toggle: function(toggle) {
+ toggle: function(toggle, options) {
+ options = options || {};
this.hideButton.toggle(toggle);
this.footnoteHandler.toggle(!toggle);
this.el.setDisplayStyle(toggle ? 'block' : 'inline');
this.el.toggle(toggle);
+ if(!options.silent)
+ this.el.trigger('elementToggled', toggle, this.el.documentElement);
}
})
managers.set('aside', 'footnote', FootnoteManager);