2014-09-19 60 views
0

有很多很容易实现的图形组件和周围的图表组件。但在xPages中运行它们是一种痛苦。 我试过morrisjs,但raphael.js与dojo发生冲突。我得到一个javascript错误用morris.js在xpages上绘制图表

Uncaught ReferenceError: Raphael is not defined 

禁用dojo解决了这个问题,但我失去了所有其他的dojo功能,很烂。

我已经把这个行beforePageLoad禁用道场

facesContext.getRequestParameters().setJsLibrary(0); 

我怎样才能解决这个问题?

这可能是脱离主题,但我很满意其他制图解决方案,可以轻松自由地在xpages上实现。

+1

您是否试过Google?我并不想变得聪明,但是这里有博客文章。我忘了,如果有任何视频击中NotesIn9呢。但在图表上有文章。 morrisjs如果你在Dojo之前加载它,可能会工作。使用headTag并确保我相信CSS聚合处于打开状态。 – 2014-09-19 13:21:03

+0

是的,我正在努力为天做一个体面的图表。我发现的所有图表都是由dojox图表制作的丑陋图表。但是在dojo之前加载脚本是一个很好的提示。现在我可以显示图表并可以使用刷新选项。 – senbon 2014-09-19 13:36:25

+0

还有另一种解决方法来处理AMD加载器问题。看到我的答案在这里:http://stackoverflow.com/questions/24307884/eonasdan-datetimepicker-for-bootstrap-3-in-xpages。不漂亮,但作品像魅力! – 2014-09-19 18:58:04

回答

0

问题是Raphael不符合模块加载的共享实践。通常的做法是加载它作为第一个模块。

更好的解决方案是使用拉斐尔的AMD(这是加载约定)兼容版本。

详情请看这里:https://github.com/DmitryBaranovskiy/raphael/pull/540

+0

AMD模块似乎没有工作。错误:“定义未定义” – senbon 2014-09-19 14:27:56

+0

提供代码示例。你有补丁版吗?只是检查:这是所有csjs – stwissel 2014-09-19 16:03:35

+0

我个人最喜欢的是d3js。一旦你了解了学习曲线,你可以做什么没有限制。在d3js上面还有“古典图表”的抽象(谷歌阿姨知道他们) – stwissel 2014-09-20 18:15:16

1

您是否尝试过使用所包含的道场,因此已经包含在图表库?我目前正在使用它们,结果很好。我首先在OpenNTF

找到一个很好的例子,这里是一个很好的tutorial

我也使用了OpenNTF的Java charts,但发现Dojox版本更灵活一些,而且Xpage的内存更少。

+0

这个组件是无人维护的,而且非常麻烦。并在视觉上眼睛出血。 – senbon 2014-09-20 10:57:35

+0

刚刚根据9.0进行了更新。就眼睛出血部分而言,这些例子相当普通,但可以改进。 – 2014-09-22 00:00:09