Highslide HTML 带条件语句的扩展方法

Highslide HTML expand method with conditional statement

我有一个 Highchart,我们可以在其中单击点,然后使用 Highslide html 扩展方法显示一些信息。在这里,我为用户提供了 post 一些数据的选项。

point: {
events: {
    click: function (e) {
        hs.htmlExpand(null, {
            pageOrigin: {
                x: e.pageX || e.clientX,
                y: e.pageY || e.clientY
            },
            headingText: this.series.name,
            maincontentText: Highcharts.dateFormat('%A, %b %e, %Y', this.x) + ':<br/> ' +
                this.y + ' visits ' + '<div>'+'<button onclick="posting('+this.y+')">'+'send report' +'</button>'+'</div>',
            width: 200
        });
    }
}

}

我希望只有管理员用户可以看到发送报告的按钮,而其他用户不应该看到该选项。举个例子

  if(this.y != null){

                maincontentText: Highcharts.dateFormat('%A, %b %e, %Y', this.x) + ':<br/> ' +
                    this.y + ' visits ' + '<div>'+'<button onclick="posting('+this.y+')">'+'send report' +'</button>'+'</div>'

} else{

  SOMETHING ELSE.....

}

这是工作 fiddle link。我没有为管理员设置任何数据看看你是否可以检查 y 轴值是否不为空然后显示发送报告按钮否则不显示它或提出一些条件。

简单的答案是肯定的。

您可以定义条件内容。

point: {
  events: {
    click: function (e) {
      var conditionalContent = condition == met ? 'conditional content' : '';
      maincontentText: 'normal content ' + conditionalContent
    }
  }
}

示例:

点击日期为 3 月 19 日的点可查看条件内容。

定义和检查您的条件的问题可能更棘手 - 您正在谈论权限管理,有时这可能是一个复杂而丑陋的混乱,具体取决于您需要它的严格和安全程度。