我有dijit.Tree
,效果很好。如果节点有特殊授权,用户可以在this tree (jsfiddle)上添加,删除和重命名节点。
下一步是将此更改发回服务器,这是完美的,使用dojo.xhrPost
和XAgent
(而不是XAgent)可以使用扩展程序实现此功能类型为customRestService
的REST服务的库控件。但是,直到domino版本9 ... )
<xp:button value="Submit tree updates back to server " id="btnSubmit">
<xp:this.onclick><![CDATA[dojo.xhrPost({
url: "folderService.xsp", // XAgent
handleAs: "json",
timeout: 1000,
postData: treeStore._getNewFileContentString(), // treeStore
headers: { "Content-Type": "application/json", "Accept": "application/json" },
load: function(data) {
if (data.success) {
console.log("all folders saved " + data.success);
dojo.byId("#{id:txtMessage}").innerHTML = data.message; ???
dojo.removeClass("#{id:txtMessage}", "lotusHidden"); ???
XSP.partialRefreshGet("#{id:wrapper}", {}); ???
}
},
error: function() {
dojo.byId("#{id:txtMessage}").innerHTML = 'Oops something goes wrong. The update on the folders weren\'t saved.'; ???
dojo.removeClass("#{id:txtMessage}", "lotusHidden"); ???
XSP.partialRefreshGet("#{id:wrapper}", {}); ???
}
});]]></xp:this.onclick>
</xp:button>
我需要向用户显示一些从服务器返回的信息(load : function(data) {...}
)。
dojo.byId("#{id:txtMessage}").innerHTML = data.message;
)?优点:无需部分刷新
缺点:我无法使用已实现的自定义控件(例如,计算出的渲染属性)
xhrPost
后进行部分刷新?
如果这是正确的选择,那么在成功的xhrPost之后我应该如何实现部分刷新?我的感觉说不,因为为什么我应该只为部分刷新 使信息可见(例如渲染属性......)。
我不确定哪种方法可以满足我的要求?
提示:我正在开发Domino Sever 8.5.3 FP6
提前感谢您的回答。