On 11/16/2012 6:01, Jack Hodges wrote:
Thank you for the suggestion. I tried it (fragments provided below)
but the javascript function doesn't appear to be getting called. I
must admit to being a javascript numbno but have been successful with
other javascript tasks and following other javascript examples in the
SWP pages I am working on.
Here is the javascript I am putting in the ui:headIncludes (I have
also tried embedding it into the ui:prototype):
<ui:group>
<link href="lib/nia/styles/nia.css" rel="stylesheet" type="text/css"/>
<link href="lib/nia/styles/linkedmodels.min.css" rel="stylesheet"
type="text/css"/>
<script type="text/javascript">$('document').ready(function(){
function storeCurrentResource(resource) {
if (!supportsLocalStorage()) { alert("no local storage"); }
localStorage["selected_data"] = resource;
alert("yes");
return true;
}
});</script>
</ui:group>
Have you tried removing the $('document').ready around this? Just
declare the function. Otherwise this may get called after the script in
the body.
And the usual meta-comment: Make sure you run all this with Firebug
enabled and look at the console for errors.
HTH
Holger
As you can see, the only purpose of this function is to save the
resource into local storage. Saving content into local storage is
working just fine for button clicks.
Here is the call in the ui:prototype:
<ui:setContext ui:queryGraph="{=
ui:graphWithImports(nia:maybeConvertToURI(?context)) }">
<ui:group>
<swa:FullScreenBorderLayout>
<div class="ui-layout-center" ui:childIndex="3">
<div class="tuiView" let:myClass="{=
spl:object(?resource, rdf:type) }">
<h2>{= ui:label(?myClass) }</h2>
<h3>{= ui:label(?resource) }</h3>
<script ui:childIndex="1">storeCurrentResource('{=
?resource }');</script>
<div class="lm_resource_summary" ui:childIndex="2">
<p>{= nia:getDescription(?resource) }</p>
<p class="lm-qname">QName = {=
ui:encodeNode(?resource) }</p>
</div>
...
What follows is just standard SWP content. The page renders fine so
there is nothing noteworthy in the SPARQL of page view content. Is
this a valid way to call a javascript function in the body? I followed
your example syntax and other examples we have.
Jack
On Wednesday, October 31, 2012 5:18:33 PM UTC-7, Holger Knublauch wrote:
On 11/1/2012 3:46, Jack Hodges wrote:
> The SWP user guide says that the content in ui:headIncludes is
copied
> into the <head> portion of the html when it is constructed. If I
refer
> to one of the spin constraint variables (e.g. ?resource) in the
> javascript, will it be resolved properly in the page? --
Hi Jack,
ui:headIncludes cannot access variables from the element instance, so
even if your SWP element takes arguments they will be unbound in the
ui:headIncludes. This is because the headIncludes are only
inserted once
for a page, and many components in the same class hierarchy may share
the same headIncludes by inheritance.
Also note that in order to use SPARQL variables in JavaScript,
they are
(of course) not evaluated client-side, but server side. So a typical
scenario is to have something like
<script>
function myFunction(resource) {
doSomething(resource);
}
</script>
in your ui:headIncludes and then use
<script>myFunction('{= ?resource }')</script>
in the ui:prototype to call the static JavaScript code from the head.
This will hopefully address your scenario. If not please provide
details.
HTH
Holger
> -- You received this message because you are subscribed to the
Google
> Group "TopBraid Suite Users", the topics of which include
Enterprise
> Vocabulary Network (EVN), TopBraid Composer, TopBraid Live,
> TopBraid Ensemble, SPARQLMotion, SPARQL Web Pages and SPIN.
> To post to this group, send email to
> topbrai...@googlegroups.com <javascript:>
> To unsubscribe from this group, send email to
> topbraid-user...@googlegroups.com <javascript:>
> For more options, visit this group at
> http://groups.google.com/group/topbraid-users?hl=en
<http://groups.google.com/group/topbraid-users?hl=en>
>
>
--
-- You received this message because you are subscribed to the Google
Group "TopBraid Suite Users", the topics of which include Enterprise
Vocabulary Network (EVN), TopBraid Composer, TopBraid Live,
TopBraid Ensemble, SPARQLMotion, SPARQL Web Pages and SPIN.
To post to this group, send email to
topbraid-users@googlegroups.com
To unsubscribe from this group, send email to
topbraid-users+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/topbraid-users?hl=en
--
-- You received this message because you are subscribed to the Google
Group "TopBraid Suite Users", the topics of which include Enterprise Vocabulary
Network (EVN), TopBraid Composer, TopBraid Live,
TopBraid Ensemble, SPARQLMotion, SPARQL Web Pages and SPIN.
To post to this group, send email to
topbraid-users@googlegroups.com
To unsubscribe from this group, send email to
topbraid-users+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/topbraid-users?hl=en