TreeItemForModal.tsx 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import type { FC } from 'react';
  2. import {
  3. TreeItemLayout, useNewPageInput, type TreeItemProps,
  4. } from '../TreeItem';
  5. import styles from './TreeItemForModal.module.scss';
  6. const moduleClass = styles['tree-item-for-modal'];
  7. type PageTreeItemProps = TreeItemProps & {
  8. key?: React.Key | null,
  9. };
  10. export const TreeItemForModal: FC<PageTreeItemProps> = (props) => {
  11. const { isOpen, onClick } = props;
  12. const { Input: NewPageInput, CreateButton: NewPageCreateButton } = useNewPageInput();
  13. return (
  14. <TreeItemLayout
  15. key={props.key}
  16. className={moduleClass}
  17. targetPathOrId={props.targetPathOrId}
  18. itemLevel={props.itemLevel}
  19. itemNode={props.itemNode}
  20. isOpen={isOpen}
  21. isEnableActions={props.isEnableActions}
  22. isReadOnlyUser={props.isReadOnlyUser}
  23. onClickDuplicateMenuItem={props.onClickDuplicateMenuItem}
  24. onClickDeleteMenuItem={props.onClickDeleteMenuItem}
  25. onRenamed={props.onRenamed}
  26. customHeadOfChildrenComponents={[NewPageInput]}
  27. itemClass={TreeItemForModal}
  28. customHoveredEndComponents={[NewPageCreateButton]}
  29. onClick={onClick}
  30. />
  31. );
  32. };