This adds a category expanded which:
* fetches child content in a category tree if it has not already been loaded;
* toggles relevant classes on the category node to show and hide child content; and
* applies appropriate animations to improve user experience.
The following changes have been made:
* course_section_cm_edit_actions now allows the caller more options for the
display of the action menu.
* The site menu block now disables the JS enhancement of the actionmenu so
that it displays as it did before. After more testing this seemed like the
only option that worked in the limited space of the block when it had
several modules.
* draganddrop of resources now triggers the action menu enhancement as well.
* Fixed display of title when the menu is not being enhanced by JS.
* Fixed the alignment of the completion icon in the bootstrapbase theme.
* Tweaked the CSS for the standard theme.
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.
In certain modal dialogues, we listen on the Escape key to close a
dialogue. However, this is still passed to the browser. As a result, if the
browser is in full screen mode and that browser respects the escape key as
a means to exit full screen.
As a result, we need to ensure that we listen for the escape key at keydown
rather than keyup, and additionally prevent the default browser behaviour.
This is a workaround to http://yuilibrary.com/projects/yui3/ticket/2532616
and, should that issue be fixed, it should be removed.
Previously, the resource toolbox initialiser was using JS to find the show/hide icon, then find its section ancestor, then check if the section was hidden - only to pointlessly set pointer:auto if it was. That didn't meet the aim stated in the comments ("Disable" show/hide icons (change cursor to not look clickable) if section is hidden), but this patch meets that goal with a single CSS rule.
- Course format may define additional fields (format options) to store for course and each section
- Edit course form allows to edit format-specific options and refreshes their list on format change
- Course format may provide it's own form for editing a section
- Default form for editing section allows to edit all format-specific fields
- Class section_info refactored, it defines magic methods such as __get() to access basic section
information and format-specific options (retrieved only on the first request)
- format_base::update_course_format_options() allows to watch pre-update state of the course,
format_legacy automatically copies the options with the same names between formats