arya-blue
luna-amber
luna-blue
luna-green
luna-pink
nova-dark
nova-light
saga-blue
vela-blue
Calculator
Advanced example demonstrates using of ajax events, callbacks and interesting settings.

Examples include:
  • Javascript control of the component on the client
  • Javascript callbacks for "onOpen" and "onClose" events
  • p:ajax server side events for "open" ,"close", and "button" events
Event Result
Event Result

Source

<h:panelGrid columns="3">
        <p:outputLabel value="Callback: onOpen and onClose" />
        <p:inputText id="txtOnOpenClose" value="867">
            <pe:calculator id="calculator1" widgetVar="calc1" onopen="$('#lblOnOpenClose').text('Open Event: ' + value);"
                onclose="$('#lblOnOpenClose').text('Close Event: ' + value);" showOn="both">
                <p:ajax event="open" listener="#{calculatorController.openListener}" update="growl" />
                <p:ajax event="close" listener="#{calculatorController.closeListener}" update="growl" />
                <p:ajax event="button" listener="#{calculatorController.buttonListener}" update="growl" />
            </pe:calculator>
        </p:inputText>
        <h:outputText id="lblOnOpenClose" value="Event Result" style="font-weight:bold" />

        <p:outputLabel value="Callback: onButton" />
        <p:inputText widgetVar="txtOnButton" value="5309">
            <pe:calculator id="calculator2" widgetVar="calc2" showOn="both"
                onbutton="$('#lblOnButton').text('Button: ' + label + ' Current Value: ' + value)">
                <p:ajax event="button" listener="#{calculatorController.buttonListener}" update="growl" />
            </pe:calculator>
        </p:inputText>
        <h:outputText id="lblOnButton" value="Event Result" style="font-weight:bold" />
    </h:panelGrid>
    
    <p/>

    <h:panelGroup layout="block" style="text-align:left;margin-bottom:10px;">
        <p:commandButton value="Show" type="button" onclick="PF('calc1').show();" />
        <p:commandButton value="Hide" type="button" onclick="PF('calc1').hide();" />
        <p:commandButton value="Disable" type="button" onclick="PF('calc1').disable();PF('calc2').disable();" />
        <p:commandButton value="Enable" type="button" onclick="PF('calc1').enable();PF('calc2').enable();" />
        <p:commandButton value="Destroy" type="button" onclick="PF('calc1').destroy();PF('calc2').destroy();" />
    </h:panelGroup>
            
Components and more
Documentation pe:
Attributes (move mouse over the names to see data types)
Name Description
No attributes available for this component.
PrimeFaces Extensions Showcase - © 2011-2025,PrimeFaces: 15.0.13,PrimeFaces Extensions: 15.0.14-SNAPSHOT,JSF: Apache MyFaces JSF-2.3 Core Impl 2.3.10,Server: Apache Tomcat (TomEE)/9.0.82 (8.0.16),Build time: 2026-02-23 00:32