October 17, 2008 at 12:50 PM
Hi friend,
Code to help in solving the problem :
<a href="some-page" id="one">bring your mouse here</a>
<div dojoType="PostTooltip" style="display:none;"
dojo:connectId="one"
dojo:uniqId="two"
dojo:contentUrl="tooltip.php?id=two"
dojo:executeScripts="true"
>
<div id="two" style="background-color: white; border: 1px dashed #aaaaaa;">
this is a custom loading message.
</div>
</div>
----------------------------------------------
function updatePostTooltip(postUrl, uniqId) {
dojo.io.bind({
url: postUrl,
load: function(type, evalObject){
dojo.debug("data received from "+postUrl);
adjustPostTooltipDimensions(uniqId);
},
mimetype: "text/javascript"
});
}
function adjustPostTooltipDimensions(uniqId) {
var sHeight = document.getElementById(uniqId).scrollHeight;
var sWidth = document.getElementById(uniqId).scrollWidth;
var maxHeight = 450;
var maxWidth = 480;
dojo.debug("height and width are "+sHeight+" and "+sWidth+" for "+uniqId);
if (sHeight > maxHeight) {
dojo.debug("resizing to max height "+maxHeight);
document.getElementById(uniqId).style.height = maxHeight + "px";
document.getElementById(uniqId).style.overflow = "auto";
}
if (sWidth > maxWidth) {
dojo.debug("resizing to max width "+maxWidth);
document.getElementById(uniqId).style.width = maxWidth + "px";
document.getElementById(uniqId).style.overflow = "auto";
}
}
---------------------------------------------------------------
dojo.provide("my.widget.PostTooltip");
dojo.widget.manager.registerWidgetPackage("my.widget");
dojo.widget.defineWidget(
"my.widget.PostTooltip",
dojo.widget.html.Tooltip,
{
//we have added three new variables, uniqId, contentUrl and hasContents
uniqId: "",
contentUrl: "",
hasContents: 0,
//We modify this function from the original in dojo.widget.html.Tooltip
onShow: function() {
// copied as is from dojo/src/widget/html/Tooltip.js
dojo.widget.html.Tooltip.superclass.onShow.call(this);
this.state="displayed";
if(this.eraseScheduled){
this.hide();
this.eraseScheduled=false;
}
//end of copied code
//this is our code
if (this.hasContents == 0) {
updatePostTooltip(this.contentUrl, this.uniqId);
this.hasContents = 1;
}
}
}
);
Thanks
Related Tutorials/Questions & Answers:
Advertisements
Tapestry - StrutsTapestry
I want to use Tooltip in my project,
in which i m using Tapestry4.1 as frontend, could anyone guide me, is der any inbuild
tapestry tooltipcomponent or how can i put tooltip using
tapestry in my project....
pls
ModuleNotFoundError: No module named 'tapestry'ModuleNotFoundError: No module named '
tapestry' Hi,
My Python... '
tapestry'
How to remove the ModuleNotFoundError: No module named '
tapestry... to install padas library.
You can install
tapestry python with following
Maven Dependency tapestry >> 4.0You should include the dependency code given in this page to add Maven Dependency of
tapestry >>
tapestry version4.0 in your project
Maven Dependency tapestry >> 3.0You should include the dependency code given in this page to add Maven Dependency of
tapestry >>
tapestry version3.0 in your project