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

Reply via email to