Tones, just had a go at your suggestion. What a wonderful way to see what is happening. I can now see how I get the result I get but not why. Still, another step forward. This mechanism should be written up in the documentation! Now to work out why.
bobj On Monday, 5 October 2020 18:10:48 UTC+11, TW Tones wrote: > > 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/0b680131-fa61-48fb-8873-0bd904463c74o%40googlegroups.com.

