2019-05-09 18:54:39 +12:00
|
|
|
(function (window) {
|
2019-05-09 20:01:51 +12:00
|
|
|
window.ls.container.get('view').add({
|
2019-05-09 18:54:39 +12:00
|
|
|
selector: 'data-ls-wait',
|
|
|
|
template: false,
|
|
|
|
repeat: false,
|
|
|
|
controller: function(element, di, view) {
|
|
|
|
let debug = (element.dataset['debug']);
|
|
|
|
let event = element.dataset['lsWait'] || '';
|
|
|
|
let status = di.check(event); // Has event already triggered
|
|
|
|
|
|
|
|
if (debug) { console.log(di.list); }
|
|
|
|
|
|
|
|
if(status) {
|
|
|
|
element.$lsSkip = false;
|
|
|
|
if (debug) { console.log('No Wait for ' + event); }
|
|
|
|
if (debug) { element.style.background = 'green'; }
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
element.$lsSkip = true;
|
|
|
|
|
|
|
|
if (debug) { console.log('Wait for ' + event); }
|
|
|
|
if (debug) { element.style.background = 'yellow'; }
|
|
|
|
|
|
|
|
di.listen(event, function () {
|
|
|
|
element.$lsSkip = false;
|
|
|
|
|
|
|
|
if (debug) { console.log('Wait Over for ' + event); }
|
|
|
|
if (debug) { element.style.background = 'blue'; }
|
|
|
|
|
|
|
|
view.render(element);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
})(window);
|