【问题标题】:Tree is not working树不工作
【发布时间】: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 中手写的表单中使用 &lt;xf:select1 appearance="tree"&gt;,并且还没有使用 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


【解决方案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.js、orbeon-form-runner.js 和 orbeon-form-builder.js 中使用,具体取决于环境。必须只包含这 3 个文件中的一个,因此使用 xxf:assets.baseline.excludes 属性。

【讨论】:

    猜你喜欢
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-26
    • 1970-01-01
    • 1970-01-01
    • 2018-08-17
    • 1970-01-01
    相关资源
    最近更新 更多