I have a question about taking this one step further, but first, I just 
want to say thank you, thank you, thank you for this thread (original 
poster and everyone who helped). 

I was able to take this code and incorporate it into a grocery list that 
I'd developed years ago and which I've been wanting to tweak. This code 
allowed me to group my list by the aisle. (In actuality it's more like 
general areas of the store.) It works great and I'm absolutely over the 
moon about it as I had gone down many rabbit holes before I found what I 
was looking for! 

Now I'm wondering about tweaking it further so that it doesn't show the 
name of an aisle when there are no items on the list for that particular 
trip.

Let me 'splain:

I have dozens of tiddlers of various grocery items, each with a field 
called "aisle" with values like "bakery", "dairy", "frozen", "meats." I 
have a full list to choose from of potential grocery items and clicking an 
item tags them with "$purchase" (meaning "to be purchased") and they move 
to the current shopping list. 

With help from this thread I developed the code below to show the current 
shopping list grouped by aisle. As I shop, checking an item on that list 
tags it as "$purchased" (not to be confused with "$purchase" above!) and 
drops it from the list.

Here is the code:

<$list filter="[has[aisle]each[aisle]sort[aisle]]">
<div class="tw-menu-list-item">
<$view field="aisle"/>
</div>
<$list filter="[!tag[$purchased]tag[$purchase]aisle{!!aisle}sort[title]]">
<div class="tw-menu-list-subitem">
<$button class="tc-btn-invisible">
<input type="checkbox"/>
<$action-listops $tags="$purchased"/>
</$button> <$link to={{!!title}}><$view field="title"/></$link> 
</div></$list></$list>

The above might produce a list something like this:

bakery
  bread
  cookies
dairy
  milk
  cream
frozen
meats
  chicken
  sausage
etc.

As you can see, there are items under the "aisle" headers for "bakery", 
"dairy" and "meats"; but none under "frozen". What I want is, if there are 
no items from the frozen aisle (aisle="frozen") tagged with "$purchase", 
then suppress the header (in this case "frozen") from appearing on the 
list. That is, only show the header for "aisles" that contain items tagged 
with "$purchase". 

I thought I could fix this by adding "tag[$purchase]" to the first filter 
but doing so caused my list to completely disappear.

My skill level is pretty basic but improving. Is there an easy fix for 
this? Am I missing something obvious? 

Best regards and thank you for any help.

mr

On Tuesday, March 4, 2014 at 1:03:14 PM UTC-8 Scott Kingery wrote:

> Well, I'm almost there.
>
> Example wiki: 
> http://dl.dropboxusercontent.com/u/118970/wiki/scottexamples.html
> When you look at the example you'll see the issue. It is mostly working 
> but things aren't showing up as they should. I've outlined it in the 
> Problems tiddler you'll see when you look at the example.
>
> My code:
> <$list 
> filter="[is[current]tagging[]has[subtopic]each[subtopic]sort[subtopic]]">
> <div class="tw-menu-list-item">
> <$view field="subtopic"/>
> </div>
> <$list filter="[subtopic{!!subtopic}sort[title]]">
> <div class="tw-menu-list-subitem">
> <$link to={{!!title}}><$view field="title"/> </$link>
> </div></$list></$list>
>
>
>
>
> On Sunday, March 2, 2014 11:08:12 PM UTC-8, Scott Kingery wrote:
>>
>> Thanks everyone.
>> cmari, the each[subtopic] was the piece I was missing I think.
>>
>> Additionally, I'm trying to do what you want as well by having the 
>> list search for tiddlers tagged with the current tiddler's title. I 
>> borrowed this: 
>> <$list filter="[is[current]tagging[]sort[title]]">
>>
>> from http://www.giffmex.org/tw5mall.htm. It gets us a bit closer by I 
>> can't seem to get the syntax right to merge it in with what you gave me 
>> before.
>>
>>
>> On Sunday, March 2, 2014 1:38:30 PM UTC-8, cmari wrote:
>>>
>>> Hi Scott,
>>>
>>> I was fiddling around with something similar yesterday.  In case it's of 
>>> interest, here's the (far more rudimentary approach than Stephan's) 
>>> approach I came up with.  Note that this doesn't make use of tags at all, 
>>> it simply finds all the tiddlers that contain a field called subtopic, and 
>>> then lists those tiddlers (alphabetically) by subtopic. You could of course 
>>> sort the lists differently, and you could filter for a particular tag by 
>>> adding, e.g., [tag[Movie], to the second list filter. I would have liked to 
>>> be able to search for tiddlers tagged with the current tiddler's title, or 
>>> even tag, but I don't know how to do that in any generic way, so I opted 
>>> instead to use a unique field name in the tiddlers I wanted in my list.  
>>>
>>> (Also, obviously, you could take out the styles; I was just seeing what 
>>> I could do with the options that already existed).
>>>
>>> <$list 
>>> filter="[!is[system]has[subtopic]each[subtopic]sort[subtopic]]"><div 
>>> class="tw-menu-list-item"><$link to={{!!subtopic}}><$view 
>>> tiddler={{!!subtopic}} field="title"/></$link> 
>>> </div>
>>> <$list filter="[subtopic{!!subtopic}sort[title]]">
>>> <div class="tw-menu-list-subitem">
>>> <$link to={{!!title}}><$view field="title"/> </$link>
>>> </div></$list></$list>
>>>
>>> cmari
>>>
>>> On Sunday, March 2, 2014 12:45:26 AM UTC-8, Scott Kingery wrote:
>>>>
>>>> I'm just getting started experimenting with TW5. What I want to do is 
>>>> have a field called subtopic and then have those grouped on a list.
>>>>
>>>> The results looking something like:
>>>> Movies (main topic and title of tiddler)
>>>> Comedy (subtopic)
>>>> Drama (subtopic)
>>>>
>>>> The following is the general idea but doesn't have the syntax to group.
>>>>
>>>> <$list filter="[has[subtopic]sort[subtopic]]">
>>>> <h2><$view field="subtopic"/></h2><$link to={{!!title}}><$view 
>>>> field="title"/></$link><br>
>>>> </$list>
>>>>  
>>>> Can this be done?
>>>> Thanks,
>>>> Scott
>>>>
>>>>

-- 
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/bf28d22d-61da-459e-88de-238faa5463f4n%40googlegroups.com.

Reply via email to