【发布时间】:2018-08-16 13:10:12
【问题描述】:
我尝试使用树 (xf:select1 appearance="tree") 设置 Orbeon 表单。使用 Orbeon 演示表单构建器,我创建了一个带有树的页面,它在演示环境中工作。我的本地 Tomcat 环境(最新的 Orbeon CE)中的相同 XForms 代码无法正常工作 - 树根本没有呈现。
如果我检查工作演示 HTML,那么在扩展功能之后(在 /*!扩展 'jquery.fancytree.wide.min.js' */ 等部分之后)有一些附加 JS,并且有最小化的代码行 a .declareCompanion("fr|tree-select1",b);我相信它注册了组件。本地 Tomcat 实例中相同的表单代码 my 不会在 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"/>
必须做什么才能渲染树?
【问题讨论】:
-
您是说您正在尝试在您在 XForms 中手写的表单中使用
<xf:select1 appearance="tree">,并且还没有使用 Form Builder 创建? -
是的,它是手写的 - 在文件夹 orbeon\WEB-INF\resources\apps 我创建了新文件夹,在文件夹内我有 page-flow.xml 和 view.xhtml 以及 XForm 代码。我还搜索了 Orbeon 源代码,发现 JS 的缺失部分来自位于 orbeon-form-runner.jar 中的文件 orbeon-form-runner.js,路径为 apps\fr\resources\scalajs。我必须在我的 view.xhtml 中包含这个 JS 文件吗?我找不到 orbeon-form-runner.js 的最小化源。我相信它是用 sbt + sbt-uglify 编译 scala 文件以某种方式创建的?
-
还有一个附加问题——例如自动完成为什么在 xbl 文件夹中有 js 文件(orbeon-form-runner.jar\xbl\orbeon\autocomplete),但 tree-select1 没有?
-
如果包含 orbeon-form-runner.js,则树开始工作。我真的不知道 orbeon-form-runner.js 里面到底是什么,但肯定有编译的 TreeSelect1.scala,也许这部分可以移动到 xbl 组件 tree-select1。也许 orbeon 开发人员可以对此发表评论。
标签: orbeon