Skip to content
AlexanderLitus edited this page Aug 14, 2014 · 18 revisions
Welcome to the OpenFaces wiki!

What is OpenFaces?
OpenFaces is an open-source library of AJAX-powered JSF components, an Ajax framework and a client-side validation framework. OpenFaces is based on the set of JSF components formerly known as QuipuKit. It contains fully revised codebase of QuipuKit and introduces many new components and features. OpenFaces is distributed under a dual license model. It means that you can choose between using the library under GNU Lesser General Public License (LGPL) or purchasing a commercial license.

Official site
Online demo


BorderLayoutPanel
MARKTAG <o:borderLayoutPanel>

The BorderLayoutPanel component is a container used to layout groups of components by container's edges. The separators between component groups can either be fixed to introduce a static layout, or can be made draggable and/or collapsible to make a dynamic layout.


Documentation | Online Demo



Calendar
MARKTAG <o:calendar>

The Calendar component enables the user to select a date from a one-month calendar and easily navigate between months and years. A specific group of dates can be included in a date range. The Calendar component can use the client's locale or a specified one. Various style options for different parts of the Calendar component let you create the desired look-and-feel.


Documentation | Online Demo



Chart
MARKTAG <o:chart>

The Chart component represents various datasets in a graphical form, for example as a pie, line, or bar charts. The component is based on the JFreeChart engine and exposes a friendly API with JSF-specific features. Styles can be customized for every chart element (image, legend, title, etc.).




Documentation | Online Demo



CompositeFilter
MARKTAG <o:compositeFilter>

The CompositeFilter component allows user to build complex filter criteria with various filter conditions. It provides its own criteria API that can be easily adapted for different use-cases. There are two ready-to-use solutions for in memory filtering over collections and building Hibernate criteria. Also, CompositeFilter can be integrated with DataTable component and serve as external filter in addition to column filtering options.


Documentation | Online Demo



Confirmation
MARKTAG <o:confirmation>

The Confirmation component allows users to confirm or reject critical actions before their execution. It is displayed over other page elements like a modal dialog and can be attached to a client-side event of any component or invoked from JavaScript explicitly. The Confirmation component has a lot of options to customize its appearance and provides a flexible invocation mechanism.


Documentation | Online Demo



CommandButton
MARKTAG <o:commandButton>


This is an analog of the standard <h:commandButton> component extended with Ajax features making it possible to use Ajax request instead of form submission to execute an action and/or reload components. Another notable addition to the standard CommandButton component is an ability to use any HTML markup and/or JSF components for specifying the content displayed in the button.


Documentation | Online Demo



CommandLink
MARKTAG <o:commandLink>


This is an analog of the standard <h:commandLink> component extended with Ajax features making it possible to use Ajax request instead of form submission to execute an action and/or reload components. Another notable addition to the standard CommandLink component is an ability to use any HTML markup and/or JSF components for specifying the content displayed in the button.


Documentation | Online Demo



DataTable
MARKTAG <o:dataTable>

The DataTable component is used to display data in a tabular format and effectively manipulate it. It supports the features of the JSF HtmlDataTable component and extends the standard functionality with such advanced features as sorting, row selection (both multiple and single), pagination, filtering, keyboard navigation, and dynamic data loading (using Ajax.) Plus, the DataTable component provides special support for handling large datasets with minimal overhead.


Documentation | Online Demo



DateChooser
MARKTAG <o:dateChooser>

The DateChooser component enables the user to enter a date either by typing it in the text field or selecting it from the drop-down calendar. With internationalization support, a selected date can be displayed in different date formats and languages. The appearance of virtually every element of the DateChooser component can be customized.

        <p><span class="image-wrap" style=""><img
                src="https://github.com/TeamDev-Ltd/OpenFaces/blob/master/wikiResources/DateChooser%202.x/dateChooser.gif"
                style="border: 0px solid black"></span><br>
            <a href="https://github.com/TeamDev-Ltd/OpenFaces/wiki/DateChooser+2.x" title="DateChooser 2.x">Documentation</a> | <a
                    href="http://www.openfaces.org/demo/datechooser/" class="external-link" rel="nofollow">Online
                Demo</a></p></td>
</tr>
</tbody>


DayTable
MARKTAG <o:dayTable>

DayTable is a component that allows displaying and editing schedule of events for a day. Each event has a start time, end time, event name, description and other fields. Although DayTable shows events for one day at a time, it is possible to change current day thus making it possible to specify a timetable for an arbitrary period of time. There is also the possibility to show timetable for multiple resources, for example the schedule of tasks for several people.

        <p><span class="image-wrap" style=""><img
                src="https://github.com/TeamDev-Ltd/OpenFaces/blob/master/wikiResources/DayTable%202.x/daytable.png"
                style="border: 0px solid black"></span><br>
            <a href="https://github.com/TeamDev-Ltd/OpenFaces/wiki/DayTable+2.x" title="DayTable 2.x">Documentation</a> | <a
                    href="http://www.openfaces.org/demo/daytable/" class="external-link" rel="nofollow">Online
                Demo</a></p></td>
</tr>
</tbody>


DropDownField
MARKTAG <o:dropDownField>

The DropDownField is an input component which allows either type in a value or select one of the values from an attached drop-down list. The component provides a way to show a list of suggestions based on user input and the ability to auto-complete user input in the input field. The drop-down list can be displayed in multiple columns and contain other JSF components.

        <p><span class="image-wrap" style=""><img
                src="https://github.com/TeamDev-Ltd/OpenFaces/blob/master/wikiResources/DropDownField%202.x/dropDownField.gif"
                style="border: 0px solid black"></span><br>
            <a href="https://github.com/TeamDev-Ltd/OpenFaces/wiki/DropDownField+2.x" title="DropDownField 2.x">Documentation</a> | <a
                    href="http://www.openfaces.org/demo/dropdownfield/" class="external-link" rel="nofollow">Online
                Demo</a></p></td>
</tr>
</tbody>


DynamicImage
MARKTAG <o:dynamicImage>

The DynamicImage component provides the ability to display an image which is dynamically generated at run time, or which is not available as an application file but, for example, is retrieved from a database. There are two ways to specify the data model: specifying an image as a byte array or specifying it as an implementation of the java.awt.image.RenderedImage interface.


Documentation | Online Demo



FoldingPanel
MARKTAG <o:foldingPanel>

The FoldingPanel component is a container for other components that can be expanded and collapsed by the user. The component supports different folding directions to reveal its content and provides various options to customize its appearance. Plus, there are several ways to control the content loading (using Ajax).


Documentation | Online Demo



GraphicText
MARKTAG <o:graphicText>

GraphicText is a component that displays styled rotated text. It has API similar to the standard <h:outputText> component, though unlike the <h:outputText> component, the GraphicText component displays a text with an image generated on the server. This component can be useful for displaying vertical headers in a table having a lot of thin columns, vertical TabSet components, etc.


Documentation | Online Demo



HintLabel
MARKTAG <o:hintLabel>

The HintLabel component is used to display a single-line text that may not fit in the allotted space, but when the user places mouse pointer over the truncated text, the full text is displayed in a tool-tip.


Documentation | Online Demo



InputText
MARKTAG <o:inputText>

The InputText component supports all of the features of the standard JSF InputText component and extends it with some additional features like rollover and focused styles and prompt text.

        <p><span class="image-wrap" style=""><img
                src="https://github.com/TeamDev-Ltd/OpenFaces/blob/master/wikiResources/input%20text/inputtext-main.png"
                style="border: 0px solid black"></span><br>
            <a href="https://github.com/TeamDev-Ltd/OpenFaces/wiki/InputText+2.x" title="InputText 2.x">Documentation</a> | <a
                    href="http://www.openfaces.org/demo/inputtext/" class="external-link" rel="nofollow">Online
                Demo</a></p></td>
</tr>
</tbody>


InputTextarea
MARKTAG <o:inputTextarea>

The InputTextarea component supports all of the features of the standard JSF InputTextarea component and extends it with some additional features like rollover and focused styles and prompt text.

        <p><span class="image-wrap" style=""><img
                src="https://github.com/TeamDev-Ltd/OpenFaces/blob/master/wikiResources/inputtextarea.png"
                style="border: 0px solid black"></span><br>
            <a href="https://github.com/TeamDev-Ltd/OpenFaces/wiki/InputTextarea+2.x" title="InputTextarea 2.x">Documentation</a> | <a
                    href="http://www.openfaces.org/demo/inputtextarea/" class="external-link" rel="nofollow">Online
                Demo</a></p></td>
</tr>
</tbody>


LayeredPane
MARKTAG <o:layeredPane>


The LayeredPane component is a container which allows switching between different sets of displayed components. Each set of components, called a page, is declared within the LayeredPane component and it's possible to use both server-side and client-side API for selecting the currently displayed page. LayeredPane provides different page loading modes to allow quick client-side switching or Ajax-based page switching.


Documentation | Online Demo



LevelIndicator
MARKTAG <o:levelIndicator>

LevelIndicator is a component that shows a numeric value in graphic style, similar to the LED volume meter and resource meter used in Windows Task Manager.


Documentation



PopupLayer
MARKTAG <o:popupLayer>

The PopupLayer component is a container for other JSF components that is displayed over the page contents. The size, placement, timeout value, and modality of the component can be easily customized. A convenient API lets you manage the display behavior of the PopupLayer component on the client side.


Documentation | Online Demo



PopupMenu
MARKTAG <o:popupMenu>

PopupMenu is a component that displays a set of actions in a pop-up box for a user to choose from, and is often used as a context menu. The PopupMenu component can be attached to any component to appear when any particular event occurs in that component. A PopupMenu can be configured to have sub-menus to represent complex hierarchies of actions. A user can either use keyboard or a mouse to select an item in a PopupMenu.

        <p><span class="image-wrap" style=""><img
                src="https://github.com/TeamDev-Ltd/OpenFaces/blob/master/wikiResources/popupmenu.png"
                style="border: 0px solid black"></span><br>
            <a href="https://github.com/TeamDev-Ltd/OpenFaces/wiki/PopupMenu+2.x" title="PopupMenu 2.x">Documentation</a> | <a
                    href="http://www.openfaces.org/demo/popupmenu/" class="external-link" rel="nofollow">Online
                Demo</a></p></td>
</tr>
</tbody>


SelectBooleanCheckbox
MARKTAG <o:selectBooleanCheckbox>

The SelectBooleanCheckbox component is an extended version of the standard <h:selectBooleanCheckbox> component that adds such possibilities as tri-state support, customizing checkbox images and state-dependent styles.

        <p><span class="image-wrap" style=""><img
                src="https://github.com/TeamDev-Ltd/OpenFaces/blob/master/wikiResources/selectbooleancheckbox.png"
                style="border: 0px solid black"></span><br>
            <a href="https://github.com/TeamDev-Ltd/OpenFaces/wiki/SelectBooleanCheckbox+2.x" title="SelectBooleanCheckbox 2.x">Documentation</a> | <a
                    href="http://www.openfaces.org/demo/selectbooleancheckbox/" class="external-link"
                    rel="nofollow">Online Demo</a></p></td>
</tr>
</tbody>


SelectManyCheckbox
MARKTAG <o:selectManyCheckbox>

The SelectManyCheckbox component supports all of the features of the standard JSF Checkbox component and extends it with some additional features like customizing checkboxe's images, rollover and focused styles and so on.

        <p><span class="image-wrap" style=""><img
                src="https://github.com/TeamDev-Ltd/OpenFaces/blob/master/wikiResources/selectmanycheckbox.png"
                style="border: 0px solid black"></span><br>
            <a href="https://github.com/TeamDev-Ltd/OpenFaces/wiki/SelectManyCheckbox+2.x" title="SelectManyCheckbox 2.x">Documentation</a> | <a
                    href="http://www.openfaces.org/demo/selectmanycheckbox/" class="external-link" rel="nofollow">Online
                Demo</a></p></td>
</tr>
</tbody>


SelectOneRadio
MARKTAG <o:selectOneRadio>

The SelectOneRadio component supports all of the features of the standard JSF RadioButton component and extends it with some additional features like customizing radio button images, rollover and focused styles and so on

        <p><span class="image-wrap" style=""><img
                src="https://github.com/TeamDev-Ltd/OpenFaces/blob/master/wikiResources/selectOneRadio/selectoneradio-main.png"
                style="border: 0px solid black"></span><br>
            <a href="https://github.com/TeamDev-Ltd/OpenFaces/wiki/SelectOneRadio+2.x" title="SelectOneRadio 2.x">Documentation</a> | <a
                    href="http://www.openfaces.org/demo/selectoneradio/" class="external-link" rel="nofollow">Online
                Demo</a></p></td>
</tr>
</tbody>


Slider
MARKTAG <o:slider>

The Slider component is an input component for entering numbers, which consists of drag handle, bar, ticks and ticks labels, text field and increase/decrease buttons, which can add-on. Has additional features like customizing drag handle, control buttons, bar images, styles for text field and tooltip, rollover and focused styles and broad customization with atributes
tomizing radio button images, rollover and focused styles and so on

        <p><span class="image-wrap" style=""><img
                src="https://github.com/TeamDev-Ltd/OpenFaces/blob/master/wikiResources/slider/main.png"
                style="border: 0px solid black"></span><br>
            <a href="https://github.com/TeamDev-Ltd/OpenFaces/wiki/Slider+2.x" title="Slider 2.x">Documentation</a> | <a
                    href="http://www.openfaces.org/demo/slider/" class="external-link" rel="nofollow">Online
                Demo</a></p></td>
</tr>
</tbody>


Spinner
MARKTAG <o:spinner>

The Spinner component is an input field for entering numbers, which consists of a text field and the attached increase/decrease buttons.

        <p><span class="image-wrap" style=""><img
                src="https://github.com/TeamDev-Ltd/OpenFaces/blob/master/wikiResources/spinner/1-main.png"
                style="border: 0px solid black"></span><br>
            <a href="https://github.com/TeamDev-Ltd/OpenFaces/wiki/Spinner+2.x" title="Spinner 2.x">Documentation</a> | <a
                    href="http://www.openfaces.org/demo/spinner/" class="external-link" rel="nofollow">Online
                Demo</a></p></td>
</tr>
</tbody>


SuggestionField
MARKTAG <o:suggestionField>

The SuggestionField component is an input component that shows a list of suggestions based on user input and completes user input right in the input field. It has a similar functionality to DropDownField, but unlike DropDownField it looks like a plain text field. You can create a multi-column drop-down list and embed JSF components into it.

        <p><span class="image-wrap" style=""><img
                src="https://github.com/TeamDev-Ltd/OpenFaces/blob/master/wikiResources/suggestionField/2-suggestionField.gif"
                style="border: 0px solid black"></span><br>
            <a href="https://github.com/TeamDev-Ltd/OpenFaces/wiki/SuggestionField+2.x" title="SuggestionField 2.x">Documentation</a> | <a
                    href="http://www.openfaces.org/demo/suggestionfield/" class="external-link" rel="nofollow">Online
                Demo</a></p></td>
</tr>
</tbody>


TabbedPane
MARKTAG <o:tabbedPane>

The TabbedPane component is a container that consists of several sub-containers called pages and allows the user to switch between these pages using a set of tabs. It provides flexibility in configuring the tabs and the page content within them and offers several ways for content loading. A variety of style options lets you customize the appearance of the entire TabbedPane component and its individual elements.


Documentation | Online Demo



TabSet
MARKTAG <o:tabSet>

The TabSet is a component that displays a set of tabs that look like the ones used in the TabbedPane component. As opposed to TabbedPane, the TabSet component is not a container and doesn't display any data when the user switches the tab. Instead it just serves as a selector that can be used to introduce a content switching on pages where TabbedPane can't be used because of special layout or some other reason.


Documentation | Online Demo



TreeTable
MARKTAG <o:treeTable>

The TreeTable component is used to display hierarchical data in a tabular format. It provides flexible configuration of the tree structure and content and supports such advanced features as sorting, interactive filtering, node selection (both multiple and single), keyboard navigation, and dynamic data loading (using Ajax). You can also specify a node preloading mode for expanding TreeTable nodes on the client or server side.


Documentation | Online Demo



TwoListSelection
MARKTAG <o:twoListSelection>

The TwoListSelection component provides an alternative interface for selecting a list of items. It displays two lists of data and allows the user moving items between them thus constructing a list of selected items in one of them. As opposed to the ordinary selection components such as the standard HtmlSelectManyListbox it also allows the user to reorder the selected items.


Documentation | Online Demo



Window
MARKTAG <o:window>

The Window component is a window-styled container for other JSF components that is displayed over the page content. The Window component has a caption and a content area, it can be dragged around on the page, and resized. Besides, it has the usual maximize/restore, minimize and close buttons in the caption.


Documentation | Online Demo



Utility components

Focus
MARKTAG <o:focus>

The Focus component is a non-visual component that controls the focus on the page. With Focus, you can specify the component that is focused when the page is loaded. You can also set that the focus is saved between page submissions.

Documentation


ForEach
MARKTAG <o:forEach>

ForEach is an iterator component that renders the specified set of components multiple times based on its parameters. The ForEach component is similar to the JSTL <c:forEach> tag, though it can be used to overcome some of the shortcomings of <c:forEach> tag and to eliminate the need for an additional JSTL dependency.

        <p><a href="https://github.com/TeamDev-Ltd/OpenFaces/wiki/ForEach+2.x" title="ForEach 2.x">Documentation</a> | <a
                href="http://www.openfaces.org/demo/foreach/" class="external-link" rel="nofollow">Online Demo</a>
        </p></td>
</tr>
</tbody>

LoadBundle
MARKTAG <o:loadBundle>

The LoadBundle component is used for loading a resource bundle localized for the Locale of the current view, and expose it (as a Map) in the request attributes of the current request. The OpenFaces LoadBundle component is similar to the LoadBundle from the RI or MyFaces JSF implementation but can be used in the components with Ajax enabled.

Documentation

Scroll Position
MARKTAG <o:scrollPosition>

The ScrollPosition component is a non-visual component that controls the scroll position of the page or an associated component. By using it, you can specify the position of the scroll when the page is loaded and save the scroll position between page submissions.

Documentation



OpenFaces Ajax Framework

OpenFaces Ajax framework allows adding Ajax capabilities to pages where Ajax features built in components are not enough. It provides an ability to reload components, invoke server actions with Ajax and more. It is also possible to customize Ajax progress indicator and configure the way of handling expired session during Ajax requests.

Documentation | Online Demo

  • Ajax Component
    MARKTAG <o:ajax>

    Ajax component is a non-visual component that makes it possible to submit and reload any JSF components with Ajax and perform server actions without reloading the whole page.

    Documentation | Online Demo

  • Ajax Settings Component
    MARKTAG <o:ajaxSettings>

    Ajax Settings component is a non-visual component for configuration of all Ajax-related settings for the particular page. It allows to specify session expiration settings, ajax progress message settings, to handle ajax errors and ajax request lifecycle events.

    Documentation



OpenFaces Validation Framework

The OpenFaces validation framework is designed to compensate for a lack of explicit support for client-side validation in JSF and offers automatic porting of server-side validators to the client. You enhance your application with client-side validation in just one simple step.

        <p>The validation framework provides an easy way to assign client-side validators to any input component
            (both from JSF and OpenFaces library) in existing or newly developed forms. In addition, it extends the
            standard set of JSF validators with more server-side validators and messages.</p></td>
    <td class="confluenceTd" valign="top" width="40%">
        <p><span class="image-wrap" style=""><img
                src="https://github.com/TeamDev-Ltd/OpenFaces/blob/master/wikiResources/Validators.gif"
                style="border: 0px solid black"></span><br>
            <a href="https://github.com/TeamDev-Ltd/OpenFaces/wiki/Validation+Framework+2.x" title="Validation Framework 2.x">Documentation</a> | <a
                    href="http://www.openfaces.org/demo/validators/" class="external-link" rel="nofollow">Online
                Demo</a></p></td>
</tr>
</tbody>