UNPKG

@selfcommunity/react-ui

Version:

React UI Components to integrate a Community created with SelfCommunity Platform.

18 lines (17 loc) 674 B
import { useEffect, useRef, useState } from 'react'; import PubSub from 'pubsub-js'; import { SCGroupEventType, SCTopicType } from '../../constants/PubSub'; export const useIsDisabled = () => { // STATES const [isDisabled, setIsDisabled] = useState(false); // REFS const updateDragStatus = useRef(null); // EFFECTS useEffect(() => { updateDragStatus.current = PubSub.subscribe(`${SCTopicType.COURSE}.${SCGroupEventType.UPDATE}`, (_msg, data) => setIsDisabled(data)); return () => { updateDragStatus.current && PubSub.unsubscribe(updateDragStatus.current); }; }, [setIsDisabled]); return { isDisabled }; };