Menu with material icons

Forum rules
Please note that response time for technical support is within 3-5 business days.
Post Reply
spadovan
Posts: 178
Joined: 05 Jun 2013, 12:04

12 Aug 2021, 20:28

Hi, i'm trying to migrate several applications to PF 10 and Ultima layout 3.0.0.
I'm using a lot of material icons which are not included in primeicons.
How is it possibile to use a materil icons in a menu item ?

Code: Select all

<pu:menu id="menu" widgetVar="sidebar-menu" pt:role="menu">
		<p:menuitem id="intro" value="#{l.introduzione}" outcome="/index.xhtml" [b]icon="&#xE88F;" [/b] />
		<p:menuitem id="unire" value="#{l.unire}" outcome="/merge.xhtml" icon="&#xe0b3;" />
		...
	</pu:menu>
Thanks
Primefaces 12.0.2, Wildfly 24.0.1, JDK 11

siris
Posts: 322
Joined: 29 Jul 2019, 13:57

16 Aug 2021, 07:05

Hi,

You can continue to use the old menu. Apart from that, we have removed the material icon support.

Or you can change UltimaMenuRenderer.java file at tag/src/main/java/org/primefaces/ultima/component/* folder. Please update "encodeItemIcon" method as this.

Code: Select all

    protected void encodeItemIcon(FacesContext context, String icon) throws IOException {
        if(icon != null) {
            ResponseWriter writer = context.getResponseWriter();

            writer.startElement("i", null);
            
            if(icon.contains("pi pi-") || icon.contains("fa fa-") || icon.contains("ui-icon ui-icon-")) {
                writer.writeAttribute("class", icon, null);
            }
            else {
                writer.writeAttribute("class", "material-icons", null);
                writer.writeText(icon, null);
            }
            
            writer.endElement("i");
        }
    }
Best Regards,

Post Reply

Return to “Ultima - PrimeFaces”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 10 guests