mirror of
https://github.com/moodle/moodle.git
synced 2025-08-05 00:46:50 +02:00
Merge branch 'wip-MDL-33423-m23' of git://github.com/samhemelryk/moodle
This commit is contained in:
commit
bb046e61b6
2 changed files with 33 additions and 2 deletions
|
@ -518,7 +518,7 @@ M.core_filepicker.init = function(Y, options) {
|
|||
Y.extend(FilePickerHelper, Y.Base, {
|
||||
api: M.cfg.wwwroot+'/repository/repository_ajax.php',
|
||||
cached_responses: {},
|
||||
|
||||
waitinterval : null, // When the loading template is being displayed and its animation is running this will be an interval instance.
|
||||
initializer: function(options) {
|
||||
this.options = options;
|
||||
if (!this.options.savepath) {
|
||||
|
@ -1188,7 +1188,37 @@ M.core_filepicker.init = function(Y, options) {
|
|||
}, this);
|
||||
},
|
||||
wait: function() {
|
||||
this.fpnode.one('.fp-content').setContent(M.core_filepicker.templates.loading);
|
||||
// First check there isn't already an interval in play, and if there is kill it now.
|
||||
if (this.waitinterval != null) {
|
||||
clearInterval(this.waitinterval);
|
||||
}
|
||||
// Prepare the root node we will set content for and the loading template we want to display as a YUI node.
|
||||
var root = this.fpnode.one('.fp-content');
|
||||
var content = Y.Node.create(M.core_filepicker.templates.loading).addClass('fp-content-hidden').setStyle('opacity', 0);
|
||||
var count = 0;
|
||||
// Initiate an interval, we will have a count which will increment every 100 milliseconds.
|
||||
// Count 0 - the loading icon will have visibility set to hidden (invisible) and have an opacity of 0 (invisible also)
|
||||
// Count 5 - the visiblity will be switched to visible but opacity will still be at 0 (inivisible)
|
||||
// Counts 6 - 15 opacity will be increased by 0.1 making the loading icon visible over the period of a second
|
||||
// Count 16 - The interval will be cancelled.
|
||||
var interval = setInterval(function(){
|
||||
if (!content || !root.contains(content) || count >= 15) {
|
||||
clearInterval(interval);
|
||||
return true;
|
||||
}
|
||||
if (count == 5) {
|
||||
content.removeClass('fp-content-hidden');
|
||||
} else if (count > 5) {
|
||||
var opacity = parseFloat(content.getStyle('opacity'));
|
||||
content.setStyle('opacity', opacity + 0.1);
|
||||
}
|
||||
count++;
|
||||
return false;
|
||||
}, 100);
|
||||
// Store the wait interval so that we can check it in the future.
|
||||
this.waitinterval = interval;
|
||||
// Set the content to the loading template.
|
||||
root.setContent(content);
|
||||
},
|
||||
viewbar_set_enabled: function(mode) {
|
||||
var viewbar = this.fpnode.one('.fp-viewbar')
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue