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:
		@@ -223,6 +223,18 @@ async function renderGraph(container: string, fullSlug: FullSlug) {
 | 
			
		||||
          .transition()
 | 
			
		||||
          .duration(200)
 | 
			
		||||
          .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
 | 
			
		||||
@@ -245,6 +257,12 @@ async function renderGraph(container: string, fullSlug: FullSlug) {
 | 
			
		||||
      if (focusOnHover) {
 | 
			
		||||
        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")
 | 
			
		||||
          .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 linkNodes = d3
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user