Bob,
I have not seen a fault yet, I will keep looking, however when adding items
to a list consider using the ActionListops widget
<https://tiddlywiki.com/#ActionListopsWidget>rather than adding suffixes.
It has the advantage of not setting it twice etc...
Your second attempt at the first action set field will store each tiddler
tagged Mark in _null thus current tiddler will be the currentTiddler
running when you click the button.
When debugging buttons
- you can make large buttons by displaying an intermediate result as the
button title to see the output.
- Your can also make the same loop as just a list, and text what your
logic generated before you hide it with actions tiddlers when don't
themselves present output, just actions.
<$list filter="[tag[Mark]]">
<!--append exhibition_id to exhibition_id of each marked artwork
tiddler-->
action-setfield
$field="exhibition_id"
$value={{{ [{!!exhibition_id}addsuffix[
]addsuffix{$:/TLS/exhibition_id}] }}}
`{{{ [{!!exhibition_id}addsuffix[
]addsuffix{$:/TLS/exhibition_id}] }}}`
<!--append each artwork_id to artwork_id of the exhibition tiddler-->
action-setfield
$tiddler= {{{ [{$:/TLS/exhibition_id}] }}}
$field="artwork_id"
$value={{{ [{$:/TLS/exhibition_id!!artwork_id}addsuffix[
]addsuffix{$:/TLS/artwork_id}] }}}
`{{{ [{$:/TLS/exhibition_id!!artwork_id}addsuffix[
]addsuffix{$:/TLS/artwork_id}] }}}`
</$list>
See how I replicated the tripl braces, keep both upto date as you test you
outcomes
- I basically converted the otherwise actions into text and took it
outside of the button.
Regards
Tony
On Monday, 5 October 2020 17:05:50 UTC+11, Bob Jansen wrote:
>
> I am trying to implement a simple function in my TW.
>
> <code>
> <$button>
> <$list filter="[tag[Mark]]">
> <!--append exhibition_id to exhibition_id of each marked artwork
> tiddler-->
>
> <$action-setfield
> $field="exhibition_id"
> $value={{{ [{!!exhibition_id}addsuffix[
> ]addsuffix{$:/TLS/exhibition_id}] }}}
> />
>
> <!--append each artwork_id to artwork_id of the exhibition tiddler-->
>
> <$action-setfield
> $tiddler= {{{ [{$:/TLS/exhibition_id}] }}}
> $field="artwork_id"
> $value={{{ [{$:/TLS/exhibition_id!!artwork_id}addsuffix[
> ]addsuffix{$:/TLS/artwork_id}] }}}
> />
>
> </$list>
>
> Link Artworks to Exhibition
> </$button>
> </code>
>
> The first action-setfield works. The second one doesn't but I can not
> determine why. It differs from the first in that the first is editing a
> field of the <currentTiddler> from a $list widget whilst the second is
> editing a field of a tiddler whose title is stored in the tiddler
> $:/TLS/exhibition_id.
>
> Is it possible to edit a tiddler not part of the $list widget set?
>
> To my understanding, there are essentially two transclusions involved,
> first to get to the tiddler whose title is in $:/TLS/exhibition_id and the
> second to the field artwork_id stored in this tiddler.
>
> From Tones' excellent cheat sheet, I thought I has it right but obviously
> not.
>
> There is obviously an error in my wikitext. But what??
>
> Secondly, an earlier query regarding conditional operators with some
> advice from Saq Imtiaz.
>
> I want to only perform the action-setfield if the value to be inserted is
> not already in the field.
>
> I thought this would work (replacement for the first action-setfield
> statement from above).
> <code>
> <$list [{!!exhibition_id}!contains{$:/TLS/exhibition_id}]
> variable="_null" >
> <$action-setfield
> $field="exhibition_id"
> $value={{{ [{!!exhibition_id}addsuffix[
> ]addsuffix{$:/TLS/exhibition_id}] }}}
> />
> </$list>
> </code>
> but it doesn't.
>
> What an I doing wrong here?
>
> bobj
>
--
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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/tiddlywiki/00628649-27a8-4a31-b423-9525957cb1f2o%40googlegroups.com.