树不工作

时间:2018-03-08 08:37:08

标签: orbeon

我尝试使用树(xf:select1 appearance="tree")设置Orbeon表单。使用Orbeon Demo表单构建器我创建了一个带树的页面,它在Demo环境中工作。我本地Tomcat环境(最新的Orbeon CE)中的相同XForms代码无法正常工作 - 树根本不会呈现。

如果我检查工作演示HTML,那么在扩展函数之后有一些额外的JS(在section / *!Extension'jquery.fancytree.wide.min.js'* /等之后)并且有最小化的代码行a .declareCompanion( “FR |树选择1”,b);我相信注册组件。我在本地Tomcat实例中的相同表单代码不会在JS文件中生成此块。

在Orbeon中,源代码是文件TreeSelect1.scale,我认为它已转换为JS,然后包含在呈现的HTML JS文件中。

同样在tree-select1.xbl中我发表评论:

注意:在Form Runner之外使用此组件时,必须明确包含支持的JavaScript。

后:

<xbl:script src="/xbl/orbeon/tree-select1/fancytree/jquery-ui.min.js"/>
<xbl:script src="/xbl/orbeon/tree-select1/fancytree/jquery.fancytree-all.min.js"/>

能够渲染树必须做些什么?

1 个答案:

答案 0 :(得分:1)

默认情况下不包含该组件的JavaScript。你可以解决这个问题:

<xh:script
    type="text/javascript" 
    src="/apps/fr/resources/scalajs/orbeon-form-runner.js"/>

然后,在您的主要XForms模型上,将xxf:assets.baseline.excludes属性设置为:

<xf:model
    xxf:assets.baseline.excludes="/ops/javascript/scalajs/orbeon-xforms.js">

关于哪些JavaScript文件属于xbl与否的其他问题:有些JavaScript文件是手工编写的,可以作为单独的资源使用。

但是其他组件(如树)的代码是用Scala编写的,并使用Scala.js编译。针对所有此类代码生成的JavaScript已经过优化,可在orbeon-xforms.jsorbeon-form-runner.jsorbeon-form-builder.js中使用,具体取决于环境。必须只包含这3个文件中的一个,因此使用xxf:assets.baseline.excludes属性。