feat(graph): obsidianLikeFocusOnHover (#1017)
* feat(graph): obsidianLikeFocusOnHover * fix: prettier * fix: remove option from config * fix: for when opacityOld < 0.2 * fix: prettier
This commit is contained in:
parent
94fbf5b066
commit
0b9f79e1b7
@ -223,6 +223,18 @@ async function renderGraph(container: string, fullSlug: FullSlug) {
|
|||||||
.transition()
|
.transition()
|
||||||
.duration(200)
|
.duration(200)
|
||||||
.style("opacity", 0.2)
|
.style("opacity", 0.2)
|
||||||
|
|
||||||
|
d3.selectAll<HTMLElement, NodeData>(".node")
|
||||||
|
.filter((d) => !connectedNodes.includes(d.id))
|
||||||
|
.nodes()
|
||||||
|
.map((it) => d3.select(it.parentNode as HTMLElement).select("text"))
|
||||||
|
.forEach((it) => {
|
||||||
|
let opacity = parseFloat(it.style("opacity"))
|
||||||
|
it.transition()
|
||||||
|
.duration(200)
|
||||||
|
.attr("opacityOld", opacity)
|
||||||
|
.style("opacity", Math.min(opacity, 0.2))
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// highlight links
|
// highlight links
|
||||||
@ -245,6 +257,12 @@ async function renderGraph(container: string, fullSlug: FullSlug) {
|
|||||||
if (focusOnHover) {
|
if (focusOnHover) {
|
||||||
d3.selectAll<HTMLElement, NodeData>(".link").transition().duration(200).style("opacity", 1)
|
d3.selectAll<HTMLElement, NodeData>(".link").transition().duration(200).style("opacity", 1)
|
||||||
d3.selectAll<HTMLElement, NodeData>(".node").transition().duration(200).style("opacity", 1)
|
d3.selectAll<HTMLElement, NodeData>(".node").transition().duration(200).style("opacity", 1)
|
||||||
|
|
||||||
|
d3.selectAll<HTMLElement, NodeData>(".node")
|
||||||
|
.filter((d) => !connectedNodes.includes(d.id))
|
||||||
|
.nodes()
|
||||||
|
.map((it) => d3.select(it.parentNode as HTMLElement).select("text"))
|
||||||
|
.forEach((it) => it.transition().duration(200).style("opacity", it.attr("opacityOld")))
|
||||||
}
|
}
|
||||||
const currentId = d.id
|
const currentId = d.id
|
||||||
const linkNodes = d3
|
const linkNodes = d3
|
||||||
|
Loading…
Reference in New Issue
Block a user