List of fixes:
* Add a simulated drag start event to fix problems with block drag and drop that
were expecting it.
* Add an access-hidden title for the General section in a course format. This
is used to provide the text for the drop region (better than the first activity in the section)
* Changed the text in the list to 'Move to "General"' instead of 'Move after General'. This
makes more sense for activities when you have a list of activities and sections together.
This change adds keyboard support to core drag and drop.
Selecting a grab handle and hitting enter (or space) will
open a menu of possible drop targets and allow you to choose one.
The only other UI change this implies is we need to show the grab
for blocks.
The patch converts the dock into a YUI shifter module and at
the same time improves several aspects of its operation.
The features of this patch include:
* Dock Module conversion.
* A loader that ensures we don't include the dock JS or its
requirements unless actually required.
* We no longer include the dock JS for themes that don't
enable it.
* Blocks no longer add registration events to the page
instead a dockable attribute is added to the html and the
loader looks for that.
* The dock module is properly documented and running YUIDoc
gives good quality documentation.
* We no longer need the dock module registration or
subcomponent.
* All events that can be delegated are now delegated.
* Removed unused variables and code left over after fixes.
* Support for docking blocks renderered using the new blocks
render method. Better support for custom block regions.
Better performance, more reliable, completely self contained,
more validation and full backwards compatibility.
This will also allow us to implement ignoring of plugins.
This helps synchronise time on the client side with time on the server.
If you wait until a js_init_call runs, you might have had to wait an
unknown number of seconds while all the JS loads. Therefore, we capture
the current time as soon as possible in <head>.
This is a bit like adding .jsenabled to <body> as soon as possible, to
reduce visual flicker.
During installation, jsrev is unset so unavailable for the cache checks.
The installation sets the initial jsrev value and this is updated
periodically, unless it is set to -1 for JS developer.
During installation, we shouldn't really use any caches so if jsrev is
unset, then we should act as though it is set to developer.
It was going to cause some continuous logging in the console
annoying developers on 2.5 all the time. It may be reintroduced
once filepickers are converted to proper YUI modules.
A warning is shown in the browser console if debugging is set, but it is
not possible to return from the configFn and stop the module load attempt
from continuing.
The error is caught and an additional error is shown by yui_combo.php
This is a bit of a grey area. This function does not get and return a value
to the caller, and does not set a value taken from the caller. Instead it
gets a value from get_moodle_metadata and adds it to the current instance
of YUI_config. This rename will hopefully improve clarity here.