Hi all,

If you want to go ahead and remove the core CSS, please make sure all
components keep working. For example, in wicket extensions I had to
use the 'wicket--hidden' class in progressbar.js. Just do a grep on
'wicket--hidden' and double-check those components in the examples.

Best regards,
Emond

On Tue, Mar 24, 2020 at 6:29 AM Maxim Solodovnik <solomax...@gmail.com> wrote:
>
> Let's try to remove this CSS and check :)
> I'm currently using latest wicket SNAPSHOT at master so most probably
> will provide some feedback :)
>
> On Fri, 20 Mar 2020 at 19:51, Martin Grigorov <mgrigo...@apache.org> wrote:
> >
> > In this case I am fine to go with 'hidden'.
> > We can introduce wicket-core.css later if needed.
> >
> > On Fri, Mar 20, 2020 at 1:44 PM Sven Meier <s...@meiers.net> wrote:
> >
> > > Hi Martin,
> > >
> > > these stylings?
> > >
> > >      width: 0px;
> > >      height: 0px;
> > >      position: absolute;
> > >      left: -100px;
> > >      top: -100px;
> > >      overflow: hidden;
> > >
> > > They are a 10-year old workaround
> > >
> > >
> > > https://github.com/apache/wicket/commit/b00f8ed1647f7a69a38aba562efa98bb8eb84d97
> > >
> > > ... for a problem that no longer exists:
> > >
> > >
> > > https://stackoverflow.com/questions/8318428/submit-form-fields-inside-displaynone-element
> > >
> > > A simple "display:none"/"hidden" is sufficient.
> > >
> > > Sven
> > >
> > >
> > > On 20.03.20 10:29, Martin Grigorov wrote:
> > > > Hi Sven,
> > > >
> > > > What about wicket--hidden-fields ?
> > > > We still need wicket-core.css for it.
> > > >
> > > > Martin
> > > >
> > > > On Wed, Mar 18, 2020 at 11:25 PM Sven Meier <s...@meiers.net> wrote:
> > > >
> > > >> Hi all,
> > > >>
> > > >> I've built an example to better demonstrate my argument:
> > > >>
> > > >> a) "hidden" tags work fine out-of-the-box :)
> > > >>
> > > >>       https://jsfiddle.net/p8s7Lrk2/1/
> > > >>
> > > >> b) changing display of tags changes "hidden" tags too :(
> > > >>
> > > >>       https://jsfiddle.net/p8s7Lrk2/2/
> > > >>
> > > >> c) and a simple fix for "hidden" tags - no !important required ... 8)
> > > >>
> > > >>       https://jsfiddle.net/p8s7Lrk2/3/
> > > >>
> > > >> In my opinion there's no need to invent "wicket--hidden" when "hidden"
> > > >> works already as expected/needed (a).
> > > >> And furthermore Wicket does not need to provide a fix (c) for something
> > > >> the web designer screwed up (b) in the first place.
> > > >>
> > > >> Have fun
> > > >> Sven
> > > >>
> > > >>
> > > >> On 17.03.20 13:01, Maxim Solodovnik wrote:
> > > >>> Hello Sven,
> > > >>>
> > > >>> I always thought:having override like this will require re-testing all
> > > >>> 3rd-party components manually
> > > >>> (I don't have that much time)
> > > >>> So I'm using library as-is and override as minimum as possible :)
> > > >>>
> > > >>> On Tue, 17 Mar 2020 at 18:56, Sven Meier <s...@meiers.net> wrote:
> > > >>>> Hi Maxim,
> > > >>>>
> > > >>>> what is difficult about that?
> > > >>>>
> > > >>>> Actually it is recommended to have it in your normalize.css (formerly
> > > >>>> reset.css).
> > > >>>>
> > > >>>> Here one without !important:
> > > >>>>
> > > >>>> https://github.com/necolas/normalize.css/blob/master/normalize.css
> > > >>>>
> > > >>>> Sven
> > > >>>>
> > > >>>>
> > > >>>> On 13.03.20 15:21, Maxim Solodovnik wrote:
> > > >>>>> Additional note:
> > > >>>>>
> > > >>>>> Bootstrap has following CSS
> > > >>>>>
> > > >>>>> [hidden] {
> > > >>>>>      display: none !important;
> > > >>>>> }
> > > >>>>>
> > > >>>>> which makes life much more diffiicult ...
> > > >>>>>
> > > >>>>> On Fri, 13 Mar 2020 at 21:17, Martin Grigorov <mgrigo...@apache.org>
> > > >> wrote:
> > > >>>>>> On Fri, Mar 13, 2020 at 4:13 PM Martin Grigorov <
> > > mgrigo...@apache.org
> > > >>>>>> wrote:
> > > >>>>>>
> > > >>>>>>> Hi Sven,
> > > >>>>>>>
> > > >>>>>>> <html>
> > > >>>>>>>
> > > >>>>>>>        <head>
> > > >>>>>>>            <style>
> > > >>>>>>>                /* rule from the application that should be used
> > > when
> > > >> the
> > > >>>>>>> element is visible */
> > > >>>>>>>                div {
> > > >>>>>>>                    display: flex;
> > > >>>>>>>                    margin-bottom: 200px;
> > > >>>>>>>                }
> > > >>>>>>>
> > > >>>>>>>                /* Rule coming from wicket-core.css */
> > > >>>>>>>                .wicket--hidden {
> > > >>>>>>>                    display: none;
> > > >>>>>>>                }
> > > >>>>>>>
> > > >>>>>>>            </style>
> > > >>>>>>>        </head>
> > > >>>>>>>
> > > >>>>>>>        <body>
> > > >>>>>>>            <p>
> > > >>>>>>>                Element when visible: <br/>
> > > >>>>>>>                A1 <div id="blah1.1" >B1</div> C1 <span>D1</span>
> > > >>>>>>>                <br/>
> > > >>>>>>>            </p>
> > > >>>>>>>            <p>
> > > >>>>>>>                Element when hidden (there is no B1 because Wicket
> > > >> renders
> > > >>>>>>> just the tag, without any children): <br/>
> > > >>>>>>>                A2 <div id="blah1.2" hidden></div> C2
> > > <span>D2</span>
> > > >>>>>>>                <br/>
> > > >>>>>>>                <small><strong>C2 &amp; D2</strong> are still 200px
> > > >> down
> > > >>>>>>> because 'hidden' is not like 'display: none'!
> > > >>>>>>>                The application developer will have to do something
> > > >> more for
> > > >>>>>>> the placeholder case to hide it.</small>
> > > >>>>>>>            </p>
> > > >>>>>>>
> > > >>>>>>>            <p>
> > > >>>>>>>                Element with wicket--hidden class<br/>
> > > >>>>>>>                A3 <div id="blah3" class="wicket--hidden">B3</div>
> > > C3
> > > >>>>>>> <span>D3</span>
> > > >>>>>>>                <br/>
> > > >>>>>>>                <small><strong>C3 &amp; D3</strong> are not 200px
> > > down
> > > >> because
> > > >>>>>>> of 'display: none'!
> > > >>>>>>>                The application developer has nothing to 
> > > >>>>>>> do!</small>
> > > >>>>>>>            </p>
> > > >>>>>>>        </body>
> > > >>>>>>>
> > > >>>>>>> </html>
> > > >>>>>>>
> > > >>>>>>> It shows two things:
> > > >>>>>>>
> > > >>>>>>> 1) since Wicket placeholder tags do not have children elements [1]
> > > >> there
> > > >>>>>>> is not really a need to use 'hidden' or 'display: none'
> > > >>>>>>>
> > > >>>>>> As I explained below we do need to use display: none.
> > > >>>>>> I've forgot to update this line.
> > > >>>>>>
> > > >>>>>>
> > > >>>>>>> 2) if we really want to hide the element without leaving extra 
> > > >>>>>>> work
> > > >> for
> > > >>>>>>> web designers then we have to use display: none
> > > >>>>>>>
> > > >>>>>>>
> > > >>>>>>> 1.
> > > >>>>>>>
> > > >>
> > > https://github.com/apache/wicket/blob/10d10a92dda2e5834508f52d7807fe361f20fbea/wicket-core/src/main/java/org/apache/wicket/Component.java#L2370
> > > >>>>>>>
> > > >>>>>>>
> > > >>>>>>> On Thu, Mar 12, 2020 at 4:35 PM Sven Meier <s...@meiers.net>
> > > wrote:
> > > >>>>>>>
> > > >>>>>>>> Hi all,
> > > >>>>>>>>
> > > >>>>>>>> I've looked at all responses and most arguments in favor of a
> > > >> "core.css"
> > > >>>>>>>> boil down to:
> > > >>>>>>>>
> > > >>>>>>>>     > `hidden` attribute doesn't work (even `display: flex` 
> > > >>>>>>>> breaks
> > > >> it)
> > > >>>>>>>>     > Using the hidden attribute puts the responsibility with the
> > > >> developer
> > > >>>>>>>>     > where this should be on the framework. The hidden attribute
> > > >> just
> > > >>>>>>>> doesn't work.
> > > >>>>>>>>
> > > >>>>>>>>     > When something as simple as using flex or display:block on 
> > > >>>>>>>> a
> > > >> div breaks
> > > >>>>>>>>     > the hidden attribute [1] we should not depend on it 
> > > >>>>>>>> working.
> > > >>>>>>>>
> > > >>>>>>>> Sorry, but I don't share that assessment: 'hidden' works just
> > > fine!
> > > >>>>>>>> Every browser supports it and it has a strong semantic meaning we
> > > >> can
> > > >>>>>>>> utilize.
> > > >>>>>>>>
> > > >>>>>>>> If you (or your web designer) decides to style hidden elements as
> > > >>>>>>>> floating, static, flex, pink or with marquee ... feel free to do
> > > so.
> > > >>>>>>>>
> > > >>>>>>> No. The web designer styles the element when it is supposed to be
> > > >> visible.
> > > >>>>>>> But then when some condition is met Wicket may render it as a
> > > >> placeholder
> > > >>>>>>> for Ajax requests and then this element will be rendered.
> > > >>>>>>> It does not have text content but the CSS rules will be still
> > > >> applied and
> > > >>>>>>> the web designer will have to add more rules for the cases when
> > > >> 'hidden' is
> > > >>>>>>> there.
> > > >>>>>>> Most probably something like:
> > > >>>>>>> div[hidden] {
> > > >>>>>>>       display:none;
> > > >>>>>>> }
> > > >>>>>>>
> > > >>>>>>>
> > > >>>>>>>> Wicket doesn't need to ship a CSS file to fix anything here.
> > > >>>>>>>> Note that the way we are hiding components in Wicket never 
> > > >>>>>>>> exposes
> > > >> any
> > > >>>>>>>> sensible information anyways. This topic is just about layout and
> > > >>>>>>>> styling and that is completely in the responsibility of your
> > > >> developer
> > > >>>>>>>> ...  and works out-of-the-box if you don't break it!
> > > >>>>>>>>
> > > >>>>>>> What about the cases when the children need to be invisible ?
> > > >>>>>>> .wicket--hidden-fields
> > > >>>>>>>
> > > >>>>>>>
> > > >>>>>>>>     >Wicket ... has been dependent on its own styles, spread out
> > > >> through
> > > >>>>>>>> our code in odd ways
> > > >>>>>>>>     > I consider not having a wicket stylesheet file a bug, not a
> > > >> feature
> > > >>>>>>>> I couldn't disagree more. These "odd ways" is one of many cool
> > > >> features
> > > >>>>>>>> of Wicket named "components". BTW we Wicket devs have never been
> > > >> very
> > > >>>>>>>> successful in crafting CSS anyways, we shouldn't start with this
> > > >> now :P.
> > > >>>>>>> We don't really start.
> > > >>>>>>> We do not mandate styling. We just hide whatever is supposed to be
> > > >> hidden.
> > > >>>>>>> Nothing more.
> > > >>>>>>>
> > > >>>>>>> As agreed (?!) earlier .wicket--color-red should be just a marker
> > > CSS
> > > >>>>>>> class. The content should be provided by the application. Just 
> > > >>>>>>> like
> > > >>>>>>> FeedbackPanel's CSS classes. I will remove it now!
> > > >>>>>>>
> > > >>>>>>>
> > > >>>>>>>> I'll start a vote soon.
> > > >>>>>>>>
> > > >>>>>>>> Sidenote : This doesn't mean I'm against the CSP feature in
> > > general!
> > > >>>>>>>> After some iterations we arrived at a very cool solution (with
> > > some
> > > >>>>>>>> minor detail questions remaining).
> > > >>>>>>>>
> > > >>>>>>>> Have fun
> > > >>>>>>>> Sven
> > > >>>>>>>>
> > > >>>>>>>> On 27.02.20 22:18, Emond Papegaaij wrote:
> > > >>>>>>>>> Hi Andrew,
> > > >>>>>>>>>
> > > >>>>>>>>> I thought of this solution as well and it will work. The major
> > > >>>>>>>>> advantage is that the styling is only added when it is actually
> > > >> used.
> > > >>>>>>>>> But it requires significantly more work to build and is a lot
> > > more
> > > >>>>>>>>> complex than the current solution. For this, we need some place
> > > to
> > > >>>>>>>>> accumulate element styling, like we do for JS event handlers.
> > > This
> > > >>>>>>>>> then needs to be rendered in the response.
> > > >>>>>>>>>
> > > >>>>>>>>> The most complex part is ajax updates. These might change some 
> > > >>>>>>>>> of
> > > >> the
> > > >>>>>>>>> styling. Simply replacing the style element will not work,
> > > because
> > > >> in
> > > >>>>>>>>> an ajax request only the added components are rendered.
> > > Rendering a
> > > >>>>>>>>> style element per component will work, but is far from ideal.
> > > This
> > > >> is
> > > >>>>>>>>> why I went for the easy solution.
> > > >>>>>>>>>
> > > >>>>>>>>> Emond
> > > >>>>>>>>>
> > > >>>>>>>>> On Thu, Feb 27, 2020 at 10:08 PM Andrew Kondratev <
> > > >> and...@kondratev.pro>
> > > >>>>>>>> wrote:
> > > >>>>>>>>>> Just as a brainstorm. Not sure if it's a good idea.
> > > >>>>>>>>>>
> > > >>>>>>>>>> Wicket potentially can add nounced style to the document with
> > > >> hidden
> > > >>>>>>>>>> elements hidden by id.
> > > >>>>>>>>>>
> > > >>>>>>>>>> Imagine generated HTML has components like these
> > > >>>>>>>>>> <div class="wupb-container">
> > > >>>>>>>>>>             <div class="wupb-progressBar" id="ida"><div
> > > >>>>>>>>>> class="wupb-border"><div class="wupb-background"><div
> > > >>>>>>>>>> class="wupb-foreground"></div></div></div></div>
> > > >>>>>>>>>>             <div class="wupb-uploadStatus" id="id9"></div>
> > > >>>>>>>>>>         </div>
> > > >>>>>>>>>>
> > > >>>>>>>>>> #ida and #id9 must be hidden, so in the page header we add
> > > >> something
> > > >>>>>>>> like
> > > >>>>>>>>>> this
> > > >>>>>>>>>>
> > > >>>>>>>>>> <style nonce="abracadabra">
> > > >>>>>>>>>> #ida, #id9 {display: none;}
> > > >>>>>>>>>> </style>
> > > >>>>>>>>>>
> > > >>>>>>>>>> Even if the  wupb-progressBar  has display: flex, the #ida will
> > > >> win.
> > > >>>>>>>> Will
> > > >>>>>>>>>> win even over  #id8 .wupb-progressBar {display: fles}
> > > >>>>>>>>>>
> > > >>>>>>>>>> !important can potentially be added.
> > > >>>>>>>>>>
> > > >>>>>>>>>>
> > > >>>>>>>>>> чт, 27 февр. 2020 г. в 23:56, Ernesto Reinaldo Barreiro <
> > > >>>>>>>> reier...@gmail.com
> > > >>>>>>>>>>> :
> > > >>>>>>>>>>> Hi,
> > > >>>>>>>>>>>
> > > >>>>>>>>>>> On Thu, Feb 27, 2020 at 12:33 PM Andrea Del Bene <
> > > >>>>>>>> an.delb...@gmail.com>
> > > >>>>>>>>>>> wrote:
> > > >>>>>>>>>>>
> > > >>>>>>>>>>>> On Wed, Feb 26, 2020 at 10:26 AM Ernesto Reinaldo Barreiro <
> > > >>>>>>>>>>>> reier...@gmail.com> wrote:
> > > >>>>>>>>>>>>
> > > >>>>>>>>>>>>> Hi,
> > > >>>>>>>>>>>>>
> > > >>>>>>>>>>>>> Right now I have no enough knowledge to vote in this 
> > > >>>>>>>>>>>>> feature.
> > > >> One
> > > >>>>>>>>>>> thing I
> > > >>>>>>>>>>>>> didn't like, and I already mentioned it before, is some of 
> > > >>>>>>>>>>>>> us
> > > >> were
> > > >>>>>>>>>>>> waiting
> > > >>>>>>>>>>>>> for 9.x to be released some time ago (at least a few months
> > > >> ago I
> > > >>>>>>>> was
> > > >>>>>>>>>>>>> preparing some branch of our application and ported it to
> > > 9.x,
> > > >> after
> > > >>>>>>>>>>>> asking
> > > >>>>>>>>>>>>> about release plans) and all of the sudden this feature is
> > > >>>>>>>> introduced
> > > >>>>>>>>>>> and
> > > >>>>>>>>>>>>> all sub-frameworks depending on Wicket will have to be
> > > adapted.
> > > >>>>>>>>>>>> In which way sub-frameworks should be affected? I mean, as 
> > > >>>>>>>>>>>> far
> > > >> as I
> > > >>>>>>>>>>>> understand it, if we disable CSP blocking configuration
> > > >> everything
> > > >>>>>>>> should
> > > >>>>>>>>>>>> work "the old way", and that's why I would prefer to keep CSP
> > > >>>>>>>> disabled by
> > > >>>>>>>>>>>> default.
> > > >>>>>>>>>>>>
> > > >>>>>>>>>>> Well if something is supported at core level then if 
> > > >>>>>>>>>>> associated
> > > >>>>>>>> projects
> > > >>>>>>>>>>> want to comply with this new feature, which might be ideal,
> > > then
> > > >>>>>>>> they will
> > > >>>>>>>>>>> have to be adapted (or not?). I'm not talking about not
> > > >> releasing the
> > > >>>>>>>> new
> > > >>>>>>>>>>> feature. I'm talking about not releasing as part of 9.x, as it
> > > >> was
> > > >>>>>>>> said to
> > > >>>>>>>>>>> be almost ready for release a few months ago, and deffer it to
> > > >> 10.x
> > > >>>>>>>> (and
> > > >>>>>>>>>>> try to release it soon).
> > > >>>>>>>>>>>
> > > >>>>>>>>>>> --
> > > >>>>>>>>>>> Regards - Ernesto Reinaldo Barreiro
> > > >>>>>>>>>>>
> > > >>>
> > >
>
>
>
> --
> WBR
> Maxim aka solomax

Reply via email to