All files / src/components/debugger DebuggerCustomEventLink.tsx

0% Statements 0/18
0% Branches 0/1
0% Functions 0/4
0% Lines 0/18

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37                                                                         
import React, { useCallback } from "react";
import { customEventSelectors } from "store/features/entities/entitiesState";
import editorActions from "store/features/editor/editorActions";
import { useAppDispatch, useAppSelector } from "store/hooks";
import { customEventName } from "shared/lib/entities/entitiesHelpers";
import { LinkButton } from "ui/debugger/LinkButton";
 
interface DebuggerCustomEventLinkProps {
  id: string;
}
 
const DebuggerCustomEventLink = ({ id }: DebuggerCustomEventLinkProps) => {
  const dispatch = useAppDispatch();
  const customEvent = useAppSelector((state) =>
    customEventSelectors.selectById(state, id)
  );
  const customEventIndex = useAppSelector((state) =>
    customEventSelectors.selectIds(state).indexOf(id)
  );
 
  const onSelect = useCallback(() => {
    dispatch(editorActions.selectCustomEvent({ customEventId: id }));
  }, [dispatch, id]);
 
  Iif (!customEvent) {
    return null;
  }
 
  return (
    <LinkButton onClick={onSelect}>
      {customEventName(customEvent, customEventIndex)}
    </LinkButton>
  );
};
 
export default DebuggerCustomEventLink;