mirror of
https://github.com/Yetangitu/owncloud-apps.git
synced 2025-10-02 14:49:17 +02:00
files_reader: experimental PDF support, Work In Progress
This commit is contained in:
parent
9865f94e70
commit
ed0d8ae717
27 changed files with 3649 additions and 2 deletions
178
files_reader/vendor/pdfjs/controllers/reader_controller.js
vendored
Normal file
178
files_reader/vendor/pdfjs/controllers/reader_controller.js
vendored
Normal file
|
@ -0,0 +1,178 @@
|
|||
PDFJS.reader.ReaderController = function(book) {
|
||||
var $main = $("#main"),
|
||||
$divider = $("#divider"),
|
||||
$loader = $("#loader"),
|
||||
$next = $("#next"),
|
||||
$prev = $("#prev"),
|
||||
$sidebarReflow = $('#sidebarReflow'),
|
||||
$metainfo = $("#metainfo"),
|
||||
$use_custom_colors = $("#use_custom_colors"),
|
||||
$container = $("#container"),
|
||||
$fullscreen = $("#fullscreen"),
|
||||
$bookmark = $("#bookmark"),
|
||||
$note = $("#note");
|
||||
|
||||
var reader = this,
|
||||
book = this.book,
|
||||
settings = reader.settings;
|
||||
|
||||
var slideIn = function() {
|
||||
if (reader.viewerResized) {
|
||||
var currentPosition = book.getCurrentLocationCfi();
|
||||
reader.viewerResized = false;
|
||||
$main.removeClass('single');
|
||||
$main.one("transitionend", function(){
|
||||
book.gotoCfi(currentPosition);
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
var slideOut = function() {
|
||||
var currentPosition = book.getCurrentLocationCfi();
|
||||
reader.viewerResized = true;
|
||||
$main.addClass('single');
|
||||
$main.one("transitionend", function(){
|
||||
book.gotoCfi(currentPosition);
|
||||
});
|
||||
};
|
||||
|
||||
var showLoader = function() {
|
||||
$loader.show();
|
||||
hideDivider();
|
||||
};
|
||||
|
||||
var hideLoader = function() {
|
||||
$loader.hide();
|
||||
|
||||
//-- If the book is using spreads, show the divider
|
||||
// if(book.settings.spreads) {
|
||||
// showDivider();
|
||||
// }
|
||||
};
|
||||
|
||||
var showDivider = function() {
|
||||
$divider.addClass("show");
|
||||
};
|
||||
|
||||
var hideDivider = function() {
|
||||
$divider.removeClass("show");
|
||||
};
|
||||
|
||||
var keylock = false;
|
||||
|
||||
var showActive = function (obj) {
|
||||
keylock = true;
|
||||
obj.addClass("active");
|
||||
setTimeout(function () {
|
||||
keylock = false;
|
||||
obj.removeClass("active");
|
||||
}, 100);
|
||||
};
|
||||
|
||||
var keyCommands = function(e) {
|
||||
|
||||
var page_no = false;
|
||||
|
||||
switch (settings.keyboard[e.keyCode]) {
|
||||
case 'previous':
|
||||
$prev.click();
|
||||
break;
|
||||
case 'next':
|
||||
$next.click();
|
||||
break;
|
||||
case 'first':
|
||||
page_no = 1;
|
||||
break;
|
||||
case 'last':
|
||||
// TODO
|
||||
break;
|
||||
case 'annotate':
|
||||
$note.click();
|
||||
break;
|
||||
case 'bookmark':
|
||||
$bookmark.click();
|
||||
break;
|
||||
case 'reflow':
|
||||
$sidebarReflow.click();
|
||||
break;
|
||||
case 'toggleSidebar':
|
||||
reader.SidebarController.toggle();
|
||||
break;
|
||||
case 'closeSidebar':
|
||||
reader.SidebarController.hide();
|
||||
break;
|
||||
case 'toggleFullscreen':
|
||||
$fullscreen.click();
|
||||
break;
|
||||
case 'toggleNight':
|
||||
$metainfo.click();
|
||||
break;
|
||||
case 'toggleDay':
|
||||
$use_custom_colors.click();
|
||||
break;
|
||||
default:
|
||||
console.log("unsupported keyCode: " + e.keyCode);
|
||||
}
|
||||
|
||||
if (page_no) {
|
||||
|
||||
// TODO
|
||||
}
|
||||
}
|
||||
|
||||
document.addEventListener('keydown', keyCommands, false);
|
||||
|
||||
$next.on("click", function(e){
|
||||
|
||||
//if(book.metadata.direction === "rtl") {
|
||||
// reader.prevPage();
|
||||
//} else {
|
||||
reader.nextPage();
|
||||
//}
|
||||
|
||||
showActive($next);
|
||||
|
||||
e.preventDefault();
|
||||
});
|
||||
|
||||
$prev.on("click", function(e){
|
||||
|
||||
//if(book.metadata.direction === "rtl") {
|
||||
// reader.nextPage();
|
||||
//} else {
|
||||
reader.prevPage();
|
||||
//}
|
||||
|
||||
showActive($prev);
|
||||
|
||||
e.preventDefault();
|
||||
});
|
||||
|
||||
/*
|
||||
book.on("renderer:spreads", function(bool){
|
||||
if(bool) {
|
||||
showDivider();
|
||||
} else {
|
||||
hideDivider();
|
||||
}
|
||||
});
|
||||
*/
|
||||
|
||||
// book.on("book:atStart", function(){
|
||||
// $prev.addClass("disabled");
|
||||
// });
|
||||
//
|
||||
// book.on("book:atEnd", function(){
|
||||
// $next.addClass("disabled");
|
||||
// });
|
||||
|
||||
return {
|
||||
"slideOut" : slideOut,
|
||||
"slideIn" : slideIn,
|
||||
"showLoader" : showLoader,
|
||||
"hideLoader" : hideLoader,
|
||||
"showDivider" : showDivider,
|
||||
"hideDivider" : hideDivider,
|
||||
"keyCommands" : keyCommands
|
||||
};
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue