1

Java脚本新手在这里。

我有这个名为“处理程序”的 Sisense 函数,它将使列中的所有值成为超链接:

widget.transformPivot({
   type: ['member'],
    rows: [
        {
            title: 'Product User',
        }
    ],
}, handler);

我有另一个函数,它构建一个新的 url 并用构造的 url 替换上面提到的同一列中的值(其细节对于这个问题并不重要):

function createLinkHTML(cell, tag, inner){
    //setup regex to match relevant parts of url and get match
    let prePatt = new RegExp(".*:\/\/.*?\/");
    let preURL = String(prePatt.exec(window.location.href));

    if (preURL.includes("analytics1")){
        preURL = preURL.replace('https://analytics1.foo.com','https://www.newfoo.com');
        //console.log(preURL);
    }

    if (inner.length > 0){
        console.log(inner[0].innerText);
        var htmlLink = `<a href="${preURL}/users/users/details/${inner[0].innerText}" target="_blank" >` + 'Go to User Profile' + '</a>';//+ linkArr[0] + URLParams

        $(tag, cell).html(htmlLink);
    }
}

要调用 Sisense 函数“处理程序”,我们使用以下代码:

function handler(metadata, cell) {

    cell.content = '<a>' + cell.content + '</a>';
}

要调用函数“createLinkHTML”,我们使用:

widget.on('ready', function(_, __){   
    addUserLink(element, widget);
});

我试图了解如何组合这两个函数,以便我可以使用“createLinkHTML”将列中的值替换为 url,然后使用“handler”将该列中的新 url 设置为超链接。

如果完全是新手,请原谅这个问题。我似乎无法在这里找到对我有帮助的信息。我刚刚注册了一个 javascript 课程来学习基础知识。但我需要尽快解决这个问题。谢谢。

4

0 回答 0