Hi Dan,
On Mon, Dec 22, 2014 at 10:49 AM, Dan Haywood <[email protected]> wrote: > On 12 December 2014 at 22:36, Martin Grigorov <[email protected]> > wrote: > > > Dan, > > > > WDYT about the Icon thingy I've explained earlier ? > > > > > Hi Martin, > sorry not to reply sooner on this, just catching up. > > > > > I think I can see how to rework cssClassFa to icon for annotations. > > > I like what you've sketched. > > > > > But I > > cannot imagine it yet with .layout.json. > > > > > Perhaps the Icon implementations should be JavaBeans with getters and > setters, so that they could be constructed by parsing the .json file. > > That is, rather than: > > new FAIcon("fa-xyz", Icon.Position.RIGHT)) > > it would be: > FAIcon i = new FAIcon(); > i.setCssClass("fa-xyz"); > i.setPosition(Icon.Position.RIGHT); > > that way it could be serialized in .layout.json as: > > > icon={ > "class": "com.mycompany.fonticons.FAIcon", > "properties": { > "cssClass": "fa-xyz", > "position": "RIGHT" > } > } > > where all the properties are set reflectively. > > ~~~ > Do you want to raise a ticket for this? > Voila ! https://issues.apache.org/jira/browse/ISIS-984 I guess we want this for 1.8.0 ? At https://issues.apache.org/jira/browse/ISIS-972?focusedCommentId=14244801&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14244801 I have asked to nuke @CssClassFa before releasing 1.8.0. I think there is no need to maintain all the code for a feature introduced in 1.8.0-SNAPSHOT and deprecated in 1.8.0-SNAPSHOT. Same question is valid for ActionLayout#cssClassFa vs. ActionLayout#icon. > > Cheers > Dan > > > > I imagine something like: > > public interface Icon { > > enum Position {LEFT, RIGHT} > > > > String toHtml(); > > Position getPosition(); > > } > > > > usage: > > @ActionLayout(..., icon = new FAIcon("fa-xyz")) // renders <span > class="fa > > fa-xyz"> on the left of the title > > > > @ActionLayout(..., icon = new FAIcon("fa-xyz", Icon.Position.RIGHT)) // > > renders <span class="fa fa-xyz"> on the right of the title > > > > @ActionLayout(..., icon = new StackedFAIcon(Large, "fa-square-o > > fa-stack-2x", "fa-twitter fa-stack-1x")) // renders <span > class="fa-stack > > fa-lg"><i class="fa fa-square-o fa-stack-2x"></i><i class="fa fa-twitter > > fa-stack-1x"></i></span> on the left of the title > > > > @ActionLayout(..., icon = new Icon8("Android-L", 24, "Diploma 1")) // > > renders <img class="icon icons8-Diploma-1" > > src="data:image/png;base64,iVBO..." width="50" height="50"> > > > > @ActionLayout(..., icon = new GlyphIcon("glyphicon-xyz")) // renders <i > > class="glyphicon glyphicon-xyz"></i> > > > > The applications themselves can provide impls of Icon for whatever they > > need. > > > > > > Martin Grigorov > > Wicket Training and Consulting > > https://twitter.com/mtgrigorov > > > > On Sat, Dec 13, 2014 at 12:23 AM, Martin Grigorov <[email protected]> > > wrote: > > > > > I find them a bit distracting but you may find them useful for > something > > > someday - http://l-lin.github.io/font-awesome-animation/ > > > > > > Martin Grigorov > > > Wicket Training and Consulting > > > https://twitter.com/mtgrigorov > > > > > > On Fri, Dec 12, 2014 at 1:49 PM, Martin Grigorov <[email protected] > > > > > wrote: > > > > > >> Hi, > > >> > > >> I have also thought about this before. > > >> The main issue that I see is that some font/svg icons prescribe usage > of > > >> specific HTML elements. For example some say you should use <i > > >> class="...">, others <span class="...">, FontAwesome also has more > > complex > > >> HTML structure for stacked icons (see http://fontawesome.io/examples/ > ). > > >> > > >> At the moment we use <span> and there is no support for complex HTML > > >> structure. > > >> > > >> We can rename 'cssClassFa' in annotations to 'fontIcon' to make it > more > > >> generic. > > >> Its value though will have to be an Icon interface that knows how to > > >> render itself. > > >> E.g. FAIcon will render as <span> with predefined CSS class "fa": > > >> > > >> fontIcon = new FAIcon("circle") > > >> > > >> will produce: <span class="fa fa-circle"></span> > > >> > > >> Just thinking out load. > > >> > > >> On Fri, Dec 12, 2014 at 1:34 PM, GESCONSULTOR <[email protected] > > > > >> wrote: > > >> > > >>> Is not this too concrete? > > >>> > > >>> Could it be specified by means of a more generic mechanism? > > >>> > > >>> I find too specific to have an annotation property for a concrete set > > of > > >>> icons. There are others currently also used (like icons8, etc) that > > could > > >>> be also referred. > > >>> > > >>> Perhaps a mechanism a bit more generic could instead be used? Or at > > >>> least an annotation field name not referring on its name the "font > > awesome" > > >>> initials? > > >>> > > >>> HTH, > > >>> > > >>> Oscar > > >>> > > >>> > > >>> > El 12/12/2014, a las 11:13, Dan Haywood (JIRA) <[email protected]> > > >>> escribió: > > >>> > > > >>> > Dan Haywood created ISIS-974: > > >>> > -------------------------------- > > >>> > > > >>> > Summary: Provide the ability to associate font-awesome > > >>> icons with properties > > >>> > Key: ISIS-974 > > >>> > URL: > https://issues.apache.org/jira/browse/ISIS-974 > > >>> > Project: Isis > > >>> > Issue Type: Improvement > > >>> > Components: Core, Viewer: Wicket > > >>> > Affects Versions: core-1.7.0, viewer-wicket-1.7.0 > > >>> > Reporter: Dan Haywood > > >>> > Assignee: Dan Haywood > > >>> > Priority: Minor > > >>> > Fix For: viewer-wicket-1.9.0, core-1.9.0 > > >>> > > > >>> > > > >>> > ie as per > > >>> http://fortawesome.github.io/Font-Awesome/examples/#bootstrap > > >>> > > > >>> > using: > > >>> > > > >>> > @PropertyLayout( > > >>> > cssClassFa="fa fa-fw fa-envelope-o" > > >>> > ) > > >>> > public String getEmailAddress() { ... } > > >>> > > > >>> > etc. > > >>> > > > >>> > > > >>> > > > >>> > -- > > >>> > This message was sent by Atlassian JIRA > > >>> > (v6.3.4#6332) > > >>> > > >> > > >> > > > > > >
