]> _ Git - fluidbook-html5.git/commitdiff
wip #4440 @3
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 29 Apr 2021 18:52:08 +0000 (20:52 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 29 Apr 2021 18:52:08 +0000 (20:52 +0200)
js/libs/fluidbook/fluidbook.background.js
js/libs/fluidbook/fluidbook.links.js
js/libs/fluidbook/fluidbook.loader.js
js/libs/fluidbook/fluidbook.menu.js
js/libs/fluidbook/fluidbook.nav.js

index 9efaafc3eee93b5d328a35d5b804d508aaed5d81..7d6b3229deba409ce69a8ea4eb882e4b3f3e819a 100644 (file)
@@ -12,7 +12,7 @@ FluidbookBackground.prototype = {
             && this.fluidbook.settings.links.background !== ''
             && this.fluidbook.settings.mobileIgnoreBackgroundLinks === false) {
 
-            $("#background").prepend('<div class="links">' + this.fluidbook.settings.links.background + '</div>');
+            $("#background").prepend('<div class="links">' + this.fluidbook.loader.handleExtension(this.fluidbook.settings.links.background) + '</div>');
             this.hasLinks = true;
         }
 
index 2c385de895d8f1a3e4afc6e827a69aabea6f07ab..1c9f5d463c9a2b082bd7fa86914ee93dab7334fd 100644 (file)
@@ -394,7 +394,7 @@ FluidbookLinks.prototype = {
         if (leftLinks) {
             links.prepend('<div class="leftContainer container"></div>');
             var leftContainer = links.find('.leftContainer');
-            leftContainer.html(this.fluidbook.settings.links[leftPage]);
+            leftContainer.html(this.fluidbook.loader.handleExtension(this.fluidbook.settings.links[leftPage]));
             if (this.fluidbook.settings.bookmark) {
                 leftContainer.append(this.fluidbook.bookmarks.getBookmarkForPage(leftPage, this.fluidbook.displayOnePage, this.fluidbook.settings.bookmarkPermanentIcon));
             }
@@ -402,7 +402,7 @@ FluidbookLinks.prototype = {
         if (rightLinks) {
             links.prepend('<div class="rightContainer container"></div>');
             var rightContainer = links.find('.rightContainer');
-            rightContainer.html(this.fluidbook.settings.links[rightPage]);
+            rightContainer.html(this.fluidbook.loader.handleExtension(this.fluidbook.settings.links[rightPage]));
             if (this.fluidbook.settings.bookmark) {
                 rightContainer.append(this.fluidbook.bookmarks.getBookmarkForPage(rightPage, this.fluidbook.displayOnePage, this.fluidbook.settings.bookmarkPermanentIcon));
             }
@@ -743,7 +743,7 @@ FluidbookLinks.prototype = {
 
     getLinkByHref: function (href) {
         for (var i = 1; i <= this.fluidbook.settings.pages; i++) {
-            var res = $(this.fluidbook.settings.links[i]).find('a[href="' + href + '"]');
+            var res = $(this.fluidbook.loader.handleExtension(this.fluidbook.settings.links[i])).find('a[href="' + href + '"]');
             if (res.length > 0) {
                 return res.eq('0');
             }
index 9b814d674b81771da75dee750956836399420a7a..3922d2630ce7c06b5863926bf126468c013fb88b 100644 (file)
@@ -310,8 +310,8 @@ FluidbookLoader.prototype = {
                 $(page).show();
             }
 
-            $(page).children('.clinks').html(this.fluidbook.settings.clinks[pageNr]);
-            $(page).children('.ctlinks').html(this.fluidbook.settings.ctlinks[pageNr]);
+            $(page).children('.clinks').html(this.handleExtension(this.fluidbook.settings.clinks[pageNr]));
+            $(page).children('.ctlinks').html(this.handleExtension(this.fluidbook.settings.ctlinks[pageNr]));
             callback();
             return;
         }
@@ -325,11 +325,22 @@ FluidbookLoader.prototype = {
         var $this = this;
         this.loadDatas(pageNr, function () {
             $(page).addClass(position);
-            $(page).children('.clinks').html($this.fluidbook.settings.clinks[pageNr]);
-            $(page).children('.ctlinks').html($this.fluidbook.settings.ctlinks[pageNr]);
+            $(page).children('.clinks').html($this.handleExtension($this.fluidbook.settings.clinks[pageNr]));
+            $(page).children('.ctlinks').html($this.handleExtension($this.fluidbook.settings.ctlinks[pageNr]));
             callback();
         });
     },
+
+    handleExtension: function (content) {
+        var ext = this.fluidbook.settings.actualHtmlExtension;
+        if (ext === undefined || ext === null || ext === 'html') {
+            return content;
+        }
+        var res = content.replace(/data\/([^"]*)\.html/gm, "data/$1." + ext);
+        console.log('ext replaced', ext, content, res);
+        return res;
+    },
+
     loadPageShade: function (position) {
         return this.loadImage('images/shadows/pages/' + position + '.png', this.fluidbook.settings.width / 4, this.fluidbook.settings.height);
     },
@@ -464,7 +475,7 @@ FluidbookLoader.prototype = {
         }
 
         // Draw content links
-        var clinks = this.fluidbook.settings.clinks[page];
+        var clinks = this.handleExtension(this.fluidbook.settings.clinks[page]);
         if (clinks !== '') {
             $("body").append('<div id="texture_clinks">' + clinks + '</div>');
             $("#texture_clinks .contentLink").each(function () {
@@ -691,7 +702,7 @@ FluidbookLoader.prototype = {
             return;
         }
         var img = $(image).get(0);
-        if (img===undefined || img.complete || img.readyState === 'complete' || img.readyState === 4) {
+        if (img === undefined || img.complete || img.readyState === 'complete' || img.readyState === 4) {
             callback();
         }
     },
index f6ac12a6252903de687a5241d4f1a41fbc690d2c..cc9c2ff2ebd1be81f3a1f2d143db7fbb56f4ad34 100644 (file)
@@ -207,7 +207,7 @@ FluidbookMenu.prototype = {
         var animateLinks = false;
         var uid = $(a).closest('[data-id]').data('id');
         if (this.fluidbook.settings.links['link_' + uid] !== undefined) {
-            links = '<div class="links">' + this.fluidbook.settings.links['link_' + uid] + '</div>';
+            links = '<div class="links">' + this.fluidbook.loader.handleExtension(this.fluidbook.settings.links['link_' + uid]) + '</div>';
             animateLinks = true;
         }
         view += '<div class="content"><div class="multimediaHolder"><div class="multimediaScale">';
@@ -530,7 +530,7 @@ FluidbookMenu.prototype = {
     },
     openArchives: function (title, callback) {
         var archives = this.getCaption(title, true, title === undefined || title === '' ? 'h0' : '');
-        archives += '<div class="content"><div class="image" id="archivesview"><img src="data/images/' + this.fluidbook.settings.externalArchives + '" /><div class="links">' + this.fluidbook.settings.links.archives + '</div></div></div>';
+        archives += '<div class="content"><div class="image" id="archivesview"><img src="data/images/' + this.fluidbook.settings.externalArchives + '" /><div class="links">' + this.fluidbook.loader.handleExtension(this.fluidbook.settings.links.archives) + '</div></div></div>';
         this.viewWrap(archives, 'archives', '', 'archives');
         if (callback != undefined) {
             callback();
index 47bb708304895c2988ec0d3d6a7f1f5eb8c590ab..fc41b19e7cd91b2317bf93354d5b34f311bbbcc2 100644 (file)
@@ -695,7 +695,7 @@ FluidbookNav.prototype = {
 
         if (this.fluidbook.settings.afterSearch !== '' && this.fluidbook.settings.afterSearchDisplayForHTML && this.fluidbook.settings.themeEnableAfterSearch && navType === 'horizontalNav') {
             // Use the "afterSearch" image and links set in the theme and link editor
-            var afterSearchContent = '<div id="afterSearch"><div class="c">' + this.fluidbook.loader.getImage('data/images/' + this.fluidbook.settings.afterSearch) + '</div><div class="links">' + this.fluidbook.settings.links.aftersearch + '</div></li>';
+            var afterSearchContent = '<div id="afterSearch"><div class="c">' + this.fluidbook.loader.getImage('data/images/' + this.fluidbook.settings.afterSearch) + '</div><div class="links">' + this.fluidbook.loader.handleExtension(this.fluidbook.settings.links.aftersearch) + '</div></li>';
             $nav.after(afterSearchContent);
         }