getUserProfile() method of icontext returns user profile information similar to PUMA api.In this example,on view mode,user information is displayed
UserProfile.xml
<?xml version="1.0" encoding="UTF-8" ?>
<iw:iwidget id="UserProfileWidget" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:iw="http://www.ibm.com/xmlns/prod/iWidget"
supportedModes="view" lang="en" iScope="UserProfileWidgetScope">
<iw:resource src="UserProfileWidget.js" id="UserProfile" />
<iw:content mode="view">
<![CDATA[
<div>UserProfile are:</div>
<div id="userdetail">
</div>
]]>
</iw:content>
</iw:iwidget>
UserProfileWidget.js
dojo.declare("UserProfileWidgetScope", null,{
/*
THE FOLLOWING STUBS ARE EVENT HANDLERS FOR PRE-DEFINED EVENTS.
THEY CAN BE OVERRIDDEN BY SPECIFYING ANOTHER EVENT HANDLER
IN THE <iwidget> ELEMENT OF THE XML
Eg: <iw:iwidget onLoad="myLoadHandler" />
*/
/*
This event signals that the page has finished loading, including any
invocations of requires().
As a simple notification, it carries no predefined payload
*/
onLoad:function() {
},
/*
This event signals that the iWidget is about to be unloaded (commonly
due to a page transition). This notification is intended to allow the
iWidget to store any transient data such that it can
be recovered by future uses of the iWidget
*/
onUnload:function() {
},
/*
This event signals that the mode for the iWidget has changed to VIEW
*/
onView:function() {
var attrs=this.iContext.getUserProfile();
var names=attrs.getAllNames();
var i=0;
var element=this.iContext.getElementById("userdetail");
var selectedValue = "<div><table border='1'>";
for (i;i<names.length; i++)
{
selectedValue += "<tr><td>"+names[i] + ": </td><td>"+ attrs.getItemValue(names[i]) + "</td></tr>";
}
selectedValue+="</table></div>";
element.innerHTML=selectedValue;
},
/*
This event signals that the mode for the iWidget has changed to EDIT
*/
onEdit:function() {
},
/*
This event signals that the size for the iWidget has changed
*/
onSizeChanged:function(/*com.ibm.mashups.iwidget.IEvent*/ event) {
var newWidth = event.payload.newWidth;
var newHeight = event.payload.newHeight;
},
/*
This event can be generated by either the iWidget, supplying a new
value for its "navigational state", or by the iContext, signaling
that some user action has changed the iWidget's "navigational state"
to a previously defined value.
*/
onNavStateChanged:function(/*com.ibm.mashups.iwidget.IEvent*/ event) {
}
});
ScreenShot
Click here to download
UserProfile.xml
<?xml version="1.0" encoding="UTF-8" ?>
<iw:iwidget id="UserProfileWidget" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:iw="http://www.ibm.com/xmlns/prod/iWidget"
supportedModes="view" lang="en" iScope="UserProfileWidgetScope">
<iw:resource src="UserProfileWidget.js" id="UserProfile" />
<iw:content mode="view">
<![CDATA[
<div>UserProfile are:</div>
<div id="userdetail">
</div>
]]>
</iw:content>
</iw:iwidget>
UserProfileWidget.js
dojo.declare("UserProfileWidgetScope", null,{
/*
THE FOLLOWING STUBS ARE EVENT HANDLERS FOR PRE-DEFINED EVENTS.
THEY CAN BE OVERRIDDEN BY SPECIFYING ANOTHER EVENT HANDLER
IN THE <iwidget> ELEMENT OF THE XML
Eg: <iw:iwidget onLoad="myLoadHandler" />
*/
/*
This event signals that the page has finished loading, including any
invocations of requires().
As a simple notification, it carries no predefined payload
*/
onLoad:function() {
},
/*
This event signals that the iWidget is about to be unloaded (commonly
due to a page transition). This notification is intended to allow the
iWidget to store any transient data such that it can
be recovered by future uses of the iWidget
*/
onUnload:function() {
},
/*
This event signals that the mode for the iWidget has changed to VIEW
*/
onView:function() {
var attrs=this.iContext.getUserProfile();
var names=attrs.getAllNames();
var i=0;
var element=this.iContext.getElementById("userdetail");
var selectedValue = "<div><table border='1'>";
for (i;i<names.length; i++)
{
selectedValue += "<tr><td>"+names[i] + ": </td><td>"+ attrs.getItemValue(names[i]) + "</td></tr>";
}
selectedValue+="</table></div>";
element.innerHTML=selectedValue;
},
/*
This event signals that the mode for the iWidget has changed to EDIT
*/
onEdit:function() {
},
/*
This event signals that the size for the iWidget has changed
*/
onSizeChanged:function(/*com.ibm.mashups.iwidget.IEvent*/ event) {
var newWidth = event.payload.newWidth;
var newHeight = event.payload.newHeight;
},
/*
This event can be generated by either the iWidget, supplying a new
value for its "navigational state", or by the iContext, signaling
that some user action has changed the iWidget's "navigational state"
to a previously defined value.
*/
onNavStateChanged:function(/*com.ibm.mashups.iwidget.IEvent*/ event) {
}
});
ScreenShot
Click here to download
No comments:
Post a Comment