Skip to content

Commit 0ac017b

Browse files
committed
Merge branch 'bugfix/6.2-message-tab-menu-form-builder' into 6.2-quote-tab
2 parents 4169c85 + a06a5a7 commit 0ac017b

File tree

75 files changed

+936
-199
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+936
-199
lines changed

com.woltlab.wcf/package.xml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
<packagedescription>Free CMS and web-framework, designed for awesome websites and communities.</packagedescription>
66
<packagedescription language="de">Freies CMS und Web-Framework, das eindrucksvolle Websites und Communities ermöglicht.</packagedescription>
77
<isapplication>1</isapplication>
8-
<version>6.1.3 dev 2</version>
9-
<date>2024-12-31</date>
8+
<version>6.1.3</version>
9+
<date>2025-01-06</date>
1010
</packageinformation>
1111

1212
<authorinformation>
@@ -110,4 +110,10 @@ tar cvf com.woltlab.wcf/files_pre_check.tar -C wcfsetup/install/files/ \
110110
<instruction type="file">files_update.tar</instruction>
111111
<instruction type="template">templates_update.tar</instruction>
112112
</instructions>
113+
<instructions type="update" fromversion="6.1.3 dev 2">
114+
<instruction type="file">files_update.tar</instruction>
115+
</instructions>
116+
<instructions type="update" fromversion="6.1.3 dev 3">
117+
<instruction type="file">files_update.tar</instruction>
118+
</instructions>
113119
</package>
Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,29 @@
1-
{include file='shared_tabMenuFormContainer' __tabMenuCSSClassName='messageTabMenuNavigation'}
1+
<div id="{$container->getPrefixedId()}Container"{*
2+
*}{if !$container->getClasses()|empty} class="{implode from=$container->getClasses() item='class' glue=' '}{$class}{/implode}"{/if}{*
3+
*}{foreach from=$container->getAttributes() key='attributeName' item='attributeValue'} {$attributeName}="{$attributeValue}"{/foreach}{*
4+
*}{if !$container->checkDependencies()} hidden{/if}>
5+
<nav class="messageTabMenuNavigation jsOnly">
6+
<ul>
7+
{foreach from=$container item='child'}
8+
{if $child->isAvailable()}
9+
<li data-name="{$child->getPrefixedId()|rawurlencode}Container"{if !$child->checkDependencies()} hidden{/if}>
10+
<button type="button">
11+
{if $child->getIcon()}{icon name=$child->getIcon()}{/if}
12+
<span>{@$child->getLabel()}</span>
13+
</button>
14+
</li>
15+
{/if}
16+
{/foreach}
17+
</ul>
18+
</nav>
19+
20+
{include file='shared_formContainerChildren'}
21+
</div>
22+
23+
{include file='shared_formContainerDependencies'}
24+
25+
<script data-relocate="true">
26+
require(['WoltLabSuite/Core/Form/Builder/Field/Dependency/Container/WysiwygTabMenu'], ({ WysiwygTabMenu }) => {
27+
new WysiwygTabMenu('{@$container->getPrefixedId()|encodeJS}Container');
28+
});
29+
</script>

ts/WoltLabSuite/Core/Ajax/Status.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
77
*/
88

9+
import { getPageOverlayContainer } from "../Helper/PageOverlay";
10+
911
class AjaxStatus {
1012
private _activeRequests = 0;
1113
private readonly _overlay: Element;
@@ -20,7 +22,7 @@ class AjaxStatus {
2022
loadingIndicator.size = 48;
2123
this._overlay.append(loadingIndicator);
2224

23-
document.body.append(this._overlay);
25+
getPageOverlayContainer().append(this._overlay);
2426
}
2527

2628
show(): void {

ts/WoltLabSuite/Core/Component/Image/Viewer.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { Fancybox } from "@fancyapps/ui";
22
import { userSlideType } from "@fancyapps/ui/types/Carousel/types";
33
import { OptionsType } from "@fancyapps/ui/types/Fancybox/options";
4+
import { getPageOverlayContainer } from "WoltLabSuite/Core/Helper/PageOverlay";
45

56
const LOCALES = ["cs", "de", "en", "es", "fr", "it", "lv", "pl", "sk"];
67

@@ -26,6 +27,7 @@ export async function createFancybox(userSlides?: Array<userSlideType>): Promise
2627
async function getDefaultConfig(): Promise<Partial<OptionsType>> {
2728
return {
2829
l10n: await getLocalization(),
30+
parentEl: getPageOverlayContainer(),
2931
Html: {
3032
videoAutoplay: false,
3133
},
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
/**
2+
* Container visibility handler implementation for a wysiwyg tab menu that checks visibility
3+
* based on the visibility of its tab menu list items.
4+
*
5+
* @author Olaf BRaun
6+
* @copyright 2001-2025 WoltLab GmbH
7+
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
8+
* @since 6.2
9+
*/
10+
11+
import Abstract from "./Abstract";
12+
import * as DependencyManager from "../Manager";
13+
import * as DomUtil from "../../../../../Dom/Util";
14+
15+
export class WysiwygTabMenu extends Abstract {
16+
public checkContainer(): void {
17+
// only consider containers that have not been hidden by their own dependencies
18+
if (DependencyManager.isHiddenByDependencies(this._container)) {
19+
return;
20+
}
21+
22+
const containerIsVisible = !this._container.hidden;
23+
const listItems = this._container.parentNode!.querySelectorAll(
24+
"#" + DomUtil.identify(this._container) + " > nav > ul > li",
25+
);
26+
const containerShouldBeVisible = Array.from(listItems).some((child: HTMLElement) => !child.hidden);
27+
28+
if (containerIsVisible !== containerShouldBeVisible) {
29+
this._container.hidden = !containerShouldBeVisible;
30+
31+
// check containers again to make sure parent containers can react to
32+
// changing the visibility of this container
33+
DependencyManager.checkContainers();
34+
}
35+
}
36+
}

wcfsetup/install/files/acp/templates/usersAwaitingApprovalAcpDashboardBox.tpl

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,8 @@
2020
{/foreach}
2121
</ul>
2222

23-
{if $usersAwaitingApproval > $users|count}
24-
<div class="acpDashboardBox__cta">
25-
<a href="{link controller='UserQuickSearch' mode='pendingActivation'}{/link}" class="button small">
26-
{lang}wcf.global.button.showAll{/lang}
27-
</a>
28-
</div>
29-
{/if}
23+
<div class="acpDashboardBox__cta">
24+
<a href="{link controller='UserQuickSearch' mode='pendingActivation'}{/link}" class="button small">
25+
{lang}wcf.global.button.showAll{/lang}
26+
</a>
27+
</div>

wcfsetup/install/files/js/WoltLabSuite.Core.min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

wcfsetup/install/files/js/WoltLabSuite.Core.tiny.min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

wcfsetup/install/files/js/WoltLabSuite/Core/Ajax/Status.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

wcfsetup/install/files/js/WoltLabSuite/Core/Component/Image/Viewer.js

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)