我正在考虑将编辑屏幕的工作流程更改为对话框。
概括地说,我们有一个有许多孩子的父实体。这些都在数据表组件中,每个旁边都有“编辑”按钮。单击一个会导致托管 bean 将该单个记录加载到“currentlyEditing”变量中,并返回 null 以便它保持在同一个视图上,并且 ajax 更新先前隐藏的表单区域以显示选定的记录,预先填充以进行编辑。新表单的底部是保存和取消按钮,它们可以满足您的期望。子列表下方的单个按钮(“添加”)导致将空白对象设置到“当前编辑”变量中,并且视图现在显示一个干净的表单。到目前为止,这一切都很标准,对吧?
我的业务用户要求我做的是改变编辑工作流程。他们不想单击按钮,并且以前隐藏的区域出现在子列表下方,而是希望单击按钮以启动包含编辑表单和保存/取消按钮的对话框。所有验证错误/消息都应保留在对话框中。目前尚未决定成功的保存是否应该自动关闭对话框,或者他们是否应该看到成功消息,然后有一个按钮来关闭对话框。有些人建议同时使用“保存”和“保存并关闭”按钮。
我们正在使用 Primefaces 3.5(并且会考虑迁移到 4.0-SNAPSHOT,因为我们的上线时间相当遥远,同时我们也不害怕从源代码构建)。我看到有一个当前<p:dialog
组件,但我也看到有一个即将推出的“对话框架”,但我只是不确定它们每个的含义。带有验证消息传递和 managedbean 往返的完整编辑表单,甚至可能从该对话框中启动了额外的对话框,对于<p:dialog
本意来说“太多”了吗?对话框架是否旨在解决/用于此类用例?