1
0
mirror of https://github.com/Radarr/Radarr.git synced 2026-04-25 22:37:27 -04:00
Files
Radarr/src/UI/jQuery/jquery.spin.js
T
Qstick 304b3ef560 Fixed: Multiple UI Fixes and Additions (#2894)
* Fixed: Misc UI Style Fixes and Cleanup

* Fixed: Change Icon names from Sonarr to Radarr

* Added: Search from Movies Index
2018-07-15 17:35:14 -04:00

62 lines
1.5 KiB
JavaScript

module.exports = function() {
'use strict';
var $ = this;
$.fn.spinForPromise = function(promise) {
var self = this;
if (!promise || promise.state() !== 'pending') {
return this;
}
promise.always(function() {
self.stopSpin();
});
return this.startSpin();
};
$.fn.startSpin = function() {
var icon = this.find('i').andSelf('i');
if (!icon || !icon.attr('class')) {
return this;
}
var iconClasses = icon.attr('class').match(/(?:^|\s)icon\-.+?(?:$|\s)/);
if (!iconClasses || iconClasses.length === 0) {
return this;
}
var iconClass = $.trim(iconClasses[0]);
this.addClass('disabled');
if (icon.hasClass('icon-can-spin')) {
icon.addClass('fa-spin');
} else {
icon.attr('data-idle-icon', iconClass);
icon.removeClass(iconClass);
icon.addClass('fa-spin-overlay');
icon.html('<i class="' + iconClass + '" /><span><i class="fa-spin icon-radarr-spinner" /></span>');
}
return this;
};
$.fn.stopSpin = function() {
var icon = this.find('i').andSelf('i');
icon.empty();
this.removeClass('disabled');
icon.removeClass('fa-spin fa-spin-overlay');
var idleIcon = icon.attr('data-idle-icon');
if (idleIcon) {
icon.addClass(idleIcon);
}
return this;
};
};