On Wed, Jan 15, 2020 at 8:12 PM Sven Meier <s...@meiers.net> wrote: > Hi Martin, > > IMHO we have to decide first whether we want to use the "hidden" attribute. > I'm not sure about the pros and cons at the moment. > > Depending on that decision (NO) we'll have to write CSS classes anyway > or (YES) we might want to add them additionally. > In the latter case I'm not sure we need a CSS file at all, just to > contain "display: none". >
Right! This is how this discussion started (question 1): if we use 'hidden' attribute for this case then there is no need of CSS file. For the other cases/tickets we can decide separately. > > Thanks > Sven > > > On 15.01.20 18:52, Martin Grigorov wrote: > > On Wed, Jan 15, 2020, 19:29 Sven Meier <s...@meiers.net> wrote: > > > >> I disagree, "hidden" has the perfect semantic for what we're doing with > >> placeholders or other <div>s. > >> > > How about such CSS rule: > > > > [data-wicket-placeholder][hidden] > > { > > display : none !important; > > } > > > > ? > > > > > >> Sven > >> > >> > >> On 15.01.20 11:44, Emond Papegaaij wrote: > >>>>> According to my tests > >>>>> textarea with hidden attribute works the same way as `display: none` > >>>>> (latest Chrome, FF, Chromium) > >>>>> > >>> Maxim and Andrew: Yes, the display: none is very important. (That's > >>> why it even has !important). The hidden attribute has the lowest > >>> priority possible. Any matching CSS rule will override it's behavior. > >>> For example, if you have this html: > >>> <html> > >>> <style>li { display: list-item; }</style> > >>> <ul><li hidden>This will be visible</li></ul> > >>> </html> > >>> The li is visible, even though it has the hidden attribute. This is > >>> not what we want. Keep in mind that this is about components with > >>> isVisible() == false. The only reason we render something is because a > >>> placeholder is needed for Ajax updates. > >>> > >>>> Additionally, I think we should not use just > >>>> [hidden] { > >>>> ... > >>>> } > >>>> > >>>> in wicker-core.css because this will affect *all* elements in the > page. > >> And > >>>> the applications may not want Wicket styling for their own hidden > >> elements. > >>>> The CSS rule should be namespaced with "wicket-something", like > >>>> wicket-xyz[hidden] {...} > >>> I totally agree with Martin here. hidden already has semantics, we > >>> shouldn't tamper with that. Adding 'display: none!important' to hidden > >>> breaks the behavior described above. > >>> > >>>>> So I would vote for using `hidden="hidden"` for placeholders and > >> preserving > >>>>> `data-wicket-placeholder` > >>>>> (due to hidden can be used in regular markup while > >>>>> `data-wicket-placeholder` is clear way to determine the placeholders) > >>> The data-wicket-placeholder is indeed needed. All placeholders are > >>> hidden, but not all hidden elements are placeholders. As stated above, > >>> I'd vote against using the hidden attribute. We need something with a > >>> wicket namespace here. We can have the CSS match > >>> [data-wicket-placeholder], but I'm not a big fan of matching data > >>> attributes in CSS. > >>> > >>> Best regards, > >>> Emond > >>> > >>>>> On Wed, 15 Jan 2020 at 04:55, Andrew Kondratev <and...@kondratev.pro > > > >>>>> wrote: > >>>>> > >>>>>> Hi Everyone! > >>>>>> > >>>>>> Is this "none !important" actually needed? Elements with hidden > >> attribute > >>>>>> are hidden by themselves, except the cases when they have some > display > >>>>>> overrides (see > >>>>>> > >> > https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/hidden > >>>>>> ). > >>>>>> If developer/user does override he or she could take care of this by > >>>>>> himself. > >>>>>> > >>>>>> If the only style in core css is this wicket--hidden the whole css > is, > >>>>>> probably unnecessary. > >>>>>> > >>>>>> ср, 15 янв. 2020 г. в 10:38, Sven Meier <s...@meiers.net>: > >>>>>> > >>>>>>> Hi Edmond, > >>>>>>> > >>>>>>> then I'll ask again: > >>>>>>> > >>>>>>> Why not render a "hidden" attribute and style it in the core css: > >>>>>>> > >>>>>>> |[hidden] { display: none !important}| > >>>>>>> > >>>>>>> We could get rid of the "data-wicket-placeholder" attribute as > well, > >>>>> and > >>>>>>> let wicket-ajax check on the "hidden" attribute instead. > >>>>>>> > >>>>>>> Sven > >>>>>>> > >>>>>>> On 14.01.20 21:06, Emond Papegaaij wrote: > >>>>>>>>> >Using the hidden attribute is no option either, > >>>>>>>>> >because it is overridden by any css that sets display. > >>>>>>>>> > >>>>>>>>> why is that a no-option, hidden elements can be styled too: > >>>>>>>> Dropping the styling altogether will force our users to package > >> their > >>>>>>>> own styling for artifacts generated by Wicket. These styles are > not > >>>>> to > >>>>>>>> make your application look nice, but to make certain Wicket > >> internals > >>>>>>>> work as expected. In the case of wicket--hidden, not much else can > >> be > >>>>>>>> done than use 'display:none'. In the case of the Form parts, more > >>>>>>>> elaborate styling is need to keep the extra fields hidden without > >>>>>>>> using display:none. Why put the burden on the user of Wicket when > we > >>>>>>>> can package those styling ourselves? I can put the registration of > >>>>> the > >>>>>>>> IHeaderContributor in a protected method in WebApplication. That > way > >>>>>>>> you can change the behavior in a subclass. You can already change > >> the > >>>>>>>> stylesheet if you need to. > >>>>>>>> > >>>>>>>>> Do you mean FormComponentFeedbackBorder's "color:red;" style? > >>>>>>>>> I wouldn't want that to be located in a 'kitchen-sink' CSS file > in > >>>>> the > >>>>>>>>> future. > >>>>>>>> Yes, that's the styling I meant. There are more examples. IMHO > those > >>>>>>>> are typical candidates for CSS classes, but without styling > packaged > >>>>>>>> with Wicket (like with FeedbackPanel). The styling is not going to > >>>>>>>> match the users application anyway. Who would want to use red as a > >>>>>>>> color for a border? Even for me, being colorblind, that color is > way > >>>>>>>> too saturated. > >>>>>>>> > >>>>>>>> Best regards, > >>>>>>>> Emond > >>>>>>>> > >>>>>>>>> Have fun > >>>>>>>>> Sven|| > >>>>>>>>> || > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> On 14.01.20 20:31, Emond Papegaaij wrote: > >>>>>>>>>> Hi, > >>>>>>>>>> > >>>>>>>>>> Sven, we do need styling to hide components. > >>>>>>>>>> Component.renderPlaceholderTag renders an empty tag for whatever > >> it > >>>>>>>>>> reads from your markup. That fact that it is empty, does not > mean > >>>>> it > >>>>>>>>>> is invisible. For example, in my application I had empty > >> list-items > >>>>>>>>>> (li) popping up all over the place. Using the hidden attribute > is > >>>>> no > >>>>>>>>>> option either, because it is overridden by any css that sets > >>>>> display. > >>>>>>>>>> We need something that takes precedence over most styling and > >> hides > >>>>>>>>>> the component for sure. > >>>>>>>>>> > >>>>>>>>>> Maxim, I didn't know about the application wide > >>>>> IHeaderContributors. > >>>>>>>>>> I'll give that a try, it seems cleaner to me than overriding > >>>>>>>>>> renderHead in Page. > >>>>>>>>>> > >>>>>>>>>> About the contents of the stylesheet, it will probably not > contain > >>>>>>>>>> much styling, but it will be more than just wicket--hidden. For > >>>>>>>>>> example, the styling for the form submit handling markup needs > to > >>>>> go > >>>>>>>>>> there as well. I also found some other places with inline > styling, > >>>>>>>>>> like FormComponentFeedbackBorder. We need to decide what to do > >> with > >>>>>>>>>> those as well. > >>>>>>>>>> > >>>>>>>>>> Best regards, > >>>>>>>>>> Emond > >>>>>>>>>> > >>>>>>>>>> On Tue, Jan 14, 2020 at 7:19 PM Sven Meier <s...@meiers.net> > >>>>> wrote: > >>>>>>>>>>> Hi Maxim, > >>>>>>>>>>> > >>>>>>>>>>> an empty div with hidden inputs does not take any space. > >>>>>>>>>>> > >>>>>>>>>>> Try it with wicket-examples. > >>>>>>>>>>> > >>>>>>>>>>> Have fun > >>>>>>>>>>> Sven > >>>>>>>>>>> > >>>>>>>>>>> Am 14. Januar 2020 18:07:23 MEZ schrieb Maxim Solodovnik < > >>>>>>> solomax...@gmail.com>: > >>>>>>>>>>>> I thought the main idea is to keep placeholder for any element > >>>>> both > >>>>>>>>>>>> invisible and "take no space" > >>>>>>>>>>>> hidden attribute might work instead of `display: none` > >>>>>>>>>>>> The latter also hides all descendants [1], so I guess it > should > >>>>> be > >>>>>>>>>>>> preferable > >>>>>>>>>>>> > >>>>>>>>>>>> [1] https://developer.mozilla.org/en-US/docs/Web/CSS/display > >>>>>>>>>>>> > >>>>>>>>>>>> On Wed, 15 Jan 2020 at 00:01, Sven Meier <s...@meiers.net> > >>>>> wrote: > >>>>>>>>>>>>> Hi, > >>>>>>>>>>>>> > >>>>>>>>>>>>> do we really need this CSS? > >>>>>>>>>>>>> > >>>>>>>>>>>>> AFAIK the 'hidden' markup from Form and Component > placeholders > >>>>> do > >>>>>>> not > >>>>>>>>>>>>> need any styling actually, they look fine without it. > >>>>>>>>>>>>> We should add a CSS class to the markup of course, but leave > >> its > >>>>>>>>>>>> styling > >>>>>>>>>>>>> to each project. > >>>>>>>>>>>>> > >>>>>>>>>>>>> Cases in wicket-examples (UploadProgressBar, deprecated > >>>>>> ModalWindow > >>>>>>>>>>>> and > >>>>>>>>>>>>> AjaxIndicatorAppender) could switch to a different solution > >>>>> (e.g. > >>>>>>>>>>>> their > >>>>>>>>>>>>> own CSS). > >>>>>>>>>>>>> > >>>>>>>>>>>>> If wicket-base.css contains ".wicket--hidden" only, the > effort > >>>>>> isn't > >>>>>>>>>>>>> worth it IMHO. > >>>>>>>>>>>>> > >>>>>>>>>>>>> Sven > >>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>>> On 14.01.20 16:23, Maxim Solodovnik wrote: > >>>>>>>>>>>>>> For example it can be added as > >>>>>>>>>>>>>> `Application.get().getHeaderContributorListeners()` > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> On Tue, 14 Jan 2020 at 16:03, Maxim Solodovnik > >>>>>>>>>>>> <solomax...@gmail.com> > >>>>>>>>>>>>> wrote: > >>>>>>>>>>>>>>> `!important` is not the silver bullet (as well as inline > >>>>> style) > >>>>>>>>>>>>>>> `renderHead` is not as important as `onConfigure`, so I > >>>>> believe > >>>>>> it > >>>>>>>>>>>>>>> shouldn't be made mandatory > >>>>>>>>>>>>>>> Maybe there is some `hackish` way to inject this css only > >> once > >>>>>> for > >>>>>>>>>>>> any > >>>>>>>>>>>>>>> component hierarchy? > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> On Tue, 14 Jan 2020 at 15:55, Emond Papegaaij < > >>>>>>>>>>>>> emond.papega...@gmail.com> > >>>>>>>>>>>>>>> wrote: > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>> Rendering components without a page will indeed require > you > >>>>> to > >>>>>>>>>>>> include > >>>>>>>>>>>>>>>> the core css file yourself. I think that's better than > >> adding > >>>>>> the > >>>>>>>>>>>> css > >>>>>>>>>>>>>>>> file with every component, as that will impose a massive > >>>>>>>>>>>> overhead. > >>>>>>>>>>>>>>>> I've renamed the css file to wicket-core.css as suggested > by > >>>>>>>>>>>> Martin. > >>>>>>>>>>>>>>>> The idea is to collect all styling used with wicket-core > in > >>>>>> this > >>>>>>>>>>>> css > >>>>>>>>>>>>>>>> file. I do not like the idea to use a behavior for adding > >> the > >>>>>>>>>>>>>>>> stylesheet, as that will increase the size of every page. > >>>>>> Maybe a > >>>>>>>>>>>>>>>> temporary behavior can be used, but that will need to be > >>>>>> re-added > >>>>>>>>>>>> on > >>>>>>>>>>>>>>>> every render then. Maybe, we can add a check to > >>>>>> super.renderHead, > >>>>>>>>>>>> like > >>>>>>>>>>>>>>>> we do with onConfgure and onInitialize? > >>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>> Using the hidden attribute is not a good idea, for the > same > >>>>>>>>>>>> reason as > >>>>>>>>>>>>>>>> I chose to use !important in the css file: any matching > css > >>>>>> rule > >>>>>>>>>>>> that > >>>>>>>>>>>>>>>> is more specify will otherwise override the visibility and > >>>>>> cause > >>>>>>>>>>>> the > >>>>>>>>>>>>>>>> component to be visible anyway (like display: flex). > >>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>> Best regards, > >>>>>>>>>>>>>>>> Emond > >>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>> On Tue, Jan 14, 2020 at 9:10 AM Maxim Solodovnik > >>>>>>>>>>>> <solomax...@gmail.com > >>>>>>>>>>>>>>>> wrote: > >>>>>>>>>>>>>>>>> The problem as I see it > >>>>>>>>>>>>>>>>> The component will be rendered without page (and without > >> CSS > >>>>>>>>>>>> file > >>>>>>>>>>>>>>>> itself) > >>>>>>>>>>>>>>>>> so element with this class will actually be visible .... > >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> On Tue, 14 Jan 2020 at 15:08, Martin Grigorov > >>>>>>>>>>>> <mgrigo...@apache.org> > >>>>>>>>>>>>>>>> wrote: > >>>>>>>>>>>>>>>>>> On Tue, Jan 14, 2020 at 10:01 AM Maxim Solodovnik < > >>>>>>>>>>>>>>>> solomax...@gmail.com> > >>>>>>>>>>>>>>>>>> wrote: > >>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>> An related question: > >>>>>>>>>>>>>>>>>>> Will this code > >>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>> > >> > `org.apache.wicket.core.util.string.ComponentRenderer.renderComponent(Component)` > >>>>>>>>>>>>>>>>>>> work as expected? > >>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>> This method will render the component with > >>>>>>>>>>>> class="wicket--hidden" on > >>>>>>>>>>>>>>>> its > >>>>>>>>>>>>>>>>>> HTML element. With TagTester you can verify > >>>>>>>>>>>>>>>>>> CSP checks are done only by the browsers. > >>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>> On Tue, 14 Jan 2020 at 14:15, Maxim Solodovnik < > >>>>>>>>>>>>>>>> solomax...@gmail.com> > >>>>>>>>>>>>>>>>>>> wrote: > >>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>> Is this comment make sense: > >>>>>>>>>>>>>>>>>>>> > >> > https://github.com/apache/wicket/commit/6d91a6a9e5c1d955a53571f9fb0f76262ac5c5d2#r36784645 > >>>>>>>>>>>>>>>>>>>> ? > >>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>> On Tue, 14 Jan 2020 at 14:13, Martin Grigorov < > >>>>>>>>>>>>>>>> mgrigo...@apache.org> > >>>>>>>>>>>>>>>>>>>> wrote: > >>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>> On Tue, Jan 14, 2020 at 9:05 AM Maxim Solodovnik < > >>>>>>>>>>>>>>>>>> solomax...@gmail.com> > >>>>>>>>>>>>>>>>>>>>> wrote: > >>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> Wasn't aware of `hidden` attribute > >>>>>>>>>>>>>>>>>>>>>> (and it seems to be widely supported > >>>>>>>>>>>>>>>>>>>>>> > >> > https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/hidden > >>>>>>>>>>>>>>>>>>>>>> ) > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>> Thanks for the reference, Maxim! > >>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>> It says "elements that are descendants of a hidden > >>>>> element > >>>>>>>>>>>> are > >>>>>>>>>>>>>>>> still > >>>>>>>>>>>>>>>>>>>>> active, which means that script elements can still > >>>>> execute > >>>>>>>>>>>> and > >>>>>>>>>>>>>>>> form > >>>>>>>>>>>>>>>>>>>>> elements can still submit" and this is different than > >>>>>>>>>>>> display: > >>>>>>>>>>>>>>>> none. > >>>>>>>>>>>>>>>>>>>>> So we should stick with CSS display! > >>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> Thanks :) > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> On Tue, 14 Jan 2020 at 14:01, Martin Grigorov < > >>>>>>>>>>>>>>>> mgrigo...@apache.org > >>>>>>>>>>>>>>>>>>>>>> wrote: > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>> Hi, > >>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>> 1) I see that such CSS resource might be used for > >>>>> other > >>>>>>>>>>>>>>>> needs, not > >>>>>>>>>>>>>>>>>>>>> just > >>>>>>>>>>>>>>>>>>>>>>> this particular case but would it be an option to > use > >>>>>>>>>>>>>>>> "hidden" > >>>>>>>>>>>>>>>>>>>>> attribute > >>>>>>>>>>>>>>>>>>>>>> in > >>>>>>>>>>>>>>>>>>>>>>> this case instead of CSS "display" ? > >>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>> 2) wicket-core.css instead of wicket-base.css ? > >>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>> On Mon, Jan 13, 2020 at 9:43 PM < > >> papega...@apache.org > >>>>>>>>>>>>>>>> wrote: > >>>>>>>>>>>>>>>>>>>>>>>> This is an automated email from the ASF > dual-hosted > >>>>> git > >>>>>>>>>>>>>>>>>>> repository. > >>>>>>>>>>>>>>>>>>>>>>>> papegaaij pushed a commit to branch csp > >>>>>>>>>>>>>>>>>>>>>>>> in repository > >>>>>>>>>>>>>>>> https://gitbox.apache.org/repos/asf/wicket.git > >>>>>>>>>>>>>>>>>>>>>>>> The following commit(s) were added to > refs/heads/csp > >>>>> by > >>>>>>>>>>>>>>>> this > >>>>>>>>>>>>>>>>>> push: > >>>>>>>>>>>>>>>>>>>>>>>> new 6d91a6a WICKET-6725: replace > >>>>> display:none > >>>>>> by > >>>>>>>>>>>>>>>>>>>>> wicket--hidden > >>>>>>>>>>>>>>>>>>>>>> css > >>>>>>>>>>>>>>>>>>>>>>>> class > >>>>>>>>>>>>>>>>>>>>>>>> 6d91a6a is described below > >>>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>>> commit 6d91a6a9e5c1d955a53571f9fb0f76262ac5c5d2 > >>>>>>>>>>>>>>>>>>>>>>>> Author: Emond Papegaaij < > emond.papega...@topicus.nl > >>>>>>>>>>>>>>>>>>>>>>>> AuthorDate: Mon Jan 13 20:43:01 2020 +0100 > >>>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>>> WICKET-6725: replace display:none by > >>>>>>> wicket--hidden > >>>>>>>>>>>> css > >>>>>>>>>>>>>>>>>> class > >>>>>>>>>>>>>>>>>>>>>>>> --- > >>>>>>>>>>>>>>>>>>>>>>>> > >>>>> .../src/main/java/org/apache/wicket/Component.java > >>>>>>> | 2 > >>>>>>>>>>>> +- > >>>>>>>>>>>>>>>>>>>>>>>> > .../src/main/java/org/apache/wicket/Page.java > >>>>>> | > >>>>>>> 11 > >>>>>>>>>>>>>>>> +++++++ > >>>>> .../wicket/css/WicketBaseCSSResourceReference.java > >>>>>> | > >>>>>>> 36 > >>>>>>>>>>>>>>>>>>>>>>>> ++++++++++++++++++++++ > >>>>>>>>>>>>>>>>>>>>>>>> > .../java/org/apache/wicket/css/wicket-base.css > >>>>>>> | 3 > >>>>>>>>>>>> ++ > >> .../apache/wicket/settings/ResourceSettings.java > >>>>>> | > >>>>>>> 31 > >>>>>>>>>>>>>>>>>>>>>>>> +++++++++++++++++++ > >>>>>>>>>>>>>>>>>>>>>>>> > .../ajax/markup/html/AjaxIndicatorAppender.java > >>>>>>> | 2 > >>>>>>>>>>>> +- > >>>>>>>>>>>>>>>>>>>>>>>> 6 files changed, 83 insertions(+), 2 > >> deletions(-) > >>>>>>>>>>>>>>>>>>>>>>>> diff --git > >>>>>> a/wicket-core/src/main/java/org/apache/wicket/Component.java > >>>>>>>>>>>>>>>> > b/wicket-core/src/main/java/org/apache/wicket/Component.java > >>>>>>>>>>>>>>>>>>>>>>>> index 9da8ec5..d2da23b 100644 > >>>>>>>>>>>>>>>>>>>>>>>> --- > >>>>>>>>>>>>>>>> > a/wicket-core/src/main/java/org/apache/wicket/Component.java > >>>>>>>>>>>>>>>>>>>>>>>> +++ > >>>>>>>>>>>>>>>> > b/wicket-core/src/main/java/org/apache/wicket/Component.java > >>>>>>>>>>>>>>>>>>>>>>>> @@ -2367,7 +2367,7 @@ public abstract class > >> Component > >>>>>>>>>>>>>>>>>>>>>>>> response.write(name); > >>>>>>>>>>>>>>>>>>>>>>>> response.write(" id=\""); > >>>>>>>>>>>>>>>>>>>>>>>> > >>>>>>> response.write(getAjaxRegionMarkupId()); > >>>>>>>>>>>>>>>>>>>>>>>> - response.write("\" > >>>>>> style=\"display:none\" > >>>>>>>>>>>>>>>>>>>>>>>> data-wicket-placeholder=\"\"></"); > >>>>>>>>>>>>>>>>>>>>>>>> + response.write("\" > >>>>>>>>>>>> class=\"wicket--hidden\" > >>>>>>>>>>>>>>>>>>>>>>>> data-wicket-placeholder=\"\"></"); > >>>>>>>>>>>>>>>>>>>>>>>> response.write(name); > >>>>>>>>>>>>>>>>>>>>>>>> response.write(">"); > >>>>>>>>>>>>>>>>>>>>>>>> } > >>>>>>>>>>>>>>>>>>>>>>>> diff --git > >>>>>>>>>>>>>>>>>> a/wicket-core/src/main/java/org/apache/wicket/Page.java > >>>>> b/wicket-core/src/main/java/org/apache/wicket/Page.java > >>>>>>>>>>>>>>>>>>>>>>>> index 3f0f5b5..3d70ad8 100644 > >>>>>>>>>>>>>>>>>>>>>>>> --- > >>>>>>>>>>>> a/wicket-core/src/main/java/org/apache/wicket/Page.java > >>>>>>>>>>>>>>>>>>>>>>>> +++ > >>>>>>>>>>>> b/wicket-core/src/main/java/org/apache/wicket/Page.java > >>>>>>>>>>>>>>>>>>>>>>>> @@ -24,10 +24,13 @@ import java.util.Set; > >>>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>>> import > >>>>> org.apache.wicket.authorization.UnauthorizedActionException; > >>>>>>>>>>>>>>>>>>>>>>>> import > >>>>>>> org.apache.wicket.core.util.lang.WicketObjects; > >>>>>>>>>>>>>>>>>>>>>>>> +import > >>>>>>>>>>>>>>>> org.apache.wicket.css.WicketBaseCSSResourceReference; > >>>>>>>>>>>>>>>>>>>>>>>> import > >> org.apache.wicket.feedback.FeedbackDelay; > >>>>>>>>>>>>>>>>>>>>>>>> import > >> org.apache.wicket.markup.MarkupException; > >>>>>>>>>>>>>>>>>>>>>>>> import > org.apache.wicket.markup.MarkupStream; > >>>>>>>>>>>>>>>>>>>>>>>> import org.apache.wicket.markup.MarkupType; > >>>>>>>>>>>>>>>>>>>>>>>> +import > org.apache.wicket.markup.head.CssHeaderItem; > >>>>>>>>>>>>>>>>>>>>>>>> +import > >>>>> org.apache.wicket.markup.head.IHeaderResponse; > >>>>>>>>>>>>>>>>>>>>>>>> import > org.apache.wicket.markup.html.WebPage; > >>>>>>>>>>>>>>>>>>>>>>>> import > >>>>>>>>>>>>>>>> org.apache.wicket.markup.resolver.IComponentResolver; > >>>>>>>>>>>>>>>>>>>>>>>> import org.apache.wicket.model.IModel; > >>>>>>>>>>>>>>>>>>>>>>>> @@ -1003,6 +1006,14 @@ public abstract class Page > >>>>>> extends > >>>>>>>>>>>>>>>>>>>>>> MarkupContainer > >>>>>>>>>>>>>>>>>>>>>>>> } > >>>>>>>>>>>>>>>>>>>>>>>> } > >>>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>>> + @Override > >>>>>>>>>>>>>>>>>>>>>>>> + public void renderHead(IHeaderResponse > >>>>>> response) > >>>>>>>>>>>>>>>>>>>>>>>> + { > >>>>>>>>>>>>>>>>>>>>>>>> + super.renderHead(response); > >>>>>>>>>>>>>>>>>>>>>>>> + response.render( > >>>>>>>>>>>>>>>>>>>>>>>> + > >>>>>>>>>>>>>>>>>>>>>>>> > >> > CssHeaderItem.forReference(getApplication().getResourceSettings().getWicketBaseCSS())); > >>>>>>>>>>>>>>>>>>>>>>>> + } > >>>>>>>>>>>>>>>>>>>>>>>> + > >>>>>>>>>>>>>>>>>>>>>>>> /** > >>>>>>>>>>>>>>>>>>>>>>>> * THIS METHOD IS NOT PART OF THE > WICKET > >>>>>>> PUBLIC > >>>>>>>>>>>>>>>> API. DO > >>>>>>>>>>>>>>>>>>> NOT > >>>>>>>>>>>>>>>>>>>>>> CALL. > >>>>>>>>>>>>>>>>>>>>>>>> * > >>>>>>>>>>>>>>>>>>>>>>>> diff --git > >>>>>>>>>>>>>>>>>>>>>>>> > >> > a/wicket-core/src/main/java/org/apache/wicket/css/WicketBaseCSSResourceReference.java > >> > b/wicket-core/src/main/java/org/apache/wicket/css/WicketBaseCSSResourceReference.java > >>>>>>>>>>>>>>>>>>>>>>>> new file mode 100644 > >>>>>>>>>>>>>>>>>>>>>>>> index 0000000..9247216 > >>>>>>>>>>>>>>>>>>>>>>>> --- /dev/null > >>>>>>>>>>>>>>>>>>>>>>>> +++ > >>>>>>>>>>>>>>>>>>>>>>>> > >> > b/wicket-core/src/main/java/org/apache/wicket/css/WicketBaseCSSResourceReference.java > >>>>>>>>>>>>>>>>>>>>>>>> @@ -0,0 +1,36 @@ > >>>>>>>>>>>>>>>>>>>>>>>> +/* > >>>>>>>>>>>>>>>>>>>>>>>> + * Licensed to the Apache Software Foundation > (ASF) > >>>>>>>>>>>> under > >>>>>>>>>>>>>>>> one > >>>>>>>>>>>>>>>>>> or > >>>>>>>>>>>>>>>>>>>>> more > >>>>>>>>>>>>>>>>>>>>>>>> + * contributor license agreements. See the > NOTICE > >>>>>> file > >>>>>>>>>>>>>>>>>>> distributed > >>>>>>>>>>>>>>>>>>>>>> with > >>>>>>>>>>>>>>>>>>>>>>>> + * this work for additional information regarding > >>>>>>>>>>>>>>>> copyright > >>>>>>>>>>>>>>>>>>>>> ownership. > >>>>>>>>>>>>>>>>>>>>>>>> + * The ASF licenses this file to You under the > >>>>> Apache > >>>>>>>>>>>>>>>> License, > >>>>>>>>>>>>>>>>>>>>> Version > >>>>>>>>>>>>>>>>>>>>>>> 2.0 > >>>>>>>>>>>>>>>>>>>>>>>> + * (the "License"); you may not use this file > >> except > >>>>>> in > >>>>>>>>>>>>>>>>>>> compliance > >>>>>>>>>>>>>>>>>>>>>> with > >>>>>>>>>>>>>>>>>>>>>>>> + * the License. You may obtain a copy of the > >>>>> License > >>>>>> at > >>>>>>>>>>>>>>>>>>>>>>>> + * > >>>>>>>>>>>>>>>>>>>>>>>> + * > http://www.apache.org/licenses/LICENSE-2.0 > >>>>>>>>>>>>>>>>>>>>>>>> + * > >>>>>>>>>>>>>>>>>>>>>>>> + * Unless required by applicable law or agreed to > >> in > >>>>>>>>>>>>>>>> writing, > >>>>>>>>>>>>>>>>>>>>> software > >>>>>>>>>>>>>>>>>>>>>>>> + * distributed under the License is distributed > on > >>>>> an > >>>>>>>>>>>> "AS > >>>>>>>>>>>>>>>> IS" > >>>>>>>>>>>>>>>>>>>>> BASIS, > >>>>>>>>>>>>>>>>>>>>>>>> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, > >>>>>> either > >>>>>>>>>>>>>>>> express > >>>>>>>>>>>>>>>>>>> or > >>>>>>>>>>>>>>>>>>>>>>>> implied. > >>>>>>>>>>>>>>>>>>>>>>>> + * See the License for the specific language > >>>>> governing > >>>>>>>>>>>>>>>>>>> permissions > >>>>>>>>>>>>>>>>>>>>> and > >>>>>>>>>>>>>>>>>>>>>>>> + * limitations under the License. > >>>>>>>>>>>>>>>>>>>>>>>> + */ > >>>>>>>>>>>>>>>>>>>>>>>> +package org.apache.wicket.css; > >>>>>>>>>>>>>>>>>>>>>>>> + > >>>>>>>>>>>>>>>>>>>>>>>> +import > >>>>>>>>>>>>>>>> org.apache.wicket.request.resource.CssResourceReference; > >>>>>>>>>>>>>>>>>>>>>>>> + > >>>>>>>>>>>>>>>>>>>>>>>> +public final class WicketBaseCSSResourceReference > >>>>>>>>>>>> extends > >>>>>>>>>>>>>>>>>>>>>>>> CssResourceReference > >>>>>>>>>>>>>>>>>>>>>>>> +{ > >>>>>>>>>>>>>>>>>>>>>>>> + private static final long > serialVersionUID = > >>>>>>>>>>>>>>>>>>>>>>> 6795863553105608280L; > >>>>>>>>>>>>>>>>>>>>>>>> + > >>>>>>>>>>>>>>>>>>>>>>>> + private static final > >>>>>>>>>>>> WicketBaseCSSResourceReference > >>>>>>>>>>>>>>>>>>>>> INSTANCE = > >>>>>>>>>>>>>>>>>>>>>>> new > >>>>>>>>>>>>>>>>>>>>>>>> WicketBaseCSSResourceReference(); > >>>>>>>>>>>>>>>>>>>>>>>> + > >>>>>>>>>>>>>>>>>>>>>>>> + public static > WicketBaseCSSResourceReference > >>>>>>>>>>>> get() > >>>>>>>>>>>>>>>>>>>>>>>> + { > >>>>>>>>>>>>>>>>>>>>>>>> + return INSTANCE; > >>>>>>>>>>>>>>>>>>>>>>>> + } > >>>>>>>>>>>>>>>>>>>>>>>> + > >>>>>>>>>>>>>>>>>>>>>>>> + private WicketBaseCSSResourceReference() > >>>>>>>>>>>>>>>>>>>>>>>> + { > >>>>>>>>>>>>>>>>>>>>>>>> + > >>>>>>>>>>>> super(WicketBaseCSSResourceReference.class, > >>>>>>>>>>>>>>>>>>>>>>>> "wicket-base.css"); > >>>>>>>>>>>>>>>>>>>>>>>> + } > >>>>>>>>>>>>>>>>>>>>>>>> +} > >>>>>>>>>>>>>>>>>>>>>>>> diff --git > >>>>>>>>>>>>>>>>>>>>>>>> > >> a/wicket-core/src/main/java/org/apache/wicket/css/wicket-base.css > >> b/wicket-core/src/main/java/org/apache/wicket/css/wicket-base.css > >>>>>>>>>>>>>>>>>>>>>>>> new file mode 100644 > >>>>>>>>>>>>>>>>>>>>>>>> index 0000000..9bbdd63 > >>>>>>>>>>>>>>>>>>>>>>>> --- /dev/null > >>>>>>>>>>>>>>>>>>>>>>>> +++ > >> b/wicket-core/src/main/java/org/apache/wicket/css/wicket-base.css > >>>>>>>>>>>>>>>>>>>>>>>> @@ -0,0 +1,3 @@ > >>>>>>>>>>>>>>>>>>>>>>>> +.wicket--hidden { > >>>>>>>>>>>>>>>>>>>>>>>> + display: none!important; > >>>>>>>>>>>>>>>>>>>>>>>> +} > >>>>>>>>>>>>>>>>>>>>>>>> \ No newline at end of file > >>>>>>>>>>>>>>>>>>>>>>>> diff --git > >>>>>>>>>>>>>>>>>>>>>>>> > >> > a/wicket-core/src/main/java/org/apache/wicket/settings/ResourceSettings.java > >> > b/wicket-core/src/main/java/org/apache/wicket/settings/ResourceSettings.java > >>>>>>>>>>>>>>>>>>>>>>>> index b76fbcd..68317f4 100644 > >>>>>>>>>>>>>>>>>>>>>>>> --- > >>>>>>>>>>>>>>>>>>>>>>>> > >> > a/wicket-core/src/main/java/org/apache/wicket/settings/ResourceSettings.java > >>>>>>>>>>>>>>>>>>>>>>>> +++ > >>>>>>>>>>>>>>>>>>>>>>>> > >> > b/wicket-core/src/main/java/org/apache/wicket/settings/ResourceSettings.java > >>>>>>>>>>>>>>>>>>>>>>>> @@ -29,12 +29,14 @@ import > >>>>>>>>>>>>>>>>>>>>>>>> > >>>>>> org.apache.wicket.core.util.resource.locator.IResourceStreamLocator; > >>>>>>>>>>>>>>>>>>>>>>>> import > >>>>> org.apache.wicket.core.util.resource.locator.ResourceStreamLocator; > >>>>>>>>>>>>>>>>>>>>>>>> import > >>>>>>>>>>>>>>>>>>>>>>>> > >> > org.apache.wicket.core.util.resource.locator.caching.CachingResourceStreamLocator; > >>>>>>>>>>>>>>>>>>>>>>>> import org.apache.wicket.css.ICssCompressor; > >>>>>>>>>>>>>>>>>>>>>>>> +import > >>>>>>>>>>>>>>>> org.apache.wicket.css.WicketBaseCSSResourceReference; > >>>>>>>>>>>>>>>>>>>>>>>> import > >>>>>>>>>>>> org.apache.wicket.javascript.IJavaScriptCompressor; > >>>>>>>>>>>>>>>>>>>>>>>> import > >>>>>>>>>>>>>>>> org.apache.wicket.markup.head.PriorityFirstComparator; > >>>>>>>>>>>>>>>>>>>>>>>> import > >>>>>>>>>>>>>>>>>>>>>>>> > >>>>>> org.apache.wicket.markup.head.ResourceAggregator.RecordedHeaderItem; > >>>>>>>>>>>>>>>>>>>>>>>> import > >>>>>>>>>>>>>>>> org.apache.wicket.markup.html.IPackageResourceGuard; > >>>>>>>>>>>>>>>>>>>>>>>> import > >>>>>>>>>>>>>>>>>> > org.apache.wicket.markup.html.SecurePackageResourceGuard; > >>>>>>>>>>>>>>>>>>>>>>>> import > >>>>> org.apache.wicket.request.http.WebResponse; > >>>>>>>>>>>>>>>>>>>>>>>> +import > >>>>>>>>>>>>>>>> org.apache.wicket.request.resource.CssResourceReference; > >>>>>>>>>>>>>>>>>>>>>>>> import > >>>>>>>>>>>>>>>>>>>>>>>> > >> > org.apache.wicket.request.resource.caching.FilenameWithVersionResourceCachingStrategy; > >>>>>>>>>>>>>>>>>>>>>>>> import > >>>>>>>>>>>>>>>>>>>>>>>> > >>>>>> org.apache.wicket.request.resource.caching.IResourceCachingStrategy; > >>>>>>>>>>>>>>>>>>>>>>>> import > >>>>>>>>>>>>>>>>>>>>>>>> > >> org.apache.wicket.request.resource.caching.NoOpResourceCachingStrategy; > >>>>>>>>>>>>>>>>>>>>>>>> @@ -172,6 +174,8 @@ public class ResourceSettings > >>>>>>>>>>>>>>>> implements > >>>>>>>>>>>>>>>>>>>>>>>> IPropertiesFactoryContext > >>>>>>>>>>>>>>>>>>>>>>>> false); > >>>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>>> private boolean encodeJSessionId = > >> false; > >>>>>>>>>>>>>>>>>>>>>>>> + > >>>>>>>>>>>>>>>>>>>>>>>> + private CssResourceReference > wicketBaseCSS = > >>>>>>>>>>>>>>>>>>>>>>>> WicketBaseCSSResourceReference.get(); > >>>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>>> /** > >>>>>>>>>>>>>>>>>>>>>>>> * Configures Wicket's default > >>>>>>>>>>>> ResourceLoaders.<br> > >>>>>>>>>>>>>>>>>>>>>>>> @@ -770,4 +774,31 @@ public class ResourceSettings > >>>>>>>>>>>>>>>> implements > >>>>>>>>>>>>>>>>>>>>>>>> IPropertiesFactoryContext > >>>>>>>>>>>>>>>>>>>>>>>> this.encodeJSessionId = > >>>>>>>>>>>> encodeJSessionId; > >>>>>>>>>>>>>>>>>>>>>>>> return this; > >>>>>>>>>>>>>>>>>>>>>>>> } > >>>>>>>>>>>>>>>>>>>>>>>> + > >>>>>>>>>>>>>>>>>>>>>>>> + /** > >>>>>>>>>>>>>>>>>>>>>>>> + * Returns the resource reference of the > >> base > >>>>>>>>>>>>>>>> stylesheet > >>>>>>>>>>>>>>>>>>> for > >>>>>>>>>>>>>>>>>>>>>>>> Wicket. This stylesheet contains > >>>>>>>>>>>>>>>>>>>>>>>> + * some lowlevel styling used by Wicket. > >>>>>>>>>>>>>>>>>>>>>>>> + * > >>>>>>>>>>>>>>>>>>>>>>>> + * @return The resource reference of the > >> base > >>>>>>>>>>>>>>>> stylesheet > >>>>>>>>>>>>>>>>>>> for > >>>>>>>>>>>>>>>>>>>>>>>> Wicket. > >>>>>>>>>>>>>>>>>>>>>>>> + */ > >>>>>>>>>>>>>>>>>>>>>>>> + public CssResourceReference > >>>>> getWicketBaseCSS() > >>>>>>>>>>>>>>>>>>>>>>>> + { > >>>>>>>>>>>>>>>>>>>>>>>> + return wicketBaseCSS; > >>>>>>>>>>>>>>>>>>>>>>>> + } > >>>>>>>>>>>>>>>>>>>>>>>> + > >>>>>>>>>>>>>>>>>>>>>>>> + /** > >>>>>>>>>>>>>>>>>>>>>>>> + * Replaces the base stylesheet for > Wicket. > >>>>>>>>>>>>>>>> Changes made > >>>>>>>>>>>>>>>>>>> to > >>>>>>>>>>>>>>>>>>>>> the > >>>>>>>>>>>>>>>>>>>>>>>> styling can break functionality > >>>>>>>>>>>>>>>>>>>>>>>> + * like {@link > >>>>>>>>>>>>>>>>>>>>>> Component#setOutputMarkupPlaceholderTag(boolean)}, > >>>>>>>>>>>>>>>>>>>>>>>> causing components that should > >>>>>>>>>>>>>>>>>>>>>>>> + * not be visible to be displayed. Make > sure > >>>>>> the > >>>>>>>>>>>>>>>>>>> replacement > >>>>>>>>>>>>>>>>>>>>>>>> stylesheet has matching definitions > >>>>>>>>>>>>>>>>>>>>>>>> + * for the corresponding sections in the > >>>>> Wicket > >>>>>>>>>>>>>>>> version. > >>>>>>>>>>>>>>>>>>>>>>>> + * > >>>>>>>>>>>>>>>>>>>>>>>> + * @param wicketBaseCSS > >>>>>>>>>>>>>>>>>>>>>>>> + * The replacement styleheet. > >>>>>>>>>>>>>>>>>>>>>>>> + * @return {@code this} object for > chaining > >>>>>>>>>>>>>>>>>>>>>>>> + */ > >>>>>>>>>>>>>>>>>>>>>>>> + public ResourceSettings > >>>>>>>>>>>>>>>>>>>>> setWicketBaseCSS(CssResourceReference > >>>>>>>>>>>>>>>>>>>>>>>> wicketBaseCSS) > >>>>>>>>>>>>>>>>>>>>>>>> + { > >>>>>>>>>>>>>>>>>>>>>>>> + this.wicketBaseCSS = > wicketBaseCSS; > >>>>>>>>>>>>>>>>>>>>>>>> + return this; > >>>>>>>>>>>>>>>>>>>>>>>> + } > >>>>>>>>>>>>>>>>>>>>>>>> } > >>>>>>>>>>>>>>>>>>>>>>>> diff --git > >>>>>>>>>>>>>>>>>>>>>>>> > >> > a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxIndicatorAppender.java > >> > b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxIndicatorAppender.java > >>>>>>>>>>>>>>>>>>>>>>>> index d0fee97..ab1c0a1 100644 > >>>>>>>>>>>>>>>>>>>>>>>> --- > >>>>>>>>>>>>>>>>>>>>>>>> > >> > a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxIndicatorAppender.java > >>>>>>>>>>>>>>>>>>>>>>>> +++ > >>>>>>>>>>>>>>>>>>>>>>>> > >> > b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxIndicatorAppender.java > >>>>>>>>>>>>>>>>>>>>>>>> @@ -95,7 +95,7 @@ public class > AjaxIndicatorAppender > >>>>>>>>>>>>>>>> extends > >>>>>>>>>>>>>>>>>>>>> Behavior > >>>>>>>>>>>>>>>>>>>>>>>> super.afterRender(component); > >>>>>>>>>>>>>>>>>>>>>>>> final Response r = > >>>>>>>>>>>> component.getResponse(); > >>>>>>>>>>>>>>>>>>>>>>>> - r.write("<span > >>>>> style=\"display:none;\" > >>>>>>>>>>>>>>>>>> class=\""); > >>>>>>>>>>>>>>>>>>>>>>>> + r.write("<span > >>>>> class=\"wicket--hidden\" > >>>>>>>>>>>>>>>>>>> class=\""); > >>>>>>>>>>>>>>>>>>>>>>>> r.write(getSpanClass()); > >>>>>>>>>>>>>>>>>>>>>>>> r.write("\" "); > >>>>>>>>>>>>>>>>>>>>>>>> r.write("id=\""); > >>>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> -- > >>>>>>>>>>>>>>>>>>>>>> WBR > >>>>>>>>>>>>>>>>>>>>>> Maxim aka solomax > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>> -- > >>>>>>>>>>>>>>>>>>>> WBR > >>>>>>>>>>>>>>>>>>>> Maxim aka solomax > >>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>> -- > >>>>>>>>>>>>>>>>>>> WBR > >>>>>>>>>>>>>>>>>>> Maxim aka solomax > >>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> -- > >>>>>>>>>>>>>>>>> WBR > >>>>>>>>>>>>>>>>> Maxim aka solomax > >>>>>>>>>>>>>>> -- > >>>>>>>>>>>>>>> WBR > >>>>>>>>>>>>>>> Maxim aka solomax > >>>>>>>>>>>>>>> > >>>>>>>>>>>> -- > >>>>>>>>>>>> WBR > >>>>>>>>>>>> Maxim aka solomax > >>>>> -- > >>>>> WBR > >>>>> Maxim aka solomax > >>>>> >