var DocumentElementWrapper = function(documentElement) {
+ this.documentElement = documentElement;
+
this.addWidget = function(widget) {
documentElement.dom().find('.canvas-widgets').append(widget);
};
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) {
this.el.clearWidgets();
this.el.addWidget(widgets.labelWidget(this.el.tag(), this.el.klass()));
+ },
+ toggle: function(toggle) {
+ this.el.toggle(toggle);
}
+
})
var managers = {
this.el.clearWidgets();
var clickHandler = function() {
- this._toggleFootnote(true);
+ this.toggle(true);
}.bind(this);
this.footnoteHandler = widgets.footnoteHandler(clickHandler);
this.el.addWidget(this.footnoteHandler);
var closeHandler = function() {
- this._toggleFootnote(false);
+ this.toggle(false);
}.bind(this);
this.hideButton = widgets.hideButton(closeHandler);
this.el.addWidget(this.hideButton);
- this._toggleFootnote(false);
+ this.toggle(false, {silent: true});
},
- _toggleFootnote: 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);