@foblex/flow
Version:
An Angular library designed to simplify the creation and manipulation of dynamic flow. Provides components for flows, nodes, and connections, automating node manipulation and inter-node connections.
29 lines • 3.81 kB
JavaScript
export class EventExtensions {
static isSupported;
static isPassiveEventListenerSupported() {
if (EventExtensions.isSupported == null && typeof window !== 'undefined') {
try {
window.addEventListener('test', EventExtensions.emptyListener, { passive: true });
EventExtensions.isSupported = true;
}
catch (e) {
EventExtensions.isSupported = false;
}
}
return EventExtensions.isSupported;
}
static passiveEventListener(options) {
return EventExtensions.isPassiveEventListenerSupported() ? options : !!options.capture;
}
static activeListener() {
return EventExtensions.passiveEventListener({ passive: false });
}
static passiveListener() {
return EventExtensions.passiveEventListener({ passive: true });
}
static emptyListener() {
return () => {
};
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuZXh0ZW5zaW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZHJhZy10b29sa2l0L2V2ZW50LmV4dGVuc2lvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGVBQWU7SUFFbEIsTUFBTSxDQUFDLFdBQVcsQ0FBVTtJQUU1QixNQUFNLENBQUMsK0JBQStCO1FBRTVDLElBQUksZUFBZSxDQUFDLFdBQVcsSUFBSSxJQUFJLElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxFQUFFLENBQUM7WUFDekUsSUFBSSxDQUFDO2dCQUNILE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsZUFBZSxDQUFDLGFBQWEsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO2dCQUNsRixlQUFlLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUNyQyxDQUFDO1lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDWCxlQUFlLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztZQUN0QyxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sZUFBZSxDQUFDLFdBQVcsQ0FBQztJQUNyQyxDQUFDO0lBRU8sTUFBTSxDQUFDLG9CQUFvQixDQUFDLE9BQWdDO1FBQ2xFLE9BQU8sZUFBZSxDQUFDLCtCQUErQixFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7SUFDekYsQ0FBQztJQUVNLE1BQU0sQ0FBQyxjQUFjO1FBQzFCLE9BQU8sZUFBZSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVNLE1BQU0sQ0FBQyxlQUFlO1FBQzNCLE9BQU8sZUFBZSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVNLE1BQU0sQ0FBQyxhQUFhO1FBQ3pCLE9BQU8sR0FBRyxFQUFFO1FBQ1osQ0FBQyxDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEV2ZW50RXh0ZW5zaW9ucyB7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaXNTdXBwb3J0ZWQ6IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaXNQYXNzaXZlRXZlbnRMaXN0ZW5lclN1cHBvcnRlZCgpOiBib29sZWFuIHtcblxuICAgIGlmIChFdmVudEV4dGVuc2lvbnMuaXNTdXBwb3J0ZWQgPT0gbnVsbCAmJiB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Rlc3QnLCBFdmVudEV4dGVuc2lvbnMuZW1wdHlMaXN0ZW5lciwgeyBwYXNzaXZlOiB0cnVlIH0pO1xuICAgICAgICBFdmVudEV4dGVuc2lvbnMuaXNTdXBwb3J0ZWQgPSB0cnVlO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBFdmVudEV4dGVuc2lvbnMuaXNTdXBwb3J0ZWQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gRXZlbnRFeHRlbnNpb25zLmlzU3VwcG9ydGVkO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcGFzc2l2ZUV2ZW50TGlzdGVuZXIob3B0aW9uczogQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMpOiBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyB8IGJvb2xlYW4ge1xuICAgIHJldHVybiBFdmVudEV4dGVuc2lvbnMuaXNQYXNzaXZlRXZlbnRMaXN0ZW5lclN1cHBvcnRlZCgpID8gb3B0aW9ucyA6ICEhb3B0aW9ucy5jYXB0dXJlO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBhY3RpdmVMaXN0ZW5lcigpOiBib29sZWFuIHwgQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMge1xuICAgIHJldHVybiBFdmVudEV4dGVuc2lvbnMucGFzc2l2ZUV2ZW50TGlzdGVuZXIoeyBwYXNzaXZlOiBmYWxzZSB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgcGFzc2l2ZUxpc3RlbmVyKCk6IGJvb2xlYW4gfCBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyB7XG4gICAgcmV0dXJuIEV2ZW50RXh0ZW5zaW9ucy5wYXNzaXZlRXZlbnRMaXN0ZW5lcih7IHBhc3NpdmU6IHRydWUgfSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGVtcHR5TGlzdGVuZXIoKTogRnVuY3Rpb24ge1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgfTtcbiAgfVxufVxuIl19