Принудительное направленное дерево с использованием amchart не выделяет правильные ссылки - PullRequest
0 голосов
/ 09 марта 2020

Это мой ts-файл.

am4core.useTheme(am4themes_animated);
// Themes end

var chart = am4core.create("chartdivn", am4plugins_forceDirected.ForceDirectedTree);

var networkSeries = chart.series.push(new am4plugins_forceDirected.ForceDirectedSeries());

networkSeries.data = [
{
    name: "node1",
    "link": ["node3","node2","node4"]
},
{
    name: "node2",
    "link": ["node1","node3","node4"]
},
{
    name: "node3",
    "link": ["node1","node2","node4"]
},{
    name: "node4",
    "link": ["node1","node2","node3"]
}
];

networkSeries.dataFields.linkWith = "link";

networkSeries.dataFields.name = "name";

networkSeries.dataFields.id = "name";

networkSeries.dataFields.value = "value";

networkSeries.dataFields.children = "children";

networkSeries.dataFields.color = "color";

networkSeries.nodes.template.label.text = "{name}"

networkSeries.fontSize = 8;

networkSeries.linkWithStrength = 0;

networkSeries.minRadius = 30;

networkSeries.manyBodyStrength = -10;

var nodeTemplate = networkSeries.nodes.template;

nodeTemplate.tooltipText = "{name}";

nodeTemplate.fillOpacity = 1;
nodeTemplate.label.hideOversized = true;

nodeTemplate.label.truncate = true;



var linkTemplate = networkSeries.links.template;

linkTemplate.strokeWidth = 1;

var linkHoverState = linkTemplate.states.create("hover");

linkHoverState.properties.strokeOpacity = 1;

linkHoverState.properties.strokeWidth = 2;


nodeTemplate.events.on("over", function (event) {
    var dataItem = event.target.dataItem;

    dataItem.childLinks.each(function (link) {
        link.isHover = true;
    })
})


nodeTemplate.events.on("out", function (event) {

    var dataItem = event.target.dataItem;

    dataItem.childLinks.each(function (link) {

        link.isHover = false;

    })
})


}

здесь, ожидается, что при наведении курсора на любой узел все его ссылки должны быть выделены. для узла 1 это верно (ссылка выделена = [{узел1, узел2}, {узел1, узел3}, {узел1, узел4}]). Однако после наведения на узел 2 одна из ссылок не выделяется. (ссылка выделена = [{узел2, узел3}, {узел2, узел4}] не выделена = {узел2, узел1}) Аналогично, только узел 3 выделяет ссылку {узел3, узел4}, а узел4 не выделяет ссылку.

Спасибо вы.

...