I agree that Tapestry shouldn't be so tightly coupled to a specific CSS
framework.

For context and some alternative ideas, see this prior discussion of the
same topic:

https://tapestry.markmail.org/search/?q=What+happens+when+Boootstrap+4+is+released%3F

On Thu, Feb 14, 2019, 4:52 AM Ben Weidig <b...@netzgut.net wrote:

> Hi Jens,
>
> I like the idea of decoupling the core and Bootstrap to make it easier to
> use other versions.
>
> Maybe the components should be updated to BS4 for T5.5, with a legacy
> fallback or a component swap (can't remember the service doing it, we have
> our own implementation, it's doing an advice on
> ComponentClassResolver#resolveComponentTypeToClassName or
> ComponentInstantiatorSource#getInstantiator).
>
> For 5.4 we've developed an internal solution for using different BS
> versions, here are some specifics.
>
> We have multi-tenant-apps with different BS versions (so far up to 3), so
> we needed a flexible solution that supports the internal BS and other
> versions dynamically.
>
> To make it even more flexible we've added SASS-support and compile
> Bootstrap from the source files, with the possibility to add files
> beforehand to the compilation step with custom variables etc.
>
> The layout component has an annotation that triggers
> a ComponentClassTransformWorker2 attaching a JavaScriptStack containing the
> BS version decided by a contributable strategy pipeline.
>
> JavaScript modules were the biggest problems, we started with replacing the
> internal modules, but ended up adding additional modules instead. This
> worked fine after getting all the dependencies right, but every BS version
> might break it again, so we're now using the bundled version of BS JS.
>
> We think this could all be cleaned up nicely if the internal BS wouldn't be
> as integrated as it is right now.
>
> Eventually we will release it as open-source, but having an integration
> into Tapestry (as a new tapestry-*) would be even nicer :-)
>
> Best regards
> Ben
>
>
> On Thu, Feb 14, 2019 at 10:14 AM Jens Breitenstein <mailingl...@j-b-s.de>
> wrote:
>
> > Hi Tapestry guys!
> >
> > I want to hear/read your opinion about getting rid of the Bootstrap
> > Library from T5 core.
> > I would like to move all BS related code (css/js) to a seperate module
> > like "tapestry-bootstrap3" and decouple the hardcoded BS from T5.
> > Furthermore I would like to see a second module "tapestry-bootstrap4"
> > which uses BS4.
> >
> >  From the sources I see direct dependencies are less than expected. Some
> > tml's use it (I just ignore the internal T5 pages for now):
> >
> >      AjaxFormLoop.tml
> >          class="btn btn-default btn-sm"
> >          <t:glyphicon name="plus-sign"/>
> >
> >      BeanEditForm.tml
> >          class="btn-toolbar"
> >          class="btn-group"
> >          class="btn btn-primary"
> >
> >      DevTool.tml
> >          <t:glyphicon name="cog"/>
> >          class="dropdown-menu"
> >          class="dropdown-header"
> >
> >      ExceptionDisplay.tml
> >          class="well"
> >          class="pull-right"
> >          class="checkbox"        // ?
> >
> >      Palette.tml
> >          class="btn-group-vertical"
> >
> > and some JAVA references like:
> >
> >      JavaScriptModule.java
> >          configuration.add("bootstrap/ ...")
> >
> >          bundledModules=...
> >
> >
> > Do you think it's worths looking into it, digging deeper?
> > Any pitfalls I should consider?
> > Anyone interested to discuss it?
> >
> >
> > Jens
> >
> >
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> > For additional commands, e-mail: users-h...@tapestry.apache.org
> >
> >
>

Reply via email to