pandora/static/js/loadingIcon.js

66 lines
1.5 KiB
JavaScript
Raw Normal View History

2013-07-28 09:52:13 +00:00
'use strict';
pandora.ui.loadingIcon = function() {
2013-07-29 09:47:25 +00:00
var self = {},
that = Ox.LoadingIcon({
2013-07-29 09:49:45 +00:00
tooltip: Ox._('Reload Application')
2013-07-29 09:47:25 +00:00
}, self)
.attr({
src: Ox.UI.getImageURL('symbolRedo')
})
.css(getCSS('stop'))
.bindEvent({
anyclick: function() {
pandora.$ui.appPanel.reload();
}
});
that.superStart = that.start;
that.superStop = that.stop;
that.start = function() {
if (!self.loadingInterval) {
that.css(getCSS('start'))
.attr({
src: Ox.UI.getImageURL('symbolLoading')
});
that.superStart();
}
};
that.stop = function() {
if (self.loadingInterval) {
that.superStop(function() {
if (!self.loadingInterval) {
that.css(getCSS('stop'))
.attr({
src: Ox.UI.getImageURL('symbolRedo')
});
}
});
}
};
2013-07-28 09:52:13 +00:00
that.update = function(requests) {
2013-07-29 09:47:25 +00:00
that[requests ? 'start' : 'stop']();
2013-07-28 09:52:13 +00:00
};
2013-07-29 09:47:25 +00:00
function getCSS(action) {
return action == 'start' ? {
width: '16px',
height: '16px',
margin: 0,
opacity: 0
} : {
width: '10px',
height: '10px',
margin: '3px',
opacity: 1
};
}
2013-07-28 09:52:13 +00:00
return that;
};