Unverified Commit 00fe6d38 authored by Zeng1998's avatar Zeng1998 Committed by GitHub

chore: add joyui tooltip for resources dialog (#630)

parent 3646b8f5
import { Tooltip } from "@mui/joy";
import copy from "copy-to-clipboard"; import copy from "copy-to-clipboard";
import { useCallback, useEffect, useState } from "react"; import { useCallback, useEffect, useState } from "react";
import { useTranslation } from "react-i18next"; import { useTranslation } from "react-i18next";
import * as utils from "../helpers/utils";
import useLoading from "../hooks/useLoading"; import useLoading from "../hooks/useLoading";
import { resourceService } from "../services"; import { resourceService } from "../services";
import { useAppSelector } from "../store"; import { useAppSelector } from "../store";
...@@ -149,20 +149,6 @@ const ResourcesDialog: React.FC<Props> = (props: Props) => { ...@@ -149,20 +149,6 @@ const ResourcesDialog: React.FC<Props> = (props: Props) => {
}); });
}; };
const handleResourceNameOrTypeMouseEnter = useCallback((event: React.MouseEvent, nameOrType: string) => {
const tempDiv = document.createElement("div");
tempDiv.className = "usage-detail-container pop-up";
const bounding = utils.getElementBounding(event.target as HTMLElement);
tempDiv.style.left = bounding.left + "px";
tempDiv.style.top = bounding.top - 2 + "px";
tempDiv.innerHTML = `<span>${nameOrType}</span>`;
document.body.appendChild(tempDiv);
}, []);
const handleResourceNameOrTypeMouseLeave = useCallback(() => {
document.body.querySelectorAll("div.usage-detail-container.pop-up").forEach((node) => node.remove());
}, []);
return ( return (
<> <>
<div className="dialog-header-container"> <div className="dialog-header-container">
...@@ -206,14 +192,9 @@ const ResourcesDialog: React.FC<Props> = (props: Props) => { ...@@ -206,14 +192,9 @@ const ResourcesDialog: React.FC<Props> = (props: Props) => {
resources.map((resource) => ( resources.map((resource) => (
<div key={resource.id} className="resource-container"> <div key={resource.id} className="resource-container">
<span className="field-text id-text">{resource.id}</span> <span className="field-text id-text">{resource.id}</span>
<span className="field-text name-text"> <Tooltip title={resource.filename}>
<span <span className="field-text name-text">{resource.filename}</span>
onMouseEnter={(e) => handleResourceNameOrTypeMouseEnter(e, resource.filename)} </Tooltip>
onMouseLeave={handleResourceNameOrTypeMouseLeave}
>
{resource.filename}
</span>
</span>
<div className="buttons-container"> <div className="buttons-container">
<Dropdown <Dropdown
actionsClassName="!w-28" actionsClassName="!w-28"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment