mirror of
https://github.com/moodle/moodle.git
synced 2025-08-05 08:56:36 +02:00
Merge branch 'wip-MDL-33303-m24' of git://github.com/samhemelryk/moodle
This commit is contained in:
commit
20ef104713
3 changed files with 67 additions and 7 deletions
|
@ -83,6 +83,14 @@ M.form_filemanager.init = function(Y, options) {
|
|||
} else {
|
||||
this.filecount = 0;
|
||||
}
|
||||
|
||||
this.publish('filemanager:content-changed', {
|
||||
context : this,
|
||||
prefix : 'filemanager',
|
||||
preventable : false,
|
||||
type : 'content-changed'
|
||||
});
|
||||
|
||||
// prepare filemanager for drag-and-drop upload
|
||||
this.filemanager = Y.one('#filemanager-'+options.client_id);
|
||||
if (this.filemanager.hasClass('filemanager-container') || !this.filemanager.one('.filemanager-container')) {
|
||||
|
@ -122,6 +130,44 @@ M.form_filemanager.init = function(Y, options) {
|
|||
this.filemanager.all('.fp-vb-icons,.fp-vb-tree,.fp-vb-details').removeClass('checked')
|
||||
this.filemanager.all('.fp-vb-icons').addClass('checked')
|
||||
this.refresh(this.currentpath); // MDL-31113 get latest list from server
|
||||
|
||||
// Make sure that the filemanager is at least shown within the constraints of the page
|
||||
if ((this.filemanager.get('offsetWidth') + this.filemanager.getX()) > this.filemanager.get('docWidth')) {
|
||||
this.filemanager.setStyle('width', Math.round(this.filemanager.get('docWidth') - this.filemanager.getX()));
|
||||
}
|
||||
|
||||
if (Y.Resize) {
|
||||
// We only do this is the YUI resize component is loaded
|
||||
var resize = new Y.Resize({
|
||||
node: this.dndcontainer,
|
||||
wrap : true,
|
||||
handles : ['br']
|
||||
}).plug(Y.Plugin.ResizeConstrained, {
|
||||
minWidth : 410,
|
||||
maxWidth : this.dndcontainer.ancestor('.ffilemanager').get('offsetWidth') || 1600,
|
||||
minHeight : 160,
|
||||
maxHeight : 1024
|
||||
});
|
||||
// When it resizes we need to correct the width and height of other elements.
|
||||
resize.on('resize:resize', function(e) {
|
||||
this.filemanager.setStyle('width', e.info.offsetWidth);
|
||||
var fmcw = this.filemanager.one('.fp-content');
|
||||
if (fmcw) {
|
||||
fmcw.setStyle('height', this.dndcontainer.get('offsetHeight'));
|
||||
}
|
||||
}, this);
|
||||
// After resizing we update the user preference so that we always show them the file manager at the same size.
|
||||
resize.on('resize:end', function(e){
|
||||
M.util.set_user_preference('filemanagerresizedto', Math.round(e.info.offsetWidth).toString()+','+Math.round(e.info.offsetHeight).toString());
|
||||
});
|
||||
// When content gets updated by the filemanager we need to auto-update the height of the resizeable area to include it.
|
||||
this.on('filemanager:content-changed', function(){
|
||||
var fmcw = this.filemanager.one('.fp-content');
|
||||
if (fmcw) {
|
||||
fmcw.setStyle('height', this.dndcontainer.get('offsetHeight'));
|
||||
}
|
||||
}, this);
|
||||
}
|
||||
},
|
||||
|
||||
wait: function() {
|
||||
|
@ -511,7 +557,7 @@ M.form_filemanager.init = function(Y, options) {
|
|||
filenode : element_template,
|
||||
callbackcontext : this,
|
||||
callback : function(e, node) {
|
||||
if (e.preventDefault) { e.preventDefault(); }
|
||||
if (e.preventDefault) {e.preventDefault();}
|
||||
if (node.type == 'folder') {
|
||||
this.refresh(node.filepath);
|
||||
} else {
|
||||
|
@ -519,7 +565,7 @@ M.form_filemanager.init = function(Y, options) {
|
|||
}
|
||||
},
|
||||
rightclickcallback : function(e, node) {
|
||||
if (e.preventDefault) { e.preventDefault(); }
|
||||
if (e.preventDefault) {e.preventDefault();}
|
||||
this.select_file(node);
|
||||
},
|
||||
classnamecallback : function(node) {
|
||||
|
@ -606,6 +652,7 @@ M.form_filemanager.init = function(Y, options) {
|
|||
node.appendChild(Y.Node.create('<option/>').
|
||||
set('value', list[i]).setContent(list[i]))
|
||||
}
|
||||
this.fire('filemanager:content-changed');
|
||||
},
|
||||
update_file: function(confirmed) {
|
||||
var selectnode = this.selectnode;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue