diff --git a/package-lock.json b/package-lock.json index 61d9acc..ebe254a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,6 +11,7 @@ "@ckeditor/ckeditor5-react": "^3.0.0", "@helsenorge/ckeditor5-build-markdown": "^24.0.0", "@nosferatu500/react-sortable-tree": "^4.4.0", + "@types/remove-markdown": "^0.3.4", "axios": "^1.6.0", "crypto-js": "^4.2.0", "date-fns": "^2.17.0", @@ -4139,6 +4140,11 @@ "@types/react": "*" } }, + "node_modules/@types/remove-markdown": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@types/remove-markdown/-/remove-markdown-0.3.4.tgz", + "integrity": "sha512-i753EH/p02bw7bLlpfS/4CV1rdikbGiLabWyVsAvsFid3cA5RNU1frG7JycgY+NSnFwtoGlElvZVceCytecTDA==" + }, "node_modules/@types/semver": { "version": "7.5.8", "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", @@ -16388,6 +16394,11 @@ "@types/react": "*" } }, + "@types/remove-markdown": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@types/remove-markdown/-/remove-markdown-0.3.4.tgz", + "integrity": "sha512-i753EH/p02bw7bLlpfS/4CV1rdikbGiLabWyVsAvsFid3cA5RNU1frG7JycgY+NSnFwtoGlElvZVceCytecTDA==" + }, "@types/semver": { "version": "7.5.8", "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", diff --git a/package.json b/package.json index 42e3b66..b68f696 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,7 @@ "@ckeditor/ckeditor5-react": "^3.0.0", "@helsenorge/ckeditor5-build-markdown": "^24.0.0", "@nosferatu500/react-sortable-tree": "^4.4.0", + "@types/remove-markdown": "^0.3.4", "axios": "^1.6.0", "crypto-js": "^4.2.0", "date-fns": "^2.17.0", diff --git a/src/components/AnchorMenu/AnchorMenu.tsx b/src/components/AnchorMenu/AnchorMenu.tsx index 1647829..5b35e68 100644 --- a/src/components/AnchorMenu/AnchorMenu.tsx +++ b/src/components/AnchorMenu/AnchorMenu.tsx @@ -38,7 +38,7 @@ interface Node { interface ExtendedNode { node: Node; - path: string[]; + path: string[] | number[]; } // Event type definitions for moving nodes and toggling node visibility in the tree @@ -46,8 +46,8 @@ interface NodeMoveEvent { treeData: Node[]; nextParentNode: Node; node: Node; - nextPath: string[]; - prevPath: string[]; + nextPath: number[]; + prevPath: number[]; } interface NodeVisibilityToggleEvent { @@ -105,6 +105,11 @@ const YourExternalNodeComponent = ({ node }: { node: Node }): JSX.Element | null ); }; +// Add a helper function to handle both types of paths +const convertPath = (path: string[] | number[]): string[] => { + return path.map(String); +}; + // The main component "AnchorMenu" const AnchorMenu = (props: AnchorMenuProps): JSX.Element => { const { t } = useTranslation(); @@ -132,10 +137,11 @@ const AnchorMenu = (props: AnchorMenuProps): JSX.Element => { return extendedNode.node.title; }; - const treePathToOrderArray = (treePath: string[]): string[] => { + // Update treePathToOrderArray to use the helper + const treePathToOrderArray = (treePath: number[]): string[] => { const newPath = [...treePath]; newPath.splice(-1); - return newPath; + return convertPath(newPath); }; const hasValidationError = (linkId: string): boolean => { @@ -242,7 +248,7 @@ const AnchorMenu = (props: AnchorMenuProps): JSX.Element => { props.dispatch( updateMarkedLinkIdAction( extendedNode.node.title, - treePathToOrderArray(extendedNode.path), + convertPath(extendedNode.path), ), ); }} @@ -258,7 +264,7 @@ const AnchorMenu = (props: AnchorMenuProps): JSX.Element => { buttons: generateItemButtons( t, props.qItems[extendedNode.node.title], - treePathToOrderArray(extendedNode.path), + convertPath(extendedNode.path), false, props.dispatch, ), diff --git a/src/components/Languages/Translation/TranslationModal.tsx b/src/components/Languages/Translation/TranslationModal.tsx index 9d46eaf..2a8a6b7 100644 --- a/src/components/Languages/Translation/TranslationModal.tsx +++ b/src/components/Languages/Translation/TranslationModal.tsx @@ -262,7 +262,7 @@ const TranslationModal = (props: TranslationModalProps): JSX.Element => { )}