|
|
@@ -0,0 +1,22 @@
|
|
|
+import { useCallback } from 'react'
|
|
|
+import { useIdeContext } from '../context/ide-context'
|
|
|
+
|
|
|
+/**
|
|
|
+ * @param {string} eventName
|
|
|
+ * @param {boolean} [broadcast]
|
|
|
+ * @returns function
|
|
|
+ */
|
|
|
+export default function useScopeEventEmitter(eventName, broadcast = true) {
|
|
|
+ const { $scope } = useIdeContext()
|
|
|
+
|
|
|
+ return useCallback(
|
|
|
+ detail => {
|
|
|
+ if (broadcast) {
|
|
|
+ $scope.$broadcast(eventName, detail)
|
|
|
+ } else {
|
|
|
+ $scope.$emit(eventName, detail)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ [$scope, eventName, broadcast]
|
|
|
+ )
|
|
|
+}
|