Hello everyone.
I want to build a batch text processing tool on top of TW5. The first tool
I have "implemented" is a column compare one. It is a macro that gets the
text on two tiddlers and give you the unique values in one side of the
comparison. The problem with using a macro is that it is evaluated on
every keystroke, navigation event and so on. This is extremely slow and
unefficent. Which kind of element should I use to make this more usable? A
widget? if so, how? I would like to process just once and then show the
result.
This is what I have currently:
/*\
title: $:/macros/danielo515/get_unique_values.js
type: application/javascript
module-type: macro
This macro returns the list of values that exists only on tiddler A.
It expects a list of \n separated values on each tiddler.
\*/
(function(){
/*jslint node: true, browser: true */
/*global $tw: false */
"use strict";
/*
Information about this macro
*/
exports.name = "getunique";
exports.params = [
{name: "A"},
{name: "B"}
];
/*
Run the macro
*/
exports.run = function(A,B){
var a=($tw.wiki.getTiddlerText(A) ||""),
b=($tw.wiki.getTiddlerText(B) ||""),
a_values= a.split('\n'),
b_values= b.split('\n'),
result = [];
a_values.forEach(function(a_value){
if(b_values.indexOf(a_value) === -1)
result.push(a_value);
});
console.log(result.length," unique values remains");
return "```\n" + result.join('\n') + "\n```";
};
})();
--
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 http://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit
https://groups.google.com/d/msgid/tiddlywiki/dc66884b-c46a-4664-bbe3-0ae8dd3fcc4f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.