Skip to content

Commit 6b381d1

Browse files
committed
Resolve promise on event
1 parent 354ba8d commit 6b381d1

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

timeflux_ui/www/common/assets/js/timeflux.js

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -516,6 +516,32 @@ function key(code) {
516516
});
517517
}
518518

519+
/**
520+
* Resolve promise on event
521+
*
522+
* @param {string} name - event name
523+
* @returns {Promise}
524+
*/
525+
function flag(name) {
526+
return new Promise((resolve) => {
527+
const handler = (event) => {
528+
document.removeEventListener(event.type, handler);
529+
resolve(event.detail);
530+
};
531+
document.addEventListener(name, handler);
532+
});
533+
}
534+
535+
/**
536+
* Trigger an event
537+
*
538+
* @param {string} name - Event name
539+
* @param {object} [data] - Optional data
540+
*/
541+
function trigger(name, data) {
542+
document.dispatchEvent(new CustomEvent(name, { detail: data }));
543+
}
544+
519545
/**
520546
* Load settings
521547
*

0 commit comments

Comments
 (0)