Hi Philippe,
I've never had any luck passing parameters into a javascript macro the way
Eric shows. What's happening, is that the macro is seeing the literal
string "{{!!bestbefore}}".
What format are you using for your dates? Hmm ... looks like you're using
the TW format. Not my first choice.
Let me see if I can set your code up the way I use it .... BRB
Mark
On Tuesday, November 1, 2016 at 10:20:01 AM UTC-7, Philippe Le Toquin wrote:
>
> Hello
>
> Here is my macro and yes I had noticed the extra >
>
> /*\
> title: $:/_ppmt/macros/day-left.js
> type: application/javascript
> module-type: macro
>
> Takes current day and best before date and return their difference in days
>
> \*/
>
> (function(){
>
> /*jslint node: true, browser: true */
> /*global $tw: false */
> "use strict";
>
> /*
> Information about this macro
> */
> exports.name = "day-left";
>
> exports.params = [
> {name: "bestbefore"}
> ];
>
> /*
> Run the macro
> */
> exports.run = function(bestbefore) {
> //Make each date object.
> var year= parseInt(bestbefore.substring(0,4));
> var month= parseInt(bestbefore.substring(4,6));
> var day= parseInt(bestbefore.substring(6,8));
> var date1 = new Date(year, month, day);
> var date2 = new Date();
>
> //Find difference in milliseconds.
> var elapsed = date1.getTime()-date2.getTime();
>
> //Number of milliseconds in a day.
> var dayMS = 86400000;
>
> //Convert milliseconds to year months and days
> var days_diff = Math.floor(elapsed/dayMS);
>
> var result = days_diff;
> if (result>10) { return "NO";}
> else {return "YES";}
> };
>
> })();
>
>
>
> On Tuesday, 1 November 2016 15:44:37 UTC, Mark S. wrote:
>>
>> Hi Philippe,
>>
>> Can you share your version of the day-diff.js macro?
>>
>> I notice that there is a small typographical error in Eric's post. It's
>> the double arrow at the end of the first <$reveal> widget. Perhaps you
>> caught that?
>>
>> Good luck!
>> Mark
>>
>> On Tuesday, November 1, 2016 at 5:36:43 AM UTC-7, Philippe Le Toquin
>> wrote:
>>>
>>> HI Eric,
>>>
>>> I have tried you method but it is still not working. It is better in the
>>> sense that it doesn't print the part I only want to print when it matches
>>> but even when it is matching it still stays invisible. The only way to
>>> reveal is to set type to nomatch.
>>> :(
>>>
>>> Philippe
>>>
>>> On Tuesday, 1 November 2016 00:12:48 UTC, Eric Shulman wrote:
>>>>
>>>> On Monday, October 31, 2016 at 3:45:29 PM UTC-7, Philippe Le Toquin
>>>> wrote:
>>>>>
>>>>> What I would ideally like to do is that the text in red (to be
>>>>> discarded) only appears if the return of the macro is YES.
>>>>> I would like to use the RevealWidget but can't make it works. Here is
>>>>> what I tried
>>>>> * <$link to={{!!title}}><$view field="title"/> </$link> <$reveal
>>>>> type="match" state="<$macrocall $name="day-left"
>>>>> bestbefore={{!!bestbefore}} />" text="YES">@@color:red;( to be
>>>>> discarded )@@ </$reveal>
>>>>> but the result of that is not working. Instead it displays:
>>>>>
>>>>
>>>> While the "text" param can contain any desired text, macro call, or
>>>> transclusion syntax, the "state" param can only be used to specify a
>>>> TextReference (i.e., a target tiddler field or a DataTiddler property in
>>>> which to store the current state value).
>>>>
>>>> To use a macro value instead of a stored state value, *omit* the
>>>> "state" param entirely and use the "default" param instead... something
>>>> like this:
>>>>
>>>> <$reveal type="match" default=<<day-left bestbefore={{!!bestbefore}}>>
>>>> text="YES">>
>>>> @@color:red;( to be discarded )@@
>>>> </$reveal>
>>>>
>>>> That should do it. Let me know how it goes.
>>>>
>>>> enjoy,
>>>> -e
>>>> Eric Shulman
>>>> TiddlyTools / ELS Design Studios
>>>> InsideTiddlyWiki: The Missing Manuals
>>>>
>>>>
--
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 https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit
https://groups.google.com/d/msgid/tiddlywiki/789eeca3-130c-4cad-bbc4-2013bfb1bd65%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.