I am trying to design a Panel that dynamically creates JavaScript into the
<head> markup. I understand how to do this statically, but not dynamically.
My app runs on wireless PDA scanning devices used in grocery stores. One of
the requirements is that it does not allow the user to place focus on any
other part of the page other than where I want it. I did this statically on
every JSP I had in my last Struts version app. It would be nice to add a
panel to each page that would dynamically create the JavaScript needed based
on the relevant components that need focus. Something like this:
public class MyPage extends WebPage
{
public MyPage()
{
add(...);
add(...);
add(...);
...
add(new ForceFocusPanel("forceFocus", this));
}
...
}
public class ForceFocusPanel extends Panel
{
public ForceFocusPanel()
{
// Iterate thru components on the original page and add
relevant ones and
the necessary JavaScript
// to some kind of repeater or ListView ?
// Add this repeater to the markup template to appear in the
head markup ?
add(relevantFocusComponent);
}
}
ForceFocusPanel.html
<wicket:head>
<script type="text/javascript">
<??? wicket:id="relevantFocusComponents" />
</script>
</wicket:head>
<wicket:panel>
</wicket:panel>
Here are my questions,
1. Please stop me if I am trying to reinvent the wheel and point me to that
magical component if there is one.
2. Since I only want to modify the original Page's <head> markup, do I have
to include the Panel's wicket:id somewhere on the original Page's markup?
3. What method do I use to get the Page's components so that I can iterate
over them?
4. What type of component would I add to my Panel that would contain the
relevant "focus components" JavaScript? A repeater of some kind or ListView?
5. What type of markup would I use to place this repeater component into my
Panel's <head> markup and will this even work within the <head> markup?
<wicket:head>
<script type="text/javascript">
...
<??? wicket:id="relevantFocusComponents" />
...
</script>
</wicket:head>
I know this is a lot of questions, and by no means am I asking anyone to
write code for me. I am just looking for hints, suggestions or point me to
some examples if available.
Thanks,
Warren Bell
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]