On Oct 19, 6:17 pm, Plausible <
Verreh...@yahoo.com> wrote:
> For me the ExcludeTimelinePlugin results in excludeTimeline-tagged
> tiddlers being excluded (as they should) but all the excludeLists-
> tagged tiddlers being displayed (not so good!) in thetimeline.
>
> Looks like the line
>
> var tiddlers =
> store.reverseLookup("tags","excludeTimeline",false,field);
>
> in the plugin is the culprit; if you substitute excludeLists for
> excludeTimeline you get back the 'vanilla' behaviour.
>
> I wouldn't know how to modify that code so that /both/ excludeTimeline
> and excludeLists tagged stuff is effectively excluded. Anyone?
>
I have written a plugin that overrides the original reverseLookup
function so that it can accept arrays of values for the lookupValue
parameter. You can get the plugin from
http://colmbritton.tiddlyspace.com/#ReverseLookupOverride
With this installed you can then alter
store.reverseLookup("tags","excludeTimeline",false,field);
to
store.reverseLookup("tags",["excludeTimeline",
"excludeLists"],false,field);
or whatever else you wish
Let me know how you get on with that
Colm
--- ReverseLookupOverride Code ---
//{{{
(function(){
var _reverseLookup = TiddlyWiki.prototype.reverseLookup;
function oc(a)
{
if(typeof a === 'string'){
var a = [a];
}
var o = {};
for(var i=0;i<a.length;i++)
{
o[a[i]]='';
}
return o;
}
TiddlyWiki.prototype.reverseLookup =
function(lookupField,lookupValue,lookupMatch,sortField){
var results = [];
this.forEachTiddler(function(title,tiddler) {
var f = !lookupMatch;
for(var lookup=0; lookup<tiddler[lookupField].length; lookup++)
if(tiddler[lookupField][lookup] in oc(lookupValue))
f = lookupMatch;
if(f)
results.push(tiddler);
});
if(!sortField)
sortField = "title";
results.sort(function(a,b) {return a[sortField] < b[sortField] ?
-1 : (a[sortField] == b[sortField] ? 0 : +1);});
return results;
}
})();
//}}}