You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Ken nashua <nh...@hotmail.com> on 2007/09/04 17:09:25 UTC
JavaScript *.js, *.script - not showing up in markup
Folks,
I am trying to operate some JavaScript within a component T-4.1.2
It is not coming out in the rendering of the markup.
Is there any magic to this...? Some flag that needs to be set? My component
is rendering fine.
Code follows:
thanks
Best regards
Ken in nashua
Customhead.script
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE script PUBLIC
"-//Apache Software Foundation//Tapestry Script Specification 4.0//EN"
"http://jakarta.apache.org/tapestry/dtd/Script_4_0.dtd">
<script>
<include-script resource-path="/org/trails/demo/components/CustomHead.js"/>
<!-- E-Frastructure -->
<input-symbol key="id" class="java.lang.String" required="yes"/>
<input-symbol key="props" required="yes" />
<input-symbol key="form" required="yes" />
<input-symbol key="widget" required="yes" />
<!-- Business Logic -->
<input-symbol key="scaleWidth" required="yes" />
<input-symbol key="scaleHeight" required="yes" />
<input-symbol key="imageWidget" required="yes" />
<let key="CustomHead" unique="yes">
${id}
</let>
<!-- then use: var box = dojo.html.getContentBox(HTMLElement) -->
<!-- use the box values box.width and box.height to perform an ajax call
through -->
<!-- a tapestry service (better to do on page finish load so that you'll
perform -->
<!-- a single call, and do it in json). When you receive the message back,
then -->
<!-- you can set the background image for every image you want. -->
<!-- ...or you can call after the ajax response -->
<!-- dojo.html.insertCssText(cssStr, doc) -->
<body>
<unique>
dojo.require("tapestry.widget.Widget");
dojo.require("dojo.widget.Manager");
dojo.require("dojo.widget.HtmlWidget");
dojo.require("dojo.widget.*");
dojo.require("dojo.html");
dojo.require("dojo.event.*");
dojo.require("dojo.uri.Uri");
dojo.require("dojo.dom");
dojo.require("dojo.style");
dojo.event.connect(tapestry, "loadJson", function(type, data, http,
kwArgs){
// do your stuff...the data argument is your json object
});
</unique>
initCustomHead();
</body>
<initialization>
var ${completer}=${props};
var selw=dojo.widget.byId("${id}");
tapestry.widget.synchronizeWidgetState("${id}", "CustomHead", ${props},
${widget.destroy});
</initialization>
</script>
CustomHead.js
/**
* JavaScript Custom Head control
*
* @author kenneth.colassi nhhockeyplayer@hotmail.com
*
* Aug 2007
**/
// Initialize the Custom Head
function initCustomHead() {
window.onload = scaleHeader();
}
function scaleHeader() {
debugger;
var elementId = 'header';
var headerElement = document.getElementById(elementId);
var cb = dojo.html.getContentBox(headerElement);
var cb = dojo.html.getPaddingBox(headerElement);
var bb = dojo.html.getBorderBox(headerElement);
var mb = dojo.html.getMarginBox(headerElement);
}
Customhead.jwc
<!DOCTYPE component-specification PUBLIC "-//Apache Software
Foundation//Tapestry Specification 4.1//EN"
"http://jakarta.apache.org/tapestry/dtd/Tapestry_4_1.dtd">
<component-specification class="org.trails.demo.components.CustomHead"
allow-body="yes"
allow-informal-parameters="no">
<inject property="applicationSpecification"
object="infrastructure:applicationSpecification"/>
<inject property="script" type="script" object="CustomHead.script"/>
</component-specification>
_________________________________________________________________
Discover sweet stuff waiting for you at the Messenger Cafe. Claim your
treat today!
http://www.cafemessenger.com/info/info_sweetstuff.html?ocid=TXT_TAGHM_SeptHMtagline2
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org
Re: JavaScript *.js, *.script - not showing up in markup
Posted by Igor Drobiazko <ig...@gmail.com>.
Some issues:
1) Move scaleHeader() into <initialization>...</initialization>.
initCustomHead() is redundant.
2) Same for dojo.event.connect(....);
3) What is the value of ${completer}? Where is it specified?
br
Igor
On 9/4/07, Ken nashua <nh...@hotmail.com> wrote:
>
> Folks,
>
> I am trying to operate some JavaScript within a component T-4.1.2
>
> It is not coming out in the rendering of the markup.
>
> Is there any magic to this...? Some flag that needs to be set? My
> component
> is rendering fine.
>
> Code follows:
>
> thanks
> Best regards
> Ken in nashua
>
> Customhead.script
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE script PUBLIC
> "-//Apache Software Foundation//Tapestry Script Specification 4.0
> //EN"
> "http://jakarta.apache.org/tapestry/dtd/Script_4_0.dtd">
>
> <script>
> <include-script
> resource-path="/org/trails/demo/components/CustomHead.js"/>
>
> <!-- E-Frastructure -->
> <input-symbol key="id" class="java.lang.String" required="yes"/>
> <input-symbol key="props" required="yes" />
> <input-symbol key="form" required="yes" />
> <input-symbol key="widget" required="yes" />
>
> <!-- Business Logic -->
> <input-symbol key="scaleWidth" required="yes" />
> <input-symbol key="scaleHeight" required="yes" />
> <input-symbol key="imageWidget" required="yes" />
>
> <let key="CustomHead" unique="yes">
> ${id}
> </let>
>
>
> <!-- then use: var box = dojo.html.getContentBox(HTMLElement) -->
> <!-- use the box values box.width and box.height to perform an ajax
> call
> through -->
> <!-- a tapestry service (better to do on page finish load so that
> you'll
> perform -->
> <!-- a single call, and do it in json). When you receive the
> message back,
> then -->
> <!-- you can set the background image for every image you want. -->
> <!-- ...or you can call after the ajax response -->
> <!-- dojo.html.insertCssText(cssStr, doc) -->
>
>
> <body>
> <unique>
> dojo.require("tapestry.widget.Widget");
> dojo.require("dojo.widget.Manager");
> dojo.require("dojo.widget.HtmlWidget");
> dojo.require("dojo.widget.*");
> dojo.require("dojo.html");
> dojo.require("dojo.event.*");
> dojo.require("dojo.uri.Uri");
> dojo.require("dojo.dom");
> dojo.require("dojo.style");
>
> dojo.event.connect(tapestry, "loadJson",
> function(type, data, http,
> kwArgs){
> // do your stuff...the data argument is
> your json object
> });
> </unique>
> initCustomHead();
> </body>
>
> <initialization>
> var ${completer}=${props};
> var selw=dojo.widget.byId("${id}");
> tapestry.widget.synchronizeWidgetState("${id}",
> "CustomHead", ${props},
> ${widget.destroy});
> </initialization>
> </script>
>
> CustomHead.js
> /**
> * JavaScript Custom Head control
> *
> * @author kenneth.colassi nhhockeyplayer@hotmail.com
> *
> * Aug 2007
> **/
>
> // Initialize the Custom Head
> function initCustomHead() {
> window.onload = scaleHeader();
> }
>
> function scaleHeader() {
> debugger;
> var elementId = 'header';
> var headerElement = document.getElementById(elementId);
>
> var cb = dojo.html.getContentBox(headerElement);
> var cb = dojo.html.getPaddingBox(headerElement);
> var bb = dojo.html.getBorderBox(headerElement);
> var mb = dojo.html.getMarginBox(headerElement);
> }
>
> Customhead.jwc
> <!DOCTYPE component-specification PUBLIC "-//Apache Software
> Foundation//Tapestry Specification 4.1//EN"
> "http://jakarta.apache.org/tapestry/dtd/Tapestry_4_1.dtd">
> <component-specification class="org.trails.demo.components.CustomHead"
> allow-body="yes"
>
> allow-informal-parameters="no">
>
> <inject property="applicationSpecification"
> object="infrastructure:applicationSpecification"/>
> <inject property="script" type="script" object="CustomHead.script
> "/>
>
> </component-specification>
>
> _________________________________________________________________
> Discover sweet stuff waiting for you at the Messenger Cafe. Claim your
> treat today!
>
> http://www.cafemessenger.com/info/info_sweetstuff.html?ocid=TXT_TAGHM_SeptHMtagline2
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>