Commit graph

76 commits

Author SHA1 Message Date
Thalia 53b524fbd3 DefaultMainMenuBuilder: Use UserIdentityUtils for temporary user check
Use instead of UserNameUtils, which has more dependencies.

Change-Id: I32ca33acf2511048a8c307c20a1f1a73c9fc3cf4
2023-07-27 18:02:36 +00:00
David Lynch 956baf5b55 Add "edit full page" to the minerva overflow menu
Bug: T203151
Change-Id: I2777a8346ab672ce2b4fcf37b19fd12ab5541224
2023-07-21 20:00:15 -05:00
MusikAnimal c8ce92140e DefaultOverflowBuilder: allow CSS class names to be applied to entries
Use the SingleMenuEntry constructor rather than the static create
method so that items can not only supply class names, but also with
array to string normalization.

This is useful so that extensions can add links with JS interaction,
such as with Ib3fe1063187

Bug: T242467
Change-Id: Ice909aab7f9ce49f36a954ac1bfce5eef14d30fc
2023-07-10 11:55:27 +00:00
bwang d977c8d940 Update personal tools for temp users, add icon for temp users
Bug: T335546
Change-Id: I56315440016cde3aad051b37895f713fbb5dd239
2023-06-20 13:19:55 -05:00
Jon Robson ffbcf9e2eb Fixes: Sandbox link should not show in main menu
This was inadvertently added in
I3c08e804cbb778f025f45a184801cd7b1738c035 and is without
an icon.

Bug: T336838
Change-Id: Ie6a588297a586328faee514074e096e78989547d
2023-06-12 15:21:23 +00:00
Jon Robson 567dd022ae Move to exclude list rather than include list
Follow up to 13d536a26

The current behaviour is unexpected and led to T336838. It also
seems like at some point the instrumentation for these menu items
also broke.

Going forward it would be easier to simply show any menu item which has
an icon. Also make sure that all menu items have a data-event-name
attribute so clicks to these menu items are captured.

Fixes:
* Contribute link is now not shown for anonymous users
as it was before

Changes:
* Ordering of menu items changes - settings is now below username
which is consistent with user
* All menu items are now tracked via event names consistent with
desktop.

Bug: T321746
Bug: T336838
Change-Id: I3c08e804cbb778f025f45a184801cd7b1738c035
2023-06-09 23:06:39 +00:00
Daimona Eaytoy 1898a3ccab Replace deprecated MWException
And more generally remove `@throws` comment used for unchecked
exceptions, callers must not catch them.

Bug: T328220
Bug: T240672
Change-Id: I4768144d02feb6d4b6bae1a1ad39af6031f9613f
2023-06-08 17:16:36 +02:00
Santhosh Thottingal 13d536a26d
Show Contribute menu item in main menu when Special:Contribute is enabled
Bug: T336838
Change-Id: I32662dcb244a019bc8878c8b98f46370d4156eda
2023-05-25 13:27:39 +05:30
Jon Robson 132a2ab7e8 Standardize user overflow menu
Make it behave just like the normal page actions menu, taking
its data from the core toolbox definition. This will allow it to
be extensible by extensions who declare an icon field for their
menu item.

Follow up to Ifd10da690a33e7fc5790a7b444b62fbfd1b95d98

Depends-On: I6881785676e2909434991b633ac181d05a272352
Bug: T335603
Change-Id: I88ac38acf22fbce0c3e0a4f4c6efcaef4ca49907
2023-04-28 19:33:43 +00:00
Jon Robson 831e3d93b7 Drop dead code relating to Minerva-specific messages in overflow menu
Remove an unnecessary line as follow up to
Ifd10da690a33e7fc5790a7b444b62fbfd1b95d98

Change-Id: I6f279d116d94c9840d453a3b50ea8ac6b66e7433
2023-03-28 16:31:21 +00:00
Jon Robson 666ebaae96 Make toolbox and actions menu more flexible to extension
Adjust the behaviour so the existence of an icon is all that is
needed to populate this menu. This will allow discussion tools
to extend the menu with their own item(s)

Depends-On: If2972da4456705f4a2f0cea90e73d0207a36a306
Depends-On: Ia9a9a08c68be652c16692db30e0efbe02fbfba0d
Depends-On: I2b85b9ac6997d07ed4ff995693f083d0ad1216dc
Bug: T332730
Change-Id: Ifd10da690a33e7fc5790a7b444b62fbfd1b95d98
2023-03-23 17:25:50 +00:00
jenkins-bot e5caabc136 Merge "Add languages to Minerva HTML" 2023-03-17 23:29:45 +00:00
Jon Robson b28d802693 Add languages to Minerva HTML
Bug: T331905
Change-Id: I55a25dfb8aba3d1b589a36ba4cba3bba0fe710a1
2023-03-17 20:37:32 +00:00
Func e1c51814ac Remove unused constructor params of MainMenuDirector
The code was simplified in commit 1f94dbb, and these params become
unused.

Change-Id: Ie830200dd5b5fa3472300a27abc77cf88a2be324
2023-02-26 20:30:07 +08:00
ksarabia 23aa23b68b Remove the Group::insertAfter() function in Minerva
Bug: T311895
Change-Id: Ice77bac6fb6ba948f3054c18d558f79ffd46506d
2023-02-08 16:52:42 +00:00
Reedy 8d23e02358 Group: Fix string interpolation
Bug: T314096
Change-Id: Ie61a2b703585d9f1bb3d0b0018f043a5a62c77d5
2022-11-04 14:45:21 -06:00
jenkins-bot 67b54fd33c Merge "User menu overflow: add change block and unblock" 2022-07-18 17:47:35 +00:00
suecarmol 3c556a5bf1 Bugfix: Insert Nearby menu entry to group
After refactoring and simplifying the menu building, the Nearby option wasn't getting inserted into the Group.

Bug: T312864
Change-Id: If52ac42f64154e015eab8f97393e4255db23473f
2022-07-12 11:22:59 -05:00
suecarmol 3efc6db04b Group.php: Hard deprecate insertAfter() function
Hard deprecated the Group::insertAfter() function because it is not used in the Mediawiki codebase

Bug: T311894
Change-Id: I209d3fd492713425a2727fd48c5870f983a39f9b
2022-07-07 17:27:24 -05:00
suecarmol 207705fced User menu overflow: add change block and unblock
Added the "Change block" and "Unblock user" to the array of possible menu entries for the overflow menu. These buttons will only appear when a user is already blocked.

Bug: T308570
Change-Id: I987083cfeb20a0c691d3fc631a9c844647fec9bf
Depends-On: If60a1194d63fff2b7b5ae1565be25a3b7b44fdf1
2022-07-01 12:21:33 -05:00
suecarmol 3e1cb1718f Refactor MainMenu building
* Created a buildMenuEntry function
* Replaced all Group::insert() functions with Group::insertEntry()
* Added a trackable parameter to check if a menu entry will be trackable
* Removed the MenuEntry class
* Removed the MenuEntryTest class
* Removed the Group::insert() function
* Changed tests in GroupTest to test Group::insertEntry() function

Bug: T221004
Change-Id: I39bed4e9a9b09f904cb3e5d78ccb3e6e175981a8
2022-06-23 18:29:05 -05:00
bwang d5d94e6b6f Add settings menu item for anon users
Bug: T307696
Change-Id: Ib875bae5796ef021a06310582a4bbc41abb26555
2022-05-23 22:36:36 +00:00
jsn 7959e9fa08 Add block button to user namespace overflow
Bug: T307341
Change-Id: Ib8bcca0ab284900eff01468a416177435f02e7aa
2022-05-04 10:59:16 -05:00
bwang 79d4130fcc Hard deprecate MobileMenu Hook
Bug: T303309
Change-Id: Ice45416c4af4e8fd4bcda158c5f9b81e6c8c9491
2022-04-27 12:38:03 -05:00
Jon Robson 0fe451b23a FIXME cleanup
- Remove cached HTML relating to heading change
( I2ffdedd64414ffb3c6e441391a75fd6e744847a4)
- Update invalid instruction for selector in footer (I0bfc7f977cdaf5ce8873103346c64121d704b86c)
It appears this rule cannot yet be removed.
- Update classes for contributions icon on user pages
(I6c908acd70c0dca5bcb1754d1b25d3da2389feb8)

Change-Id: I271abf3d29dfcfd19d654514fb3f6d6e257505ab
2022-04-06 20:17:22 +00:00
jenkins-bot f3565a4d7c Merge "Replace Title::newFromText by Title::makeTitle" 2022-03-13 21:56:31 +00:00
Umherirrender 3ed8be2752 Reorder checks in Defintions from cheaper to expensive
Check the messages first and only parse the Title if needed
Use local variable to avoid repeated call to functions

Change-Id: I376d06b807183fb23cb07ad33ee54b387beea6f9
2022-03-10 23:05:13 +01:00
Umherirrender 4831549b14 Replace Title::newFromText by Title::makeTitle
* Prefer Title::makeTitle in unit tests where the title is known,
  this avoids title parsing and can improve the test performance.
* Use Title::makeTitle for the user page like done in User::getUserPage

Change-Id: I3901a6ed208a5ff90b216d01d3c4962cdcb48db1
2022-03-10 22:42:56 +01:00
Reedy b6685f9c4a Namespace SkinMinerva
Change-Id: I8f6bddac9f8cd060c551651e711ee987b8bbfbe3
2022-03-04 17:50:20 +00:00
Reedy 87bb746849 Namespace two more classes
Change-Id: Id32beb98df0f37ced858c17196517f65b64a041c
2022-03-04 16:33:46 +00:00
jenkins-bot 6d4558de86 Merge "Deprecate MobileMenu hook" 2022-02-28 22:09:18 +00:00
Umherirrender 3dd1fd841a Use new namespace for MediaWiki\SpecialPage\SpecialPageFactory
MediaWiki\Special is alias since 1.35

Change-Id: Ifb8a64c5fe7e413178f94ecc89b7a960d04064b2
2022-02-26 22:31:38 +01:00
Jon Robson dc422a3def Deprecate MobileMenu hook
Bug: T291568
Depends-On: I2c75e210ac914ee4d63969314c82451fc8172da0
Change-Id: I00c3e0d4178447c547f25be580c5b99ee65bef60
2022-02-22 18:18:42 +00:00
Jon Robson 0659e174c9 Allow msg key to be overridable
Minerva already overrides the text label for the Home menu item.
To allow other extensions to override it again, we can also consult
the msg key.

Bug: T291568
Change-Id: I3107a6d1e6ace26c7ab9c49c49768d2adcda8792
2022-02-17 16:44:37 +00:00
Jon Robson d8a1942808 Handle unexpected data coming from MediaWiki:Sidebar
Bug: T301003
Change-Id: I27fbd952f3c6139b00e8793a55044f451446a867
2022-02-04 13:16:40 -08:00
Jon Robson 0b3d21d58d Main page definition come from MediaWiki:Sidebar
Bug: T291568
Depends-On: Ia54d01eb5d8d9c33d067f61c73203f9fec4569a6
Change-Id: Ia9998780dc0a5f51af52d928499b51d5566cf29d
2022-02-02 00:44:56 +00:00
Jon Robson 6e297a7a9b [Refactor] Use core definitions for personal menu icons
Rather than hardcoding the icons for all our menu items
let's use the definitions in core.

This also makes it easier for us to deprecate the
MobileMenu hook in future.

Rejoice at all the code this removed!

Bug: T291568
Change-Id: I69b5ca13aee018982a5ea28677d4a37e663235d4
2022-01-19 00:33:16 +00:00
Jon Robson 3d2ad79de1 Use new watchlist icon in Minerva
Bug: T289619
Change-Id: I26b698beb8de67745bdfd3b88c5b36e5320d5d3d
2022-01-14 10:27:59 -08:00
jenkins-bot 8ff17077a2 Merge "Remove some comments that literally repeat the code" 2021-12-20 20:05:32 +00:00
jenkins-bot 5a7b9c9372 Merge "Remove unused class property initialization" 2021-12-18 15:01:20 +00:00
Thiemo Kreuz 31659edf3d Use more narrow UserIdentity interface where possible
There is still a lot of places that need either an Authority or still
an actual User object. This patch changes the usages that can be
changed right now (almost) without any codechange.

The only additional change is the removal of an unused constructor
argument.

Change-Id: I0fbb3c2cc4cea7fba135d92b04421b0563c0f0c8
2021-12-17 18:16:49 +01:00
Thiemo Kreuz 29b682fc09 Prefer UserIdentity interface methods over User where possible
isRegistered() is a method in the much more narrow UserIdentity
interface. This change makes it easier to move code away from the
problematic User "god" class in core.

Change-Id: I99cb72591f073568f84bd1fd436381f3f11f3140
2021-12-17 16:57:44 +00:00
Thiemo Kreuz 73c79aeb68 Remove unused class property initialization
It's guaranteed to be initialized in the constructor.

Change-Id: I7c39e5ca3a80b8f9279bdecc3a724f39d1f987e3
2021-12-17 11:31:44 +01:00
Thiemo Kreuz e565347cd4 Remove some comments that literally repeat the code
Change-Id: I3960735fa59f7d607659acd31167802ee769a519
2021-12-17 11:29:11 +01:00
vladshapik 023c5046d3 Avoid using User::getOption
Remove using of User:getOption since this method
will be hard-deprecated. Now it is soft-deprecated.

Bug: T296083
Change-Id: I9f762cf27d7c778c8c391cde1409b510bd3e4e67
2021-11-30 12:54:03 +01:00
bwang 083ab9c6c3 Remove markup icon code
Bug: T288928
Depends-on: I553bbcc9f1a98d75e160ede7a66ffcf6510fa28a
Change-Id: Ida0c41d2dab229e882c5e78e5702cc921bbdb928
2021-11-23 17:26:37 +00:00
bwang ceb7961c75 Update sandbox icon in personal menu
Bug: T288928
Change-Id: Ia4ddeefb43ad089832532d68c7c48cd021ecb14e
2021-11-23 11:18:56 -06:00
bwang ef4aa95ae2 Remove primary/secondary menu items, instead add a separate log out menu item
Bug: T293041
Change-Id: I9f73fdba1856dd9e0ea7120df0fb18061337961a
2021-11-18 19:51:33 +00:00
jenkins-bot 3b53c0e129 Merge "Use the message "portal" as the label for the "portal-url" link" 2021-11-12 16:24:24 +00:00
xiplus ef22a69a28 Use the message "portal" as the label for the "portal-url" link
At this time, the label is the same as "portal-url". It's not allow
to localize. Use "portal" as the label.
The code is copied from insertDisclaimersItem() in the same file.

Bug: T239022
Change-Id: I1d3bc04333aabcf8c704241ca882d6b863b98968
2021-11-08 14:53:50 +08:00