private fadeNode()

in src/visual.ts [1013:1059]


    private fadeNode(node: ForceGraphNode): void {
        if (!this.settings || this.settings.links.colorLink !== LinkColorType.Interactive) {
            return;
        }

        let self: ForceGraph = this,
            isHighlight = node.isOver || node.isDrag,
            opacity: number = isHighlight
                ? ForceGraph.HoverOpacity
                : ForceGraph.DefaultOpacity;

        let highlight: string = isHighlight
            ? ForceGraph.DefaultLinkHighlightColor
            : ForceGraph.DefaultLinkColor;

        this.nodes.style("stroke-opacity", function (otherNode: ForceGraphNode) {
            let thisOpacity: number = (self.settings.nodes.highlightReachableLinks
                ? self.isReachable(node, otherNode)
                : self.areNodesConnected(node, otherNode))
                ? ForceGraph.DefaultOpacity
                : opacity;
            this.setAttribute("fill-opacity", thisOpacity);

            return thisOpacity;
        });

        this.paths.style("stroke-opacity", (link: ForceGraphLink) =>
            (this.settings.nodes.highlightReachableLinks
                ? this.isReachable(node, link.source)
                : (link.source === node || link.target === node))
                ? ForceGraph.DefaultOpacity
                : opacity
        );

        this.paths.style("stroke", (link: ForceGraphLink) => {
            const color = (this.settings.nodes.highlightReachableLinks
                ? this.isReachable(node, link.source)
                : (link.source === node || link.target === node))
                ? highlight
                : ForceGraph.DefaultLinkColor;

            return this.colorHelper.getHighContrastColor(
                "foreground",
                color
            );
        });
    }