feat: Add 'Rename…' option to collection menu

This commit is contained in:
Tom Moor
2024-02-03 16:53:39 -05:00
parent 176a0451fc
commit ca7d919b94
4 changed files with 21 additions and 4 deletions

View File

@@ -6,6 +6,7 @@ import { useDrop } from "react-dnd";
import { useTranslation } from "react-i18next";
import { useHistory } from "react-router-dom";
import { NavigationNode } from "@shared/types";
import { CollectionValidation } from "@shared/validations";
import Collection from "~/models/Collection";
import Document from "~/models/Document";
import DocumentReparent from "~/scenes/DocumentReparent";
@@ -19,7 +20,7 @@ import usePolicy from "~/hooks/usePolicy";
import useStores from "~/hooks/useStores";
import CollectionMenu from "~/menus/CollectionMenu";
import DropToImport from "./DropToImport";
import EditableTitle from "./EditableTitle";
import EditableTitle, { RefHandle } from "./EditableTitle";
import Relative from "./Relative";
import SidebarLink, { DragObject } from "./SidebarLink";
import { useStarredContext } from "./StarredContext";
@@ -48,6 +49,7 @@ const CollectionLink: React.FC<Props> = ({
const { t } = useTranslation();
const history = useHistory();
const inStarredSection = useStarredContext();
const editableTitleRef = React.useRef<RefHandle>(null);
const handleTitleChange = React.useCallback(
async (name: string) => {
@@ -153,6 +155,8 @@ const CollectionLink: React.FC<Props> = ({
onSubmit={handleTitleChange}
onEditing={handleTitleEditing}
canUpdate={can.update}
maxLength={CollectionValidation.maxNameLength}
ref={editableTitleRef}
/>
}
exact={false}
@@ -171,6 +175,9 @@ const CollectionLink: React.FC<Props> = ({
</NudeButton>
<CollectionMenu
collection={collection}
onRename={() =>
editableTitleRef.current?.setIsEditing(true)
}
onOpen={handleMenuOpen}
onClose={handleMenuClose}
/>