]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-18949 Move selector is now disabled unless at least one grade item is selected...
authornicolasconnault <nicolasconnault>
Fri, 24 Apr 2009 07:56:35 +0000 (07:56 +0000)
committernicolasconnault <nicolasconnault>
Fri, 24 Apr 2009 07:56:35 +0000 (07:56 +0000)
grade/edit/tree/functions.js
grade/edit/tree/index.php
grade/edit/tree/lib.php

index 4d9ad8c5eb55f596de72d7d50371ec0656720de9..161e3867681f7050be52223678b5492c2bbff497 100755 (executable)
@@ -12,6 +12,8 @@ function togglecheckboxes(eid, value) {
         }
     }
 
+    toggleCategorySelector();
+
 }
 
 function toggle_advanced_columns() {
@@ -27,6 +29,19 @@ function toggle_advanced_columns() {
     }
 }
 
+/**
+ * Check if any of the grade item checkboxes is ticked. If yes, enable the dropdown. Otherwise, disable it
+ */
+function toggleCategorySelector() {
+    var itemboxes = YAHOO.util.Dom.getElementsByClassName('itemselect');
+    for (var i = 0; i < itemboxes.length; i++) {
+        if (itemboxes[i].checked) {
+            document.getElementById('menumoveafter').disabled = false;
+            return true;
+    }
+    document.getElementById('menumoveafter').disabled = 'disabled';
+}
+
 YAHOO.namespace('grade_edit_tree');
 
 (function() {
@@ -45,13 +60,13 @@ YAHOO.namespace('grade_edit_tree');
             var category_rows = edit_tree_table.getElementsByClassName('category', 'tr');
 
             new YAHOO.util.DDTarget('grade_edit_tree_table');
-            
+
             for (i = 0; i < item_rows.length; i++) {
                 if (!Dom.hasClass(item_rows[i],'categoryitem')) {
                     new gretree.DDList(item_rows[i]);
                 }
             }
-            
+
             for (i = 0; i < category_rows.length; i++) {
                 if (!Dom.hasClass(category_rows[i],'coursecategory')) {
                     // Find the cell that spans rows for this category
@@ -64,7 +79,7 @@ YAHOO.namespace('grade_edit_tree');
                         rows[j] = lastRow;
                         lastRow = lastRow.nextSibling;
                     }
-                    
+
                     new gretree.DDList(rows);
                 }
             }
@@ -94,7 +109,7 @@ YAHOO.namespace('grade_edit_tree');
     };
 
     gretree.DDList = function(id, sGroup, config) {
-        
+
         gretree.DDList.superclass.constructor.call(this, id, sGroup, config);
         this.logger =  this.logger || YAHOO;
         var el = this.getDragEl();
@@ -152,7 +167,7 @@ YAHOO.namespace('grade_edit_tree');
                 var pt = DDM.interactionInfo.point;
 
                 // The region occupied by the source element at the time of the drop
-                var region = DDM.interactionInfo.sourceRegion; 
+                var region = DDM.interactionInfo.sourceRegion;
 
                 // Check to see if we are over the source element's location. We will append to the bottom of the list once we are sure it was a drop in the negative space
                 if (!region.intersect(pt)) {
index 6a3b5edfcdff70a3272caa03a18c671c2067bc39..354969650ed72cbb254bfb610383be2ef1a3dfc7 100644 (file)
@@ -326,7 +326,7 @@ if (!$moving) {
     echo '<input type="hidden" name="bulkmove" value="0" id="bulkmoveinput" />';
     echo get_string('moveselectedto', 'grades') . ' ';
     echo choose_from_menu($categories, 'moveafter', '', 'choose',
-            'document.getElementById(\'bulkmoveinput\').value=1;document.getElementById(\'gradetreeform\').submit()', 0, true);
+            'document.getElementById(\'bulkmoveinput\').value=1;document.getElementById(\'gradetreeform\').submit()', 0, true, true);
     echo '<div id="noscriptgradetreeform" style="display: inline;">
             <input type="submit" value="'.get_string('go').'" />
           </div>
index 56babc2b164db2d07f07063e37994e16808b5969..e64a2e3f2a5e46cea16d25db3ca26520ec8b254c 100755 (executable)
@@ -259,7 +259,7 @@ class grade_edit_tree {
             }
 
             $levelclass = " level$level ";
-            
+
             $courseclass = '';
             if ($level == 1) {
                 $courseclass = 'coursecategory';
@@ -287,7 +287,7 @@ class grade_edit_tree {
             $item = grade_item::fetch(array('id' => $object->id));
             $element['type'] = 'item';
             $element['object'] = $item;
-            
+
             $categoryitemclass = '';
             if ($item->itemtype == 'category') {
                 $categoryitemclass = 'categoryitem';
@@ -962,7 +962,7 @@ class grade_edit_tree_column_select extends grade_edit_tree_column {
         $itemselect = '';
 
         if ($params['itemtype'] != 'course' && $params['itemtype'] != 'category') {
-            $itemselect = '<input class="itemselect" type="checkbox" name="select_'.$params['eid'].'" />';
+            $itemselect = '<input class="itemselect" type="checkbox" name="select_'.$params['eid'].'" onchange="toggleCategorySelector();"/>';
         }
         return '<td class="cell last selection">' . $itemselect . '</td>';
     }