Răsfoiți Sursa

Add global EventTarget instance provider

Yuki Takei 5 luni în urmă
părinte
comite
22fae03ce3

+ 5 - 0
.changeset/clever-paws-wink.md

@@ -0,0 +1,5 @@
+---
+'@growi/core': minor
+---
+
+Add global EventTarget instance provider

+ 14 - 0
packages/core/src/utils/global-event-target.ts

@@ -0,0 +1,14 @@
+class GlobalEventTarget extends EventTarget {
+
+  private static instance: GlobalEventTarget;
+
+  static getInstance(): GlobalEventTarget {
+    if (!GlobalEventTarget.instance) {
+      GlobalEventTarget.instance = new GlobalEventTarget();
+    }
+    return GlobalEventTarget.instance;
+  }
+
+}
+
+export const globalEventTarget = GlobalEventTarget.getInstance();

+ 1 - 0
packages/core/src/utils/index.ts

@@ -4,6 +4,7 @@ import * as _envUtils from './env-utils';
 export const envUtils = _envUtils;
 
 export * from './browser-utils';
+export * from './global-event-target';
 export * from './growi-theme-metadata';
 export * as deepEquals from './is-deep-equals';
 export * as objectIdUtils from './objectid-utils';