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 :)
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