Чтобы превратить LabelBullet
в ссылку, попробуйте:
level1_bullet.label.url = "https://www.google.com/";
Если нам нужны динамические URL, нам нужно будет использовать адаптер .url
- простая строка, которая на самом деле не предназначена для отображения, поэтому она не проходит через наше форматирование строки , что означает, что заполнители типа {name}
не будут проанализированы.К счастью, у Label
есть адаптер для их url
.Это может выглядеть примерно так:
level1_bullet.label.adapter.add("url", function(url, label) {
var query = "";
var data = label.dataItem;
if (data.dataContext && data.dataContext.name) {
query = "?q=" + data.dataContext.name;
}
return url + query;
});
Обработчик адаптера имеет url
, для которого в качестве первого аргумента установлено значение Label
("https://www.google.com/"
в этом случае), а для экземпляра Label
-Второй аргумент.То, что мы return
заканчиваем тем, что являемся нашим отформатированным url
, то есть оно не устанавливает его постоянно, это запускается каждый раз, когда ваше приложение выясняет, какое значение для url
должно быть.
Я создал демо здесь:
https://codepen.io/team/amcharts/pen/79194dfcfccaa05f5ebe20e1095f3087
Дайте мне знать, если это имеет смысл, если это вообще помогает с тем, что вы хотели сделать.