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.

Reply via email to