Uploaded image for project: 'Tapestry'
  1. Tapestry
  2. TAPESTRY-199

Addition of a simple way to get component CSS stylesheets into an overall page

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 3.0, 4.0.2
    • 4.1.1
    • Framework
    • None
    • Operating System: All
      Platform: All
    • 30393

    Description

      As I understand it, if a component requires a CSS stylesheet, you either have to put <style> commands
      in the generated HTML or you have to change the global page when you add the component.

      The first method means that the user would find it hard to override or change the component, as well
      as increased overhead and blowing out the browser cache.

      The second method breaks component isolation. Essentially, the main page for an app suddenly must
      be concerned about the styles used by various subcomponents.

      I believe we would be well served by enhancing the @Shell component to automatically pick up the
      stylesheets declared as needed in subcomponents. The situation is similar to how @Body picks up
      @Script components and tucks them into just one Javascript block.

      This would require a way for a component to register the stylesheets it uses. I would expect a tag in
      the jwc that sets the IAsset stylesheet/stylesheets, as then the top level component could just look for
      those assets in the contained items.

      I would expect, then, that the top level stylesheet/stylesheets passed into the @Shell component would
      be augmented silently. There is an argument for a "useComponentStylesheets" attribute that is by
      default true to control this behavior.

      The result would be that a user would not need to know that a component has added a stylesheet,
      because it would just work. It would be snazzy if the addition was smart enough to only include a
      stylesheet onec if there were multiple instances of the same component, or if there were two
      components using the same stylesheet.

      Attachments

        1. ASF.LICENSE.NOT.GRANTED--patch.txt
          10 kB
          Filip S. Adamsen

        Issue Links

          Activity

            People

              andyhot Andreas Andreou
              scott@alodar.com Scott Ellsworth
              Votes:
              9 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: