]> _ Git - fluidbook-html5.git/commitdiff
wip #2132 @1
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Wed, 11 Jul 2018 17:27:14 +0000 (19:27 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Wed, 11 Jul 2018 17:27:14 +0000 (19:27 +0200)
js/libs/fluidbook/fluidbook.bookmarks.js

index 3bb3efdd0dceefc1d64949a5df4a38c209392233..b2db7212ddfac6e1085a1a311659e4959b352bdb 100644 (file)
@@ -24,6 +24,7 @@ function FluidbookBookmarks(fluidbook) {
 FluidbookBookmarks.prototype = {
     init: function () {
         var $this = this;
+        console.log('init');
         $(document).on('click touchend', '.bookmark', function () {
             $this.toggleBookmark(parseInt($(this).attr('data-page')));
             $this.fluidbook.tooltip.hideTooltip();
@@ -87,11 +88,15 @@ FluidbookBookmarks.prototype = {
     getBookmarksCompacted: function () {
         this.bookmarks.sort(this.sortnumeric);
 
+
         var g = [];
         var rs = 0;
         var re = 0;
         for (var i = 0; i < this.bookmarks.length; i++) {
             var b = this.bookmarks[i];
+            if(b>this.fluidbook.getMaxPage()){
+                continue;
+            }
             if (rs == 0) {
                 rs = re = b;
                 continue;
@@ -120,7 +125,7 @@ FluidbookBookmarks.prototype = {
         return g.join(',');
     },
     addGroup: function (from, nb, name) {
-        var to = Math.min(from + (nb - 1), this.fluidbook.pages);
+        var to = Math.min(from + (nb - 1), this.fluidbook.datas.pages);
         for (var i = from; i <= to; i++) {
             this._pagesToGroup[i] = this._groups;
         }
@@ -129,15 +134,13 @@ FluidbookBookmarks.prototype = {
         this._groups++;
     },
     completeGroups: function () {
-        for (var i = 1; i <= this.fluidbook.pages; i++) {
+        for (var i = 1; i <= this.fluidbook.datas.pages; i++) {
             if (this._pagesToGroup[i] == undefined || this._pagesToGroup[i] == null) {
                 this._pagesToGroup[i] = this._groups;
                 this._groupOrder.push(this._groups);
                 this._groups++;
             }
         }
-
-        console.log(this._pagesToGroup);
     },
     getPreviousGroup: function (group) {
         var o = this.getOrderGroup(group);
@@ -175,8 +178,8 @@ FluidbookBookmarks.prototype = {
     },
     getPagesOfGroup: function (groupId) {
         var res = [];
-        for (var i = 1; i <= this.fluidbook.pages; i++) {
-            if (this._pagesToGroup[i] == groupId) {
+        for (var i = 1; i <= this.fluidbook.datas.pages; i++) {
+            if (this._pagesToGroup[i] === groupId) {
                 res.push(i);
             }
         }
@@ -261,9 +264,11 @@ FluidbookBookmarks.prototype = {
     },
     getLinkedPages: function (page) {
         var group = this.getGroupOfPage(page);
-        if (group == -1 || isNaN(group)) {
+        console.log('group : '+group);
+        if (group === -1 || isNaN(group)) {
             return [];
         }
+        console.log(this.getPagesOfGroup(group));
         return this.getPagesOfGroup(group);
     },
     addBookmark: function (page, cornersOnly) {
@@ -271,14 +276,16 @@ FluidbookBookmarks.prototype = {
             cornersOnly = false;
         }
         var pages = this.getLinkedPages(page);
-        console.log(pages);
         for (i in pages) {
             var page = pages[i];
+
             if (!cornersOnly) {
+                console.log('add bookmark on  page '+page);
                 this.bookmarks.push(page);
             }
         }
         if (!cornersOnly) {
+            console.log('bookmark added');
             this.updateBookmarks();
             // TODO add stats call
         }