mirror of
https://github.com/futurepress/epub.js.git
synced 2025-10-03 14:59:18 +02:00
104 lines
No EOL
2.4 KiB
JavaScript
104 lines
No EOL
2.4 KiB
JavaScript
EPUBJS.reader.ControlsController = function(book) {
|
|
var reader = this;
|
|
|
|
var $store = $("#store"),
|
|
$fullscreen = $("#fullscreen"),
|
|
$fullscreenicon = $("#fullscreenicon"),
|
|
$cancelfullscreenicon = $("#cancelfullscreenicon"),
|
|
$slider = $("#slider"),
|
|
$main = $("#main"),
|
|
$sidebar = $("#sidebar"),
|
|
$settings = $("#setting"),
|
|
$bookmark = $("#bookmark");
|
|
|
|
var goOnline = function() {
|
|
reader.offline = false;
|
|
// $store.attr("src", $icon.data("save"));
|
|
};
|
|
|
|
var goOffline = function() {
|
|
reader.offline = true;
|
|
// $store.attr("src", $icon.data("saved"));
|
|
};
|
|
|
|
var fullscreen = false;
|
|
|
|
book.on("book:online", goOnline);
|
|
book.on("book:offline", goOffline);
|
|
|
|
$slider.on("click", function () {
|
|
if(reader.sidebarOpen) {
|
|
reader.SidebarController.hide();
|
|
$slider.addClass("icon-menu");
|
|
$slider.removeClass("icon-right");
|
|
} else {
|
|
reader.SidebarController.show();
|
|
$slider.addClass("icon-right");
|
|
$slider.removeClass("icon-menu");
|
|
}
|
|
});
|
|
|
|
$fullscreen.on("click", function() {
|
|
screenfull.toggle($('#container')[0]);
|
|
});
|
|
|
|
if(screenfull) {
|
|
document.addEventListener(screenfull.raw.fullscreenchange, function() {
|
|
fullscreen = screenfull.isFullscreen;
|
|
if(fullscreen) {
|
|
$fullscreen
|
|
.addClass("icon-resize-small")
|
|
.removeClass("icon-resize-full");
|
|
} else {
|
|
$fullscreen
|
|
.addClass("icon-resize-full")
|
|
.removeClass("icon-resize-small");
|
|
}
|
|
});
|
|
}
|
|
|
|
$settings.on("click", function() {
|
|
reader.SettingsController.show();
|
|
});
|
|
|
|
$bookmark.on("click", function() {
|
|
var cfi = reader.book.getCurrentLocationCfi();
|
|
var bookmarked = reader.isBookmarked(cfi);
|
|
|
|
if(bookmarked === -1) { //-- Add bookmark
|
|
reader.addBookmark(cfi);
|
|
$bookmark
|
|
.addClass("icon-bookmark")
|
|
.removeClass("icon-bookmark-empty");
|
|
} else { //-- Remove Bookmark
|
|
reader.removeBookmark(cfi);
|
|
$bookmark
|
|
.removeClass("icon-bookmark")
|
|
.addClass("icon-bookmark-empty");
|
|
}
|
|
|
|
});
|
|
|
|
book.on('renderer:locationChanged', function(cfi){
|
|
//-- Check if bookmarked
|
|
var bookmarked = reader.isBookmarked(cfi);
|
|
if(bookmarked === -1) { //-- Not bookmarked
|
|
$bookmark
|
|
.removeClass("icon-bookmark")
|
|
.addClass("icon-bookmark-empty");
|
|
} else { //-- Bookmarked
|
|
$bookmark
|
|
.addClass("icon-bookmark")
|
|
.removeClass("icon-bookmark-empty");
|
|
}
|
|
|
|
});
|
|
|
|
book.on('book:pageChanged', function(location){
|
|
console.log("page", location.page, location.percentage)
|
|
});
|
|
|
|
return {
|
|
|
|
};
|
|
}; |