21 lines
732 B
JavaScript
21 lines
732 B
JavaScript
(function(window) {
|
|
window.ls.container.get("view").add({
|
|
selector: "data-ls-ui-trigger",
|
|
controller: function(element, document, expression) {
|
|
let trigger = expression.parse(element.dataset["lsUiTrigger"] || '').trim().split(',');
|
|
let event = expression.parse(element.dataset["event"] || 'click');
|
|
let debug = element.getAttribute('data-debug') || false;
|
|
|
|
for (let index = 0; index < trigger.length; index++) {
|
|
let name = trigger[index];
|
|
|
|
element.addEventListener(event, function() {
|
|
if(debug) {
|
|
console.log('Debug: event triggered: ' + name);
|
|
}
|
|
document.dispatchEvent(new CustomEvent(name));
|
|
});
|
|
}
|
|
}
|
|
});
|
|
})(window);
|