45 lines
1.3 KiB
JavaScript
45 lines
1.3 KiB
JavaScript
#include utility.js
|
|
|
|
var AmiLoadingOverlay = function(parent, indicatorShown) {
|
|
var text = $e({
|
|
attrs: { id: 'conntxt' },
|
|
child: 'Loading Sock Chat...',
|
|
});
|
|
|
|
var indicator = $e({ attrs: { id: 'indicator' } });
|
|
|
|
var container = $e({
|
|
attrs: { id: 'connmsg' },
|
|
child: {
|
|
attrs: { id: 'info' },
|
|
child: [text, indicator],
|
|
},
|
|
});
|
|
|
|
var appendTo = function(parent) { parent.appendChild(container); };
|
|
var destroy = function() { $r(container); };
|
|
|
|
var showIndicator = function() { indicator.classList.remove('hidden'); };
|
|
var hideIndicator = function() { indicator.classList.add('hidden'); };
|
|
var toggleIndicator = function(visible) { indicator.classList[visible ? 'remove' : 'add']('hidden') };
|
|
|
|
toggleIndicator(indicatorShown);
|
|
|
|
if(parent !== undefined)
|
|
appendTo(parent);
|
|
|
|
return {
|
|
close: function() {
|
|
container.classList.add('connmsg-exit');
|
|
setTimeout(destroy, 1000);
|
|
},
|
|
getElement: function() { return container; },
|
|
appendTo: appendTo,
|
|
showIndicator: showIndicator,
|
|
hideIndicator: hideIndicator,
|
|
toggleIndicator: toggleIndicator,
|
|
setTextRaw: function(raw) { text.innerHTML = raw; },
|
|
destroy: destroy,
|
|
};
|
|
};
|