summaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2018-03-13 15:36:55 +0300
committerAndrew Dolgov <[email protected]>2018-03-13 15:36:55 +0300
commit80910996b07527f0941560bca5b598286a16ff9f (patch)
treee82546d98b2f02b958c0bc1f981a1ec3c80e918f /js
parentcfc197038ff9709cca3708e71f5d291ae7d54b0a (diff)
react to device orientation change to preserve lastread position
Diffstat (limited to 'js')
-rw-r--r--js/read.js43
1 files changed, 43 insertions, 0 deletions
diff --git a/js/read.js b/js/read.js
index 61fa44e..b0b7cff 100644
--- a/js/read.js
+++ b/js/read.js
@@ -26,6 +26,33 @@ function toggle_ui() {
$(".header,.footer").fadeIn();
}
+function open_lastread() {
+ localforage.getItem(cacheId("lastread")).then(function(item) {
+ console.log('lr local', item);
+
+ item = item || {};
+
+ if (item.cfi) book.gotoCfi(item.cfi);
+
+ if (navigator.onLine) {
+
+ $.post("backend.php", { op: "getlastread", id: $.urlParam("id") }, function(data) {
+ console.log('lr remote', data);
+
+ if (navigator.onLine && data) {
+ localforage.setItem(cacheId("lastread"),
+ {cfi: data.cfi, page: data.page, total: data.total});
+
+ if (item.cfi != data.cfi && (!item.page || data.page > item.page))
+ book.gotoCfi(data.cfi);
+
+ }
+ });
+ }
+
+ });
+}
+
function next_page() {
_store_position = 1;
@@ -76,6 +103,22 @@ function hotkey_handler(e) {
$(document).ready(function() {
document.onkeydown = hotkey_handler;
+ $(window).on("orientationchange", function(evt) {
+ console.log("orientationchange");
+
+ $(".loading").show();
+ $(".loading_message").html("Opening chapter...");
+
+ window.setTimeout(function() {
+ open_lastread();
+
+ window.setTimeout(function() {
+ $(".loading").hide();
+ }, 500);
+
+ }, 1000);
+ });
+
$(window).on("mouseup", function(evt) {
if (evt.button == 0) {