mirror of
https://github.com/futurepress/epub.js.git
synced 2025-10-04 15:09:16 +02:00
50 lines
No EOL
1.1 KiB
JavaScript
50 lines
No EOL
1.1 KiB
JavaScript
EPUBJS.reader.SidebarController = function(book) {
|
|
var reader = this;
|
|
|
|
var $sidebar = $("#sidebar"),
|
|
$panels = $("#panels");
|
|
|
|
var activePanel = "Toc";
|
|
|
|
var changePanelTo = function(viewName) {
|
|
var controllerName = viewName + "Controller";
|
|
|
|
if(activePanel == viewName || typeof reader[controllerName] === 'undefined' ) return;
|
|
reader[activePanel+ "Controller"].hide();
|
|
reader[controllerName].show();
|
|
activePanel = viewName;
|
|
|
|
$panels.find('.active').removeClass("active");
|
|
$panels.find("#show-" + viewName ).addClass("active");
|
|
};
|
|
|
|
var getActivePanel = function() {
|
|
return activePanel;
|
|
};
|
|
|
|
var show = function() {
|
|
reader.sidebarOpen = true;
|
|
reader.ReaderController.slideOut();
|
|
$sidebar.addClass("open");
|
|
}
|
|
|
|
var hide = function() {
|
|
reader.sidebarOpen = false;
|
|
reader.ReaderController.slideIn();
|
|
$sidebar.removeClass("open");
|
|
}
|
|
|
|
$panels.find(".show_view").on("click", function(event) {
|
|
var view = $(this).data("view");
|
|
|
|
changePanelTo(view);
|
|
event.preventDefault();
|
|
});
|
|
|
|
return {
|
|
'show' : show,
|
|
'hide' : hide,
|
|
'getActivePanel' : getActivePanel,
|
|
'changePanelTo' : changePanelTo
|
|
};
|
|
}; |