<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:viewPanel id="viewPanel1">
<xp:this.facets>
<xp:pager partialRefresh="true" layout="Previous Group Next"
xp:key="footerPager" id="pager1">
</xp:pager>
<xp:scriptBlock id="scriptBlockViewPanel" xp:key="south">
<xp:this.value>
<![CDATA[
//這裏就是前臺的JS,非常有意義,當界面刷新後,調用js.^_^
dojo.addOnLoad( function(){
dojo.query(".xspCheckBoxViewColumn").connect('onclick', function() {
viewPanelHelper.addDoc( this.id, this.checked, this.value );
viewPanelHelper.updateDataField('#{id:viewPanelSelectedIds}');
});
viewPanelHelper.rebuildDocSelection();
viewPanelHelper.updateDataField('#{id:viewPanelSelectedIds}');
});
]]></xp:this.value>
</xp:scriptBlock>
<xp:inputHidden id="viewPanelSelectedIds" xp:key="southEast" />
</xp:this.facets>
<xp:this.data>
<xp:dominoView var="view1" viewName="All"></xp:dominoView>
</xp:this.data>
<xp:viewColumn columnName="DocUNID" id="viewColumn1" showCheckbox="true">
<xp:viewColumnHeader value="DocUNIDs" id="viewColumnHeader1" />
</xp:viewColumn>
</xp:viewPanel>
<xp:scriptBlock id="scriptBlockViewPanelHelper">
<xp:this.value>
<![CDATA[
/**
* viewPanelHelper
*
* keeps selection of a view panel
* stores data in hidden input field
* @author Sven Hasselbach
* @category CSJS
* @category Helper
* @version 1.3
*/
viewPanelHelper = {
selDocs: function(){ new Array() },
addDoc: function( id, checked, noteId ){
viewPanelHelper.selDocs[ noteId ] = { 'id': id, 'checked': checked , 'noteId': noteId };
},
rebuildDocSelection: function (){
dojo.query(".xspCheckBoxViewColumn").forEach(
function( obj ){
if( viewPanelHelper.selDocs[obj.value] )
obj.checked = viewPanelHelper.selDocs[obj.value].checked;
}
)
},
getSelectedNoteIds: function(){
var list = "";
for( e in viewPanelHelper.selDocs ){
if( viewPanelHelper.selDocs[e].checked === true ){
if( list !== "" ) list +=",";
list += viewPanelHelper.selDocs[e].noteId;
}
}
return list
},
updateDataField: function(id){
dojo.byId(id).value = viewPanelHelper.getSelectedNoteIds();
}
}
]]>
</xp:this.value>
</xp:scriptBlock>
<xp:button value="Test" id="buttonTest">
<xp:eventHandler event="onclick" submit="true"
refreshMode="complete">
<xp:this.action>
<![CDATA[#{javascript:
var value = getComponent("viewPanelSelectedIds").value;
_dump( value )}]]>
</xp:this.action>
</xp:eventHandler>
</xp:button>
</xp:view>