MDL-31113 filemanager element - refresh file list from server on load and prevent revertion to browser drag and drop behaviour when max files reached
This commit is contained in:
@@ -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;
|
||||
},
|
||||
|
||||
|
||||
+10
-3
@@ -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);
|
||||
}
|
||||
|
||||
@@ -59,6 +59,9 @@ switch ($action) {
|
||||
$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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user