You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by Scott Swank <sc...@gmail.com> on 2008/02/05 21:58:35 UTC

duplicate HeaderContributor with ModalWindow

Hello all,

I am running into some odd behavior with 1.2.6 when I add a
ModalWindow to a ModalWindow.  We have subclassed ModalWindow to add
our own css & js.  The relevant part of that is:

public class AthenaModalWindow extends ModalWindow
{
	private static ResourceReference VEGAS_JS = new
ResourceReference(AthenaModalWindow.class,"vegas_modal.js");

	public AthenaModalWindow(String id, boolean useDefaultTitle)
	{
		super(id);
		add(HeaderContributor.forCss("/style/vegas_modal.css"));
		add(HeaderContributor.forJavaScript("/js/dojo.js"));
		add(HeaderContributor.forJavaScript(VEGAS_JS));
etc.

When I open a page with an AthenaModalWindow I see the following in the header:

<link type="text/css" rel="stylesheet" href="/mytrip/style/cart_global.css">
<link href="https://sb-www.vegas.com/mytrip/app/resources/wicket.extensions.ajax.markup.html.modal.ModalWindow/res/modal.css"
type="text/css" rel="stylesheet">
<link href="/mytrip/style/vegas_modal.css" type="text/css" rel="stylesheet">

Now when I try to open another AthenaModalWindow from within the above
ModalWindow I see the following added to the header

<link id="" rel="stylesheet"
href="http://www.vegas.com/mytrip/style/cart_global.css"
type="text/css">
<link id="" rel="stylesheet"
href="/mytrip/app/resources/wicket.extensions.ajax.markup.html.modal.ModalWindow/res/modal.css"
type="text/css">

At this point the css work that we have done in vegas_modal.css is
overridden by the re-introduction of modal.css.  Note the change of
modal.css' href

1) https://sb-www.vegas.com/mytrip/app/resources/wicket.extensions.ajax.markup.html.modal.ModalWindow/res/modal.css
2) /mytrip/app/resources/wicket.extensions.ajax.markup.html.modal.ModalWindow/res/modal.css

Conversely, the href for cart_global.css undergoes the opposite transformation:

1) /mytrip/style/cart_global.css
2) http://www.vegas.com/mytrip/style/cart_global.css

How can I control this so that modal.css is not added a 2nd time?
When I use FireBug to remove the 2nd copy of modal.css all of my
layout problems go away.

Thank you,
Scott

-- 
Scott Swank
reformed mathematician

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: duplicate HeaderContributor with ModalWindow

Posted by Scott Swank <sc...@gmail.com>.
Problem solved.

We have a custom WebRequestCodingStrategy, and it prepends
https://some.server.com to the url whenever the response page has our
custom annotation: RequireSSL.  However, the ajax request that opens a
ModalWindow has a null response page, and so the https prefix was not
added.  This resulted in the resource being added twice because it was
for different urls.  I now check whether the response page is null,
and if so I look at the request.getPage() for the annotation.

Not that anyone outside of our wall likely cares....   :)

Thanks none the less,
Scott


On Feb 5, 2008 2:09 PM, Igor Vaynberg <ig...@gmail.com> wrote:
> dont really know if it will help but can you try the trunk of 1.2.6
> branch. there have been a few fixes committed.
>
> -igor
>
>
>
> On Feb 5, 2008 1:55 PM, Scott Swank <sc...@gmail.com> wrote:
> > Perhaps of interest is the fact that the link to open the 1st
> > ModalWindow from the original page makes a wicketAjaxGet() call to
> > https://sb-www.vega.com/mytrip/app
> >
> > <a id="billingForm_checkoutBillingInfoPanel_creditCardOffer_creditCardApplicationLink"
> > wicket:id="creditCardApplicationLink"
> > href="#creditCardApplicationLink" onclick="var
> > wcall=wicketAjaxGet('https://sb-www.vegas.com/mytrip/app/?wicket:interface=:-10:billingForm:checkoutBillingInfoPanel:creditCardOffer:creditCardApplicationLink::IBehaviorListener&wicket:behaviorId=0',
> > function() { }, function() { });return !wcall;">
> > <img class="cc_banner_button" width="154" height="28" border="0"
> > alt="" src="/mytrip/images/btn_bnr_apply.gif"/>
> > </a>
> >
> > While the link that opens the 2nd ModalWindow makes a wicketAjaxGet()
> > call to /mytrip/app
> >
> > <a id="billingForm_checkoutBillingInfoPanel_creditCardOffer_creditCardApplicationPopup_content_creditCardApplicationTabs_panel_termsAndConditionsLink1"
> > wicket:id="termsAndConditionsLink1" href="#termsAndConditionsLink1"
> > onclick="var wcall=wicketAjaxGet('/mytrip/app/?wicket:interface=:-10:billingForm:checkoutBillingInfoPanel:creditCardOffer:creditCardApplicationPopup:content:creditCardApplicationTabs:panel:termsAndConditionsLink1::IBehaviorListener&wicket:behaviorId=0',
> > function() { }, function() { });return !wcall;">Terms and
> > Conditions</a>
> >
> > Thank you again,
> > Scott
> >
> >
> >
> > On Feb 5, 2008 12:58 PM, Scott Swank <sc...@gmail.com> wrote:
> > > Hello all,
> > >
> > > I am running into some odd behavior with 1.2.6 when I add a
> > > ModalWindow to a ModalWindow.  We have subclassed ModalWindow to add
> > > our own css & js.  The relevant part of that is:
> > >
> > > public class AthenaModalWindow extends ModalWindow
> > > {
> > >         private static ResourceReference VEGAS_JS = new
> > > ResourceReference(AthenaModalWindow.class,"vegas_modal.js");
> > >
> > >         public AthenaModalWindow(String id, boolean useDefaultTitle)
> > >         {
> > >                 super(id);
> > >                 add(HeaderContributor.forCss("/style/vegas_modal.css"));
> > >                 add(HeaderContributor.forJavaScript("/js/dojo.js"));
> > >                 add(HeaderContributor.forJavaScript(VEGAS_JS));
> > > etc.
> > >
> > > When I open a page with an AthenaModalWindow I see the following in the header:
> > >
> > > <link type="text/css" rel="stylesheet" href="/mytrip/style/cart_global.css">
> > > <link href="https://sb-www.vegas.com/mytrip/app/resources/wicket.extensions.ajax.markup.html.modal.ModalWindow/res/modal.css"
> > > type="text/css" rel="stylesheet">
> > > <link href="/mytrip/style/vegas_modal.css" type="text/css" rel="stylesheet">
> > >
> > > Now when I try to open another AthenaModalWindow from within the above
> > > ModalWindow I see the following added to the header
> > >
> > > <link id="" rel="stylesheet"
> > > href="http://www.vegas.com/mytrip/style/cart_global.css"
> > > type="text/css">
> > > <link id="" rel="stylesheet"
> > > href="/mytrip/app/resources/wicket.extensions.ajax.markup.html.modal.ModalWindow/res/modal.css"
> > > type="text/css">
> > >
> > > At this point the css work that we have done in vegas_modal.css is
> > > overridden by the re-introduction of modal.css.  Note the change of
> > > modal.css' href
> > >
> > > 1) https://sb-www.vegas.com/mytrip/app/resources/wicket.extensions.ajax.markup.html.modal.ModalWindow/res/modal.css
> > > 2) /mytrip/app/resources/wicket.extensions.ajax.markup.html.modal.ModalWindow/res/modal.css
> > >
> > > Conversely, the href for cart_global.css undergoes the opposite transformation:
> > >
> > > 1) /mytrip/style/cart_global.css
> > > 2) http://www.vegas.com/mytrip/style/cart_global.css
> > >
> > > How can I control this so that modal.css is not added a 2nd time?
> > > When I use FireBug to remove the 2nd copy of modal.css all of my
> > > layout problems go away.
> > >
> > > Thank you,
> > > Scott
> > >
> > > --
> > > Scott Swank
> > > reformed mathematician
> > >
> >
> >
> >
> > --
> > Scott Swank
> > reformed mathematician
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> > For additional commands, e-mail: users-help@wicket.apache.org
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>



-- 
Scott Swank
reformed mathematician

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: duplicate HeaderContributor with ModalWindow

Posted by Igor Vaynberg <ig...@gmail.com>.
dont really know if it will help but can you try the trunk of 1.2.6
branch. there have been a few fixes committed.

-igor


On Feb 5, 2008 1:55 PM, Scott Swank <sc...@gmail.com> wrote:
> Perhaps of interest is the fact that the link to open the 1st
> ModalWindow from the original page makes a wicketAjaxGet() call to
> https://sb-www.vega.com/mytrip/app
>
> <a id="billingForm_checkoutBillingInfoPanel_creditCardOffer_creditCardApplicationLink"
> wicket:id="creditCardApplicationLink"
> href="#creditCardApplicationLink" onclick="var
> wcall=wicketAjaxGet('https://sb-www.vegas.com/mytrip/app/?wicket:interface=:-10:billingForm:checkoutBillingInfoPanel:creditCardOffer:creditCardApplicationLink::IBehaviorListener&wicket:behaviorId=0',
> function() { }, function() { });return !wcall;">
> <img class="cc_banner_button" width="154" height="28" border="0"
> alt="" src="/mytrip/images/btn_bnr_apply.gif"/>
> </a>
>
> While the link that opens the 2nd ModalWindow makes a wicketAjaxGet()
> call to /mytrip/app
>
> <a id="billingForm_checkoutBillingInfoPanel_creditCardOffer_creditCardApplicationPopup_content_creditCardApplicationTabs_panel_termsAndConditionsLink1"
> wicket:id="termsAndConditionsLink1" href="#termsAndConditionsLink1"
> onclick="var wcall=wicketAjaxGet('/mytrip/app/?wicket:interface=:-10:billingForm:checkoutBillingInfoPanel:creditCardOffer:creditCardApplicationPopup:content:creditCardApplicationTabs:panel:termsAndConditionsLink1::IBehaviorListener&wicket:behaviorId=0',
> function() { }, function() { });return !wcall;">Terms and
> Conditions</a>
>
> Thank you again,
> Scott
>
>
>
> On Feb 5, 2008 12:58 PM, Scott Swank <sc...@gmail.com> wrote:
> > Hello all,
> >
> > I am running into some odd behavior with 1.2.6 when I add a
> > ModalWindow to a ModalWindow.  We have subclassed ModalWindow to add
> > our own css & js.  The relevant part of that is:
> >
> > public class AthenaModalWindow extends ModalWindow
> > {
> >         private static ResourceReference VEGAS_JS = new
> > ResourceReference(AthenaModalWindow.class,"vegas_modal.js");
> >
> >         public AthenaModalWindow(String id, boolean useDefaultTitle)
> >         {
> >                 super(id);
> >                 add(HeaderContributor.forCss("/style/vegas_modal.css"));
> >                 add(HeaderContributor.forJavaScript("/js/dojo.js"));
> >                 add(HeaderContributor.forJavaScript(VEGAS_JS));
> > etc.
> >
> > When I open a page with an AthenaModalWindow I see the following in the header:
> >
> > <link type="text/css" rel="stylesheet" href="/mytrip/style/cart_global.css">
> > <link href="https://sb-www.vegas.com/mytrip/app/resources/wicket.extensions.ajax.markup.html.modal.ModalWindow/res/modal.css"
> > type="text/css" rel="stylesheet">
> > <link href="/mytrip/style/vegas_modal.css" type="text/css" rel="stylesheet">
> >
> > Now when I try to open another AthenaModalWindow from within the above
> > ModalWindow I see the following added to the header
> >
> > <link id="" rel="stylesheet"
> > href="http://www.vegas.com/mytrip/style/cart_global.css"
> > type="text/css">
> > <link id="" rel="stylesheet"
> > href="/mytrip/app/resources/wicket.extensions.ajax.markup.html.modal.ModalWindow/res/modal.css"
> > type="text/css">
> >
> > At this point the css work that we have done in vegas_modal.css is
> > overridden by the re-introduction of modal.css.  Note the change of
> > modal.css' href
> >
> > 1) https://sb-www.vegas.com/mytrip/app/resources/wicket.extensions.ajax.markup.html.modal.ModalWindow/res/modal.css
> > 2) /mytrip/app/resources/wicket.extensions.ajax.markup.html.modal.ModalWindow/res/modal.css
> >
> > Conversely, the href for cart_global.css undergoes the opposite transformation:
> >
> > 1) /mytrip/style/cart_global.css
> > 2) http://www.vegas.com/mytrip/style/cart_global.css
> >
> > How can I control this so that modal.css is not added a 2nd time?
> > When I use FireBug to remove the 2nd copy of modal.css all of my
> > layout problems go away.
> >
> > Thank you,
> > Scott
> >
> > --
> > Scott Swank
> > reformed mathematician
> >
>
>
>
> --
> Scott Swank
> reformed mathematician
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: duplicate HeaderContributor with ModalWindow

Posted by Scott Swank <sc...@gmail.com>.
Perhaps of interest is the fact that the link to open the 1st
ModalWindow from the original page makes a wicketAjaxGet() call to
https://sb-www.vega.com/mytrip/app

<a id="billingForm_checkoutBillingInfoPanel_creditCardOffer_creditCardApplicationLink"
wicket:id="creditCardApplicationLink"
href="#creditCardApplicationLink" onclick="var
wcall=wicketAjaxGet('https://sb-www.vegas.com/mytrip/app/?wicket:interface=:-10:billingForm:checkoutBillingInfoPanel:creditCardOffer:creditCardApplicationLink::IBehaviorListener&wicket:behaviorId=0',
function() { }, function() { });return !wcall;">
<img class="cc_banner_button" width="154" height="28" border="0"
alt="" src="/mytrip/images/btn_bnr_apply.gif"/>
</a>

While the link that opens the 2nd ModalWindow makes a wicketAjaxGet()
call to /mytrip/app

<a id="billingForm_checkoutBillingInfoPanel_creditCardOffer_creditCardApplicationPopup_content_creditCardApplicationTabs_panel_termsAndConditionsLink1"
wicket:id="termsAndConditionsLink1" href="#termsAndConditionsLink1"
onclick="var wcall=wicketAjaxGet('/mytrip/app/?wicket:interface=:-10:billingForm:checkoutBillingInfoPanel:creditCardOffer:creditCardApplicationPopup:content:creditCardApplicationTabs:panel:termsAndConditionsLink1::IBehaviorListener&wicket:behaviorId=0',
function() { }, function() { });return !wcall;">Terms and
Conditions</a>

Thank you again,
Scott


On Feb 5, 2008 12:58 PM, Scott Swank <sc...@gmail.com> wrote:
> Hello all,
>
> I am running into some odd behavior with 1.2.6 when I add a
> ModalWindow to a ModalWindow.  We have subclassed ModalWindow to add
> our own css & js.  The relevant part of that is:
>
> public class AthenaModalWindow extends ModalWindow
> {
>         private static ResourceReference VEGAS_JS = new
> ResourceReference(AthenaModalWindow.class,"vegas_modal.js");
>
>         public AthenaModalWindow(String id, boolean useDefaultTitle)
>         {
>                 super(id);
>                 add(HeaderContributor.forCss("/style/vegas_modal.css"));
>                 add(HeaderContributor.forJavaScript("/js/dojo.js"));
>                 add(HeaderContributor.forJavaScript(VEGAS_JS));
> etc.
>
> When I open a page with an AthenaModalWindow I see the following in the header:
>
> <link type="text/css" rel="stylesheet" href="/mytrip/style/cart_global.css">
> <link href="https://sb-www.vegas.com/mytrip/app/resources/wicket.extensions.ajax.markup.html.modal.ModalWindow/res/modal.css"
> type="text/css" rel="stylesheet">
> <link href="/mytrip/style/vegas_modal.css" type="text/css" rel="stylesheet">
>
> Now when I try to open another AthenaModalWindow from within the above
> ModalWindow I see the following added to the header
>
> <link id="" rel="stylesheet"
> href="http://www.vegas.com/mytrip/style/cart_global.css"
> type="text/css">
> <link id="" rel="stylesheet"
> href="/mytrip/app/resources/wicket.extensions.ajax.markup.html.modal.ModalWindow/res/modal.css"
> type="text/css">
>
> At this point the css work that we have done in vegas_modal.css is
> overridden by the re-introduction of modal.css.  Note the change of
> modal.css' href
>
> 1) https://sb-www.vegas.com/mytrip/app/resources/wicket.extensions.ajax.markup.html.modal.ModalWindow/res/modal.css
> 2) /mytrip/app/resources/wicket.extensions.ajax.markup.html.modal.ModalWindow/res/modal.css
>
> Conversely, the href for cart_global.css undergoes the opposite transformation:
>
> 1) /mytrip/style/cart_global.css
> 2) http://www.vegas.com/mytrip/style/cart_global.css
>
> How can I control this so that modal.css is not added a 2nd time?
> When I use FireBug to remove the 2nd copy of modal.css all of my
> layout problems go away.
>
> Thank you,
> Scott
>
> --
> Scott Swank
> reformed mathematician
>



-- 
Scott Swank
reformed mathematician

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org