]> _ Git - fluidbook-html5.git/commitdiff
wait #5953 @1
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 26 May 2023 19:30:15 +0000 (21:30 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 26 May 2023 19:30:15 +0000 (21:30 +0200)
js/libs/fluidbook/fluidbook.links.js
js/libs/fluidbook/fluidbook.menu.js

index 8b5da7acabd16e064500b5f32a9420394d95d6cf..107bdf5aa400e1d83a531b6ac71cf31f1c2d1561 100644 (file)
@@ -379,7 +379,6 @@ FluidbookLinks.prototype = {
             });
 
 
-
             return false;
         });
 
@@ -465,7 +464,7 @@ FluidbookLinks.prototype = {
             var attached = $('.link[data-id="' + $(this).data('attached') + '"]');
             var visible = true;
             if (attached.length === 0 || !$(attached).is(':visible') || ($(attached).attr('data-hidden') === '1' && !$(attached).hasClass('show'))) {
-                console.log(attached,this);
+                console.log(attached, this);
                 visible = false;
             }
 
@@ -704,13 +703,16 @@ FluidbookLinks.prototype = {
         }, 650);
     },
 
-    initAnimatedContentsLinks: function () {
+    initAnimatedContentsLinks: function (container) {
         if (this.fluidbook.mobilefirst.enabled || (this.fluidbook.splash.isVisible() && !this.fluidbook.splash.isHidding)) {
             return;
         }
         var $this = this;
+        if (container === undefined) {
+            container = $("#currentDoublePage,#links");
+        }
 
-        $("#currentDoublePage,#links").find('[data-animations]').each(function () {
+        $(container).find('[data-animations]').each(function () {
             $this.animateContentLink($(this), true);
         });
     },
index a422f105536e7fdcfce01605b700fd6db6393a95..3a6bff01e051c3eced39d9f14daa3d5ddbca2f20 100644 (file)
@@ -230,19 +230,33 @@ FluidbookMenu.prototype = {
     },
 
     openMultimedia: function (multimedia, callback) {
+        var $this = this;
         var hash = '#/multimedia/' + multimedia;
         var a = $('a[href="' + hash + '"]');
         var markup = decodeURIComponent($(a).attr('data-multimedia'));
         var view = this.getCaption('', $(a).attr('data-popup-close') === null || $(a).attr('data-popup-close') === undefined || $(a).attr('data-popup-close') === '1');
-        var links = '';
+        var subLinks = '';
         var hasLinks = false;
-        var md5 = $(a).closest('[data-md5]').data('md5');
-        if (this.fluidbook.settings.links['link_' + md5] !== undefined) {
-            links = '<div class="links">' + this.fluidbook.loader.handleExtension(this.fluidbook.settings.links['link_' + md5]) + '</div>';
+
+        if ($(a).closest('[data-md5]').length > 0) {
+            let md5 = $(a).closest('[data-md5]').data('md5');
+            if (this.fluidbook.settings.links['link_' + md5] !== undefined) {
+                subLinks = this.fluidbook.settings.links['link_' + md5];
+            }
+        }
+        if (subLinks === '') {
+            let uid = $(a).closest('[data-id]').data('id');
+            if (this.fluidbook.settings.links['link_uid_' + uid] !== undefined) {
+                subLinks = this.fluidbook.settings.links['link_uid_' + uid];
+            }
+        }
+
+        if (subLinks !== '') {
+            subLinks = '<div class="links">' + this.fluidbook.loader.handleExtension(subLinks) + '</div>';
             hasLinks = true;
         }
         view += '<div class="content"><div class="multimediaHolder"><div class="multimediaScale">';
-        view += markup + links;
+        view += markup + subLinks;
         view += '</div></div></div>';
 
         var read = multimedia.indexOf('r_') == 0 ? ' data-readmode="1"' : '';
@@ -252,6 +266,9 @@ FluidbookMenu.prototype = {
         if (hasLinks) {
             this.fluidbook.links.doAnimateLinks($("#view"), 500);
             this.fluidbook.links.replaceVariableInTextLinks();
+            setTimeout(function () {
+                $this.fluidbook.links.initAnimatedContentsLinks($('#view'));
+            }, 250)
         }
 
         if (callback != undefined) {