Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    Glitches with ToolStripButtons

    Hi,

    I have some problems with some glitches regarding ToolStripButtons.
    Environment: Chrome 61.0.3163.100 (openSUSE Build) (64-bit), smartgwt=6.1p / smartclient=v11.1p_2017-10-25

    With isc_css3Mode="off", a ToolStrip with a ToolStripButton looks like this
    Click image for larger version

Name:	css-off.png
Views:	163
Size:	1.7 KB
ID:	250016
    Looking at the generated source, the button is drawn twice, once on top of the other. In addition it writes the label 'Untitled Button'. Reason seems to be that in load_skin.js, for useCSS3 the property showTitle is set to 'false', for non-CSS3 it is not changed which uses the default value 'true'.

    With isc_css3Mode="on" , I get the expected result instead.
    Click image for larger version

Name:	css-on.png
Views:	166
Size:	630 Bytes
ID:	250017
    This can be reproduced with this code
    Code:
    public void onModuleLoad() {
        ToolStrip toolStrip = new ToolStrip();
        ToolStripButton expandButton = new ToolStripButton();
        expandButton.setIcon("[SKIN]/RichTextEditor/text_align_center.png");
        toolStrip.setMembers(expandButton);
        toolStrip.draw();
    }
    Is the css3Mode="off" still supported?

    Best Regards,
    Christian
    Attached Files

    #2
    useCSS3=false is still automatically used for very old browsers, but should not be used with Chrome or anything modern.

    Comment


      #3
      Reading current documentation it seems to me as if both modes are still expected to work, at least it says
      To override the default decision on whether to use CSS3 support, set the JavaScript global variable isc_css3Mode before any of the SmartClient libraries are loaded.
      but I cannot find any comment saying that isc_css3Mode should not be changed at all and is not expected to work if changed.

      As this bug is the only one hindering me to upgrade a very complex project to the latest version, would it be possible to fix this one in 6.0p and 6.1p? The setting css=false is so far required for us for other reasons.


      Comment


        #4
        Setting CSS3 mode false for Chrome has us rendering out content as if we were dealing with IE8: things that can be done with simple CSS declarations are instead constructed with dozens of images and a convoluted DOM structure. No one should be using this mode and the newer skins (eg Tahoe) don't support it at all and never will.

        We can queue this up to be looked at, but since it's in a mode no one should use, and you don't have support, it could take a very long time to bubble to the top. Better to correct your application so you are not reliant on this setting.

        Comment


          #5
          Too bad to hear, at least for us. I'll try to change this on my side, but as we have some huge applications, this is nothing that can be done on the fly.
          I would at least suggest to update the documentation on which we relied for a long time now. It reads as if the setting is a standard property that can be set (at least for the Enterprise Theme) as required.
          Three of SmartClient's most commonly used skins - Enterprise, EnterpriseBlue and Graphite - now have a "CSS3 mode" in which almost all images required by the skin are replaced with CSS3 settings that appear nearly identical to the image-based appearance. This results in a performance boost through both a simplified DOM and far few images being loaded.
          [...]
          To override the default decision on whether to use CSS3 support, set the JavaScript global variable isc_css3Mode before any of the SmartClient libraries are loaded. For example:
          <script>isc_css3Mode = "on";</script>
          I do not read here something like 'never change this setting to false, it won't work'.

          Comment

          Working...
          X