2026-01-16 21:47:04 +01:00
|
|
|
package org.openautonomousconnection.luascript.hosts;
|
|
|
|
|
|
|
|
|
|
/**
|
2026-02-10 19:24:38 +01:00
|
|
|
* Abstraction over DOM event subscription for scripting.
|
|
|
|
|
*
|
|
|
|
|
* <p>Implementations forward DOM events into a {@code LuaEventRouter}.</p>
|
2026-01-16 21:47:04 +01:00
|
|
|
*/
|
|
|
|
|
public interface EventHost {
|
|
|
|
|
|
|
|
|
|
/**
|
2026-02-10 19:24:38 +01:00
|
|
|
* Adds a listener for an element's event.
|
2026-01-16 21:47:04 +01:00
|
|
|
*
|
|
|
|
|
* @param elementId element id
|
2026-02-10 19:24:38 +01:00
|
|
|
* @param eventName normalized event name
|
2026-01-16 21:47:04 +01:00
|
|
|
*/
|
|
|
|
|
void addListener(String elementId, String eventName);
|
|
|
|
|
|
|
|
|
|
/**
|
2026-02-10 19:24:38 +01:00
|
|
|
* Removes a listener for an element's event.
|
2026-01-16 21:47:04 +01:00
|
|
|
*
|
|
|
|
|
* @param elementId element id
|
2026-02-10 19:24:38 +01:00
|
|
|
* @param eventName normalized event name
|
2026-01-16 21:47:04 +01:00
|
|
|
*/
|
|
|
|
|
void removeListener(String elementId, String eventName);
|
|
|
|
|
|
|
|
|
|
/**
|
2026-02-10 19:24:38 +01:00
|
|
|
* Adds a global (document-level) listener.
|
2026-01-16 21:47:04 +01:00
|
|
|
*
|
2026-02-10 19:24:38 +01:00
|
|
|
* @param eventName normalized event name
|
2026-01-16 21:47:04 +01:00
|
|
|
*/
|
|
|
|
|
void addGlobalListener(String eventName);
|
|
|
|
|
|
|
|
|
|
/**
|
2026-02-10 19:24:38 +01:00
|
|
|
* Removes a global (document-level) listener.
|
2026-01-16 21:47:04 +01:00
|
|
|
*
|
2026-02-10 19:24:38 +01:00
|
|
|
* @param eventName normalized event name
|
2026-01-16 21:47:04 +01:00
|
|
|
*/
|
|
|
|
|
void removeGlobalListener(String eventName);
|
2026-02-10 19:24:38 +01:00
|
|
|
}
|