Book Image

Primefaces Theme development

Book Image

Primefaces Theme development

Overview of this book

Developing stunning themes for web applications has never been easier! PrimeFaces delivers a powerful set of features that enables JSF developers to create and customize awesome themes on the web. It is very easy to use because it comes as a single JAR file and requires no mandatory XML configuration. With more than 30 out-of-the-box themes, jQuery integration, a mobile UI toolkit, Ajax Push technology, and much more, PrimeFaces takes JSF application development to a whole new level! This book is a hands-on example-rich guide to creating and customizing PrimeFaces themes using available tools. Beginning with creating a JSF project and integrating the PrimeFaces library, this book will introduce you to the features of theme components, how these are structured, and how PrimeFaces uses JQuery UI to apply a theme to your application. You will learn to examine and change the CSS rules and get creative by setting standard icons and adding new icons to them. You will use a combination of JavaScript and CSS to enhance your application with help of scheduler component and go on to adapt and package your custom theme so that it is compatible with the Resource Manager. Finally, you will explore PrimeFaces mobile apps, ensuring themes are compatible with your mobile applications best practices for theme design.
Table of Contents (18 chapters)
PrimeFaces Theme Development
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

Override specific component CSS styles


If you want to change the style of a particular component instead of all the components of a similar type, then you can add name spacing for the styles. In this case, we can append the custom CSS class name for the built-in CSS classname and use the custom CSS class for the component styleClass property.

Let's override the dialog component titlebar CSS properties, as follows:

.ui-dialog-titlebar {
  // CSS properties
}
Or 
.ui-dialog-titlebar.ui-widget-header {
  // CSS properties
}

The preceding CSS properties will be reflected across all the components.

To apply CSS to a particular dialog component, you first need to add a custom CSS class for the built-in PrimeFaces styles, as follows:

.custom .ui-dialog-titlebar {
//CSS properties
}

Then, you just need to add a CSS class name to the dialog component, as follows:

<p:dialogstyleClass="custom">
..
</p:dialog>

So with the help of CSS class namespacing feature, you can make changes to specific components...