1
0
Fork 0
mirror of synced 2024-07-04 06:00:53 +12:00
appwrite/public/scripts/views/ui/trigger.js

22 lines
732 B
JavaScript
Raw Normal View History

(function(window) {
window.ls.container.get("view").add({
selector: "data-ls-ui-trigger",
2020-02-25 01:56:57 +13:00
controller: function(element, document, expression) {
2020-02-28 12:24:54 +13:00
let trigger = expression.parse(element.dataset["lsUiTrigger"] || '').trim().split(',');
2020-02-25 01:56:57 +13:00
let event = expression.parse(element.dataset["event"] || 'click');
2020-04-28 06:38:06 +12:00
let debug = element.getAttribute('data-debug') || false;
2020-02-28 12:24:54 +13:00
for (let index = 0; index < trigger.length; index++) {
let name = trigger[index];
element.addEventListener(event, function() {
2020-04-28 06:38:06 +12:00
if(debug) {
console.log('Debug: event triggered: ' + name);
}
2020-02-28 12:24:54 +13:00
document.dispatchEvent(new CustomEvent(name));
});
}
}
});
})(window);