Using a Tooltip Dialog
Most native instant messaging clients hide their user interfaces until they're needed - either to send a message or to handle an incoming message. The remainder of the time it just provides a status indicator on a tray at the bottom of the screen. This same concept can be applied to a web interface using a dojo tooltip dialog. Suppose that we've identified a location in the HTML where we want to show the Sametime status:
<div id="myClient2" onclick="ShowSTClientInFloatingPane()">Show tooltip dialog</div>Now we can programmatically create a sametime.WebClient dojo widget using javascript:
var dsixe = {}; var tooltipDialog = null; dojo.ready(function() { // Instantiate the sametime client widget dsixe.ST_Client = new sametime.WebClient({ style : "width:200px;height:300px;border:1px solid black;" }); dojo.require("dijit.TooltipDialog"); tooltipDialog = new dijit.TooltipDialog({ content : dsixe.ST_Client, onBlur : function() { dijit.popup.close(tooltipDialog); } }); });and add a script to handle the onClick event that will display the Sametime buddy list:
function ShowSTClientInFloatingPane() { var node = dojo.byId("myClient2"); var coords = dojo.coords("myClient2"); var x = coords.x + 15; var y = coords.y + (coords.h / 2) + 5; dijit.popup.open({ popup : tooltipDialog, x : x, y : y }); dsixe.ST_Client.main.initLayout(); }When we put this all together in a proper HTML page, we get something that looks like this:
Conclusion
Using this technique I was able to provide an instant messaging experience that is familiar to the end user while consuming very little screen space.
0 comments:
Post a Comment
Are you about to post a generic comment that has nothing to do with this post? Something like "Hey thanks for this very valuable information, BTW here's my website". If so, it will be marked as spam and deleted within 24 hours.
Note: Only a member of this blog may post a comment.