> That's correct. You'll have to manually migrate the content nodes from
> inside the <span> up into the parent node. Can you show the context so that
> I can advise more specifically?
Well, here is full my code. It's not finished and a lot ugly!
//code start
//{{{
version.extensions.ProgressBarMacro = { major: 0, minor: 1, revision:
0, date: new Date(2010, 09, 21),
source: "http://simonbaird.com/mptw/#HelloWorldMacro"
};
config.macros.progressbar = {};
config.macros.progressbar.defaultContainerDivStyle =
"width: 200px; border: 1px solid #0044bb; margin: 2px 0.5em 2px
0.5em; padding: 1px; background: white; position: static; float: none;
display: inline-block;";
config.macros.progressbar.defaultContainerSpanStyle =
"width: 200px; text-align: center; display: inline-block;";
config.macros.progressbar.defaultBarStyle =
"background-color: #ACE97C; height: 1.4em;float:left;";
config.macros.progressbar.init = function() {
if (!config.macros.progressbar.containerDivStyle ||
config.macros.progressbar.containerDivStyle == ""){
config.macros.progressbar.containerDivStyle =
config.macros.progressbar.defaultContainerDivStyle;
}
if (!config.macros.progressbar.containerSpanStyle ||
config.macros.progressbar.containerSpanStyle == ""){
config.macros.progressbar.containerSpanStyle =
config.macros.progressbar.defaultContainerSpanStyle;
}
if (!config.macros.progressbar.barStyle ||
config.macros.progressbar.barStyle == ""){
config.macros.progressbar.barStyle =
config.macros.progressbar.defaultBarStyle;
}
config.macros.progressbar.defaultShowVal = true;
config.macros.progressbar.defaultShowPct = true;
};
config.macros.progressbar.buildCaption = function (curr, maxv, pct,
showVal, showPct){
var valCaption = curr + " / " + maxv;
var pctCaption = pct + "%";
var finalCaption = "" ;
if (showVal == true && showPct == true)
finalCaption = valCaption + " (" + pctCaption + ")";
else if (showVal == true)
finalCaption = valCaption;
else if (showPct == true)
finalCaption = pctCaption;
return finalCaption;
}
config.macros.progressbar.handler = function (place, macroName,
params, wikifier, paramString, tiddler) {
var curr = Math.abs(params[0]);
var maxv = Math.abs(params[1]);
var showVal = config.macros.progressbar.defaultShowVal;
if (params.length> 2) showVal = eval(params[2]);
var showPct = config.macros.progressbar.defaultShowPct;
if (params.length> 3) showPct = eval(params[3]);
if (curr > maxv) {
var temp = curr;
curr = maxv;
maxv = temp;
}
var pct = Math.round((curr/maxv)*100);
var caption = config.macros.progressbar.buildCaption(curr, maxv, pct,
showVal, showPct);
var pbstring = "<html>";
pbstring = pbstring + "<div style = '" +
config.macros.progressbar.containerDivStyle + "'>";
pbstring = pbstring + "<span style = '" +
config.macros.progressbar.containerSpanStyle + "'>";
pbstring = pbstring + caption;
pbstring = pbstring + "<div style = '" +
config.macros.progressbar.barStyle + "width: " + pct + "%;'>"
pbstring = pbstring + "</span></div></html>";
wikify(pbstring, place);
};
//}}}
//code ends
Usage: <<progressbar val1 val2 showvalues showpercentage>> val1 and 2
can be any number, even negative, and the greatest will be used asthe
maximum. The other two values have true as default.
--
You received this message because you are subscribed to the Google Groups
"TiddlyWiki" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/tiddlywiki?hl=en.