The legacy M.core.event.BLOCK_CONTENT_UPDATED event has been replaced with a
new core_block/events::blockContentUpdated native DOM event.
The new event can be triggered using the `notifyBlockContentUpdated`
event, and by providing the HTMLElement that was updated, for example:
```
import {notifyBlockContentUpdated} from 'core_block/events';
const someHandler = e => {
// ...
const updatedBlock = e.target.closest('.block');
notifyBlockContentUpdated(updatedBlock);
};
```
The new event can be listened to at any point in the DOM using the
following syntax:
```
import {eventTypes} from 'core_block/events';
const handler = e => {
// The block that was updated.
e.target;
// The id of the updated block.
e.detail.instanceId;
};
document.addEventListener(eventTypes.blockContentUpdated, handler);
```
A backward-compatabibility layer is included to ensure that any legacy
YUI event listener is still called with the same arguments.
This legacy bridges will be removed after Moodle 4.3.
* Used jQuery.append() instead of jQuery.text() to append the node's
name so that it won't be escaped twice since the name is already being
escaped in the server side via htmlentities.
Previously the li elements had the treeitem role, which was not invalid,
but it meant that when a menu item expanded, the entire li was clickable
and clicking anywhere that was not another menu item would cause the
(sub)tree to collapse. This patch moves the treeitem role on to the p
element (which contains the node name) and uses aria-owns to expand
Mad shoutouts to Ryan Wyllie for his assistance 🙌🌄 ᚳᚱᛒ
Also:
* In behat, ensure nav node exists before checking attribute (Credit to
Rajesh Taneja)
* Remove some unused JS constants
* Fix debugging notice for users without settings block