-
Improvement
-
Resolution: Fixed
-
Minor
-
2.3
-
MOODLE_23_STABLE
-
MOODLE_23_STABLE
-
MDL-31052-js-rewrite -
Difficult
-
MDL-31096 (rewrite JS) is composed of two commits.
https://git.luns.net.uk/?p=moodle.git;a=commit;h=9eb9fb1e07c10610aa7ad5a41bfd5a2ae83f2bb6

The first adds a new coursebase JS module which allows JS modules to register themselves and be called later. This will be important later on when Davo adds dynamic creation of files within the course. He'll be able to simply extend moodle-course-coursebase and then call:
// code to create new course module
|
var newmodule = Y.Node.create(response.newmodule);
|
M.course.coursebase.invoke_function('setup_for_resource', newmodule);
|
which will then call any registered JS module which defines setup_for_resource. At present both the general toolbox and the drag/drop module do so. There's also a function for setup_for_section so that a new dynamically created section can also be handled appropriately.
https://git.luns.net.uk/?p=moodle.git;a=commit;h=2e7630c1c5aed537396daa004e297dd8c1cef9c1
The second commit is a complete rewrite of the old javascript including:
- lib/ajax/ajaxcourse.js
* lib/ajax/section_classes.js

both of which have been removed entirely.
The original drag/drop functionality is completed removed in these patches, but is added back later by Ruslan's commits.
https://git.luns.net.uk/?p=moodle.git;a=commit;h=aed1c3facfb5abc2c0340641c22d0851fab994e9

We've also included a master-only patch for MDL-25990. Another patch should be written for current stable branches.
MDL-31222 Create a core YUI3 Module for drag-drop
This patch creates a core drag-drop module M.core.dragdrop that can be used from everywhere (where drag-drop is required), it provides some methods with general functionality, like creating the dragger element, locking it when dragging is not allowed, making initial setup for dragging element, tracking moving direction, visually shifting elements to insert a draggable one in between.
MDL-31216 Create dragdrop course module
This patch is applying new drag-drop module to the course page. It contains two modules, both of which is extending M.core.dragdrop. The first one is applying dragdrop to sections. Its init method goes through each existing section and making them draggable and drop target. drop_hit is doing ajax request to update the section order on back-end, and then resort sections order on the frontend. The second module making resources (modules) draggable and also makes each section a drop target, so that resource can be dragged to empty section. Each module is using a separate drag-drop group, so that YUI will not get confused and insert resource between sections for example.
MDL-31720 Refactor course/rest.php
This just makes course/rest.php cleanser and removes obsolete bits of code.
MDL-31263 Apply dragdrop to course blocks
Relatively large thing, but well-commented hopefully. This allows to drag blocks. It works on the course page for the moment, but on a way to be used everywhere (as you may guess from the way how it is initialised). It is implemented the similar way to section/resources dragdrop. The tricky bit is back-end to store the result, looks pretty hacky attempting to deceive Moodle that we deal with the normal page with blocks, etc., if you have suggestion how to simplify, please let me know . Another tricky bit is drop_over, which is checking if the block region is empty (last block has been dragged out) and the opposite scenario when block is being dragged towards empty region.
A big TODO is to write wiki pages for drag-drop and Andrew's COURSEBASE stuff, so that people would know how to use it and start using straight away.
- blocks
-
MDL-31215 Add functionality to change the title/name of a resource using AJAX
- Closed
-
MDL-25990 course ajax allows unhiding of activities in hidden sections
- Closed
-
MDL-32608 Block regions need to be wrapped in a generic div that is not theme dependent
- Closed
-
MDL-32652 Make block drag-drop work throughout Moodle
- Closed
-
MDL-32653 Add javascript to block editing controls
- Closed
-
MDL-32657 Section dragdrop: make possible to define elements swapping in the course format
- Closed
- caused a regression
-
MDL-34813 Section summary does not become grey when section is hidden
- Closed
- Discovered while testing
-
MDL-31245 Incorrect horizontal alignment of 'highlight' icon in topic format
- Closed
-
MDL-32728 Weeks format will display wrong hide / show string.
- Closed
- has a non-specific relationship to
-
CONTRIB-3652 Rewrite Collapsed Topics for Moodle 2.3
- Resolved
- has been marked as being related by
-
MDL-22504 Use HTML5 drag & drop file upload to add file resources
- Closed
-
MDL-31040 mouseover text on group toggle button inconsistant and breaks RTL support
- Closed
-
MDL-29742 Extra class added when item hidden with Ajax enabled
- Closed
- is blocked by
-
MDL-31242 Multiple Moodle YUI modules result cause MOODLE_INTERNAL to be redefined
- Closed
-
MDL-31255 Moving course section when JavaScript is off does not update highlighted section
- Closed
- will help resolve
-
MDL-32503 Upgrade course AJAX to YUI 3.5
- Closed
-
MDL-10880 Moving resources with AJAX into sections that contain UL tags in the summary
- Closed
-
MDL-11746 Page breaks when editing turned on - only first section displays
- Closed
-
MDL-27097 moving activities in course outline Internet Explorer 9 problem
- Closed
-
MDL-7598 Drag and Drop AJAX doesn't work in Opera
- Closed
-
MDL-10864 AJAX Block menu error
- Closed
-
MDL-19986 Course highlight section - Light Globe not showing
- Closed
-
MDL-21727 Ajax sorting of section modules breaks when user inserts UL through HTML editor
- Closed
-
MDL-29465 Show/Hide Section gives misleading results
- Closed
-
MDL-30056 Resource visibility does not reflect actual state when hiding section.
- Closed
-
MDL-30656 AJAX move functionality breaks after a point in a cours
- Closed
-
MDL-31044 an even number of UL elements in the topic summary section breaks AJAX move within that block in editing mode
- Closed
-
MDL-31343 Random bytes cause IE9 display issue with two or more custom course formats.
- Closed
-
MDL-31383 Nested lists in course section summary can break AJAX drag and drop within that section
- Closed
-
MDL-31701 course section highlighting broken in topics course format with AJAX enabled
- Closed
-
MDL-11201 invisibility on section 0
- Closed
-
MDL-19278 warning when element is deleted might show name of element
- Closed
-
MDL-11675 AJAX course editing gives no indication that an edit failed
- Closed
-
MDL-19963 display item's name on JS confirm delete popup dialog when ajax is enabled (course edit mode)
- Closed
-
MDL-30201 Improve delete confirmation when ajax enabled a bit more
- Closed