Hello Jed,  I will help you look it over but one thing I would do, is start 
refactoring some of the code.  The is some bits of repeating that you could 
pull out.  For example, your SumField and SumFieldFull and nearly 
identical.  Just call SumField as need in SumFieldFull through your loop. 
 This reduces the amount of code you need to maintain and avoids any 
mistakes you may have created while copying blocks of code.

Because of the nature of TiddlyWiki's plugin mechanism it is rather 
difficult to debug in browser (or at least that I have found).  Sprinkle 
your code liberally with log outputs and rebuild your plugin.  With some 
good refactoring, and strategic placement of console.log you probably can 
narrow the problem area quickly.

On Tuesday, February 10, 2015 at 10:42:47 PM UTC-6, Jed Carty wrote:
>
> I have been trying to get the math plugin I am working on set up as a 
> daemon that listens for changes and updates its output when one of the 
> tiddlers that has an expression in it changes.
>
> At the moment the only function is summing fields from a list of tiddlers 
> because I am running into a problem. The process will update and works as 
> expected when there is only one expression to evaluate, and when there are 
> multiple expressions but neither one actually has values to sum it works as 
> expected. The second one can be seen because you can set the default value 
> it outputs when it doesn't have any valid input.
>
> The problem is that once at least one has valid inputs only one expression 
> will update. I had assumed that this was because the first tiddler would 
> write its output and force a refresh that prevented the daemon from 
> finishing the update for the other expressions, but I can't find any place 
> where that would happen when only the inputs to the second expression are 
> changing.
>
> I have been trying to figure this out for a while without any success, any 
> ideas?
>
> The code is on git hub: 
> https://github.com/inmysocks/TW5-MathyThing/blob/master/sumfield-daemon.js
>
> and an example wiki showing what happens is here: 
> http://ooktech.com/jed/ExampleWikis/MathyThing/
>
> The operation takes the list of tiddlers from the filter in the filter 
> input field and sums the values in the field given in the sum field input 
> and stores those values in the store field of the store tiddler. The result 
> is also displayed in the expression tiddler.
>
> In the example only Expression 1 will update regardless of the changes to 
> the inputs to Expression 2.
>
> Sorry if I didn't explain this well, I am very frustrated right now. Any 
> help would be greatly appreciated.
>

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWikiDev" 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/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.

Reply via email to