]> _ Git - cubeextranet.git/commitdiff
wip #4083
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Fri, 20 Nov 2020 19:04:12 +0000 (19:04 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Fri, 20 Nov 2020 19:04:12 +0000 (19:04 +0000)
inc/ws/Util/html5/master/class.ws.html5.compiler.php
inc/ws/Util/html5/master/class.ws.html5.links.php

index a8c77cfd0849b0b10efa1e8b777f6e43a6dd321f..79dd5af4bcbc62993b4bc43fee2d395833a87eb4 100644 (file)
@@ -94,7 +94,6 @@ class wsHTML5Compiler
                 'js/libs/fluidbook/menu/fluidbook.chapters.js',
                 'js/libs/fluidbook/menu/fluidbook.index.js',
                 'js/libs/fluidbook/fluidbook.landingpage.js',
-                'js/libs/fluidbook/fluidbook.slideshow.js',
                 'js/libs/fluidbook/fluidbook.print.js',
                 'js/libs/fluidbook/fluidbook.secure.js',
                 'js/libs/fluidbook/fluidbook.tabs.js',
@@ -1622,7 +1621,7 @@ class wsHTML5Compiler
             }
             if ($linkData['type'] == 32) {
                 $hiddenLinks[] = $linkData['to'];
-                $hiddenLinks[] = 'i_'.$linkData['to'];
+                $hiddenLinks[] = 'i_' . $linkData['to'];
             }
         }
 
@@ -1720,6 +1719,17 @@ class wsHTML5Compiler
         return $css;
     }
 
+    public function addSlideshowLibrary($inline = true)
+    {
+        $l = ($inline ? $this->config->inlineSlideshowLibrary : $this->config->popupSlideshowLibrary);
+        if ($l === 'splide') {
+            $this->addJsLib('splide', 'js/libs/splide/splide.js');
+        }
+        $this->addLess('slideshow/' . $l);
+        $this->addJsLib('slideshow', ['js/libs/fluidbook/slideshow/fluidbook.slideshow.js',
+            'js/libs/fluidbook/slideshow/fluidbook.slideshow.' . $l . '.js']);
+    }
+
     public function addSEOArticle($page, $title, $intro, $image, $id = null, $url = null, $content = '')
     {
         if (null === $url) {
@@ -2481,13 +2491,16 @@ class wsHTML5Compiler
 
     public function addJsLib($name, $files)
     {
-        if (isset($this->jsLibs[$name])) {
-            return;
+        if (!isset($this->jsLibs[$name])) {
+            $this->jsLibs[$name] = [];
         }
         if (!is_array($files)) {
             $files = [$files];
         }
-        $this->jsLibs[$name] = $files;
+        $diff = array_diff($files, $this->jsLibs[$name]);
+        if (count($diff)) {
+            $this->jsLibs[$name] = array_merge($this->jsLibs[$name], $diff);
+        }
     }
 
     public function copyLinkFile($source, $dest, $video = false)
index 1371dd0e03730da854fc338794850316580f9857..f52dbd483761e667014198a5b6f33f1eed4e6e08 100644 (file)
@@ -2368,9 +2368,7 @@ class slideshowLink extends normalLink
 
     public function generateSlideshow()
     {
-
-        $this->compiler->addJsLib('splide', 'js/libs/splide/splide.js');
-        $this->compiler->addLess('fluidbook.slideshow');
+        $this->compiler->addSlideshowLibrary(false);
 
         $this->allowed_extensions = ['jpg', 'png', 'jpeg', 'gif'];