MDL-45364 qtype_ddimageortext: Fix JS Lint issues
authorAndrew Nicols <andrew@nicols.co.uk>
Tue, 24 Nov 2015 12:14:32 +0000 (20:14 +0800)
committerDan Poltawski <dan@moodle.com>
Thu, 26 Nov 2015 19:09:29 +0000 (19:09 +0000)
question/type/ddimageortext/yui/build/moodle-qtype_ddimageortext-form/moodle-qtype_ddimageortext-form-debug.js
question/type/ddimageortext/yui/build/moodle-qtype_ddimageortext-form/moodle-qtype_ddimageortext-form-min.js
question/type/ddimageortext/yui/build/moodle-qtype_ddimageortext-form/moodle-qtype_ddimageortext-form.js
question/type/ddimageortext/yui/src/form/js/form.js

index 5dfd562..e3fe2b5 100644 (file)
Binary files a/question/type/ddimageortext/yui/build/moodle-qtype_ddimageortext-form/moodle-qtype_ddimageortext-form-debug.js and b/question/type/ddimageortext/yui/build/moodle-qtype_ddimageortext-form/moodle-qtype_ddimageortext-form-debug.js differ
index 198e509..a05995d 100644 (file)
Binary files a/question/type/ddimageortext/yui/build/moodle-qtype_ddimageortext-form/moodle-qtype_ddimageortext-form-min.js and b/question/type/ddimageortext/yui/build/moodle-qtype_ddimageortext-form/moodle-qtype_ddimageortext-form-min.js differ
index 5dfd562..e3fe2b5 100644 (file)
Binary files a/question/type/ddimageortext/yui/build/moodle-qtype_ddimageortext-form/moodle-qtype_ddimageortext-form.js and b/question/type/ddimageortext/yui/build/moodle-qtype_ddimageortext-form/moodle-qtype_ddimageortext-form.js differ
index 5cf5d6a..8530fb0 100644 (file)
@@ -143,13 +143,9 @@ Y.extend(DDIMAGEORTEXT_FORM, M.qtype_ddimageortext.dd_base_class, {
                     if (value !== 0) { // No item option is always selectable.
                         var cbel = Y.one('#id_drags_' + (value - 1) + '_infinite');
                         if (cbel && !cbel.get('checked')) {
-                            Y.all('fieldset#id_dropzoneheader select').some(function (selector) {
-                                if (Number(selector.get('value')) === value) {
-                                    optionnode.set('disabled', true);
-                                    return true; // Stop looping.
-                                }
-                                return false;
-                            }, this);
+                            if (this.check_dropzone_for_selected_value(value)) {
+                                optionnode.set('disabled', true);
+                            }
                         }
                     }
                 }
@@ -161,6 +157,12 @@ Y.extend(DDIMAGEORTEXT_FORM, M.qtype_ddimageortext.dd_base_class, {
         Y.all('fieldset#id_dropzoneheader select').detachAll();
     },
 
+    check_dropzone_for_selected_value: function(value) {
+        return Y.all('fieldset#id_dropzoneheader select').some(function(selectNode) {
+            return Number(selectNode.get('value')) === value;
+        });
+    },
+
     setup_form_events : function () {
         // Events triggered by changes to form data.
 
@@ -188,16 +190,8 @@ Y.extend(DDIMAGEORTEXT_FORM, M.qtype_ddimageortext.dd_base_class, {
 
         for (var i = 0; i < this.form.get_form_value('noitems', []); i++) {
             // Change to group selector.
-            Y.all('#fgroup_id_drags_' + i + ' select.draggroup').on(
-                    'change', function () {
-                this.doc.drag_items().remove(true);
-                this.draw_dd_area();
-            }, this);
-            Y.all('#fgroup_id_drags_' + i + ' select.dragitemtype').on(
-                    'change', function () {
-                this.doc.drag_items().remove(true);
-                this.draw_dd_area();
-            }, this);
+            Y.all('#fgroup_id_drags_' + i + ' select.draggroup').on('change', this.clear_dd_area, this);
+            Y.all('#fgroup_id_drags_' + i + ' select.dragitemtype').on('change', this.clear_dd_area, this);
             Y.all('fieldset#draggableitemheader_' + i + ' input[type="text"]')
                                 .on('blur', this.set_options_for_drag_item_selectors, this);
             // Change to infinite checkbox.
@@ -214,6 +208,11 @@ Y.extend(DDIMAGEORTEXT_FORM, M.qtype_ddimageortext.dd_base_class, {
         }, M.form_filepicker, 'callback', this);
     },
 
+    clear_dd_area: function() {
+        this.doc.drag_items().remove(true);
+        this.draw_dd_area();
+    },
+
     update_visibility_of_file_pickers : function() {
         for (var i = 0; i < this.form.get_form_value('noitems', []); i++) {
             if ('image' === this.form.get_form_value('drags', [i, 'dragitemtype'])) {