MDL-34221 Filepicker - disableIf now prevents drag and drop upload
authorDavo Smith <git@davosmith.co.uk>
Mon, 9 Jul 2012 20:39:34 +0000 (21:39 +0100)
committerSam Hemelryk <sam@moodle.com>
Mon, 23 Jul 2012 00:08:49 +0000 (12:08 +1200)
lib/form/dndupload.js
lib/form/form.js
theme/base/style/filemanager.css

index 53018b9..0cdeeee 100644 (file)
@@ -165,11 +165,22 @@ M.form_dndupload.init = function(Y, options) {
             this.Y.on('dragleave', this.drag_leave_page, 'body', this);
         },
 
+        /**
+         * Check if the filemanager / filepicker is disabled
+         * @return bool - true if disabled
+         */
+        is_disabled: function() {
+            return this.container.hasClass('disabled');
+        },
+
         /**
          * Show the 'drop files here' message when file(s) are dragged
          * onto the page
          */
         drag_enter_page: function(e) {
+            if (this.is_disabled()) {
+                return false;
+            }
             if (!this.has_files(e)) {
                 return false;
             }
@@ -210,6 +221,9 @@ M.form_dndupload.init = function(Y, options) {
          * @return boolean true if a valid file drag event
          */
         check_drag: function(e) {
+            if (this.is_disabled()) {
+                return false;
+            }
             if (!this.has_files(e)) {
                 return false;
             }
index 938fab6..2dd75f4 100644 (file)
@@ -211,10 +211,14 @@ M.form.initFormDependencies = function(Y, formid, dependencies) {
                     if (this.getAttribute('class') == 'filepickerhidden'){
                         var pickerbuttons = form.elementsByName(name + 'choose');
                         pickerbuttons.each(function(){
+                            var clientid = this.get('id').split('-')[2];
+                            var filepicker = Y.one('#file_info_'+clientid);
                             if (disabled){
                                 this.setAttribute('disabled','disabled');
+                                filepicker.addClass('disabled');
                             } else {
                                 this.removeAttribute('disabled');
+                                filepicker.removeClass('disabled');
                             }
                         });
                     }
index 5fbacc3..99cdb99 100644 (file)
@@ -326,6 +326,8 @@ a.ygtvspacer:hover {color: transparent;text-decoration: none;}
 /*
  * Drag and drop support (File Manager only)
  */
+.filepicker-filelist.disabled {background-color:#ddd;}
+.filepicker-filelist.disabled .filepicker-filename {display:none;}
 .filepicker-filelist .filepicker-container,
 .filemanager.fm-noitems .fm-empty-container {display:block;position:absolute;top:10px;bottom:10px;left:10px;right:10px;border: 2px dashed #BBBBBB;padding-top:85px;text-align:center;z-index: 3000;}
 .filepicker-filelist .dndupload-target,