]> _ Git - fluidbook-toolbox.git/commitdiff
wait #6421 @1
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Tue, 14 Nov 2023 18:14:29 +0000 (19:14 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Tue, 14 Nov 2023 18:14:29 +0000 (19:14 +0100)
app/Fields/FluidbookLinkEditor/ShowLinkMode.php
app/Fluidbook/Compiler/Links.php

index 910b4733b3ab1fa86cf610f4c6a97a8c35a9b351..10d157031de6a49db2d151f8fbe87ef5af96e452 100644 (file)
@@ -19,6 +19,7 @@ class ShowLinkMode extends SelectFromArray
             'toggle' => __('Basculer (Afficher si masqué, masquer si affiché)'),
             'exclusiveshow' => __('Afficher et masquer tous les autres'),
             'showhide' => __('Afficher les liens (+) et masquer les liens (-)'),
+            'toggleshowhide' => __('Basculer les liens (+ et - sont inversés)'),
             'shownext' => __('Afficher le lien suivant dans la série'),
             'shownextcycle' => __('Afficher le lien suivant dans la série') . ' (' . __('cycle') . ')',
             'showprev' => __('Afficher le lien précédent dans la série'),
index abbd89fb1414348040545dd7e718c21cf7a3ea7c..9cae18cb91262287e50f0a878cdc41a56de5aa71 100644 (file)
@@ -128,6 +128,7 @@ trait Links
 
         $pagesOfCustomLinks = [];
         $hiddenLinks = [];
+        $showHiddenLinks = [];
         $anchorExists = [];
         $closedLinks = [];
 
@@ -244,10 +245,15 @@ trait Links
             }
 
             if ($linkData['type'] == Link::SHOWLINK && $linkData['target'] !== 'hide') {
-                $ids = explode(',', $linkData['to']);
+                $ids = explode(',', str_replace(' ', '', $linkData['to']));
                 $close = ($linkData['close_button'] && $linkData['close_button'] !== 'none');
                 foreach ($ids as $id) {
+                    $show = (str_starts_with($id, '-'));
                     $id = trim($id, '+- ');
+                    if ($show) {
+                        $showHiddenLinks[] = $id;
+                        $showHiddenLinks[] = 'i_' . $id;
+                    }
                     if ($id === 'tabs') {
                         $this->config->tabsHiddenAtStartup = true;
                     } else {
@@ -262,6 +268,7 @@ trait Links
             }
         }
 
+
         if ($this->fluidbookSettings->anchorsAliases && file_exists($this->fluidbookSettings->anchorsAliases)) {
             $aliases = [];
             for ($i = 0; $i <= 2; $i++) {
@@ -322,6 +329,7 @@ trait Links
             }
 
             $linkData['hidden'] = in_array($linkData['uid'], $hiddenLinks);
+            $linkData['showHidden'] = $linkData['hidden'] && in_array($linkData['uid'], $showHiddenLinks);
             if (isset($linkData['zindex']) && $linkData['zindex'] < 50 && in_array($linkData['uid'], $closedLinks)) {
                 $linkData['zindex'] = 50;
             }