Actually, thinking about this you might want to follow the
$:/AdvancedSearch pattern.
Store the output of the filter in a $:/temp/* tiddler, and display those
results in a list for the user.
Then have the button use the $:/temp/* tiddler as the source to
clear/update the JSON tiddler.
Then the displayed list will auto-update as the user changes the filter,
but it is up to them to confirm the new selection into permanent storage.
Best,
Joshua Fontany
On Wednesday, March 13, 2019 at 11:08:03 AM UTC-7, Joshua Fontany wrote:
>
> Try this sl-macro. "Setting" an index without a value deletes that index.
>
> ```
> \define sl-macro(filter,tiddler)
> <$button set=<<stateTid>> setTo="hide"> Select all
> <$list filter=<<__tiddler__>> variable="Remove">
> <$action-setfield $tiddler=<<__tiddler__>> $index=<<Remove>> />
> </$list>
> <$list filter=<<__filter__>> variable="Item">
> <$action-setfield $tiddler=<<__tiddler__>> $index=<<Item>>
> $value="selected"/>
> </$list>
> </$button>
> \end
> ```
>
>
>
> On Wednesday, March 13, 2019 at 7:07:15 AM UTC-7, Mohammad wrote:
>>
>> Attached is a sample tiddler of above question to simple test on
>> tiddlywiki.com!
>>
>> For example try
>> "[tag[About]]" and then enter "[tag[Android]]".
>>
>> I know pressing Add all has a button and you clear the previous list! But
>> here my question is to remove previous selection on
>> filter change in editbox!
>>
>> --Mohammad
>>
>>
>> On Wednesday, March 13, 2019 at 5:30:40 PM UTC+3:30, Mohammad wrote:
>>>
>>> Consider the below macro.
>>> It gets a filter and a JSON tiddler and adds all tiddlers from filter
>>> output to the JSON tiddler.
>>>
>>>
>>> \define sl-macro(filter,tiddler)
>>> <$button set=<<stateTid>> setTo="hide"> Select all
>>> <$list filter=<<__filter__>> variable="Item">
>>> <$action-setfield $tiddler=<<__tiddler__>> $index=<<Item>>
>>> $value="selected"/>
>>> </$list>
>>> </$button>
>>> \end
>>>
>>>
>>>
>>> No consider the below example
>>> It has a textbox to get a filter from user and then call sl-macro
>>>
>>> <$edit-text
>>> tiddler="state/myExmp"
>>> tag="input"
>>> default=""
>>> placeholder="filter search"
>>> />
>>> <$macrocall $name=sl-macro filter="[subfilter{state/myExmp}]"
>>> tiddler="state/Myselection"/>
>>>
>>> This works fine! *My question* is when I change the filter in a text
>>> box and try to add new set of selected tiddlers,
>>> still the previous selection is there (in the JSON tiddler) I use the
>>> selected tiddler somewhere else for further processing!
>>> Is there any way to detect the new filter in the textbox and remove the
>>> previous selection from JSON tiddler?!
>>>
>>>
>>> --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 post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit
https://groups.google.com/d/msgid/tiddlywiki/2a79a901-0a59-426e-b2f4-f1c0a7216c47%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.