Changeset 2574
- Timestamp:
- 10/09/07 03:30:24 (12 months ago)
- Location:
- Trunk/core/js
- Files:
-
- 5 modified
-
Config.js (modified) (1 diff)
-
FileAdaptor.js (modified) (3 diffs)
-
Macros.js (modified) (1 diff)
-
TiddlyWiki.js (modified) (1 diff)
-
main.js (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
Trunk/core/js/Config.js
r2437 r2574 106 106 orphans: {}, 107 107 shadowed: {}, 108 touched: {} 108 touched: {}, 109 filter: {} 109 110 }, 110 111 closeAll: {}, -
Trunk/core/js/FileAdaptor.js
r2194 r2574 90 90 91 91 // Gets the list of tiddlers within a given workspace 92 //# context - passed on to callback function 93 //# userParams - user parameters passed through to the callback function 92 94 //# callback - function to be called on completion 93 //# context - passed on to callback function95 //# filter - filter expression 94 96 //# Return value is true if the request was successfully issued, 95 97 //# or an error description string if there was a problem … … 99 101 //# context - parameters as originally passed into the getTiddlerList function 100 102 //# tiddlerList - array of objects describing each tiddler 101 FileAdaptor.prototype.getTiddlerList = function(context,userParams,callback )103 FileAdaptor.prototype.getTiddlerList = function(context,userParams,callback,filter) 102 104 { 103 105 if(!this.store) … … 105 107 if(!context) 106 108 context = {}; 107 context.tiddlers = []; 108 this.store.forEachTiddler(function(title,tiddler) 109 { 110 var t = new Tiddler(title); 111 t.text = tiddler.text; 112 t.modified = tiddler.modified; 113 t.modifier = tiddler.modifier; 114 t.fields['server.page.revision'] = tiddler.modified.convertToYYYYMMDDHHMM(); 115 t.tags = tiddler.tags; 116 context.tiddlers.push(t); 117 }); 109 context.tiddlers = this.store.filterTiddlers(filter); 110 for(var t=0; t<context.tiddlers.length; t++) { 111 context.tiddlers[t].fields['server.page.revision'] = context.tiddlers[t].modified.convertToYYYYMMDDHHMM(); 112 } 118 113 context.status = true; 119 114 window.setTimeout(function() {callback(context,userParams);},10); -
Trunk/core/js/Macros.js
r2463 r2574 59 59 { 60 60 return store.getTouched(); 61 }; 62 63 config.macros.list.filter.handler = function(params) 64 { 65 var filter = params[1]; 66 var results = []; 67 if(filter) { 68 var tiddlers = store.filterTiddlers(filter); 69 for(var t=0; t<tiddlers.length; t++) 70 results.push(tiddlers[t].title); 71 } 72 return results; 61 73 }; 62 74 -
Trunk/core/js/TiddlyWiki.js
r2339 r2574 531 531 }; 532 532 533 // Filter a list of tiddlers 534 //# filter - filter expression (eg "tidlertitle [[multi word tiddler title]] [tag[systemConfig]]") 535 //# Returns an array of Tiddler() objects that match the filter expression 536 TiddlyWiki.prototype.filterTiddlers = function(filter) 537 { 538 var results = []; 539 if(filter) { 540 var re = /(\w+)|(?:\[([ \w]+)\[([ \w]+)\]\])|(?:\[\[([ \w]+)\]\])/mg; 541 var match = re.exec(filter); 542 while(match) { 543 if(match[1]) { 544 //# matches (eg) text 545 var tiddler = this.fetchTiddler(match[1]) 546 if(tiddler) 547 results.push(tiddler); 548 } else if(match[2]) { 549 //# matches (eg) [text[more text]] 550 if(match[2]=="tag") { 551 this.forEachTiddler(function(title,tiddler) { 552 if(tiddler.isTagged(match[3])) 553 results.push(tiddler); 554 }); 555 } 556 } else if(match[4]) { 557 //# matches (eg) [[tiddler title]] 558 var tiddler = this.fetchTiddler(match[4]) 559 if(tiddler) 560 results.push(tiddler); 561 } 562 match = re.exec(filter); 563 } 564 } else { 565 this.forEachTiddler(function(title,tiddler) {results.push(tiddler);}); 566 } 567 return results; 568 }; 569 -
Trunk/core/js/main.js
r2503 r2574 83 83 invokeParamifier(params,"onstart"); 84 84 if(story.isEmpty()) { 85 var defaultParams = store.getTiddlerText("DefaultTiddlers").parseParams("open",null,false); 86 invokeParamifier(defaultParams,"onstart"); 85 var tiddlers = store.filterTiddlers(store.getTiddlerText("DefaultTiddlers")); 86 for(var t=0; t<tiddlers.length; t++) { 87 story.displayTiddler("bottom",tiddlers[t].title); 88 } 87 89 } 88 90 window.scrollTo(0,0);
