RE: Your MTC was A+!!!!

- I'm nearly moved to tears Eric. Thanks it is a big complement. I was
about to get up an dance, but then realised I could tweet instead.
of course it works! I've posted the finished TW [1]

I've enjoyed making the MTC and am writing a blog post about the
minimal test case. I'd be interested in getting your input or
comments. I'll post it when I its ready. Any other MTC fans might also
want to contribute to a homage? FND?

Alex
[1] 
https://dl.getdropbox.com/u/1316865/TiddlyWiki/TiddlyWikiTestCases/TiddlersTaggedWithFieldValue.html

On Oct 20, 9:09 pm, Eric Shulman <[email protected]> wrote:
> > I'm trying to catch a Tiddler tagged with a custom field. Below is the
> > inline js. I've produced a minimal test (MTC) case [1]
>
> Your MTC was A+!!!!  You started with a default tiddler that explained
> what you were trying to do and how the test case was set up (which
> tiddlers, etc).  Then, you clearly defined your goals in visual terms,
> by simulating the desired result through hand-edited TW formatting and
> went step by step through the various 'minimal' cases, building up to
> the point of error.
>
> Thanks so much!  That was a pleasure to read!  Now... here's some
> answers:
>
> > var u=store.getValue(tids[i] ,"field1");
>
> In your MTC, the values stored in "field1" are already enclosed in
> [[...]], which works nicely when rendering the value as a wiki link,
> but is not correct when looking for tagged tiddlers.  You need to
> remove the [[ and ]] before using at a param for doing the lookup.
> This can be done in several ways.  Here's one:
>         var v=store.getTaggedTiddlers(u.readBracketedList()[0]);
>
> > out.push('|'+t+'|'+u+'|'+v+'|');}
>
> I assume that the 3rd column above ("v") is intended to display a list
> of titles for the matching tagged tiddlers.  However, the value of "v"
> is not plain text... it's an array of tiddler objects.  To convert
> that array into space-separated, bracketed text containing a list of
> titles, ready to display, add:
>         v=v.map(function(tid){return "[["+tid.title+"]]"}).join(" ");
> just before generating your output.
>
> Putting it together, the tweaked script looks like this:
>         ...
>         var t=tids[i].title;
>         var u=store.getValue(tids[i] ,"field1");
>         var v=store.getTaggedTiddlers(u.readBracketedList()[0]);
>         v=v.map(function(tid){return "[["+tid.title+"]]"}).join(" ");
>         out.push('|'+t+'|'+u+'|'+v+'|');
>         ...
>
> That should do it... let me know if it works.
>
> enjoy,
> -e
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"TiddlyWiki" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/tiddlywiki?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to