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 > > > > >