On Saturday, December 7, 2019 at 8:42:44 AM UTC+3:30, TonyM wrote:
>
> I do not mean to sound competitive, but all you need is .nested lists
>
> <$list fiter="[all[tiddlers]each[state]get[state]sort[]]" variable=state>
> <$list fiter="[all[tiddlers]state<state>each[region]get[region]sort[]]"
> variable=region>
> <$list fiter="[all[tiddlers]state<state>region<region>sort[]]">
> <<currentTiddler>>
> </$list>
> </$list>
> </$list>
> gives a list sorted by state then region then tiddler title
> not tested against data
>
> note the groups state and region use "each" and the inner list only lists
> those with the same state<state> and region<region> at a time
>
> to keep it tidy i use the same name as the field as the variable name
> generated by the each lists.
>
> state<state> means list all tiddlers with the state field = the value in
> the `<<state>> variable.
>
> you could wrap the whole thing or make it more levels deep however a new
> outer filter may need every filter to be updated. See how every list filter
> starts with all[tiddlers] a fresh, so if you want to operate on all
> tiddlers this is fine but only with tag[a] would need to read
> [all[tiddlers]tag[a] to each filter.
>
What do you think if we omit the all[tiddlers]. I think the input of every
filter is all[tiddlers] or all[tiddlers+shadows] so it should not affect
the performance in this case! What do you think?
>
>
> Regards
> Tony
>
> On Saturday, December 7, 2019 at 3:47:14 PM UTC+11, Mark S. wrote:
>>
>>
>> There are different approaches. The easiest would be to make a button
>> that, when pressed, populates a fourth field that can then be sorted.
>>
>> Here's an approach that doesn't require two steps, but it does assume
>> that "@@" is reserved:
>>
>> \define sortus()
>> <$vars lb="[[" rb="]]">
>> <$list filter="[has[fa]]">
>> <$list
>> filter="[<currentTiddler>addprefix[@@]addprefix{!!fc}addprefix{!!fb}addprefix{!!fa}addprefix<lb>addsuffix<rb>]"/>
>> </$list>
>> </$vars>
>> \end
>>
>> <$wikify text=<<sortus>> name="ready2sort">
>> <$list filter="[enlist<ready2sort>sort[]]" variable="sorted">
>> <$list filter="[<sorted>split[@@]rest[]]"/>
>> </$list>
>> </$wikify>
>>
>>
>>
>>
>>
>>
>> On Friday, December 6, 2019 at 7:53:03 PM UTC-8, Mohammad wrote:
>>>
>>> Assume you have a bunch of tiddlers
>>>
>>> - all tagged with data
>>> - all have three fields fa, fb, fc
>>>
>>>
>>> How one can produce a list of tiddlers where they are
>>>
>>> - sorted first by fa
>>> - then by field fb
>>> - then by field fc
>>>
>>>
>>> This means to keep the multiple sort order!
>>>
>>> --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/dd6281d3-725b-4b73-9db1-362717d17388%40googlegroups.com.