Hi Harbs, that was a simple attempt to minify css code, if that line is not working you can comment it, and we'll be improving the minifying method.
thanks 2018-06-06 14:27 GMT+02:00 Harbs <harbs.li...@gmail.com>: > It’s this code in minifyCSSString: > cssString = cssString.replaceAll("[a-zA-Z]+#", "#"); > > Why is that code there? > > Harbs > > > On Jun 6, 2018, at 3:21 PM, Harbs <harbs.li...@gmail.com> wrote: > > > > I found another problem. > > > > The following CSS is the correct compiled results in the debug css: > > > > > > .toggleTextButton.selected#subscriptButton { > > cursor: pointer; > > background-color: transparent; > > outline: none; > > background-image: url("assets/images/icons/ > subscript_selected.svg"); > > border-style: hidden; > > } > > > > > > .toggleTextButton#subscriptButton { > > cursor: pointer; > > background-color: transparent; > > outline: none; > > background-image: url("assets/images/icons/subscript.svg"); > > border-style: hidden; > > } > > > > Somehow in the release version, the CSS becomes the following: The class > selector before the subscriptButton id selector gets lost after the dot. > Any idea what might be causing it? > > > > .toggleTextButton.#subscriptButton{cursor:pointer;background-color: > transparent;outline:none;background-image:url("assets/ > images/icons/subscript_selected.svg");border-style: > hidden;}.#subscriptButton{cursor:pointer;background- > color:transparent;outline:none;background-image:url(" > assets/images/icons/subscript.svg");border-style:hidden;} > > > >> On Jun 6, 2018, at 2:24 AM, Alex Harui <aha...@adobe.com.INVALID> > wrote: > >> > >> If the namespace prefixes are stored in the selector, then when > deciding whether to keepRules, we should check the prefix and if it is null > and the default namespace is xhtml, then we can use a fully qualified name > in the comparison. > >> > >> HTH, > >> -Alex > >> > >> On 6/5/18, 3:09 PM, "Harbs" <harbs.li...@gmail.com> wrote: > >> > >> Hmm. I wonder if CSSSemanticAnalyzer.resolveSelectors could stuff > the selector namespace into the ICSSSelector. It seems to be looping > through them anyway. ICSSSeelctor would need a new property for this.) Is > CSSSemanticAnalyzer.resolveSelectors called before > JSCSSCompilationSession.cssRuleToString? > >> > >>> On Jun 6, 2018, at 1:01 AM, Harbs <harbs.li...@gmail.com> wrote: > >>> > >>> I’m not using menu, and it’s pretty doubtful anyone else is using it > yet either, so yeah, it’s probably safe to remove it temporarily. Not sure > which other elements might cause problems. > >>> > >>> Another one which we really should fix is Button (because Button > component styling effects every button element in the app even if it’s not > a “Button” component). That’s something I’ve struggled with... But removing > that one is going to cause problems… > >>> > >>> I did notice that CSSSemanticAnalyzer is checking for the xhtml > namespace, but it’s only doing so for the default namespace. ICSSSelector > seems to have a prefix, but no namespace (unless I’m missing something). > >>> > >>> Harbs > >>> > >>>> On Jun 6, 2018, at 12:51 AM, Alex Harui <aha...@adobe.com.INVALID> > wrote: > >>>> > >>>> The data structure seems to have a slot to hold a namespace. I think > there is code somewhere that checks the namespace to avoid the outputting > some error, but it may not be storing it. > >>>> > >>>> The short term solution may be to remove menu from the list of > htmlelements. Does anybody actually use it? > >>>> > >>>> HTH, > >>>> -Alex > >>>> > >>>> On 6/5/18, 2:46 PM, "Harbs" <harbs.li...@gmail.com> wrote: > >>>> > >>>> I think it’s line 189. It checks if the lowercase string matches. > Only if that check fails does it enter the logic to figure out where to > insert the dot. I’m really not sure how to fix this though… :-( > >>>> > >>>> We’d need menu{} to stay menu{} for html elements, but become .menu{} > for other component types. FWIW, I think all selectors are case insensitive. > >>>> > >>>> Harbs > >>>> > >>>>> On Jun 6, 2018, at 12:32 AM, Alex Harui <aha...@adobe.com.INVALID> > wrote: > >>>>> > >>>>> > >>>>> > >>>>> On 6/5/18, 2:29 PM, "Harbs" <harbs.li...@gmail.com> wrote: > >>>>> > >>>>> Done. > >>>>> > >>>>> That does seem to fix the problem. > >>>>> > >>>>> Of course, things like .Menu{} (for org.apache.royale.html.Menu) now > became Menu{}. Considering that Menu is actually a List which is a div and > not a menu element, this will break any styling applied to Menu components… > There might be others. Not sure what the easiest way to solve this problem > is. > >>>>> > >>>>> I'm not sure what that would be the case. Maybe debug through it or > add System.out.println. I think ArrayList.contains() is case sensitive, so > I'm surprised that "Menu" is matching "menu". > >>>>> > >>>>> Or am I not understanding your point? > >>>>> -Alex > >>>>> > >>>>> > >>>> > >>>> > >>>> > >>> > >> > >> > >> > > > > -- Carlos Rovira http://about.me/carlosrovira