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.