Joshua, thank for the help! Your technique worked. Also, I've managed to 
create the reversed list, which I metioned before:

\define culture-list()
  <$list filter="[[Sites 
data]indexes:all[]regexp[.*properties/cultures.*]]" variable="myindex" >
    <$set name="myvar" value="]]">
      <$list filter="[[Sites 
data]getindex<myindex>addprefix[[[]addsuffix<myvar>]" variable="myculture" >

      </$list>
    </$set>
  </$list>
\end

!! Wybór kultury

<$select tiddler="tmp-culture-site-state">
  <$wikify text=<<culture-list>> name="culture-list-unique">
    <$list filter="[enlist<culture-list-unique>sort[]]">
      <option><$view field='title'/></option>
    </$list>
  </$wikify>
</$select>

<$list filter="[[Sites data]indexes:all[]regexp[.*properties/cultures.*]]" 
variable="cultures_path" >
  <$list filter="[[Sites data]getindex<cultures_path>]" 
variable="cultures_values" >
    <$list filter="[<cultures_values>search{tmp-culture-site-state!!text}]" 
>
      <$set name="features_path" 
filter="[<cultures_path>splitregexp[/cultures/.*]addsuffix[/name]prefix[/features]]"
 
>
        <$list filter="[[Sites data]getindex<features_path>]">
        ●  {{{ [[Sites data]getindex<features_path>] }}}  <br \>
</$list></$set></$list></$list></$list>

best!
Darek
czwartek, 24 września 2020 o 01:18:34 UTC+2 [email protected] napisał(a):

> Aaah, that's a bit trickier. We need to collect and de-duplicate the list 
> of Cultures in all Data tiddlers, and then setup a nested pair of 
> <ul><$list> .. </$list></ul>.
>
> You could use the technique I showed you for the first list to gather the 
> data, and then set it into a new Tiddler field or JSON Tiddler, and then 
> use that to drive the outer list. I would make a $button that when pressed 
> ran a macro where a $list widget and $action-listops widgets to add each 
> Culture to a master List.
>
> Best,
> Joshua F
>
> On Wednesday, September 23, 2020 at 10:35:53 AM UTC-7 Darek Bobak wrote:
>
>> and, which is more elaborated, make a reverse list: group names by 
>> cultures:
>>
>> * Magdalenian
>> ** Abri Fuchskirche
>> ** Adlerova
>> * Epigravettian
>> ** Abri Fuchskirche
>> * Gravettian
>> ** Adlerova
>>
>> cheers,
>> Darek
>>
>> środa, 23 września 2020 o 11:50:55 UTC+2 Darek Bobak napisał(a):
>>
>>> And still bothering you...
>>>
>>> I'd like to get a list in the following form:
>>>
>>> * Abri Fuchskirche
>>>    ** Magdalenian
>>>    ** Epigravettian
>>> * Adlerowa
>>>    ** Magdalenian
>>>    ** Gravettian
>>>
>>> The source json tiddler is:
>>>
>>> {
>>>   "type": "FeatureCollection",
>>>   "features": [
>>>     {
>>>       "id": 445,
>>>       "type": "Feature",
>>>       "geometry": {
>>>         "type": "Point",
>>>         "coordinates": [
>>>           11.203903189,
>>>           50.653401032
>>>         ]
>>>       },
>>>       "properties": {
>>>         "name": "Abri Fuchskirche",
>>>         "site_id": 445,
>>>         "cultures": [
>>>           "Magdalenian",
>>>           "Epigravettian"
>>>         ],
>>>         "elevation": 308
>>>       }
>>>     },
>>>     {
>>>       "id": 452,
>>>       "type": "Feature",
>>>       "geometry": {
>>>         "type": "Point",
>>>         "coordinates": [
>>>           16.749868297,
>>>           49.242753593
>>>         ]
>>>       },
>>>       "properties": {
>>>         "name": "Adlerova",
>>>         "site_id": 452,
>>>         "cultures": [
>>>           "Magdalenian",
>>>           "Gravettian"
>>>         ],
>>>         "elevation": 371
>>>       }
>>>     }
>>>   ]
>>> }
>>>
>>> thank you all for the help
>>> Darek
>>>
>>> środa, 23 września 2020 o 02:20:01 UTC+2 [email protected] 
>>> napisał(a):
>>>
>>>> This gets into "wikitext shortcuts" but you could simplify it with an 
>>>> "trancluded filter" inside the list, wrapped in triple-curly-braces. TW 
>>>> would be creating another widget in the background to handle transcluding 
>>>> the final value.
>>>> ```
>>>> <$list filter="[[test]indexes[/cultures]addprefix[/cultures/]]" 
>>>> variable="index">
>>>>
>>>> {{{ [[test]getindex<index>] }}}
>>>>
>>>> </$list>
>>>> ```
>>>>
>>>> You could even use the $transclude widget like so:
>>>>
>>>> ```
>>>> <$list filter="[[test]indexes[/cultures]addprefix[/cultures/]]" 
>>>> variable="index">
>>>>
>>>> <$transclude tiddler="test" index=<<index>> />
>>>>
>>>> </$list>
>>>> ```
>>>>
>>>> Best,
>>>> Joshua Fontany
>>>>
>>>> On Tuesday, September 22, 2020 at 5:07:04 PM UTC-7 Joshua Fontany wrote:
>>>>
>>>>> Thanks Saq!
>>>>>
>>>>> Yes, you could with this list construction (note the additional slash 
>>>>> when we add the prefix back to the index numbers):
>>>>>
>>>>> ```
>>>>> <$list filter="[[test]indexes[/cultures]addprefix[/cultures/]]" 
>>>>> variable="index">
>>>>>
>>>>> <$list filter="[[test]getindex<index>]">
>>>>>
>>>>> </$list>
>>>>>
>>>>> </$list>
>>>>> ```
>>>>>
>>>>> Best,
>>>>> Joshua F
>>>>>
>>>>> On Tuesday, September 22, 2020 at 1:53:14 PM UTC-7 Darek Bobak wrote:
>>>>>
>>>>>> Saq, thanks  for your help, the method works well. And would it be 
>>>>>> possible to get all the values from the property which is not a single 
>>>>>> value but array of the values. Cultures in the sample below:
>>>>>>
>>>>>> {
>>>>>>         "name": "Pilszcz 64",
>>>>>>         "region": "Silesia",
>>>>>>         "country": "PL",
>>>>>>         "site_id": 2,
>>>>>>         "cultures": [
>>>>>>           "Szeletian",
>>>>>>           "Early Upper Palaeolithic"
>>>>>>         ]
>>>>>>       }
>>>>>>
>>>>>> cheers,
>>>>>> Darek
>>>>>>
>>>>>> wtorek, 22 września 2020 o 12:21:02 UTC+2 [email protected] 
>>>>>> napisał(a):
>>>>>>
>>>>>>> @Darek
>>>>>>>
>>>>>>> I've never used jsonmangler so I am unsure if you can get this done 
>>>>>>> in a singular expression.
>>>>>>> I do think something like this should work if your JSON is in a 
>>>>>>> tiddler called test
>>>>>>>
>>>>>>> <$list filter="[[test]indexes:all[]suffix[properties/name]]" 
>>>>>>> variable="index">
>>>>>>>
>>>>>>> <$list filter="[[test]getindex<index>]">
>>>>>>>
>>>>>>> </$list>
>>>>>>>
>>>>>>> </$list> 
>>>>>>>
>>>>>>>
>>>>>>> On Tuesday, September 22, 2020 at 11:21:57 AM UTC+2, Darek Bobak 
>>>>>>> wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>> Is it possible to list all the values of the specified index in 
>>>>>>>> filter expression? I would like to get all the values of the "name" 
>>>>>>>> (ie, 
>>>>>>>> Albersdorf and Pfellnkofen) from the sample json tiddler:
>>>>>>>>
>>>>>>>> {
>>>>>>>>   "type": "FeatureCollection",
>>>>>>>>   "features": [
>>>>>>>>     {
>>>>>>>>       "type": "Feature",
>>>>>>>>       "properties": {
>>>>>>>>         "name": "Albersdorf",
>>>>>>>>         "type": "Open",
>>>>>>>>         "elevation": ""
>>>>>>>>       },
>>>>>>>>       "geometry": {
>>>>>>>>         "type": "Point",
>>>>>>>>         "coordinates": [
>>>>>>>>           13.190206,
>>>>>>>>           48.649078
>>>>>>>>         ]
>>>>>>>>       }
>>>>>>>>     },
>>>>>>>>     {
>>>>>>>>       "type": "Feature",
>>>>>>>>       "properties": {
>>>>>>>>         "name": "Pfellnkofen",
>>>>>>>>         "type": "Open",
>>>>>>>>         "elevation": ""
>>>>>>>>       },
>>>>>>>>       "geometry": {
>>>>>>>>         "type": "Point",
>>>>>>>>         "coordinates": [
>>>>>>>>           12.190206,
>>>>>>>>           48.649078
>>>>>>>>         ]
>>>>>>>>       }
>>>>>>>>     }
>>>>>>>>   ]
>>>>>>>> }
>>>>>>>>
>>>>>>>>
>>>>>>>> best
>>>>>>>> Darek
>>>>>>>>
>>>>>>>

-- 
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/ec00f672-a213-460e-8d8f-6abc89437913n%40googlegroups.com.

Reply via email to