Fix tab menu issues
authorMatthias Schmidt <gravatronics@live.com>
Sun, 3 Jan 2016 12:55:05 +0000 (13:55 +0100)
committerMatthias Schmidt <gravatronics@live.com>
Sun, 3 Jan 2016 12:55:05 +0000 (13:55 +0100)
wcfsetup/install/files/acp/templates/package.tpl
wcfsetup/install/files/acp/templates/userGroupAdd.tpl
wcfsetup/install/files/js/WoltLab/WCF/Ui/TabMenu/Simple.js

index 8d625193b584e41d2f1cb99d01e59a3c26aa3aba..9ac13b1a92fa3cb5d7e9fa2ba6064d92ae651bab 100644 (file)
                        </nav>
                        
                        {hascontent}
-                               <div id="dependencies-required" class="tabularBox tabularBoxTitle hidden">
+                               <div id="dependencies-required" class="tabMenuContent tabularBox tabularBoxTitle hidden">
                                        <header>
                                                <h2>{lang}wcf.acp.package.dependencies.required{/lang}</h2>
                                                <small>{lang}wcf.acp.package.dependencies.required.description{/lang}</small>
                        {/hascontent}
                        
                        {hascontent}
-                               <div id="dependencies-dependent" class="tabularBox tabularBoxTitle hidden">
+                               <div id="dependencies-dependent" class="tabMenuContent tabularBox tabularBoxTitle hidden">
                                        <header>
                                                <h2>{lang}wcf.acp.package.dependencies.dependent{/lang}</h2>
                                                <small>{lang}wcf.acp.package.dependencies.dependent.description{/lang}</small>
index 704c8985932d12cd81be869d4a8e7ce4130fbbaf..632686f829acb33b672d3af47f6554ebbd56c085 100644 (file)
                                        </nav>
                                        
                                        {foreach from=$categoryLevel1[categories] item=categoryLevel2}
-                                               <div id="{@$categoryLevel1[object]->categoryName}-{@$categoryLevel2[object]->categoryName}" class="hidden">
+                                               <div id="{@$categoryLevel1[object]->categoryName}-{@$categoryLevel2[object]->categoryName}" class="tabMenuContent hidden">
                                                        {if $categoryLevel2[options]|count}
                                                                <fieldset>
                                                                        <legend>{lang}wcf.acp.group.option.category.{@$categoryLevel2[object]->categoryName}{/lang}</legend>
index ecadeca68016a56ee6d481411ee65aab8525caf3..fbd32d77d07460ec0e9f1583f9eba064b53bcc9f 100644 (file)
@@ -231,13 +231,27 @@ define(['Dictionary', 'Dom/Traverse', 'Dom/Util', 'EventHandler'], function(Dict
                                newContent.classList.remove('hidden');
                        }
                        
+                       var menu = tab.parentNode.parentNode;
+                       
                        // set pointer position
-                       var span = DomTraverse.childByTag(tab.parentNode.parentNode, 'SPAN');
+                       var span = DomTraverse.childByTag(menu, 'SPAN');
+                       
+                       // make sure that the tab is (temporarily) visible so that offsetLeft has the proper value
+                       var toggleHidden = false;
+                       if (menu.classList.contains('menu') && menu.parentNode.classList.contains('hidden')) {
+                               toggleHidden = true;
+                               menu.parentNode.classList.remove('hidden');
+                       }
+                       
                        if (span !== null) {
                                span.style.setProperty('transform', 'translateX(' + tab.offsetLeft + 'px)');
                                span.style.setProperty('width', tab.clientWidth + 'px');
                        }
                        
+                       if (toggleHidden) {
+                               menu.parentNode.classList.add('hidden');
+                       }
+                       
                        if (!disableEvent) {
                                EventHandler.fire('com.woltlab.wcf.simpleTabMenu_' + this._container.id, 'select', {
                                        active: tab,