Re: data-icon for option within t:select
Jens Breitenstein <[email protected]> Thu, 15 Nov 2018 12:36:30 +0100
| Newsgroups | gmane.comp.java.tapestry.user |
|---|---|
| Message-ID | <[email protected]> |
Hi David/Ben The SelectModelRender makes use of attributes by ... writeAttributes(optionModel.getAttributes()); ... And this method is implemented first in "AbstractOptionModel" and returns "null". So as Ben stated just adding the entry "data-icon" -> "glyphicon glyphicon-eye-open" to a map should in your OptionModel should do the trick. Jens Am 15.11.18 um 09:24 schrieb Ben Weidig: > Hi, > > as far as I can tell from the code and documentaion the class OptionModel > supports additional attributes with its .getAttributes() method. So you > should only need to implement your own OptionModel and build your > SelectModel with it. > > Hope this helps. > > Ben > > On Thu, Nov 15, 2018 at 7:23 JumpStart <[email protected]> > wrote: > >> Very good question. I don’t know the answer, but here’s an idea… >> >> The Select component does not have a class parameter, but it does render >> informal parameters. So if you specify class=“selectpicker” then I’d expect >> it will be rendered with class=“selectpicker”. By default it renders the >> "select" element with class=“form-control”, so it might be best if you >> specify class=“form-control selectpicker”. >> >> As for overriding the rendering of the “option” element, I think we come >> unstuck. The difficulty I see is that OptionModel has only a label and >> value. You need label, image, and value. >> >> I think your best bet is to copy OptionModel and Select to new classes and >> and modify them suit your purposes. They aren’t long or complicated. >> >> HTH, >> >> Geoff >> >>> On 15 Nov 2018, at 1:30 pm, D. R. <[email protected]> >> wrote: >>> Hi, >>> >>> how can i get control of the option elements within a t:select? >>> >>> I want to provide a unique data-icon property for each option. >>> >>> <t:select t:id="iconCode" >> t:model="literal:fa-globe=Globe,fa-flask=Flask,fa-user-tie=User-tie"> >>> </t:select> >>> >>> will render: >>> >>> <select class="form-control" id="iconCode" name="iconCode"> >>> <option value=""></option> >>> <option value="fa-globe">Globe</option> >>> <option value="fa-flask">Flask</option> >>> <option value="fa-user-tie">User-tie</option> >>> </select> >>> >>> i need something like >>> >>> <select class="selectpicker" id="iconCode"> >>> <option data-icon="fa-globe"> >>> Globe >>> </option> >>> <option data-icon="fa-flask"> >>> Flask >>> </option> >>> <option data-icon="fa-user-tie"> >>> User-tie >>> </option> >>> </select> >>> >>> i want to add class="selectpicker" to the t:select in order to let >> bootstrap convert the select to a dropdown with icons. >>> Kind regards >>> David >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [email protected] >>> For additional commands, e-mail: [email protected] >>> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> >> --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]