Ultimate Component Suite for JavaServer Faces

Overview

Maven Actions Status Sonar License: MIT Discord Chat Stackoverflow

PrimeFaces Hero

PrimeFaces

This is an overview page, please visit PrimeFaces.org for more information.

PrimeFaces Logo

Overview


PrimeFaces is one of the most popular UI libraries in Java EE Ecosystem and widely used by software companies, world renowned brands, banks, financial institutions, insurance companies, universities and more. Here are some of the users who notified us or subscribed to a PrimeFaces Support Service.

Getting Started


PrimeFaces can be downloaded manually or via maven.

Latest Downloads
Version Binary Source JSF version Java version Documentation
10.0.0 primefaces-10.0.0.jar primefaces-10.0.0-sources.jar 2.0 - 3.0 1.8 - ? 10.0.0 Documentation
8.0 primefaces-8.0.jar primefaces-8.0-sources.jar 2.0 - 2.3 1.8 - ? 8.0 Documentation
7.0 primefaces-7.0.jar primefaces-7.0-sources.jar 2.0 - 2.3 1.7 - ? 7.0 Documentation
6.2 primefaces-6.2.jar primefaces-6.2-sources.jar 2.0 - 2.3 1.6 - ? 6.2 Documentation
6.1 primefaces-6.1.jar primefaces-6.1-sources.jar 2.0 - 2.3 1.5 - ? 6.1 Documentation
6.0 primefaces-6.0.jar primefaces-6.0-sources.jar 2.0 - 2.2 1.5 - ? 6.0 Documentation
5.3 primefaces-5.3.jar primefaces-5.3-sources.jar 2.0 - 2.2 1.5 - ? 5.3 Documentation
5.2 primefaces-5.2.jar primefaces-5.2-sources.jar 2.0 - 2.2 1.5 - ? 5.2 Documentation
5.1 primefaces-5.1.jar primefaces-5.1-sources.jar 2.0 - 2.2 1.5 - ? 5.1 Documentation

For a full list of the available downloads, please visit the download page.

Maven
  • Official release (javax; JSF 2.0 - JSF 2.3)

     <dependency>
         <groupId>org.primefaces</groupId>
         <artifactId>primefaces</artifactId>
         <version>10.0.0</version>
     </dependency>
  • Official release (jakarta; JSF 3.0)

    <dependency>
        <groupId>org.primefaces</groupId>
        <artifactId>primefaces</artifactId>
        <version>10.0.0</version>
        <classifier>jakarta</classifier>
    </dependency>
  • Snapshot (javax; JSF 2.0 - JSF 2.3; should NOT be used in production environments!)

     <dependency>
         <groupId>com.github.primefaces</groupId>
         <artifactId>primefaces</artifactId>
         <version>master-SNAPSHOT</version>
     </dependency>
    
     <repositories>
     	<repository>
     	    <id>jitpack.io</id>
     	    <url>https://jitpack.io</url>
     	</repository>
     </repositories>
  • Snapshot (jakarta; JSF 3.0; should NOT be used in production environments!)

    <dependency>
        <groupId>com.github.primefaces</groupId>
        <artifactId>primefaces</artifactId>
        <version>master-SNAPSHOT</version>
        <classifier>jakarta</classifier>  
    </dependency>
    
    <repositories>
        <repository>
            <id>jitpack.io</id>
            <url>https://jitpack.io</url>
        </repository>
    </repositories>

Usage


Namespaces

The PrimeFaces namespace is necessary to add PrimeFaces components to your pages.

xmlns:p="http://primefaces.org/ui"
Test Run
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.org/ui">

	<h:head>

	</h:head>

	<h:body>

		<p:spinner />

	</h:body>
</html>

Demo


Please refer to the showcase in order to see the full usage of the components. Sources of PrimeFaces showcase are available as a separate project.

Documentation


A User Guide is available here.

Contribution


Visit the Contribution Wiki page for detailed information.

License


Licensed under the MIT License.

Comments
  • [perf] Collect scripts and render it before the body ends

    [perf] Collect scripts and render it before the body ends

    The resource-order of Stylesheet's and JavaScript's are not "optimized", so they are very imperformant in every HTML-Site generated.

    What i mean ? The position of stylesheet's should always be the head (Head-Tag), but the javascript's must be moved to the end of the HTML (In the Body-Tag).

    This is at the moment the recommented way for HTML5, but not rendered in Primefaces.

    Browser's can so render the page by using the stylesheet's first and then execute the javascript's. This result's in a faster page loading as well.

    At the moment i am using a JSF-Filter to re-sort the order of the stylesheet's/scripts and then compress them if they are not compressed. Eventually this could be a solution to restore the right order of stylesheets and script ?

    I attached my current filter as example - it is working without any problems by now and also compress the xhtml-site as well. It must be renamed to .java because only .txt is accepted for upload...

    CompressResponseFilter.txt CharResponseWrapper.txt

    new feature 
    opened by ssibitz 93
  • ComponentUtils.escapeJQueryId() method escapes too much for JQuery 2.4

    ComponentUtils.escapeJQueryId() method escapes too much for JQuery 2.4

    Extended layout with non full page is not working properly

    <pe:layout full="false"> has been broken

    ComponentUtils.escapeJQueryId() escapes every separator ':' with 4 backslashes '\\\\' Javascript widget gets parameter with 2 backslashes. As example: #formId\\:clientId

    JQuery 2.4 selector $('#formId\\:clientId') can't find an object with such id, but $('#formId\:clientId') works

    1) Environment

    • PrimeFaces version: 6.1.1
    • Application server + version: Glassfish 4.1.1, Payara 4.1.1-171
    • Affected browsers: All
    • PrimeFaces Extensions: 6.1.1-SNAPSHOT

    2) Expected behavior

    pe:layout should be visible

    3) Actual behavior

    pe:layout is not visible

    4) Steps to reproduce

    Any page with <pe:layout full="false">

    :lady_beetle: defect 6.1.5 6.0.23 
    opened by AndrewShwaika 63
  • Improve quality gate before 8.0

    Improve quality gate before 8.0

    Before 8.0 gets released, I'd like to clean up few things based on sonarcloud analysis. The idea is just to apply the simplest fix to the squids. I'm planning to start with maintainability section. Of course, I'll do whatever I can in the most reasonable way. I'll certainly ping you for advice.

    enhancement 
    opened by Rapster 54
  • DataTable: Removed data (rows) remain after update when filtered before

    DataTable: Removed data (rows) remain after update when filtered before

    Describe the defect When using a List (for example ArrayList) of DTOs for a dataTable and removing some elements from the list, updating the table throw ajax, everythink works fine. But when I first filter the rows inside the dataTable throw column or global Filter and then remove some of the still visible elements, they remain after ajax update. But the elements are arleady removed from the Java List.

    The Bug was also discussed in the forum: https://forum.primefaces.org/viewtopic.php?f=3&t=66918

    Reproducer Checkout https://github.com/MatthiasPischka/primefaces-test.git and run as described (mvn jetty:run for example). After starting, visit the page http://localhost:8080/primefaces-test/data-table-remove-bug.xhtml (you get there throw navigation from default page, too). Working and buggy example are described on the page.

    Environment:

    • PF Version: 10.0.0
    • JSF + version: Mojarra 2.3.14.SP01
    • Affected browsers: Testet in Firefox and Chrome
    :lady_beetle: defect :zap: performance 10.0.6 
    opened by MatthiasPischka 53
  • OutputPanel: Update deferred behavior based on Scaffolding

    OutputPanel: Update deferred behavior based on Scaffolding

    Description Thanks to the great work of @jepsar PrimeTek has asked we port the Scaffolding component to core PF.

    See: https://www.primefaces.org/showcase-ext/sections/scaffolding/basicUsage.jsf

    This will allow the Skeleton component to be useful and provide a true Skeleton experience users have come to expect with other languages.

    <p:scaffolding ready="#{not empty scaffoldingController.data}" id="scaffolding"
                    loader="#{scaffoldingController.fetchData(2000)}">
        <f:facet name="loading">
            <p:skeleton width="3rem" height="3rem" shape="circle"/>
        </f:facet>
        <f:facet name="ready">
            <p:avatar label="#{scaffoldingController.data}" size="large" shape="circle" />
        </f:facet>
    </p:scaffolding>
    
    new feature 
    opened by melloware 52
  • TreeTable/Datatable: Dynamic Columns Issue

    TreeTable/Datatable: Dynamic Columns Issue

    1) Environment

    • PrimeFaces version: 7.0
    • Does it work on the newest released PrimeFaces version? Version? NO
    • Does it work on the newest sources in GitHub? (Build by source -> https://github.com/primefaces/primefaces/wiki/Building-From-Source) NO
    • Application server + version: ALL
    • Affected browsers: ALL

    2) Expected behavior

    3) Actual behavior

    org.primefaces.component.api.DynamicColumn cannot be cast to org.primefaces.component.column.Column: java.lang.ClassCastException: org.primefaces.component.api.DynamicColumn cannot be cast to org.primefaces.component.column.Column
    	at org.primefaces.component.treetable.TreeTable.updateColumnsVisibility(TreeTable.java:655)
    	at org.primefaces.component.treetable.TreeTableRenderer.preRender(TreeTableRenderer.java:226)
    	at org.primefaces.component.treetable.TreeTableRenderer.encodeEnd(TreeTableRenderer.java:161)
    

    4) Steps to reproduce

    Press "Refresh" button

    5) Sample XHTML

    <h:form id="form">
    	<p:commandButton value="Refresh" update="@form" />
    	<p:commandButton id="toggler" type="button" value="Columns" style="float:right" icon="ui-icon-calculator" />
    	<p:columnToggler datasource="idDataTable" trigger="toggler" />
    
    	<p:treeTable id="idDataTable" var="cars" value="#{tableBean.carsTree}">
    		<p:column value="Column">
    			<h:outputText value="Column" />
    		</p:column>
    		<p:columns value="#{tableBean.columns}" var="column" columnIndexVar="columnIndx" visible="true">
    			<f:facet name="header">
    				#{column.header}
    			</f:facet>
    			<h:outputText value="#{cars[column.property]}" />
    		</p:columns>
    	</p:treeTable>
    </h:form>
    

    6) Sample bean

    public class TableBean implements Serializable {
        private List<ColumnModel> columns = new ArrayList<ColumnModel>();
        private DefaultTreeNode carsTree = new DefaultTreeNode();
    
    	public TableBean() {
            populateColumns();
            
            Car car = new Car();
            car.setManufacturer("Audi");
            car.setModel("A4");
            car.setYear(2015);
            new DefaultTreeNode(car, carsTree);
        }
    
        public void populateColumns() {
            String[] columnKeys = new String[]{"model","year","color"};
            for(String columnKey : columnKeys) {
                columns.add(new ColumnModel(columnKey.toUpperCase(), columnKey));
            }
        }
        //getters and setters
    
        public List<ColumnModel> getColumns() {
    		return columns;
    	}
    
    	public void setColumns(List<ColumnModel> columns) {
    		this.columns = columns;
    	}
    
        public DefaultTreeNode getCarsTree() {
    		return carsTree;
    	}
    
    	public void setCarsTree(DefaultTreeNode carsTree) {
    		this.carsTree = carsTree;
    	}
    
    	static public class ColumnModel {
            private String header;
            private String property;
    
            public ColumnModel(String header, String property) {
                this.header = header;
                this.property = property;
            }
            public String getHeader() {
                return header;
            }
            public String getProperty() {
                return property;
            }
        }
    }
    
    :lady_beetle: defect 
    opened by goraSi 52
  • FileUpload: Spring Framework issue with commons-fileupload

    FileUpload: Spring Framework issue with commons-fileupload

    Describe the defect Listener of fileUpload is not invoked in advanced mode with common mode uploader.

    Reproducer In the source of CommonsFileUploadDecoder, it looks like be possible to handle advanced mode, but simply not working. With native uploader, same code runs without any problem. Environment:

    • PF Version: 8.0
    • JSF + version: _e.g. Mojarra 2.2.20
    • Tomcat 8.5
    • Affected browsers: e.g. Chrome, IE, Edge ALL

    To Reproduce Steps to reproduce the behavior: 1.

    <h:form>  
       <p:fileUpload listener="#{fileUploadView.handleFileUpload}" mode="advanced" dragDropSupport="false"
                      update="messages" sizeLimit="100000" fileLimit="3" allowTypes="/(\.|\/)(gif|jpe?g|png)$/" />
     
        <p:growl id="messages" showDetail="true" />     
    </h:form>
    

    Based on the source from the following link. https://www.primefaces.org/showcase/ui/file/upload/single.xhtml

    1. Set upload mode to common.
    <context-param>
        <param-name>primefaces.UPLOADER</param-name>
        <param-value>commons</param-value><!-- Allowed values: auto, native and commons. -->
    </context-param>
    <filter>
        <filter-name>primeFacesFileUploadFilter</filter-name>
        <filter-class>org.primefaces.webapp.filter.FileUploadFilter</filter-class>
            <init-param>
    	       <param-name>thresholdSize</param-name>
    	       <param-value>10000000000</param-value>
    	</init-param>
    	<init-param>
    	        <param-name>uploadDirectory</param-name>
    	        <param-value>/tmp/upload/</param-value>
    	</init-param>
    </filter>
    <filter-mapping>
        <filter-name>primeFacesFileUploadFilter</filter-name>
        <servlet-name>facesServlet</servlet-name>
    </filter-mapping>
    
    1. Listener not invoked.

    Expected behavior It should work in common file upload mode as same as in native file upload mode.

    :lady_beetle: defect needs investigation 
    opened by clockwiser 51
  • Cannot call reset() after response has been committed

    Cannot call reset() after response has been committed

    Hi, I'm seeing a worrying number of exceptions regarding PrimeExceptionHandler trying to reset the response after it was commited when handling Ajax exceptions.

    As far as I see, it checks if the response is committed (at https://github.com/primefaces/primefaces/blob/da76a548b3ab8747f8d560d6459fc7a059920055/src/main/java/org/primefaces/application/exceptionhandler/PrimeExceptionHandler.java#L147), but I'm wondering if the Mojarra workaround that follows triggers the commit of the response, calling the writer methods (including endDocument(), which seems to flush the response writer).

    Using PF 6.0 with Mojarra 2.2.13 on Tomcat 8.0.36

    30-Jun-2016 14:44:05.532 SEVERE [http-apr-443-exec-70] org.primefaces.application.exceptionhandler.PrimeExceptionHandler.handle Could not handle exception!
     java.lang.IllegalStateException: Cannot call reset() after response has been committed
        at org.apache.catalina.connector.ResponseFacade.reset(ResponseFacade.java:353)
        at javax.servlet.ServletResponseWrapper.reset(ServletResponseWrapper.java:194)
        at javax.servlet.ServletResponseWrapper.reset(ServletResponseWrapper.java:194)
        at javax.servlet.ServletResponseWrapper.reset(ServletResponseWrapper.java:194)
        at com.sun.faces.context.ExternalContextImpl.responseReset(ExternalContextImpl.java:949)
        at org.primefaces.application.exceptionhandler.PrimeExceptionHandler.handleAjaxException(PrimeExceptionHandler.java:156)
        at org.primefaces.application.exceptionhandler.PrimeExceptionHandler.handle(PrimeExceptionHandler.java:98)
        at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:119)
        at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:659)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
        at org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:178)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
        at com.ericsson.gscro.common.security.web.filter.SecurityMdcFilter.doFilter(SecurityMdcFilter.java:60)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
        at org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:178)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
        at org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:178)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
        at org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:178)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:317)
        at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127)
        at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
        at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:115)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
        at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
        at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:112)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
        at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:169)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
        at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
        at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:206)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
        at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:121)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
        at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:66)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
        at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
        at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:106)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
        at org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:157)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
        at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:214)
        at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:177)
        at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
        at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
        at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1099)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:670)
        at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2508)
        at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2497)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:745)
    
    :lady_beetle: defect 6.0.5 
    opened by andrei-ivanov 48
  • Core: After updating a component using AJAX in Safari, the current scroll position changes

    Core: After updating a component using AJAX in Safari, the current scroll position changes

    Test code;

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     
    <html xmlns="http://www.w3.org/1999/xhtml"
        xmlns:f="http://java.sun.com/jsf/core"
        	xmlns:p="http://primefaces.org/ui"
        xmlns:h="http://java.sun.com/jsf/html">
      
    <h:head>
        <title>Test</title>
    </h:head>
    <h:body>
        <h:form>
    	    <div style="height: 1000px">
    	    	<div style="height:400px"></div>   
    	    	<div style="height:1800px"> 
    		        <h:inputText id="name" value="#{testBean.test}"></h:inputText>
    		        <p:selectOneMenu>
    		        	<f:selectItems value="#{testBean.values}" />
    				<p:ajax listener="#{testBean.test()}" update="@form" />        
    			</p:selectOneMenu>
    		</div>
    	    </div>
        </h:form>
    </h:body>
    </html>
    
    :lady_beetle: defect browser-specific 8.0.6 7.0.18 
    opened by mertsincan 47
  • DataTable: cleanup sorting

    DataTable: cleanup sorting

    Filters previous had 3 similar attributes: Filters FilterBy FilterMeta

    we should check the same for sorting.

    All properties related to sort:

    • sortMeta
    • sortField
    • sortBy
    • sortOrder
    • sortFunction
    • sortMode (single | multiple)
    • allowUnsorting

    Some facts:

    1. it seems like sortBy and sortField is similar. One points to a fieldname of the entity, one is a VE? @Rapster Maybe you have a better overview here?
    2. if sortMode = multi, sortMeta is the source of all sort informations
    3. if sortMode = single, sortBy+sortOrder+sortFunction is used
    4. in general, sortMeta is just a collection of (sortBy+sortOrder+sortFunction) for mulitple columns. So multiSort is actually the same thing as singleSort, just that sortMeta could only contain 1 value instead of multiple.

    Goals (Reduce attributes to):

    • sortBy (a map of SortMeta, multisort will contain mulitple values, singlesort only 1 value)
    • initial sorting can by defined by sortOrder and sortPriority on p:column
    • allowMultiSort (sortMode before, default = true?)
    • allowUnsorting
    • remove old attributes from PropertyKeys+taglib and throw a exception in getter/setter
    enhancement 
    opened by tandraschko 47
  • Fix #3967 - Remove maven-jsf-plugin

    Fix #3967 - Remove maven-jsf-plugin

    • Generate abstract base component + component impl
    • Remove "Generated, Do Not Modify"
    • delete unnecessary PropertyKeys#ctor since SONAR will complain
    opened by Rapster 47
  • BlockUI: provide delay (before displaying the blockUI)

    BlockUI: provide delay (before displaying the blockUI)

    Description

    p:ajaxStatus has a delay property:

    Delay in milliseconds before displaying the ajax status. Default is 0 meaning immediate.

    <p:ajaxStatus delay="0"..>

    Describe the solution you would like

    Please provide the delay property also for p:blockUI:

    Delay in milliseconds before displaying the blockUI. Default is 0 meaning immediate.

    <p:blockUI delay="1200"..>

    Additional context

    No response

    new feature :bangbang: needs-triage 
    opened by nimo23 0
  • BooleanCheckbox: provide stateTrueIcon and stateFalseIcon

    BooleanCheckbox: provide stateTrueIcon and stateFalseIcon

    Description

    The p:triStateCheckbox can use custom icons:

    <p:triStateCheckbox value="#{triStateCheckboxView.value3}" stateTwoIcon="pi pi-plus" stateThreeIcon="pi pi-minus"/>

    Describe the solution you would like

    Would be nice to provide the ability to add custom icons also for p:booleanCheckbox:

    <p:selectBooleanCheckbox value="#{selectBooleanView.value1}" itemLabel="Basic" stateTrueIcon="pi pi-plus" stateFalseIcon="pi pi-minus" />

    Additional context

    No response

    new feature 
    opened by nimo23 4
  • DataTable: Implement BETWEEN/NOT_BETWEEN MatchMode for JpaLazyDataModel

    DataTable: Implement BETWEEN/NOT_BETWEEN MatchMode for JpaLazyDataModel

    Description

    JpaLazyDataModel does not currently support filterMatchMode="between" or filterMatchMode="notBetween"

    Describe the solution you would like

    filterMatchMode="between" and filterMatchMode="notBetween" to be supported when using JpaLazyDataModel.

    Additional context

    Follow up to implementing IN/NOT_IN: https://github.com/primefaces/primefaces/issues/9324

    new feature 
    opened by FlipWarthog 0
  • DataTable: JpaLazyDataModel.convertToType throws FacesException for java.util.Date

    DataTable: JpaLazyDataModel.convertToType throws FacesException for java.util.Date

    Describe the bug

    When using p:datePicker in a column filter facet of a p:dataTable backed by a JpaLazyDataModel, filtering fails with a FacesException thrown by JpaLazyDataModel stating:

    SEVERE: javax.faces.FacesException: Can not convert 2023-01-04 to type class java.util.Date; please create a JSF Converter for it or overwrite Object convertToType(String value, Class<?> valueType)!
            at org.primefaces.model.JpaLazyDataModel.convertToType(JpaLazyDataModel.java:337)
            at org.primefaces.model.JpaLazyDataModel.applyFilters(JpaLazyDataModel.java:163)
            at org.primefaces.model.JpaLazyDataModel.count(JpaLazyDataModel.java:120)
    

    Reproducer

    The existing primefaces-test jpa branch shows this: https://github.com/primefaces/primefaces-test/tree/jpa

    After starting the app, filter by the Date Col and you will see the exception in the terminal.

    Expected behavior

    Date filters should work with the JpaLazyDataModel.

    filter.getFilterValue() should contain the correct object already and not need conversion at all. I may be missing the need for convertToType, but I'm wondering if it should just default to the original value if it can't convert it.

    PrimeFaces edition

    Community

    PrimeFaces version

    13.0.0

    Theme

    All

    JSF implementation

    All

    JSF version

    2.3

    Java version

    11

    Browser(s)

    Chrome latest

    :lady_beetle: defect 
    opened by FlipWarthog 2
Releases(12.0.0)
HopLa Burp Suite Extender plugin - Adds autocompletion support and useful payloads in Burp Suite

HopLa ?? All the power of PayloadsAllTheThings, without the overhead. This extension adds autocompletion support and useful payloads in Burp Suite to

Synacktiv 522 Dec 24, 2022
Sceneform React Native AR Component using ARCore and Google Filament as 3D engine. This the Sceneform Maintained Component for React Native

Discord Server Join us on Discord if you need a hand or just want to talk about Sceneform and AR. Features Remote and local assets Augmented Faces Clo

SceneView Open Community 42 Dec 17, 2022
GitactionBoard - Ultimate Dashboard for GithubActions.

Gitaction Board Gitaction Board - Ultimate Dashboard for GithubActions. Table of contents Usage Pull docker image Run docker image Configurations UI D

OTTO (GmbH & Co. KG) 43 Dec 2, 2022
ActiveJ is an alternative Java platform built from the ground up. ActiveJ redefines web, high load, and cloud programming in Java, featuring ultimate performance and scalability!

Introduction ActiveJ is a full-featured modern Java platform, created from the ground up as an alternative to Spring/Micronauts/Netty/Jetty. It is des

ActiveJ LLC 579 Jan 7, 2023
🎉Ultimate test automation for testing any application on any platform

boyka-java Ultimate test automation for testing any application on any platform boyka-java Setup Write conventional commits 1.

Wasiq Bhamla 52 Dec 30, 2022
The ultimate KitPvP Core with a ton of features! Fully configurable & Open source.

KitPvP-Core The ultimate KitPvP Core with a ton of features! Fully configurable & Open source. Placeholders My core plugin offers several features wit

ImGqbbo 1 Nov 14, 2022
A Java 8+ Jar & Android APK Reverse Engineering Suite (Decompiler, Editor, Debugger & More)

Bytecode Viewer Bytecode Viewer - a lightweight user friendly Java Bytecode Viewer. New Features WAR & JSP Loading JADX-Core Decompiler Fixed APK & de

Kalen (Konloch) Kinloch 13.5k Jan 7, 2023
uniVocity-parsers is a suite of extremely fast and reliable parsers for Java. It provides a consistent interface for handling different file formats, and a solid framework for the development of new parsers.

Welcome to univocity-parsers univocity-parsers is a collection of extremely fast and reliable parsers for Java. It provides a consistent interface for

univocity 874 Dec 15, 2022
A complete 3D game development suite written purely in Java.

jMonkeyEngine jMonkeyEngine is a 3-D game engine for adventurous Java developers. It’s open-source, cross-platform, and cutting-edge. 3.2.4 is the lat

jMonkeyEngine 3.3k Dec 31, 2022
a Business Process Management (BPM) Suite

Quick Links Homepage: http://jbpm.org/ Business Applications: https://start.jbpm.org/ Documentation: https://docs.jboss.org/jbpm/release/latestFinal/j

KIE (Drools, OptaPlanner and jBPM) 1.4k Jan 2, 2023
The JTS Topology Suite is a Java library for creating and manipulating vector geometry.

JTS Topology Suite The JTS Topology Suite is a Java library for creating and manipulating vector geometry. It also provides a comprehensive set of geo

LocationTech 1.5k Jan 6, 2023
Performance monitoring and benchmarking suite

Introduction Likwid is a simple to install and use toolsuite of command line applications and a library for performance oriented programmers. It works

null 1.3k Dec 28, 2022
Stanford CoreNLP: A Java suite of core NLP tools.

Stanford CoreNLP Stanford CoreNLP provides a set of natural language analysis tools written in Java. It can take raw human language text input and giv

Stanford NLP 8.8k Jan 9, 2023
A suite of software tools and services created to support activity planning and sequencing needs of missions with modeling, simulation, scheduling and validation capabilities

Aerie A suite of software tools and services created to support activity planning and sequencing needs of missions with modeling, simulation, scheduli

NASA Advanced Multi-Mission Operations System 31 Jan 3, 2023
GreenMail is an open source, intuitive and easy-to-use test suite of email servers for testing purposes.

GreenMail GreenMail is an open source, intuitive and easy-to-use test suite of email servers for testing purposes. Supports SMTP, POP3, IMAP with SSL

null 529 Dec 28, 2022
Conformance test suite for OpenShift

Origin Kubernetes This repo was previously the core Kubernetes tracking repo for OKD, and where OpenShift's hyperkube and openshift-test binaries were

OpenShift 8.2k Jan 4, 2023
OAUTHScan is a Burp Suite Extension written in Java with the aim to provide some automatic security checks

OAUTHScan is a Burp Suite Extension written in Java with the aim to provide some automatic security checks, which could be useful during penetration testing on applications implementing OAUTHv2 and OpenID standards.

Maurizio S 163 Nov 29, 2022
A Forge mod based on the EssentialsX plugin suite

A Forge mod based on the EssentialsX plugin suite. Wiki (WIP) | Discord (WIP) | Website (WIP) | | | | Disclaimer: Mod is in early development. Note: I

Gigawhat 6 Aug 4, 2022
Copy Regex Matches is a Burp Suite plugin to copy regex matches from selected requests and/or responses to the clipboard.

Copy Regex Matches Copy Regex Matches is a Burp Suite plugin to copy regex matches from selected requests and/or responses to the clipboard. Install D

null 28 Dec 2, 2022
Apache Wicket - Component-based Java web framework

What is Apache Wicket? Apache Wicket is an open source, java, component based, web application framework. With proper mark-up/logic separation, a POJO

The Apache Software Foundation 657 Dec 31, 2022