帮助解决Seaside-App(需要模板或最小例子)
我在麻烦我们新的Seaside-App时遇到了麻烦。该应用程序的目标是在级联视图中显示合同数据(在概念中像树,但在视觉上只是组件内部的组件):在顶层,合同的名称,点击它们显示所谓的“集合”这些合同包含,点击那些显示它们包含的所谓“部分”等等。
在草稿版本中,我们只是将所有信息加载到客户端,然后使用:
renderContentOn: html
....
html div
onClick: (html scriptaculous effect id: tmpid; toggleAppear);
onClick: (html scriptaculous request callback: [visible:=self visible not]);
with: ...
成功地融合和混合各个级别的子组件。
将所有信息加载到客户端仅用于草稿版本;对于下一个版本,我们希望仅动态加载用户想要扩展的分支。我们知道如何根据Seaside-Book执行此操作,并执行以下操作以使客户端正确更新:
onClick: (html jQuery ajax script: [:s|
s << (s jQuery: tmpid) append: ...
但是:我们无法保持客户端状态和服务器状态正确:我们希望保持树的部分状态(对于树中的每个节点都未加载/展开/折叠),即使用户使用html- form-inputs(见图)改变树的内容。如果连接暂时不可用,我们还希望保持状态(否则,用户的整个状态和字段编辑将丢失并显示404,后退按钮将导致会话不一致,最坏情况)。情况进一步复杂化,因为我们希望允许多个用户使用此行为;当然,语义是每个用户都有不同的树状态(树中的每个节点都没有加载/展开/折叠),而是数据字段中的一致条目。
你有一个模板或最小的例子,可以用这种方式更新服务器会话吗?
没有找到相关结果
已邀请:
1 个回复
蹦吃舷弦
附带的树报告窗口小部件,并在类
中实现。 或者你可能想看看礁石。 Reef提供了对低级AJAX协议的抽象,并自动更新Seaside中的组件。