mediawiki-skins-MinervaNeue/includes/Menu/PageActions
Martin Urbanec 8b04c45fb2 Do not use data-mw=interface when watchstar is used as a CTA
Why:
Minerva uses watchstar both as a client to action=watch
and as a CTA prompting users to create a new account.
To prevent error messages about permissions from being
displayed when logged in as a temp account (or not logged in
at all), the API requests should be only sent when users
actually has watchlist permissions.

This patch fixes that by only passing data-mw=interface when
the watchstar is actually used as part of MW watchlist interface,
ie. when user is logged in. That means the `mediawiki.page.watch.ajax`
module in core can avoid the watchstar element when it is not meant
as a watchstar, but as a "sign up" CTA button.

What:
* Make it possible to change (or omit) data-mw in SingleMenuEntry
  by a new constructor parameter.
* Make ToolbarBuilder::createWatchPageAction omit data-mw when
  user does not have watchlist permissions.

Notes: Based on coversation with Krinkle in
Ia0acdaf4dea5aa6788f89fdd73c5dba9af9f1ed7.

Bug: T344925
Change-Id: Id9d6d9e7394b52d11ac6ce0b7d33319b3a761789
2023-10-23 08:59:08 +02:00
..
DefaultOverflowBuilder.php Clean up setIcon now that classes and icon types are removed 2023-08-24 21:37:40 +00:00
EmptyOverflowBuilder.php Allow Users with permissions to do expanded actions in Minerva on mobile 2021-04-26 18:51:32 +00:00
IOverflowBuilder.php Allow Users with permissions to do expanded actions in Minerva on mobile 2021-04-26 18:51:32 +00:00
PageActionsDirector.php Support extension of page actions via hook and addPortletLink 2023-10-04 22:15:47 +00:00
ToolbarBuilder.php Do not use data-mw=interface when watchstar is used as a CTA 2023-10-23 08:59:08 +02:00
UserNamespaceOverflowBuilder.php Replace some moved Title class uses, now MediaWiki\Title\Title 2023-08-19 19:36:46 +02:00