Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

MDL-31113 filemanager element - refresh file list from server on load…

… and prevent revertion to browser drag and drop behaviour when max files reached
  • Loading branch information...
commit 910e1ecdaaceff0f4c87ba38528d2992c6fe9bfb 1 parent f6b4ec2
@davosmith davosmith authored
View
6 lib/form/dndupload.js
@@ -163,13 +163,13 @@ M.form_dndupload = {
return false;
}
+ e.preventDefault();
+ e.stopPropagation();
+
if (this.reached_maxfiles()) {
return false;
}
- e.preventDefault();
- e.stopPropagation();
-
return true;
},
View
13 lib/form/filemanager.js
@@ -76,7 +76,7 @@ M.form_filemanager.init = function(Y, options) {
this.filecount = 0;
}
this.setup_buttons();
- this.render();
+ this.refresh(this.currentpath); // MDL-31113 get latest list from server
},
wait: function(client_id) {
@@ -141,15 +141,18 @@ M.form_filemanager.init = function(Y, options) {
}
},
filepicker_callback: function(obj) {
- var button_addfile = Y.one("#btnadd-"+this.client_id);
this.filecount++;
+ this.check_buttons();
+ this.refresh(this.currentpath);
+ },
+ check_buttons: function() {
+ var button_addfile = Y.one("#btnadd-"+this.client_id);
if (this.filecount > 0) {
Y.one("#btndwn-"+this.client_id).setStyle('display', 'inline');
}
if (this.filecount >= this.maxfiles && this.maxfiles!=-1) {
button_addfile.setStyle('display', 'none');
}
- this.refresh(this.currentpath);
},
refresh: function(filepath) {
var scope = this;
@@ -164,6 +167,8 @@ M.form_filemanager.init = function(Y, options) {
scope: scope,
params: {'filepath':filepath},
callback: function(id, obj, args) {
+ scope.filecount = obj.filecount;
+ scope.check_buttons();
scope.options = obj;
scope.render(obj);
}
@@ -298,6 +303,8 @@ M.form_filemanager.init = function(Y, options) {
scope: scope,
params: params,
callback: function(id, obj, args) {
+ scope.filecount = obj.filecount;
+ scope.check_buttons();
scope.options = obj;
scope.render(obj);
}
View
3  repository/draftfiles_ajax.php
@@ -59,6 +59,9 @@
$filepath = optional_param('filepath', '/', PARAM_PATH);
$data = file_get_drafarea_files($draftid, $filepath);
+ $info = file_get_draft_area_info($draftid);
+ $data->filecount = $info['filecount'];
+ $data->filesize = $info['filesize'];
echo json_encode($data);
die;
Please sign in to comment.
Something went wrong with that request. Please try again.