mediawiki-skins-MinervaNeue/includes/skins/menu.mustache
jdlrobson 111757970e MainMenu is a controller not a View and server rendered
As Stephen pointed out somewhere, this is a bit of a micro-optimisation
Let's simplify this code by always rendering it in the HTML. MainMenu.js
as a result becomes a controller that just decides when to show it.

The geolocation check for Nearby is removed given the fact that all
grade A browsers for mediawiki have Geolocation support

Additional changes
* Browser support suggests "animations" class is redundant now
* `open` event no longer filed - not being used anywhere
* Transparent shield is now managed by the MainMenu controller not
the skin (which was confusing)
* Test geolocation using a simple feature tests
rather than abstracting it away inside Browser
* The main menu button is always hidden under either a translucent shield
and/or the main menu itself when it has been opened
so so it's not possible to ever click it while the menu is open
 - the click handler is thus simplified
removing a check for the class of the button

Depends-On: I7fd243366cceae780bd46e1aef2c08dae073f647
Change-Id: I3892afb5ed3df628e2845043cf3bbc22a9928921
2019-10-03 13:13:09 -07:00

16 lines
293 B
Plaintext

<div class="menu view-border-box">
{{#groups}}
<ul>
{{! "." means "current context", which allows us to iterate over Plain Old PHP Arrays™. }}
{{#.}}
{{> menuGroup}}
{{/.}}
</ul>
{{/groups}}
<ul class="hlist">
{{#sitelinks}}
{{> menuGroup}}
{{/sitelinks}}
</ul>
</div>