Ok, I think you can do it without the list widget using this instead of the 
action-listops:

<$action-setfield $tiddler=<<tid>> $index="mode" $value={{{ 
[<tid>getindex[mode]compare:string:eq[author-mode]][<tid>getindex[mode]compare:string:eq[presentation-mode]]+[toggle[author-mode],[presentation-mode]]
 
}}} />

The thing thing is, I don't quite understand how toggle works, and I feel 
either toggle is buggy or the documentation is. If you don't use it with 
the +[xxx] construction, it will use the entire pool of tiddlers to output 
at least one tiddler name. But it will put out exactly one tiddler name. 
And what is the difference inside of a filter between a "list" and a "title 
list" ?

At a very minimum, this line is grammatically incorrect: " If neither is 
present, the first parameter takes precedence is added to the list."

(Probably wants an "and" before "is" )

On Friday, January 1, 2021 at 9:37:10 PM UTC-8 Mohammad wrote:

> Hi Mark,
>
>  Yes, the first loop is not necessary in all cases except one, if a user 
> or another action sets a third value in that index of data tiddler.
>  As toggle is a listops operator, it does not toggle the whole value, so 
> you may see your code has appended a value to the list of
>  current values.
>  This issue happened when I tried to use the code for a page control 
> button to switch the day/light palette.
>
> Best wishes
> Mohammad
>
>
> On Sat, Jan 2, 2021 at 12:37 AM 'Mark S.' via TiddlyWiki <
> [email protected]> wrote:
>
>> Hi Mohammad!
>>
>> Interesting! But the first list loop doesn't seem to be necessary.
>>
>> On Friday, January 1, 2021 at 6:46:14 AM UTC-8 Mohammad wrote:
>>
>>> I use data tiddler (Json tiddler) to store settings and configs of a 
>>> plugin or other tools.
>>>
>>> Below is an example how to toggle/switch a value in a data tiddler (e.g. 
>>> myTest)
>>> It uses a pair of  *key*: *mode* and *value*: *author-mode / 
>>> presentation-mode*
>>>
>>> *Go to *https://tiddlywiki.com/ and create a tiddler and give a try!
>>>
>>>
>>> <$vars tid="myTest">
>>>
>>> <$button>Toggle
>>> <$list 
>>> filter="[<tid>getindex[mode]!match[author-mode]!match[presentation-mode]]">
>>> <$action-setfield $tiddler=<<tid>> $index="mode" $value=""/>
>>> </$list>
>>>
>>> <$action-listops $tiddler=<<tid>> $index="mode" 
>>> $subfilter="+[toggle[author-mode],[presentation-mode]]" />
>>> </$button>
>>>
>>> ;Result
>>> :<$text text={{{[<tid>getindex[mode]]}}}/>
>>> </$vars>
>>>
>>>
>>>
>>>
>>> Best wishes
>>> Mohammad
>>>
>> -- 
>> 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/15017eed-b72e-4848-bf2c-f7223fcd062fn%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/tiddlywiki/15017eed-b72e-4848-bf2c-f7223fcd062fn%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
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/a6e9aa12-f79b-4518-af11-302c474e7c7an%40googlegroups.com.

Reply via email to