Hi,
I'm trying to format a unix epoc into a human readable date as shown
here
https://community.jivesoftware.com/docs/DOC-42113#Formatting_Dates
but I get an error when I try to compile it.
My soy file:
{namespace nalps.map.mockup}
/**
* @param speedLimit
* @param name
* @param carCount
* @param peakSpeed
* @param averageSpeed
* @param temperature
* @param windSpeed
* @param windDirection
* @param lastUpdated
*/
{template .speedSign}
<table class="speed-sign-table">
<tr>
<td class="speed-sign-icon-cell">
<img class="speed-sign-icon" src="images/
{$speedLimit}.png" />
</td>
<td>{$name}</td>
</tr>
<tr>
<td colspan="2">Count: {$carCount}cpm</td>
</tr>
<tr>
<td colspan="2">Peak: {$peakSpeed}mph</td>
</tr>
<tr>
<td colspan="2">Average: {$averageSpeed}mph</td>
</tr>
{if $temperature}
<tr>
<td colspan="2">Temperature: {$temperature}°C</td>
</tr>
{/if}
{if $windSpeed}
<tr>
<td colspan="2">Wind speed: {$windSpeed}mph</td>
</tr>
{/if}
{if $windDirection}
<tr>
<td colspan="2">Wind direction: {$windDirection}mph</td>
</tr>
{/if}
<tr>
<td colspan="2">Last updated:
{formatDate($lastUpdated,'long','date')}</td>
</tr>
<tr>
<td> </td>
<td align="right"><a href="">Refresh</a></td>
</tr>
</table>
{/template}
Compile output:
Exception in thread "main"
com.google.template.soy.base.SoySyntaxException: In file templates.soy:
46: Unrecognized function 'formatDate' (function call
"formatDate($lastUpdated, 'long', 'date')").
at com.google.template.soy.parsepasses.CheckFunctionCallsVisitor
$CheckFunctionCallsExprVisitor.visitFunctionNode(CheckFunctionCallsVisitor.java:
173)
at
com.google.template.soy.exprtree.AbstractExprNodeVisitor.visit(AbstractExprNodeVisitor.java:
114)
at
com.google.template.soy.exprtree.AbstractExprNodeVisitor.visit(AbstractExprNodeVisitor.java:
69)
at
com.google.template.soy.basetree.AbstractNodeVisitor.visitChildren(AbstractNodeVisitor.java:
58)
at
com.google.template.soy.exprtree.AbstractExprNodeVisitor.visitChildren(AbstractExprNodeVisitor.java:
127)
at com.google.template.soy.parsepasses.CheckFunctionCallsVisitor
$CheckFunctionCallsExprVisitor.visitExprNode(CheckFunctionCallsVisitor.java:
125)
at
com.google.template.soy.exprtree.AbstractExprNodeVisitor.visitExprRootNode(AbstractExprNodeVisitor.java:
150)
at
com.google.template.soy.exprtree.AbstractExprNodeVisitor.visit(AbstractExprNodeVisitor.java:
76)
at
com.google.template.soy.exprtree.AbstractExprNodeVisitor.visit(AbstractExprNodeVisitor.java:
69)
at
com.google.template.soy.basetree.AbstractNodeVisitor.exec(AbstractNodeVisitor.java:
39)
at
com.google.template.soy.parsepasses.CheckFunctionCallsVisitor.visitSoyNode(CheckFunctionCallsVisitor.java:
89)
at
com.google.template.soy.soytree.AbstractSoyNodeVisitor.visitPrintNode(AbstractSoyNodeVisitor.java:
216)
at
com.google.template.soy.soytree.AbstractSoyNodeVisitor.visit(AbstractSoyNodeVisitor.java:
83)
at
com.google.template.soy.soytree.AbstractSoyNodeVisitor.visit(AbstractSoyNodeVisitor.java:
54)
at
com.google.template.soy.basetree.AbstractNodeVisitor.visitChildren(AbstractNodeVisitor.java:
58)
at
com.google.template.soy.soytree.AbstractSoyNodeVisitor.visitChildren(AbstractSoyNodeVisitor.java:
121)
at
com.google.template.soy.parsepasses.CheckFunctionCallsVisitor.visitSoyNode(CheckFunctionCallsVisitor.java:
102)
at
com.google.template.soy.soytree.AbstractSoyNodeVisitor.visitTemplateNode(AbstractSoyNodeVisitor.java:
160)
at
com.google.template.soy.soytree.AbstractSoyNodeVisitor.visitTemplateBasicNode(AbstractSoyNodeVisitor.java:
152)
at
com.google.template.soy.soytree.AbstractSoyNodeVisitor.visit(AbstractSoyNodeVisitor.java:
64)
at
com.google.template.soy.soytree.AbstractSoyNodeVisitor.visit(AbstractSoyNodeVisitor.java:
54)
at
com.google.template.soy.basetree.AbstractNodeVisitor.visitChildren(AbstractNodeVisitor.java:
58)
at
com.google.template.soy.soytree.AbstractSoyNodeVisitor.visitChildren(AbstractSoyNodeVisitor.java:
121)
at
com.google.template.soy.parsepasses.CheckFunctionCallsVisitor.visitSoyNode(CheckFunctionCallsVisitor.java:
102)
at
com.google.template.soy.soytree.AbstractSoyNodeVisitor.visitSoyFileNode(AbstractSoyNodeVisitor.java:
148)
at
com.google.template.soy.soytree.AbstractSoyNodeVisitor.visit(AbstractSoyNodeVisitor.java:
62)
at
com.google.template.soy.soytree.AbstractSoyNodeVisitor.visit(AbstractSoyNodeVisitor.java:
54)
at
com.google.template.soy.basetree.AbstractNodeVisitor.visitChildren(AbstractNodeVisitor.java:
58)
at
com.google.template.soy.soytree.AbstractSoyNodeVisitor.visitChildren(AbstractSoyNodeVisitor.java:
121)
at
com.google.template.soy.parsepasses.CheckFunctionCallsVisitor.visitSoyNode(CheckFunctionCallsVisitor.java:
102)
at
com.google.template.soy.soytree.AbstractSoyNodeVisitor.visitSoyFileSetNode(AbstractSoyNodeVisitor.java:
144)
at
com.google.template.soy.soytree.AbstractSoyNodeVisitor.visit(AbstractSoyNodeVisitor.java:
61)
at
com.google.template.soy.soytree.AbstractSoyNodeVisitor.visit(AbstractSoyNodeVisitor.java:
54)
at
com.google.template.soy.basetree.AbstractNodeVisitor.exec(AbstractNodeVisitor.java:
39)
at
com.google.template.soy.SoyFileSet.runMiddleendPasses(SoyFileSet.java:
792)
at
com.google.template.soy.SoyFileSet.compileToJsSrcFiles(SoyFileSet.java:
733)
at
com.google.template.soy.SoyToJsSrcCompiler.execMain(SoyToJsSrcCompiler.java:
255)
at
com.google.template.soy.SoyToJsSrcCompiler.main(SoyToJsSrcCompiler.java:
205)
Am I missing an external lib or something?
Regards
Ben