Hi Mark

> 3) You can use a macro inside a widget IF it doesn't have a parameter

That is not correct. Macro invocations used as widget attributes may have 
parameters.

However, there are a couple of points to watch:

* The output of the macro is not wikified; it is used directly as the value of 
the attribute
* The double angle brackets widget call syntax only allows parameters to be 
specified as strings

Best wishes

Jeremy.

> 4) Therefore, you will most often need to use <$set ...> to set a variable to 
> be used by a macro that gets fed to your widget
> 
> Mark
> 
> On Saturday, October 3, 2015 at 10:49:00 AM UTC-7, Antaeus Feldspar wrote:
> Or, to express it a different way from the subject line, how can I create a 
> button widget that will:
> a) take the current value of a tiddler field;
> b) use that current value as a parameter to a macro to calculate a new value; 
> and
> c) put that new value back into the tiddler field that was read?
> WHAT I TRIED:
> 
> I've tried various things; my most recent attempt is this:
> 
> <$button set=!!test setTo=<$macrocall $name=".js-macro-link" 
> text={{!!test}}/> >Test button</$button>
> 
> However, the parser can't seem to handle the angle brackets of the macrocall 
> widget appearing in the middle of the button widget declaration.  Everything 
> after the "/>" that closes the macrocall widget appears as WikiText following 
> a blank button.
> 
> Before that I tried calling the macro through the standard syntax, and 
> discovered that (unless there's some way to do it that I missed) you can't 
> use a macro call as an element attribute.
> 
> It occurred to me that since a ButtonWidget can contain multiple 
> ActionWidgets, that might be the solution - except that there's nothing in 
> the documentation guaranteeing an order in which such widgets execute, so 
> assigning the output of a macro to a temporary tiddler and then copying it 
> back to the original field does not seem to be an option.
> 
> PLEASE NOTE:
> 
> Please note that I am trying to get an answer to the GENERAL question, not 
> "how do I get the same effect as if I was applying this particular macro?"  I 
> am sure that there would be a simple way to apply the effect of THIS macro 
> with template transclusion, but that does not answer my question, because 
> sooner or later I will be using the technique for Javascript macros that do 
> mathematical calculations.
> 
> DOCUMENTATION SUGGESTION:
> 
> A chart which shows the various forms of data sourcing (plain text, 
> TextReference, macro output, etc.) in columns and then shows in rows what 
> they can and can't be used for (macro parameters, element attributes, etc.) 
> would be useful.
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "TiddlyWiki" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to tiddlywiki+unsubscr...@googlegroups.com 
> <mailto:tiddlywiki+unsubscr...@googlegroups.com>.
> To post to this group, send email to tiddlywiki@googlegroups.com 
> <mailto:tiddlywiki@googlegroups.com>.
> Visit this group at http://groups.google.com/group/tiddlywiki 
> <http://groups.google.com/group/tiddlywiki>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/tiddlywiki/b9f31e05-bf09-4170-a63e-5e57225f3cc0%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/tiddlywiki/b9f31e05-bf09-4170-a63e-5e57225f3cc0%40googlegroups.com?utm_medium=email&utm_source=footer>.
> For more options, visit https://groups.google.com/d/optout 
> <https://groups.google.com/d/optout>.

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to tiddlywiki+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywiki@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/52D71482-64D9-4097-A3D7-1178CBD74588%40gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to