Permalink
Browse files

MDL-36465 Course JavaScript: Ensure that the zero section is not drag…

…gable
  • Loading branch information...
1 parent 7bc37de commit d2674929ba713dbb20d2ce3cde1f6b74cbf1b6d1 @andrewnicols andrewnicols committed Sep 22, 2013
Showing with 10 additions and 4 deletions.
  1. +10 −4 course/yui/dragdrop/dragdrop.js
@@ -17,7 +17,8 @@ YUI.add('moodle-course-dragdrop', function(Y) {
SECTION : 'section',
SECTIONADDMENUS : 'section_add_menus',
SECTIONHANDLE : 'section-handle',
- SUMMARY : 'summary'
+ SUMMARY : 'summary',
+ SECTIONDRAGGABLE: 'sectiondraggable'
};
var DRAGSECTION = function() {
@@ -28,7 +29,7 @@ YUI.add('moodle-course-dragdrop', function(Y) {
initializer : function(params) {
// Set group for parent class
- this.groups = ['section'];
+ this.groups = [ CSS.SECTIONDRAGGABLE ];
this.samenodeclass = M.course.format.get_sectionwrapperclass();
this.parentnodeclass = M.course.format.get_containerclass();
@@ -39,14 +40,16 @@ YUI.add('moodle-course-dragdrop', function(Y) {
// Initialise sections dragging
this.sectionlistselector = M.course.format.get_section_wrapper(Y);
if (this.sectionlistselector) {
+ // We need both the list of all sections, and just those which are moveable.
+ // When updating titles and orders, the immoveable sections may need to be updated too.
this.sectionlistselector = '.'+CSS.COURSECONTENT+' '+this.sectionlistselector;
+
this.setup_for_section(this.sectionlistselector);
// Make each li element in the lists of sections draggable
- var nodeselector = this.sectionlistselector.slice(CSS.COURSECONTENT.length+2);
var del = new Y.DD.Delegate({
container: '.'+CSS.COURSECONTENT,
- nodes: nodeselector,
+ nodes: '.' + CSS.SECTIONDRAGGABLE,
target: true,
handles: ['.'+CSS.LEFT],
dragConfig: {groups: this.groups}
@@ -95,6 +98,9 @@ YUI.add('moodle-course-dragdrop', function(Y) {
if (movedown) {
movedown.remove();
}
+
+ // This section can be moved - add the class to indicate this to Y.DD.
+ sectionnode.addClass(CSS.SECTIONDRAGGABLE);
}
}
}, this);

0 comments on commit d267492

Please sign in to comment.