outsystems-ui
Version:
OutSystems UI Framework
35 lines (32 loc) • 1.03 kB
text/typescript
// eslint-disable-next-line @typescript-eslint/no-unused-vars
namespace OSFramework.OSUI.Event.DOMEvents.Observers {
/**
* Observer Mananer Class to handle the creation of all observer events
*
* @export
* @class ObserverManager
* @extends {AbstractEventsManager<unknown, string>}
*/
export class ObserverManager extends AbstractEventsManager<unknown, string> {
protected getInstanceOfEventType(observerType: Observers.ObserverEvent): Observers.IObserver<unknown, unknown> {
switch (observerType) {
case Observers.ObserverEvent.RTL:
return new MutationObservers.RTL.RTLObserver();
default:
throw new Error(`The observer ${observerType} is not supported.`);
}
}
}
/**
* Class to create and store the ObserverManager Class
*
* @export
* @class GlobalObserverManager
*/
export class GlobalObserverManager {
private static _observerManager = new ObserverManager();
public static get Instance(): ObserverManager {
return GlobalObserverManager._observerManager;
}
}
}