Alright, let me try this again..
So to be clear:
- The "os" and "programming-lang" tiddlers are tagged with the
"skill-cat" tag.
- The "windows-7" and "sql" tiddlers are tagged with the "skill" tag.
- The "windows-7" tiddler is tagged with the "os" tag.
- The "sql" tiddler is tagged with the "programming-lang" tag.
So then in the meantime...I came up with something here that works
correctly, but it's too complicated:
\define showSkillParent()
<ul>
<!-- BEGIN: Get a list of skill-categories. -->
<$list filter=
"$(dasJobItemSkillsTags)$+[tags[]tag[skill-cat]]+[tagging[]]+[tags[]tag[skill-cat]]"
>
<li><$view field="title"/>
<!--
<ul>
<$list filter=
"$(dasJobItemSkillsTags)$+[tags[]tag[skill-cat]]+[tagging[]]+[tags[]tag[skill-cat]]+$(dasJobItemSkillsTags)$"
>
<li>
<$view field="title"/>
</li>
</$list>
</ul>
-->
<$set name="dasTitle" value={{!!title}}>
<<showParentChildren>>
</$set>
</li>
</$list>
<!-- END: Get a list of skill-categories. -->
</ul>
\end
\define showParentChildren()
<ul>
<$list
filter="[title[$(dasTitle)$]]+[tagging[]]-$(dasJobItemSkillTagsNot)$">
<li><$view field="title"/></li>
</$list>
</ul>
\end
<$vars dasJobItemSkillsTags={{!!jobitemsskilltags}} dasJobItemSkillTagsNot
={{!!jobitemskilltagsnot}} dasSkillsCompanyIsLookingFor={{!!
skillscompanyislookingforfilter}}>
<<showSkillParent>>
</$vars>
The only problem with it is, that I have to generate two sets of fields
with generally the same skill values in them....
The first one (dasJobItemSkillsTags) is used to determine which parent
skill-categories are involved...via:
\define showSkillParent()
<ul>
<!-- BEGIN: Get a list of skill-categories. -->
<$list filter=
"$(dasJobItemSkillsTags)$+[tags[]tag[skill-cat]]+[tagging[]]+[tags[]tag[skill-cat]]"
>
<li><$view field="title"/>
<$set name="dasTitle" value={{!!title}}>
<<showParentChildren>>
</$set>
</li>
</$list>
<!-- END: Get a list of skill-categories. -->
</ul>
\end
The second one (dasJobItemSkillTagsNot) removes any of the non-matched
skills from the list...via:
\define showParentChildren()
<ul>
<$list filter="[title[$(dasTitle)$]]+[tagging[]]-$(dasJobItemSkillTagsNot)$"
>
<li><$view field="title"/></li>
</$list>
</ul>
\end
but on the whole they're a list of the same skills..so it would be nice to
be able to generate them inputing just one list somehow...for example:
dasJobItemSkillTagsNot: [!title[windows-7]!title[sql]]
dasJobItemSkillsTags: [title[sql]][title[windows-7]]
by inputting something like "windows-7, sql"
Does that make more sense? I hope so.
On Thursday, 10 November 2016 13:46:00 UTC-5, Mark S. wrote:
>
> I don't understand what's supposed to be going on in your filters. They
> seem to be complicated and I couldn't get them to work without your data.
> Since I don't have access to your sample data tiddlers, I guessed at what
> was needed. Here is my simplified version, which I generated with 2
> tiddlers, sql & windows-7:
>
> \define showSkillParent()
> $(dasSkillsCompanyIsLookingFor)$
> <hr/>
> $(dasJobItemSkillsTags)$<br/>
>
>
> <ul>
> <!-- BEGIN: Get a list of skill-categories. -->
> <$list filter="$(dasJobItemSkillsTags)$">
> <li><$view field="title"/>
> <ul>
> <$list filter="[tag<currentTiddler>]">
> <li>
> <$view field="title"/>
> </li>
> </$list>
> </ul>
> </li>
> </$list>
> <!-- END: Get a list of skill-categories. -->
> </ul>
> \end
>
>
> The main functional change was in the second list, where I used "
> [tag<currentTiddler>]" to just bring in items tagged according to the
> first (outer) list.
>
> HTH
> Mark
>
> On Thursday, November 10, 2016 at 10:04:46 AM UTC-8, leeand00 wrote:
>>
>> Using the macro below I get the following text when I set the field
>> "jobitemsskilltags"
>> to "[title[sql]][title[windows-7]]"
>>
>>
>> - programming-lang
>> - sql
>> - windows-7
>> - os
>> - sql
>> - windows-7
>>
>> It works pretty good..but I'd like only the titles of skills tagged with
>> os to show up under os...and only the skills tagged with programming-lang
>> to show up under programming-lang for instance:
>>
>>
>> - programming-lang
>> - sql
>> - os
>> - windows-7
>>
>>
>>
>> \define showSkillParent()
>> $(dasSkillsCompanyIsLookingFor)$
>> <hr/>
>> $(dasJobItemSkillsTags)$<br/>
>> [title[sql]][title[windows-7]]
>>
>> <ul>
>> <!-- BEGIN: Get a list of skill-categories. -->
>> <$list filter=
>> "$(dasJobItemSkillsTags)$+[tags[]tag[skill-cat]]+[tagging[]]+[tags[]tag[skill-cat]]"
>> >
>> <li><$view field="title"/>
>> <ul>
>> <$list filter=
>> "$(dasJobItemSkillsTags)$+[tags[]tag[skill-cat]]+[tagging[]]+[tags[]tag[skill-cat]]+$(dasJobItemSkillsTags)$"
>> >
>> <li>
>> <$view field="title"/>
>> </li>
>> </$list>
>> </ul>
>> </li>
>> </$list>
>> <!-- END: Get a list of skill-categories. -->
>> </ul>
>> \end
>>
>>
>>
>> <$vars dasJobItemSkillsTags={{!!jobitemsskilltags}}
>> dasSkillsCompanyIsLookingFor={{!!skillscompanyislookingforfilter}}>
>> <<showSkillParent>>
>> </$vars>
>>
>>
>>
>> I think this has something to do with the nested $list's filter which
>> reads:
>> "
>> $(dasJobItemSkillsTags)$+[tags[]tag[skill-cat]]+[tagging[]]+[tags[]tag[skill-cat]]+$(dasJobItemSkillsTags)$
>> "
>>
>> but I'm not sure how to filter it down to JUST the skills that are in
>> that category.
>>
>> P.S. And yes, I am aware of the TOC macro thank you.
>>
>> Thank you,
>> Andrew J. Leer
>>
>
--
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/e9c9d531-1fbf-4125-8f76-1c5234ae0d41%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.