38 lines
625 B
JavaScript
38 lines
625 B
JavaScript
|
/*globals _, wp */
|
||
|
|
||
|
/**
|
||
|
* wp.media.view.Spinner
|
||
|
*
|
||
|
* @class
|
||
|
* @augments wp.media.View
|
||
|
* @augments wp.Backbone.View
|
||
|
* @augments Backbone.View
|
||
|
*/
|
||
|
var View = require( './view.js' ),
|
||
|
Spinner;
|
||
|
|
||
|
Spinner = View.extend({
|
||
|
tagName: 'span',
|
||
|
className: 'spinner',
|
||
|
spinnerTimeout: false,
|
||
|
delay: 400,
|
||
|
|
||
|
show: function() {
|
||
|
if ( ! this.spinnerTimeout ) {
|
||
|
this.spinnerTimeout = _.delay(function( $el ) {
|
||
|
$el.show();
|
||
|
}, this.delay, this.$el );
|
||
|
}
|
||
|
|
||
|
return this;
|
||
|
},
|
||
|
|
||
|
hide: function() {
|
||
|
this.$el.hide();
|
||
|
this.spinnerTimeout = clearTimeout( this.spinnerTimeout );
|
||
|
|
||
|
return this;
|
||
|
}
|
||
|
});
|
||
|
|
||
|
module.exports = Spinner;
|